PT09IHJlbGVhc2UgMS4xLjQgPT09CgoyMDEzLTA4LTI4ICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDEuMS40CgoyMDEzLTA4LTI4IDEyOjMzOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9wdF9CUi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTMtMDgtMjggMTE6MTM6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0cy5oOgoJICBtcGVndHM6IG1hcmsgYXMgdW5zdGFibGUgQVBJCgoyMDEzLTA4LTI3IDE3OjA1OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBwb3NzaWJsZSByZWFkIGJleW9uZCBlbmQgb2YgYnVmZmVyIHdoZW4gcmVzeW5jaW5nCgoyMDEzLTA4LTI3IDExOjI3OjA0ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBvbmx5IHVwZGF0ZSBzcmMgQ0FQUyB3aGVuIGl0J3MgbmVjZXNzYXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NTIKCjIwMTMtMDgtMjAgMTE6NTk6MzQgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvIG5vdCBzZXQgQ0FQUyBhbmQgcGFzc3Rocm91Z2ggbW9kZSBpZiBTUFMvUFBTIGhhdmUgbm90IGJlZW4gcGFyc2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NTIKCjIwMTMtMDgtMjYgMTM6NDg6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBzZXQgQloyX0xJQlMgaWYgYnoyIGlzIG5vdCBmb3VuZAoKMjAxMy0wOC0yNiAxMDoyMjowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5jOgoJICB3ZWJwZGVjOiBTb21lIGNsZWFudXAgYW5kIG1pbm9yIGZpeGVzCgoyMDEzLTA4LTI0IDAwOjQ2OjM4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3dlYnAvTWFrZWZpbGUuYW06CgkqIGV4dC93ZWJwL2dzdHdlYnAuYzoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5jOgoJKiBleHQvd2VicC9nc3R3ZWJwZGVjLmg6CgkgIHdlYnA6IEFkZCBXZWJQIGltYWdlIGRlY29kZXIgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYyODUKCjIwMTItMDktMDEgMjA6NDY6NDMgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlZGV0ZWN0OiBuZXcgcHJvcGVydHkgdG8gY29udHJvbCBidXMgbWVzc2FnZXMgdXBkYXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1NjIyCgoyMDEzLTA4LTIzIDEyOjAxOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSAgb3BlbmN2OiBGaXggaW5kZW50aW9uCgoyMDEzLTA4LTIzIDEyOjAxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5Lmg6CgkgIG9wZW5jdjogUG9ydCB0byBub24tZGVwcmVjYXRlZCBHTXV0ZXgvR0NvbmQgQVBJCgoyMDEzLTA4LTIzIDExOjM4OjA0ICswMjAwICBNaWd1ZWwgQ2FzYXMtU2FuY2hleiA8bWlndWVsZWNhc2Fzc2FuY2hlekBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIG9wZW5jdjogQWRkIGRpc3Bhcml0eS1tYXAgY2FsY3VsYXRpb24gZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NzYwCgoyMDEzLTA4LTIyIDE3OjMyOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTMtMDgtMjIgMTY6MDc6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVcGRhdGUgb3BlbmN2IGRlcGVuZGVuY3ksIDIuNC41IHdvcmtzIHRvby4KCjIwMTMtMDgtMjIgMTM6NDU6NTkgKzAyMDAgIEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJICBkaXJlY3Rzb3VuZHNyYzogQWRkICdkZXZpY2UtbmFtZScgcHJvcGVydHkgZm9yIHNlbGVjdGluZyBhIGF1ZGlvIGRldmljZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2NTc0CgoyMDEzLTA4LTIyIDE0OjU2OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGJ6MiBjb25maWd1cmUgY2hlY2sgZm9yIFdpbmRvd3MKCSAgRHVlIHRvIGZ1bmN0aW9uIGRlY29yYXRpb25zIG9uIFdpbmRvd3MgQUNfQ0hFQ0tfTElCIGNhbid0IGJlIHVzZWQgdG8gY2hlY2sgZm9yIGJ6Mi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTQ2NTkyNAoKMjAxMy0wOC0yMSAxNDo0NDozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZWZ1c2UgbmVnYXRpdmUgcmF0ZXMgd2hpY2ggd2UgZG9uJ3Qgc3VwcG9ydCB5ZXQKCSAgQW5kIHJlbW92ZSBhIGNoZWNrIHdoaWNoIHdhcyBkb25lIGJlZm9yZQoKMjAxMy0wMy0xMCAxNzowMjoxOCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogU2V0IHRoZSBwcm9ncmFtIG51bWJlciBmcm9tIHByb2ctbWFwCgkgIFRoZSBwcm9nLW1hcCBwcm9wZXJ0eSBvZiBtcGVndHNtdXggb25seSBhbGxvd3MgeW91IHRvIGdyb3VwIHBpZHMgdG9nZXRoZXIgaW4gYSBwcm9ncmFtLgoJICBUaGUgcHJvZ3JhbSBudW1iZXIgc2V0IGluIHRoZSBQQVQvUE1UIHRhYmxlcyBjYW5ub3QgYmUgc2V0IGV4cGxpY2l0bHkuCgkgIFRoaXMgcGF0Y2ggd2lsbCBzZXQgdGhlIHByb2dyYW0gbnVtYmVyIGFjY29yZGluZyB0byB0aGUgcHJvZy1tYXAuCgkgIElmIGEgcHJvZ3JhbSBpZCBvZiAwIGlzIGdpdmVuLCB0aGUgZmlyc3QgdmFjYW50IHByb2dyYW0gbnVtYmVyIHN0YXJ0aW5nIGZyb20gMSB3aWxsIGJlIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcyMzkKCjIwMTMtMDgtMjEgMDg6NTg6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiOiBBZGFwdCBmb3IgbGF0ZXN0IG1wZWd0cyBsaWIgY2hhbmdlcwoKMjAxMy0wOC0yMSAwODo1ODoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBBZGFwdCBmb3IgbGF0ZXN0IG1wZWd0cyBsaWIgY2hhbmdlcwoKMjAxMy0wOC0yMSAwODo0MDoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IEFCSS9BUEkgYnJlYWs6IFVzZSBHUHRyQXJyYXkgaW5zdGVhZCBvZiBHQXJyYXkKCSAgV2hpbGUgaXQgd2FzIGEgZ3JlYXQgaWRlYSwgdmFyaW91cyBnLWkgYmFzZWQgYmluZGluZ3MgZG9uJ3Qgc3VwcG9ydAoJICBHQXJyYXkgd2l0aCBlbnRyaWVzIGdyZWF0ZXIgdGhhbiBzaXplb2YoZ3BvaW50ZXIpIDooCgkgIFNvIGxldCdzIGp1c3QgbWFrZSBldmVyeWJvZHkgaGFwcHkgYnkganVzdCB1c2luZyBHUHRyQXJyYXkuCgkgIEFuZCBzaW5jZSB3ZSdyZSBicmVha2luZyB0aGUgQVBJLCBhbHNvIHJlbmFtZSB0aGUgdmFyaW91cyBkZXNjcmlwdG9yIGZpZWxkcwoJICB0byBubyBsb25nZXIgaGF2ZSB0aGUgZGVzY3JpcHRvcl8gcHJlZml4LgoJICBJdCBkb2VzIGNvc3QgYSBiaXQgbW9yZSBpbiB0ZXJtcyBvZiBtZW1vcnkvY3B1IHVzYWdlLCBidXQgbWFrZXMgaXQgdXNhYmxlCgkgIGZyb20gYmluZGluZ3MuCgoyMDEzLTA4LTE5IDE1OjMxOjUxIC0wNDAwICBSb2JlcnQgS3Jha29yYSA8cm9iLmtyYWtvcmFAbWVzc2FnZW5ldHN5c3RlbXMuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjaDI2NHNyYzogZG9uJ3QgZXJyb3Igb3V0IG9uIGluY29tcGxldGUgYXV4IGRhdGEgc2VnbWVudAoJICBJdCBhcHBlYXJzIHRoYXQgdGhlIExvZ2l0ZWNoIEM5MjAgc29tZXRpbWVzIGRyb3BzIHRoZSBuZXh0CgkgIHRvIGxhc3Qgc2VnbWVudCBvZiBSQVcgYXV4IGRhdGEgY29udGFpbmVkIHdpdGhpbiB0aGUgTUpQRUcKCSAgY29udGFpbmVyLiAgSDI2NCBkYXRhIHRoYXQgaXMgbXVsdGlwbGV4ZWQgd2l0aCBpbiB0aGUgc2FtZQoJICBjb250YWluZXIgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGFmZmVjdGVkLiAgVGhpcyBhcHBlYXJzIHRvCgkgIGJlIGEgYnVnIGluIHRoZSBMb2dpdGVjaCBDOTIwIGZpcm13YXJlIGFuZCB1dmNoMjY0c3JjIHNob3VsZAoJICBub3QgZXJyb3Igb3V0IGluIHRoaXMgY2FzZS4KCSAgU29tZXRpbWVzIGl0IGNhbiB0YWtlIDI0IGhvdXJzIG9mIGNvbnRpbnVvdXMgc3RyZWFtaW5nIGZvcgoJICB0aGUgcHJvYmxlbSB0byBvY2N1ciwgYnV0IHNvbWV0aW1lcyBpdCB0YWtlcyBvbmx5IGEgY291cGxlCgkgIG9mIGhvdXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2Mjc2CgoyMDEzLTA4LTIwIDE2OjAxOjQ3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSAgaXZ0YzogVXNlIGlucHV0IGZyYW1lcmF0ZSB3aGVuIHBvc3NpYmxlCgkgIGlmIGlucHV0IGlzIDMwMDAwLzEwMDEgLi4uIHVzZSAyNDAwMC8xMDAxIGFzIHRoZSBvdXRwdXQgZml4YXRlZCBmcmFtZXJhdGUKCjIwMTMtMDgtMTUgMTE6NDU6MzQgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IGhhbmRsZSBwdWJsaXNoZXIsIGludGVycHJldGVkLWJ5IGFuZCBtdXNpY2FsLWtleSB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTkKCjIwMTMtMDgtMjAgMTM6Mjk6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEZpeCBzd2l0Y2ggc3RhdGVtZW50IGluIGxldmVsIGRldGVjdGlvbiBjb2RlCgkgIFByb3Blcmx5IGZhbGwgdGhyb3VnaCB0aGUgY2FzZXMgd2l0aG91dCByZS1hc3NpZ25pbmcgdGhlIGxldmVsIHRvCgkgIHRoZSB3cm9uZyB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjM2OQoKMjAxMy0wOC0xOSAxNzoyMzoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGb3J3YXJkIHNlZ21lbnQgZXZlbnQgYWZ0ZXIgY2FwcwoJICBTdG9yZSBpdCB1bnRpbCB3ZSBrbm93IHdoYXQgb3VyIGNhcHMgYXJlLgoKMjAxMy0wOC0yMCAwMDoyNjowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FpZmZwYXJzZS5jOgoJICB0ZXN0OiBmaXggY29tcGlsZXIgd2FybmluZyBpbiBhaWZmcGFyc2UgdGVzdCBvbiAzMi1iaXQgeDg2CgoyMDEzLTA4LTE5IDA5OjI1OjIwICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IGNvcHlyaWdodAoKMjAxMy0wOC0xNyAwMDoyMjo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FpZmZwYXJzZS5jOgoJICB0ZXN0czogZml4IHNvbWUgbGVha3MgaW4gYWlmZnBhcnNlIHVuaXQgdGVzdAoKMjAxMy0wOC0xNyAwMDowOToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FpZmZwYXJzZS5jOgoJICB0ZXN0czogZml4IHN0YXRlIGNoYW5nZSBvcmRlciBpbiBhaWZmcGFyc2UgdGVzdAoJICBEbyBzdGF0ZSBjaGFuZ2VzIGZyb20gc2luayB0byBzcmMuIEZpeGVzIHJhY2UgY29uZGl0aW9uIGluCgkgIHB1bGwgbW9kZSB0ZXN0IHdoZXJlIHRoZSBzb3VyY2Ugd2lsbCBzdGFydCB1cCBhbmQgcHVzaCBidWZmZXJzCgkgIHRvIHF1ZXVlL2lkZW50aXR5IG9yIGFpZmZwYXJzZSBiZWZvcmUgdGhlIG1haW4gdGhyZWFkIGhhcwoJICBtYW5hZ2VkIHRvIHNldCB0aGVtIHRvIHBsYXlpbmcgeWV0LgoKMjAxMy0wOC0xMiAxODozMzozOSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9haWZmcGFyc2UuYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL3MxNmJlLWlkM3YyLmFpZmY6CgkgIGFpZmZwYXJzZTogYWRkIHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTMKCjIwMTMtMDgtMTcgMDA6MjM6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBkb24ndCBsZWFrIGFkYXB0ZXIKCjIwMTMtMDgtMTUgMTM6NTg6NDggKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBzL25ld3NlZ21lbnQvc2VnbWVudC8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk5MwoKMjAxMy0wOC0xMyAxODo0Mjo1NSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBwdXNoIG1vZGUKCSAgRml4IHB1c2ggbW9kZSBieSBoYW5kbGluZyBzaW5rIGV2ZW50cyAoQ0FQUywgU0VHTUVOVCkgcHJvcGVybHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTMKCjIwMTMtMDgtMTYgMTU6NDE6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IFJlcGFyc2UgdGhlIGNvbmZpZyBpZiB0aGUgc2l6ZSBjaGFuZ2VkCgkgIEFsc28gb25seSByZS1pc3N1ZSB0aGUgY2FwcyB1cGRhdGUgaWYgdGhlIHBhcnQgb2YgdGhlIGNvbmZpZyB0aGF0CgkgIGNoYW5nZWQgaXMgb25lIHdlIGNhcmUgYWJvdXQuCgoyMDEzLTA4LTE2IDE5OjQ4OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBmaXggYnVmZmVycyBiZWluZyBkcm9wcGVkIGR1ZSB0byBzaGFkb3dlZCB2YXJpYWJsZQoJICBTcG90dGVkIGJ5IGdzdGJsdWJAZ21haWwuY29tLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDkxCgoyMDEzLTA4LTA4IDExOjE5OjAwICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBvZmZzZXQgc2VnbWVudCBudW1iZXJzIGJ5IHN0YXJ0TnVtYmVyCgkgIEZvciBTZWdtZW50VGVtcGxhdGUgZWxlbWVudHMgY29udGFpbmluZyBhIHN0YXJ0TnVtYmVyIGF0dHJpYnV0ZSwgdGhlCgkgIGBudW1iZXInIG1lbWJlciBvZiBHc3RNZWRpYVNlZ21lbnRzIHNob3VsZCBiZSBvZmZzZXQgYnkgdGhlIHZhbHVlIG9mCgkgIHN0YXJ0TnVtYmVyOyBob3dldmVyLCB0aGlzIGlzIG5vdCBjdXJyZW50bHkgdGhlIGNhc2UuIEFzIGEgcmVzdWx0LCB0aGUKCSAgZmlyc3QgVVJJKHMpIHJlcXVlc3RlZCBieSB0aGUgZG93bmxvYWQgbG9vcCB3aWxsIGJlIHdyb25nLgoJICBUaGlzIGNvbW1pdCBlbnN1cmVzIHRoYXQgc2VnbWVudCBudW1iZXJzIHdpbGwgYmUgb2Zmc2V0IGJ5IHN0YXJ0TnVtYmVyCgkgIHdoZW4gb25lIGlzIHByZXNlbnQgaW4gYSBTZWdtZW50VGVtcGxhdGUgZWxlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY2MQoKMjAxMy0wOC0wOCAxNToxOToxNSArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIGluY29ycmVjdCB0aW1lc3RhbXAgc2NhbGluZy4KCSAgV2hlbiB1c2luZyBhIFNlZ21lbnRUZW1wbGF0ZSBlbGVtZW50LCB0aGUgdGltZXN0YW1wcyBvZiB0aGUgYnVmZmVycwoJICBvdXRwdXQgYnkgZGFzaGRlbXV4IGFyZSBpbmNvcnJlY3QsIGNhdXNpbmcgcHJvYmxlbXMgZG93bnN0cmVhbS4KCSAgVGhlIHJlYXNvbiBpcyB0aGF0IEdzdE1lZGlhU2VnbWVudCBzdGFydCB0aW1lcyBhcmUgY2FsY3VsYXRlZCAoaW4KCSAgZ3N0X21wZHBhcnNlcl9nZXRfY2h1bmtfYnlfaW5kZXgpIGJ5IG11bHRpcGx5aW5nIHNlZ21lbnQgaW5kZXggYnkKCSAgc2VnbWVudCBkdXJhdGlvbiBhbmQgdGhlbiBzY2FsaW5nIHRoZSByZXN1bHQgYWNjb3JkaW5nIHRoZSBgdGltZWJhc2UnCgkgIGF0dHJpYnV0ZSBmcm9tIHRoZSBNUEQuIEhvd2V2ZXIsIHRoZSBzZWdtZW50IGR1cmF0aW9uIGlzIGFscmVhZHkgYQoJICBHc3RDbG9ja1RpbWUgKGkuZS4sIGl0IGhhcyBhbHJlYWR5IGJlZW4gc2NhbGVkIGFjY29yZGluZyB0byB0aGUgdGltZWJhc2UKCSAgZnJvbSB0aGUgTVBEIGFuZCBjb252ZXJ0ZWQgdG8gYSBuYW5vc2Vjb25kIHZhbHVlKSwgc28gbXVsdGlwbHlpbmcgaXQgYnkKCSAgdGhlIHNlZ21lbnQgaW5kZXggd2lsbCBnaXZlIHRoZSBjb3JyZWN0IHRpbWVzdGFtcCB3aXRob3V0IHRoZSBuZWVkIGZvcgoJICBhbnkgZnVydGhlciBzY2FsaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1Njc5CgoyMDEzLTA4LTE1IDIwOjEyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc3RhdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJICBleGFtcGxlczogcmVtb3ZlIGFub3RoZXIgb2Jzb2xldGUgZXhhbXBsZQoKMjAxMy0wOC0xNSAxNTo0Njo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIGV4dDogVXNlIG5ldyBmbHVzaCB2ZnVuYyBvZiB2aWRlbyBjb2RlYyBiYXNlIGNsYXNzZXMgYW5kIHJlbW92ZSByZXNldCBpbXBsZW1lbnRhdGlvbnMKCjIwMTMtMDgtMTQgMTk6MTI6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYXBzZmlsdGVyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYXBzZmlsdGVyL2NhcHNmaWx0ZXIxLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSAgZXhhbXBsZXM6IHJlbW92ZSBwcmVoaXN0b3JpYyBleGFtcGxlcwoKMjAxMy0wOC0xNCAxODoxNzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkgIGludGVyYXVkaW9zcmM6IG1ha2Ugc2lsZW5jZSBtZW1vcnkgYWN0dWFsbHkgY29udGFpbiBzaWxlbmNlCgkgIGluc3RlYWQgb2YgcmFuZG9tIGRhdGEuIFJlcG9ydGVkIGJ5IE1hcmNvIE1pY2hlbGV0dGkgb24KCSAgZ3N0cmVhbWVyLWRldmVsLgoKMjAxMy0wOC0xNCAxMzoyNzowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBmaXggY3JpdGljYWxzIHdoZW4gdHJ5aW5nIHRvIGNhc3QgYSBHc3RQYWQgdG8gYSBHc3RFbGVtZW50CgkgIG1lc3NhZ2UtPnNyYyBtaWdodCBiZSBhIEdzdFBhZC4gT2JzZXJ2ZWQgZHVyaW5nIGdzdC1pbnNwZWN0LTEuMCAtYQoKMjAxMy0wOC0xNCAxMzo1OToyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IFVwZGF0ZSBmb3IgbmV3IGZpbGVzIHRvIGlnbm9yZQoKMjAxMy0wOC0xNCAxMzo0MTozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkgIHBlc3BhcnNlOiBSZWZhY3Rvcnkgc2Vjb25kYXJ5IFBFUyBleHRlbnNpb24gaGFuZGxpbmcKCSAgU29tZSBzdHJlYW1zIGhhZCB3cm9uZyB2YWx1ZXMgZm9yIHRoZSBzdHJlYW1faWRfZXh0ZW5zaW9uLCBtYWtlIHN1cmUKCSAgd2Ugb25seSByZW1lbWJlciB0aGUgdmFsaWQgb25lcy4KCSAgRm9yIHN0cmVhbXMgd2l0aCBQRVNfZXh0ZW5zaW9uX2ZpZWxkX2xlbmd0aCA9PSAwLCBhc3N1bWUgdGhlcmUncyBub3RoaW5nCgkgIGVsc2UuCgkgIEZvciBzdHJlYW1zIHRoYXQgc3RhdGUgdGhleSBoYXZlIGEgVFJFRiBleHRlbnNpb24gYnV0IGRvbid0IGhhdmUgZW5vdWdoCgkgIGRhdGEgdG8gc3RvcmUgaXQsIGp1c3QgYXNzdW1lIGl0IHdhcyBwcm9kdWNlZCBieSBhIG5vbi1jb21wbGlhbnQgbXV4ZXIKCSAgYW5kIHNraXAgdGhlIHJlbWFpbmluZyBkYXRhLgoJICBPbmx5IHN0b3JlIHJlbWFpbmluZyBkYXRhIGluIHN0cmVhbV9pZF9leHRlbnNpb25fZGF0YSBpbnN0ZWFkIG9mIHN0b3JpbmcKCSAgZGF0YSB3ZSBhbHJlYWR5IHBhcnNlLgoKMjAxMy0wOC0xNCAxMDo0NzozMSArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVybWVyYWxpQGdtYWlsLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogUmVtb3ZlIHVubmVlZGVkIHVucmVmIGFuZCBvbmx5IHNldCBwYWQgY2FwcyBpZiB3ZSBoYXZlIGNhcHMKCSAgRml4ZXMgY3Jhc2hlcyBkdWUgdG8gaW52YWxpZCB1bnJlZnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5NTcKCjIwMTMtMDgtMTQgMTA6Mzk6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHBlc3BhcnNlOiBGaXggcGVzIGV4dGVuc2lvbiBkYXRhIGxlbmd0aCBjaGVjawoJICBBbmQgcmVtb3ZlIGxlbmd0aC9kYXRhIHVwZGF0ZXMgKHdlIHVzZSB0aGUgaGVhZGVyIHNpemUganVzdCBiZWxvdyB0bwoJICBwcm9wZXJseSBzZXQgdGhlbSkuCgkgIEJhc2VkIG9uIGZlZWRiYWNrIGZyb20gU3RhcyBTZXJnZWV2IDxzdHNwQGxpc3QucnU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTczNDMKCjIwMTMtMDgtMTQgMTA6MzM6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBwZXNwYXJzZTogUmVtb3ZlIHVudXNlZCBhcmd1bWVudAoJICBXZSBhbHdheXMgcHJvdmlkZWQgMCBhcyB0aGUgb2Zmc2V0IGFuZCBuZXZlciB1c2VkIHRoZSByZXR1cm5lZCB2YWx1ZS4KCSAgQmFzZWQgb24gZmVlZGJhY2sgZnJvbSBTdGFzIFNlcmdlZXYgPHN0c3BAbGlzdC5ydT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzM0MwoKMjAxMy0wOC0xMyAxNzo0NzoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvcGFyc2U6IHR1cm4gaW50ZXJuYWwgY29uc2lzdGVuY3kgY2hlY2sgaW50byBhIGdfYXNzZXJ0KCkKCSAgV2Ugb25seSBjaGVjayBpbnB1dCBmcm9tIHRoZSBBUEkgdXNlciB3aXRoIGdfcmV0dXJuXypfaWZfZmFpbCgpLgoJICBJbnRlcm5hbCBzYW5pdHkgY2hlY2tzIHNob3VsZCB1c2UgZ19hc3NlcnQoKSBpbnN0ZWFkLCB3aGljaCBpcwoJICBkaXNhYmxlZCBieSBkZWZhdWx0IGZvciByZWxlYXNlcy4KCjIwMTMtMDgtMTMgMTc6NDU6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlb3BhcnNlcjogbWlub3IgZG9jIGZpeGVzCgoyMDEzLTA4LTEzIDEyOjQxOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiB1c2UgZ3N0X2RhdGFfcXVldWVfcHVzaF9mb3JjZSBmb3IgYWRkaW5nIGV2ZW50cyB0byBxdWV1ZQoJICBUaGlzIHByZXZlbnRzIGxvY2tpbmcgb24gc3RhcnR1cCB3aGVuIGEgc3RyZWFtIG9ubHkgaGFzIGEgc2luZ2xlIGJ1ZmZlcgoJICBmb3Igb25lIG9mIHRoZSBzdHJlYW1zIGFuZCBtc3NkZW11eCBkZWNpZGVzIHRvIHB1c2ggYW4gRU9TIGV2ZW50IHJpZ2h0CgkgIGFmdGVyIGl0LgoKMjAxMy0wOC0wOCAxMzozMjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogdXNlIHB1c2hfZm9yY2Ugd2hlbiBhZGRpbmcgZXZlbnRzIHRvIHRoZSBkYXRhcXVldWUKCSAgVGhpcyBwcmV2ZW50cyBkZWFkbG9ja3Mgb24gc3RhcnR1cCBvbiBmaWxlcyB0aGF0IGhhdmUgb25seSBhIHZlcnkKCSAgbGFyZ2UgYnVmZmVyIGZvciBhIHN0cmVhbSBhbmQgdGhlIHF1ZXVlIGlzIGZpbGxlZCBhbmQgd2lsbCBsb2NrIG9uCgkgIHRoZSBlb3MgZXZlbnQgdGhhdCBpcyBwdXNoZWQgYWZ0ZXIgdGhlIGJ1ZmZlci4gQXMgbm8gYnVmZmVycyBoYXZlIHlldAoJICBiZWVuIHB1c2hlZCB0byBvdGhlciBzdHJlYW1zLCB0aGUgcGlwZWxpbmUgbG9ja3Mgb24gcHJlcm9sbAoKMjAxMy0wNy0zMCAxNToxNzoyMyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHN1cHBvcnQgZmllbGQgZW5jb2RpbmcgZm9yIGludGVybGFjZWQgdmlkZW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTE0NAoKMjAxMy0wOC0xMiAwMTowMjo1MSAtMDQwMCAgQWxleGFuZHJlIFJvc3RvdnRzZXYgPHRldHJvbWlub0BnZW50b28ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBuZW9uaHR0cHNyYzogYWxsb3cgYnVpbGRpbmcgd2l0aCBuZW9uLTAuMzAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTgxMgoKMjAxMy0wOC0xMiAxMjoyNzozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBMZXQgcGFja2V0cyB0aHJvdWdoIHdpdGhvdXQgdG91Y2hpbmcgdGhlbSBpZiBubyBjcnlwdG8gb3IgYXV0aCBpcyBzZXQKCjIwMTMtMDgtMTIgMTI6Mjc6MTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IFJlZmFjdG9yIGNvZGUgYSBiaXQKCSAgU2ltcGxpZnkgdGhlIGVycm9yIGhhbmRsaW5nIGNhc2UgYW5kIGdldCB0aGUgcGFja2V0IHB1c2ggb3V0IG9mIHRoZSBpZigpCgoyMDEzLTA4LTEyIDExOjU2OjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBEb24ndCBlcnJvciBvbiBpbnZhbGlkIHBhY2tldCwganVzdCBkcm9wIGl0CgoyMDEzLTA4LTA3IDE1OjAxOjMzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBGaXggdGhlIFNlcXVlbmNlTGF5ZXIgaGFuZGxpbmcgZm9yIGFkdmFuY2VkIHByb2ZpbGUuCgkgIFRoZSBTZXF1ZW5jZSBIZWFkZXIgRGF0YSBTdHJ1Y3R1cmUgU1RSVUNUX0MgZm9yIEFkdmFuY2VkIFByb2ZpbGUKCSAgaGFzIG9ubHkgYSBvbmUgdmFsaWQgZmllbGQgd2hpY2ggaXMgdGhlIHByb2ZpbGUgaW5kaWNhdG9yLiBEb24ndAoJICB1c2UgdGhlIHJlc2VydmVkIGZpZWxkcyBmb3IgZnBzIHVwZGF0ZSBsaWtlIFNpbXBsZS9NYWluIHByb2ZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NjcKCjIwMTMtMDgtMDcgMTQ6NTI6NDMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IEZpeCBzZXEgaGRyIFNUUlVDVF9BIGhhbmRsaW5nIGZvciBhZHZhbmNlZCBwcm9maWxlLgoJICBUaGUgU2VxdWVuY2UgSGVhZGVyIERhdGEgU3RydWN0dXJlIFNUUlVDVF9BIGZvciBhZHZhbmNlZCBwcm9maWxlCgkgIG1heSBiZSBlaWdodCBjb25zZWN1dGl2ZSB6ZXJvIGJ5dGVzLkRvbid0IHRyeSB0byBvdmVycmlkZSB0aGUKCSAgd2lkdGggYW5kIGhlaWdodCB2YWx1ZXMgaW4gdGhpcyBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NjY3CgoyMDEzLTA4LTA3IDEwOjE0OjIwICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IFNTTkQgZGF0YSBzaXplCgkgIEFJRkYgY2h1bmsgc2l6ZSBkb2VzIG5vdCBpbmNsdWRlIHRoZSBjaHVuayBoZWFkZXIgc2l6ZSAoOCBieXRlcyksIHNvIHRoZQoJICBTU05EIGRhdGEgc2l6ZSBpcyBlcXVhbCB0byB0aGUgY2h1bmsgc2l6ZSBtaW51cyB0aGUgU1NORCBoZWFkZXIgc2l6ZSAoOAoJICBieXRlcykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NzUKCjIwMTMtMDctMTMgMDI6NTA6NTIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBhZGQgc3VwcG9ydCBmb3IgcmVkaXJlY3Rpb25zCgoyMDEzLTA4LTAyIDIwOjM3OjMwICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogc2VuZCBjb2RlYyB0YWcgZm9yIGVhY2ggc3RyZWFtCgoyMDEzLTA4LTEwIDIxOjM0OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkgIHRlc3RzOiB1dmNoMjY0ZGVtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50cyBhbmQgZml4IGV2ZW50IG9yZGVyCgoyMDEzLTA4LTEwIDIxOjMzOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjaDI2NG1qcGdkZW11eDogZml4IGV2ZW50IG9yZGVyaW5nCgoyMDEzLTA4LTEwIDIwOjAyOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSAgdGVzdHM6IG1wbGV4OiBmaXggJ0dvdCBkYXRhIGZsb3cgYmVmb3JlIHN0cmVhbS1zdGFydCBldmVudCcgZmFpbHVyZQoKMjAxMy0wOC0xMCAxOTo1NDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkgIHRlc3RzOiBtcGVnMmVuYzogZml4ICdHb3QgZGF0YSBmbG93IGJlZm9yZSBzdHJlYW0tc3RhcnQgZXZlbnQnIGZhaWx1cmUKCjIwMTMtMDgtMTAgMTk6NDQ6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggQ0FQUyBxdWVyeQoJICBXYXMgY2F1c2luZyBjcml0aWNhbHMgaW4gZGVjb2RlYmluL3BsYXliaW4gYmVjYXVzZSB0aGUgY2FwcwoJICBxdWVyeSBkb25lIHdoZW4gZXhwb3NpbmcgcGFkcyB3b3VsZCByZXR1cm4gQU5ZIGNhcHMuCgoyMDEzLTA4LTEwIDE5OjQzOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZG9uJ3QgdW5yZWYgTlVMTCBidWZmZXIKCjIwMTMtMDgtMDcgMTk6MDg6MzMgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBzZXQgbWlzc2luZyBsYXlvdXQgZmllbGQgaW4gc3JjcGFkIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY3NAoKMjAxMy0wOC0wNyAxNzoyODoyOSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IHNlbmQgc3RhcnQgc3RyZWFtIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NzQKCjIwMTMtMDgtMDYgMTY6NTM6MzcgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggYnVmZmVycyBpbml0aWFsaXNhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1Njc0CgoyMDEzLTA4LTAyIDE0OjExOjAxICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBhZGQgc3ViZGlyLW9iamVjdHMgdG8gQU1fSU5JVF9BVVRPTUFLRQoJICBGaXhlcyB3YXJuaW5ncyB3aXRoIGF1dG9tYWtlIDEuMTQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNTAKCjIwMTMtMDgtMDkgMjA6MTI6MDkgKzAxMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGNyZWF0ZS9yZW1vdmUgb3JjIGRpcmVjdG9yeSBhdCBwcm9wZXIgdGltZQoJICBCZWZvcmUgYXV0b21ha2UgY3JlYXRlcyAuZGVwcyBkaXJlY3RvcmllcywgYW5kIGR1cmluZyBkaXN0Y2xlYW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNTAKCjIwMTMtMDgtMDkgMjA6MTA6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB0ZXN0czogZml4IGJ1aWxkIG9mIGJhc2VhdWRpb3Zpc3VhbGl6ZXIgdGVzdCB3aXRoIHN1YmRpci1vYmplY3RzIG9wdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzUwCgoyMDEzLTA4LTA3IDA5OjA0OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBVc2Ugc2xpY2UgdHlwZSB0byBkZXRlcm1pbmUgaWYgZnJhbWUgaXMga2V5ZnJhbWUKCSAgVGhpcyBpcyB0aGUgc2FtZSBiZWhhdmlvdXIgYXMgcHJlLWJhc2VwYXJzZS1yZWZhY3RvcmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NTk4CgoyMDEzLTA4LTAzIDE0OjIwOjQ3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRG8gbm90IHRyaWdnZXIgY2FwcyB1cGRhdGUgaWYgd2Ugb25seSBoYXZlIFBQUyB1cGRhdGVzCgkgIFVwZGF0aW5nIGNhcHMgcmVzdWx0cyBpbiBkb3duc3RyZWFtIGVsZW1lbnRzIHBvdGVudGlhbGx5IHJlY29uZmlndXJpbmcgdGhlbXNlbHZlcwoJICAoc3VjaCBhcyBkZWNvZGVycykuIElmIHdlIGRvIHRoaXMgaW4gdGhlIG1pZGRsZSBvZiBrZXlmcmFtZXMsIHdlIHdvdWxkIHJlc3VsdAoJICBpbiB0aG9zZSBlbGVtZW50cyBiZWluZyByZWNvbmZpZ3VyZWQgYW5kIGhhbmRsaW5nIGdhcmJhZ2UgdW50aWwgdGhlIG5leHQga2V5ZnJhbWUuCgkgIEluc3RlYWQgb2YgdGhpcyBvbmx5IHNlbmQgKHBvdGVudGlhbGx5KSBuZXcgY29kZWNfZGF0YSB3aGVuIHdlIGhhdmUgKmJvdGgqIFNQUyBhbmQKCSAgUFBTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzMzCgoyMDEzLTA3LTMxIDExOjU2OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSAgaXZ0YzogcXVpZXQgRklYTUUgd2hlbiBpdCdzIG5vdCByZWxldmFudAoKMjAxMy0wNy0zMSAxMTo1NDowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkgIGl2dGM6IGltcGxlbWVudCBuZXcgZWRnZS1kaXJlY3RlZCB1cHNhbXBsaW5nCgoyMDEzLTA4LTAzIDE4OjA3OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiByZW1vdmUgdXNlIG9mIF9YT1BFTl9TT1VSQ0UKCSAgV2hpY2ggY2F1c2VzIHByb2JsZW1zIHdoZW4gdXNlZCB3aXRoIF9HTlVfU09VUkNFIGFwcGFyZW50bHksIGFuZCBpdAoJICBzZWVtcyBpdCB3YXMgb25seSBzZXQgYmVjYXVzZSBvZiB1c2xlZXAoKSwgd2hpY2ggd2UgY2FuIGp1c3QgcmVwbGFjZQoJICB3aXRoIGdfdXNsZWVwKCkgdW50aWwgd2UgZ2V0IHJpZCBvZiB0aG9zZSBlbnRpcmVseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTIwOAoKMjAxMy0wOC0wMiAxNToxMjoxNyArMDIwMCAgQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogcmV0dXJuIEdTVF9GTE9XX0VPUyBpbiBhdmR0cHNyYyBjcmVhdGUgd2hlbiBzdHJlYW0gaXMgRU9GCgkgIFNpZ25lZC1vZmYtYnk6IEJlcm5oYXJkIE1pbGxlciA8YmVybmhhcmQubWlsbGVyQHN0cmVhbXVubGltaXRlZC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNDkKCjIwMTMtMDgtMDEgMTE6MDE6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogTG9vayBoYXJkZXIgZm9yIG5leHQgc3luYyBwb3NpdGlvbgoJICBJZiBldmVyIHdlIGxvc2Ugc3luYywgd2Ugd2VyZSBqdXN0IGNoZWNraW5nIGZvciB0aGUgbmV4dCAweDQ3IG1hcmtlciAuLi4KCSAgd2hpY2ggbWlnaHQgYWN0dWFsbHkgaGFwcGVuIHdpdGhpbiBhIG1wZWctdHMgcGFja2V0LgoJICBJbnN0ZWFkIGNoZWNrIGZvciAzIHJlcGVhdGluZyAweDQ3IGF0IHRoZSBleHBlY3RlZCBwYWNrZXQgc2l6ZSBpbnRlcnZhbCwKCSAgd2hpY2ggdGhlIHNhbWUgbG9naWMgd2UgdXNlIHdoZW4gd2UgaW5pdGlhbGx5IGxvb2sgZm9yIHRoZSBwYWNrZXQgc2l6ZS4KCjIwMTMtMDgtMDEgMTA6NTg6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IFBDUiBMVVQgdGFibGUKCSAgV2Ugd2VyZSBvbmx5IHJlc2V0dGluZyB0aGUgZmlyc3QgNTEyIHZhbHVlcyBvZiB0aGUgbG9va3VwIHRhYmxlIGluc3RlYWQKCSAgb2YgdGhlIHdob2xlIDgxOTIuCgkgIFRoaXMgcmVzdWx0ZWQgaW4gYW55IFBDUiBQSUQgb3ZlciAweDAyMDAgLi4uIGVuZGluZyB1cCB0YWtpbmcgdGhlIGZpcnN0IFBDUgoJICB0YWJsZSBhcm91bmQgOigKCjIwMTMtMDctMzAgMjI6MDY6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHByb3Blcmx5IGVycm9yIG91dCB3aGVuIG1hbmlmZXN0IGhhcyBubyBzdHJlYW1zCgkgIFBvc3QgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIHRoZSBtYW5pZmVzdCBpcyBwYXJzZWQgYW5kIG5vIHZhbGlkIHN0cmVhbXMKCSAgYXJlIGZvdW5kIGJlIGFjdGl2YXRlZCBhbmQgdXNlZC4KCSAgRml4ZXMgIzcwNDMwOAoKMjAxMy0wNy0zMCAxNjowODoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0czogcHJpdmF0ZS90ZWxldGV4dCAtPiBhcHBsaWNhdGlvbi94LXRlbGV0ZXh0CgoyMDEzLTA3LTI5IDIxOjI1OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogdXBkYXRlCgoyMDEzLTA3LTI5IDIxOjI0OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogLmdpdGlnbm9yZToKCSAgdGVzdHM6IGlnbm9yZSBuZXcgZXhhbXBsZSBiaW5hcmllcwoKMjAxMy0wNy0yOSAyMToyMzo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2VsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vc3YucG86CgkqIHBvL3ZpLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMy0wNy0yOSAxNDo0ODowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMyA9PT0KCjIwMTMtMDctMjkgMTM6NTI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjMKCjIwMTMtMDctMjkgMTM6NTI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDctMjkgMTI6MTc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGk6IEZpeCBoYW5kbGluZyBvZiB0aGUgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMjoxNDowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBnc3Q6IERvbid0IHN3YXAgc3RhcnQvc3RvcCBmb3IgbmVnYXRpdmUgcmF0ZXMgaW4gdGhlIFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTE6MDI6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogSW1wbGVtZW50IFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTE6MDE6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEltcGxlbWVudCBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDExOjAwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBJbXBsZW1lbnQgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAwOTozNTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2Rlc2MuYzoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvY2hhbm5lbG1peC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZGlmZi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvbWVtb3J5LmM6CgkgIGFsbDogRml4IGZvciBHU1RfRElTQUJMRV9HU1RfREVCVUcKCSAgV2hlcmUgYXBwbGljYWJsZSwgcmVtb3ZlIG1ldGhvZHMgdGhhdCBkb24ndCBkbyBhbnl0aGluZyBkaWZmZXJlbnQgdGhhbgoJICB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbi4KCjIwMTMtMDctMjkgMDg6NDY6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGRvY3Mvc3BlYzogUmVhbGx5IHJlbW92ZSBhbGwgbWVudGlvbnMgb2YgQ0VMVCBwbHVnaW4KCjIwMTMtMDctMjkgMDg6Mjk6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBTaG93IE5BTFUgc3RyaW5nIHR5cGUgaW4gZGVidWcgbWVzc2FnZXMKCSAgSWYgeW91IGtub3cgdGhlIE5BTFUgdHlwZSBieSBoZWFydCBJIHRpcCBteSBoYXQgdG8geW91LCBmb3IgdGhlIHJlc3Qgb2YKCSAgdXMgbWVyZSBtb3J0YWxzIHRoaXMgaXMgYSBiaXQgbW9yZSBoZWxwZnVsCgoyMDEzLTA3LTI5IDA4OjI4OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlbW92ZSB1bnVzZWQgbWFjcm9zCgoyMDEzLTA3LTI5IDA4OjIzOjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgbW9yZSBBQzMgZGV0ZWN0aW9uIGNhc2VzCgkgIEFUU0MgYWMzIHN0cmVhbXMgYXJlIGFsd2F5cyBndWFyYW50ZWVkIHRvIGJlIEFDMyBpZiBFQUMzIGRlc2NyaXB0b3IKCSAgaXMgbm90IHByZXNlbnQKCSAgSWYgc3RyZWFtIHJlZ2lzdHJhdGlvbiBpZCBpcyAnQUMtMycgdGhlbiBpdCdzIGFsc28gZ3VhcmFudGVlZCB0byBiZSBBQzMuCgkgIEZpbmFsbHkgaWYgQUMzIGRlc2NyaXB0b3IgaXMgcHJlc2VudCBpdCdzIGd1YXJhbnRlZWQgdG8gYmUgQUMzLgoJICBPbmx5IHNpbGVuY2VzIGEgd2FybmluZywgYnV0IHN0aWxsLgoKMjAxMy0wNy0yOSAwODoyMDoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGbHVzaCBvdXQgcGVuZGluZyBkYXRhIG9uIEVPUwoJICBFbnN1cmVzIGRvd25zdHJlYW0gZWxlbWVudHMgKGxpa2UgZGVjb2RlcnMpIHJlYWxseSBnZXQgYWxsIHRoZSBkYXRhCgoyMDEzLTA3LTI5IDA4OjE4OjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IE1vcmUgQUZDIGZsYWdzCgkgIEkgc2hvdWxkIGhhdmUgcHV0IHRob3NlIGluIGEgcHJldmlvdXMgY29tbWl0LiBzb3JyeSA6KAoKMjAxMy0wNy0yOSAwODoxNDo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSAgbXBlZ2RlZnM6IFNpbXBsaWZ5IFBDUi9QVFMvRFRTID0+IEdTVCBjb252ZXJzaW9uIG1hY3JvcwoJICBXZSBrbm93IHdlIHdpbGwgbm90IG92ZXJmbG93IDY0IGJpdHMsIHRoZXJlZm9yZSBqdXN0IHVzZSBkaXJlY3QKCSAgbXVsdGlwbGljYXRpb24vZGl2aXNpb24gaW5zdGVhZCBvZiB0aGUgc2NhbGUgbWV0aG9kICh0cmltcyB1c2FnZSBmcm9tCgkgIDUwIGluc3RydWN0aW9uIGNhbGxzIHRvIDIvMykuCgoyMDEzLTA3LTI4IDIwOjE0OjU1ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzcHU6IGFydGlmYWN0cyB3aGVuIHJlbmRlcmluZyBjbGlwcGVkIHNwdQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MDM5CgoyMDEzLTA3LTI4IDE4OjI4OjMwICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZG8gbm90IHVwZGF0ZSBjYXBzIHdoZW4gYml0cmF0ZSBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUwMzUKCjIwMTMtMDctMjggMTQ6MjI6MzggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogUkVRVUlSRU1FTlRTOgoJICBGaXggVVJJcyBpbiBSRVFVSVJFTUVOVFMKCjIwMTMtMDctMjggMTM6MTI6MzIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJKiBleHQvY2VsdC9nc3RjZWx0LmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgY2VsdDogcmVtb3ZlLCByZXBsYWNlZCBieSBvcHVzLgoKMjAxMy0wNy0yOCAxNzoyOTozMiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjRfbWpwZ2RlbXV4OiBSZW1vdmUgZHVwbGljYXRlZCB2YXJpYWJsZXMKCjIwMTMtMDctMjggMTc6MjU6MTAgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmNoMjY0X21qcGdkZW11eDogRG9uJ3QgdW5tYXAvdW5yZWYgYnVmZmVyIGlmIGl0J3MgcHVzaGVkIG91dCBhcy1pcwoKMjAxMy0wNy0yNiAxODozMzowMCArMDAwMCAgUm9iZXJ0IEtyYWtvcmEgPHJvYi5rcmFrb3JhQG1lc3NhZ2VuZXRzeXN0ZW1zLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y3Y0bDJfbWpwZWdkZW11eDogVW5tYXAgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk1MTcKCjIwMTMtMDctMjggMTU6NDY6MzMgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luZy5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB0byBiZSBjdXJyZW50CgoyMDEzLTA3LTI3IDEyOjE3OjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBIRFYgb25seSBoYXMgbXBlZyAxIGF1ZGlvIGxheWVyIDIKCSAgU2V0IHRoYXQgYWNjb3JkaW5nbHkgb24gdGhlIGNhcHMKCjIwMTMtMDctMjYgMTc6MzE6MjIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBWYXJpb3VzIGRlYnVnIGFyZ3VtZW50IGZpeGVzCgkgIG1haW5seSBHX0dVSU5UMTZfRk9STUFUIHRvIC4uLiB0aGUgcmlnaHQgdHlwZSAoZ3VpbnQzMiBvciBndWludDgpCgoyMDEzLTA3LTI2IDE3OjI1OjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50CgkgIGhhcmRlciA/IDopCgoyMDEzLTA3LTI2IDEzOjIwOjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogaW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeSBlYXJsaWVyCgkgIFlvdSBrbm93LCBiZWZvcmUgaXQncyB1c2VkLgoKMjAxMy0wNy0yNiAwNzo1MzowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBtb3JlIGZsYWcgZGVidWdnaW5nIGZvciBQRVMgYW5kIFRTIHBhY2tldHMKCSAgSGVscHMgd2l0aCBkZWJ1Z2dpbmcgaXNzdWVzLiBBbmQgYWxzbyByZW1vdmUgdW51c2VkIHZhcmlhYmxlIChvcGNyKQoJICBUaGlzIHdpbGwgYWxzbyBhbGxvdyB1cyBpbiB0aGUgZnV0dXJlIHRvIHByb3Blcmx5IGRldGVjdDoKCSAgKiByYW5kb20tYWNjZXNzIGxvY2F0aW9uICh0byBlbmFibGUga2V5ZnJhbWUgb2JzZXJ2YXRpb24gYW5kCgkgIHBvdGVudGlhbGx5IHNlZWtpbmcKCSAgKiBkaXNjb250IGxvY2F0aW9uICh0byBwcm9wZXJseSBoYW5kbGUgcmVzZXRzKQoJICAqIHNwbGljZSBsb2NhdGlvbiAodG8gcHJvcGVybHkgaGFuZGxlIG5ldyBzdHJlYW0gY2hhbmdlcykKCjIwMTMtMDctMjQgMTc6NDk6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IE1ha2Ugd2FybmluZ3MgbW9yZSBtZWFuaW5nZnVsCgkgIEJ5IHN0YXRpbmcgd2hldGhlciB3ZSBkb24ndCBoYXZlIGVub3VnaCBkYXRhIG9yIGl0J3MgYSBjb3JydXB0ZWQKCSAgcGFja2V0CgoyMDEzLTA3LTI0IDE3OjQ5OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICBwZXNwYXJzZTogRGVtb3RlIGEgV2FybmluZwoJICBXZSBhY3R1YWxseSBub3cga25vdyB3aGF0IHRvIGRvIC4uLiBoYXZlIGEgbG9nIG1lc3NhZ2UgOikKCjIwMTMtMDctMjUgMTU6MDY6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBhdm9pZCB1c2luZyBjbGlwcGVkIG91dCBidWZmZXJzCgkgIElmIGEgYnVmZmVyIHdhcyBlbnRpcmVseSBjbGlwcGVkIG91dCAoaWUsIGl0J3Mgb3V0IG9mIHRoZSBzZWdtZW50CgkgIGVudGlyZWx5KSwgd2UnbGwgZW5kIHVwIHdpdGggYSBOVUxMIGJ1ZmZlciwgd2hpY2ggd2UgZG9uJ3Qgd2FudAoJICB0byBwcm9jZXNzL2RlcmVmZXJlbmNlLgoKMjAxMy0wNy0yNCAxNTo1MDoxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBSZW1lbWJlciByZXF1ZXN0ZWQgc2VlayByYXRlIGFuZCB1c2UgaXQKCSAgVGhlIG5ldyBzZWVrIGhhbmRsaW5nIHJlLWNyZWF0ZXMgdGhlIHNlZ21lbnQgdGltZSBpbmZvcm1hdGlvbiBvbmNlIGl0CgkgIGhhcyBlbm91Z2ggaW5mb3JtYXRpb24gYWZ0ZXIgYSBzZWVrLgoJICBUaGUgcHJvYmxlbSB3YXMgdGhhdCB3ZSdkIGNvbXBsZXRlbHkgaWdub3JlIHRoZSByZXF1ZXN0ZWQgcmF0ZS4gU28gc3RvcmUKCSAgdGhhdCBhbmQgdXNlIGl0IGluIHRoZSBuZXdseSBjcmVhdGVkIHNlZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQzNjkKCjIwMTMtMDctMjQgMDk6MTg6NDMgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYXRkZWM6IGRlc3Ryb3kgdGhlIHF1ZXVlIGlmIHNldF9mb3JtYXQgZmFpbHMKCjIwMTMtMDctMjQgMDk6MTU6NDkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYXRkZWM6IHJlbW92ZSBjKysgc3R5bGUgY29tbWVudHMKCjIwMTMtMDctMjQgMDk6MTE6NTkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuaDoKCSAgYXBwbGVtZWRpYTogYXRkZWM6IDFzdCByb3VuZCBvZiBmaXhlcwoKMjAxMy0wNy0yMyAxMDoxMDoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBGaXggY29kZWNfZGF0YSBoYW5kbGluZwoJICBTZXQgdG8gc2VxdWVuY2Vfb2Zmc2V0IHNvIHRoYXQgX3Byb2Nlc3NfY29uZmlnIGFjY2VwdHMgaXQuCgkgIChidHc6IHNlcV9vZmZzZXQgdXNhZ2UgdGhyb3VnaG91dCB0aGlzIHBsdWdpbiBpcyByZWFsbHkgZG9kZ3kpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4MDYKCjIwMTMtMDYtMTQgMDc6Mjg6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBDcmVhdGUgYW5kIHNlbmQgY29kZWMgdGFnCgkgIEhlbHBzIHdpdGggYXBwbGljYXRpb25zIHRoYXQgcmVseSBvbiBwcmVzZW5jZSBvZiB0aGF0IHRhZyBmb3IgdXNlci1mYWNpbmcKCSAgaW5mb3JtYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyMTYKCjIwMTMtMDctMjMgMTM6Mjk6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBwa2NzNyB1bnBhZGRpbmcKCSAgRXZlcnkgZW5jcnlwdGVkIGZyYWdtZW50IHdpbGwgYmUgYSBtdWx0aXBsZSBvZiAxMjggYml0cywgdGhlIGxhc3QgYnl0ZQoJICBjb250YWlucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgd2VyZSBhZGRlZCBhcyBwYWRkaW5nIGluIHRoZSBlbmQKCSAgYW5kIHNob3VsZCBiZSByZW1vdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNjczCgoyMDEzLTA3LTIzIDEwOjMwOjM5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYWRkIEF1ZGlvVG9vbGJveCBiYXNlZCBhdWRpbyBkZWNvZGVyCgoyMDEzLTA3LTIzIDEwOjMzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MzE6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MjQ6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjIxOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIHRzcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjE1OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjE0OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmg6CgkgIG1pZGlwYXJzZTogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MTE6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MDk6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJICByZXNpbmR2ZDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MDc6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MDQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTc6MzA6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBmaXggbmVnb3RpYXRpb24gaWYgZmlsdGVyIGNhcHMgYXJlIHBhc3NlZCB0byBxdWVyeV9jYXBzCgkgIE1ha2UgdmlkZW90ZXN0c3JjICEgaW50ZXJsYWNlICEgJGFueXRoaW5nIHdvcmsgYWdhaW4uIFByb2JsZW0KCSAgd2FzIHRoYXQgdXBzdHJlYW0gZmlsdGVyIGNhcHMgd2VyZSBwYXNzZWQgd2hpY2ggY29udGFpbmVkCgkgIGludGVybGFjZS1tb2RlPXByb2dyZXNzaXZlLCB3aGljaCBkb2Vzbid0IGludGVyc2VjdCB0b28gd2VsbAoJICB3aXRoIGludGVybGFjZSdzIHNvdXJjZSBwYWQgdGVtcGxhdGUgY2FwcywgbGVhZGluZyB0bwoJICBub3QtbmVnb3RpYXRlZCBlcnJvcnMuCgoyMDEzLTA3LTIyIDE0OjU2OjMyICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBEb24ndCBhYm9ydCBvbiBpbnZhbGlkIHN0cmVhbXMKCSAgSnVzdCByZXR1cm4gYW4gZXJyb3IKCjIwMTMtMDctMTkgMTU6MzA6NDIgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZXh0L2hscy9nc3RmcmFnbWVudC5oOgoJICBobHM6IGZpeCBmb3IgYXNzZXJ0IGZhaWx1cmUgd2hlbiB1c2luZyBlbmNyeXB0ZWQgSExTIHN0cmVhbXMKCSAgV2hlbiB1c2luZyBhbiBITFMgZW5jcnlwdGVkIHN0cmVhbSwgYW4gYXNzZXJ0aW9uIGZhaWx1cmUgaXMgdGhyb3duOgoJICAoZ3N0LWxhdW5jaC0xLjA6MzEwMjgpOiBHTGliLUdPYmplY3QtV0FSTklORyAqKjogY2Fubm90IHJlZ2lzdGVyCgkgIGV4aXN0aW5nIHR5cGUgYEdzdEZyYWdtZW50JwoJICAoZ3N0LWxhdW5jaC0xLjA6MzEwMjgpOiBHTGliLUNSSVRJQ0FMICoqOiBnX29uY2VfaW5pdF9sZWF2ZTogYXNzZXJ0aW9uCgkgIGByZXN1bHQgIT0gMCcgZmFpbGVkCgkgIEV2ZW50dWFsbHkgdHJhY2tlZCB0aGlzIGRvd24gdG8gdGhlIGNhbGwgZ3N0X2ZyYWdtZW50X25ldygpCgkgIGluIGZ1bmN0aW9uIGdzdF9obHNfZGVtdXhfZGVjcnlwdF9mcmFnbWVudC4KCSAgVGhlIEdzdEZyYWdtZW50IGNsYXNzIGlzIGRlZmluZWQgaW4gZXh0L2hscy9nc3RmcmFnbWVudC5jIGFuZCBpbgoJICBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5jLiBIYXZpbmcgdHdvIGNsYXNzIGRlZmluaXRpb25zCgkgIHdpdGggdGhlIHNhbWUgbmFtZSBjYXVzZXMgdGhlIGFzc2VydCBmYWlsdXJlIHdoZW4gdHJ5aW5nIHRvIGFsbG9jYXRlCgkgIEdzdEZyYWdtZW50LiBEZWxldGluZyB0aGUgdmVyc2lvbiBmcm9tIGhscyBhbmQgZWRpdGluZyB0aGUKCSAgTWFrZWZpbGUuYW0gc29sdmVzIHRoaXMgYXNzZXJ0IGZhaWx1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1NTUKCjIwMTMtMDctMTkgMjM6NDI6MTIgKzAyMDAgIFlvdXJpIFdlc3Rlcm1hbiA8dGV0cmFjb25AZ21haWwuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IGFjdHVhbGx5IGVuYWJsZSBkZWNrbGlua3NpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDUwNQoKMjAxMy0wNy0xOSAyMDowOToyOCArMDIwMCAgWW91cmkgV2VzdGVybWFuIDx0ZXRyYWNvbkBnbWFpbC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IGFkZCAiZGV2aWNlLW51bWJlciIgdG8gc2VsZWN0IGZyb20gbXVsdGlwbGUgZGV2aWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTA1CgoyMDEzLTA3LTIyIDEwOjQ2OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IE9ubHkgbWFwIGlucHV0IGJ1ZmZlciBvbmNlCgkgIEluc3RlYWQgb2YgY29uc3RhbnRseSBtYXAvdW5tYXBwaW5nIGl0IGEgYml0IGV2ZXJ5d2hlcmUsIHdlIHBhc3MgYWxvbmcKCSAgdG8gYWxsIGZ1bmN0aW9ucyB0aGUgR3N0TWFwSW5mby4KCSAgTWFrZXMgbXBlZyB2aWRlbyBmcmFtZSBwYXJzaW5nIDYlIGZhc3RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMzMwCgoyMDEzLTAzLTEwIDEyOjA3OjQwICsxMzAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAcGFyYWRpc2UubmV0Lm56PgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogZGlzZW50YW5nbGUgcmVxdWVzdGVkIHByb2dyYW0gbnVtYmVyIGZyb20gYWN0aXZlIHByb2dyYW0gbnVtYmVyCgkgIFRoZSBwcm9ncmFtX251bWJlciBhdHRyaWJ1dGUgd2FzIG92ZXJsb2FkZWQsIHRyeWluZyB0byBpbmRpY2F0ZSBib3RoCgkgIHRoZSBjdXJyZW50bHkgcGxheWluZyBwcm9ncmFtLCBhbmQgdGhlIHByb2dyYW0gcmVxdWVzdGVkIHZpYSB0aGUKCSAgInByb2dyYW0tbnVtYmVyIiBwcm9wZXJ0eS4gIFRoZSBlbmQgcmVzdWx0IHdhcyB0aGF0IHNldHRpbmcgdGhlCgkgIHByb3BlcnR5IGRpZG4ndCB3b3JrIChzZWUgIzY5MDkzNCkuCgkgIEkgYWRkZWQgYSBuZXcgcmVxdWVzdGVkX3Byb2dyYW1fbnVtYmVyIGZpZWxkIHJhdGhlciB0aGFuIHJldml2aW5nIHRoZQoJICBjdXJyZW50X3Byb2dyYW1fbnVtYmVyIGZpZWxkIGJlY2F1c2UgaXQgc2VlbWVkIHRoaXMgd291bGQgcmVzdWx0IGluCgkgIGZld2VyIGNoYW5nZXMgb3ZlcmFsbCBhbmQgYmUgbGVzcyBjb25mdXNpbmcuICBJdCBicmVha3Mgc3ltbWV0cnkgd2l0aAoJICB0aGUgInByb2dyYW0tbnVtYmVyIiBwcm9wZXJ0eSwgYnV0IGl0IHJldGFpbnMgcGFyYWxsZWxzIHdpdGggdGhlIGxpa2VzCgkgIG9mIHByb2dyYW0tPnByb2dyYW1fbnVtYmVyLgoJICBCZWNhdXNlIGdzdF90c19kZW11eF9yZXNldCBpcyBjYWxsZWQgYWZ0ZXIgdGhlIHByb3BlcnRpZXMgaGF2ZSBiZWVuCgkgIHBhcnNlZCwgcmVxdWVzdGVkX3Byb2dyYW1fbnVtYmVyIGlzIGluaXRpYWxpc2VkIGluIGdzdF90c19kZW11eF9pbml0LgoJICBXaGV0aGVyIHRoaXMgaXMgZXhhY3RseSB0aGUgcmlnaHQgcGxhY2UsIEkgZG9uJ3Qga25vdy4KCjIwMTMtMDMtMDYgMTI6MTU6NDcgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCBwcm9ncmFtLW51bWJlciBmdW5jdGlvbmFsaXR5CgkgIFNldHRpbmcgdGhlIHByb2dyYW0tbnVtYmVyIHByb3BlcnR5IGRvZXMgbm90IGFmZmVjdCB3aGljaCBwcm9ncmFtCgkgIGlzIGFjdHVhbGx5IGJlaW5nIGRlbXV4ZWQuCgkgIE1vdmluZyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgdGhlIHByb2dyYW1fbnVtYmVyIGZyb20KCSAgZ3N0X3RzX2RlbXV4X3Jlc2V0IHRvIGdzdF90c19kZW11eF9pbml0IHNlZW1zIHRvIGZpeCB0aGlzIGlzc3VlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwOTM0CgoyMDEzLTA3LTIyIDA5OjE4OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBTZW5kIHN0cmVhbS1zdGFydCBldmVudCBiZWZvcmUgYW55dGhpbmcgZWxzZSBvbiB0aGUgbXBlZyBkZW11eGVyIHNyY3BhZHMKCjIwMTMtMDctMTcgMTc6MTI6NTkgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkbyBub3QgcHVzaCBkaXNjb250IGJ1ZmZlcnMgaWYgdGhleSBhcmVuJ3QgZGlzY29udAoJICBFeHBsaWNpdGx5IHVuc2V0IGRpc2NvbnQgZmxhZyB3aGVuIGl0IHNob3VsZG4ndCBiZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIxMTAKCjIwMTMtMDctMTcgMTE6Mjg6MjggKzAyMDAgIE1pZ3VlbCBDYXNhcy1TYW5jaGV6IDxtaWd1ZWxlY2FzYXNzYW5jaGV6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGdyYWJjdXQuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGdyYWJjdXQuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgZ3JhYmN1dDogQWRkIEdyYWJDdXQgc2VnbWVudGF0aW9uIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcyMgoKMjAxMy0wNy0xNSAyMzowMTozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogZml4IGhlaWdodCBleHRyYWN0aW9uIGZvciBIMjYzcAoKMjAxMy0wNy0xNSAyMjo1NzowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkgIGgyNjNwYXJzZTogYWRkIHBpeGVsLWFzcGVjdC1yYXRpbyBpZiB1cHN0cmVhbSBkb2Vzbid0IHByb3ZpZGUgb25lCgoyMDEzLTA3LTA5IDEyOjQ5OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggdHlwbyBpbiBjaGVja19xdWV1ZV9mdWxsIGZ1bmN0aW9uCgkgIEl0IHNob3VsZCByZXR1cm4gVHJ1ZSB3aGVuIHRoZSBxdWV1ZSBJUyBmdWxsCgkgIEZpeGVzICM3MDQyMjYKCjIwMTMtMDctMTUgMTE6MTU6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFJlbWVtYmVyIHNlZWsgc2VxdWVuY2UgbnVtYmVyCgkgICogQXZvaWRzIGhhbmRsaW5nIHR3aWNlIHRoZSBzYW1lIHNlZWsgKGNhbiBoYXBwZW4gd2l0aCBwbGF5YmluIGFuZCBmaWxlcwoJICB3aXRoIHN1YnRpdGxlcykKCSAgKiBTZXQgdGhlIHNlcXVlbmNlIG51bWJlciBvZiB0aGUgc2VnbWVudCBldmVudCB0byB0aGUgc2VxdWVuY2UgbnVtYmVyIG9mCgkgIHRoZSBzZWVrIGV2ZW50IHRoYXQgZ2VuZXJhdGVkIGl0ICgtMSBmb3IgdGhlIGluaXRpYWwgb25lKS4KCjIwMTMtMDUtMjQgMTg6MTg6MzUgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogaW1wbGVtZW50IHNlZWtpbmcgaW4gcHVzaCBtb2RlCgoyMDEzLTA1LTI4IDE2OjE0OjQyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlY2FsY3VsYXRlIG5ldyBzZWdtZW50IGFmdGVyIGJ5dGUgc2VlawoJICBUaGUgc2Vla2luZyBzdGFydCB0aW1lIGlzIGFwcHJveGltYXRlZCBmcm9tIHRoZSBzZWVrIG9mZnNldCBpbiBieXRlcwoJICB1c2luZyB0aGUgYWNjdW11bGF0ZWQgUENSIG9ic2VydmF0aW9ucywgc28gb24gYSBWQlIgc3RyZWFtIHRoZXJlIG1pZ2h0CgkgIGJlIGEgYmlnIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgYWN0dWFsIFBDUiBhbmQgdGhlIGVzdGltYXRlZCBvbmUgYWZ0ZXIKCSAgdGhlIHNlZWsuIFRoaXMgbWlnaHQgcmVzdWx0IGluIGEgbG9uZyB3YWl0IHRvIHNraXAgYWxsIG91dCBvZiBzZWdtZW50cwoJICBwYWNrZXRzLgoJICBJbnN0ZWFkIHdlIGp1c3QgcmVjYWxjdWxhdGUgdGhlIG5ldyBzZWdtZW50IHRvIHN0YXJ0IGF0IHRoZSBmaXJzdCBQVFMKCSAgYWZ0ZXIgdGhlIHNlZWssIHNvIHRoYXQgcGxheWJhY2sgc3RhcnRzIGltbWVkaWF0bHkuCgoyMDEzLTA3LTEzIDIzOjQ5OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBVcGRhdGUgZG9jcyBhbmQgd2luMzIgY29uZmlnLmggdG8gZGV2ZWxvcG1lbnQgdmVyc2lvbgoKMjAxMy0wNy0xMiAxNTo1ODozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgZG9jczogYWRkIG5ld2x5LXBvcnRlZCBlbGVtZW50cyB0byBkb2NzCgoyMDEzLTA3LTExIDE3OjQ2OjM3ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBVc2Ugc2VxdWVuY2VfZGlzcGxheV9leHRlbnNpb24gdmFsdWVzIHRvIHVwZGF0ZSB0aGUgc3JjIGNhcHMKCSAgVGhlIGNhcHMgc2hvdWxkIGFsd2F5cyByZXByZXNlbnQgd2hhdCB0aGUgdXNlciBpcyBzdXBwb3NlZCB0byBzZWUuCgkgIFNvIGlmIHRoZXJlIGlzIGEgc2VxdWVuY2VfZGlzcGxheV9leHRlbnNpb24gYXNzb2NpYXRlZCB3aXRoIHRoZQoJICBzdHJlYW0gdGhlbiB1c2UgdGhlIGRpc3BsYXlfaG9yaXpvbnRhbF9zaXplL2Rpc3BsYXlfdmVydGljYWxfc2l6ZQoJICB0byB1cGRhdGUgdGhlIHNyYyBjYXBzIChpZiB0aGV5IGFyZSBsZXNzIHRoYW4gdGhlIHZhbHVlcyBwcm92aWRlZAoJICBieSBzZXF1ZW5jZSBoZWFkZXIpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MDA5CgoyMDEzLTA3LTEyIDA5OjQ1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjIKCSAgT29wcy4uLiBzaG91bGQndmUgYmVlbiBwYXJ0IG9mIDEuMS4yIHRhZyBhbHJlYWR5IDooCgoyMDEzLTA3LTExIDE2OjU3OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS4yID09PQoKMjAxMy0wNy0xMSAxNjozMToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wNy0xMCAxMjoyODozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSAgbXBlZ3BzbXV4OiBTZW5kIHN0cmVhbS1zdGFydCBldmVudCBiZWZvcmUgYW55IGRhdGEKCjIwMTMtMDctMDggMDg6NDQ6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEF2b2lkIHBhcnNpbmcgc2VjdGlvbiB3aXRob3V0IGVub3VnaCBkYXRhCgkgIFRoaXMgaXMgYWN0dWFsbHkgYSB3b3JrYXJvdW5kICh3ZSdsbCBiZSBza2lwcGluZyB0aGUgdXBjb21pbmcgc2VjdGlvbikKCSAgVGhpcyB3aWxsIG9ubHkgaGFwcGVuIGZvciBzZWN0aW9ucyB3aGVyZSB0aGUgYmVnaW5uaW5nIGlzIGxvY2F0ZWQgd2l0aGluCgkgIHRoZSBsYXN0IDggYnl0ZXMgb2YgYSBwYWNrZXQgKHdoaWNoIGlzIHRoZSBtaW5pbXVtIHdlIG5lZWQgdG8gcHJvcGVybHkKCSAgaWRlbnRpZnkgYW55IHNlY3Rpb24gYmVnaW5uaW5nKS4KCSAgTGF0ZXIgd2Ugc2hvdWxkIGZpZ3VyZSBvdXQgYSB3YXkgdG8gc3RvcmUgdGhvc2UgYnl0ZXMgYW5kIG1hcmsgdGhhdAoJICBzb21lIGFuYWx5c2lzIG5lZWRzIHRvIGhhcHBlbi4gVGhlIHByb2JhYmlsaXR5IG9mIHRoaXMgaGFwcGVuaW5nIGlzCgkgIHRvbyBsb3cgZm9yIG1lIHRvIGNhcmUgcmlnaHQgbm93IGFuZCBkbyB0aGF0IGZpeC4gVGhlcmUgaXMgYSBnb29kIGNoYW5jZQoJICB0aGF0IHNlY3Rpb24gd2lsbCBldmVudHVhbGx5IGJlIHJlcGVhdGVkIGFuZCB3b24ndCBlbmQgdXAgb24gc3VjaCBib3JkZXIuCgoyMDEzLTA3LTA4IDA4OjQzOjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBCQVQgc3VwcG9ydCB0byBtcGVndHMgZXhhbXBsZQoKMjAxMy0wNy0wOCAwODo0MjoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IFVuaWZ5IHNlY3Rpb24gY2hlY2tzIGFuZCBhZGQgQkFUIHBhcnNpbmcKCSAgKiBBdm9pZCByZXBlYXRpbmcgY29kZSBldmVyeXdoZXJlLCBhbmQgaW5zdGVhZCBwcm92aWRlIGFsbCBwYXJzaW5nCgkgIGluZm9ybWF0aW9uIGluIG9uZSBnby4KCSAgKiBBZGQgQkFUIHN1cHBvcnQKCSAgKiBSZWZpbmUgQkFUL0NBVCBpZGVudGlmaWNhdGlvbiAoYnkgYWRkaW5nIFBJRCBjaGVja3MpCgoyMDEzLTA3LTA3IDExOjQyOjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogQXZvaWQgdm1ldGhvZCBjYWxscwoJICBEZXBlbmRpbmcgb24gdXNhZ2UsIHRzcGFyc2UgYW5kIHRzZGVtdXggbWlnaHQgbm90IG5lZWQgdG8gYmUgY2FsbGVkCgkgIHdoZW4gbmV3IHNlY3Rpb24vcGVzLWRhdGEgaXMgYXZhaWxhYmxlLgoKMjAxMy0wNy0wNyAxMDoyNToyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IFJlbW92ZSB1bm5lZWRlZCB2YXJpYWJsZXMKCSAgKiBwYWNrZXQub3JpZ3RzIGlzIG5vIGxvbmdlciB1c2VkIHNpbmNlIHRoZSBQQ1IgcmVmYWN0b3JpbmcgZG9uZSBhZ2VzIGFnbwoJICAqIGtub3duX3BhY2tldF9zaXplIGlzIGEgZHVwbGljYXRlIG9mIHBhY2tldF9zaXplICE9IDAKCSAgKiBjYXBzIHdhcyBuZXZlciB1c2VkIG91dHNpZGUgb2YgdGhlIHBhY2tldGl6ZXIKCjIwMTMtMDctMDkgMTE6Mzk6NDYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZXI6IGZpeCBzaXplIGNhcHMgdG8gcmVwb3J0IGNyb3BwZWQgZGltZW5zaW9ucy4KCSAgUmVzdG9yZSB0aGUgb3JpZ2luYWwgaDI2NHBhcnNlciBiZWhhdmlvdXIgdG8gcmVwb3J0IGNyb3BwZWQgZGltZW5zaW9ucwoJICBpbiBzaXplIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQwNjgKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wNy0wOCAxODo0NDoyNCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IGNhbGN1bGF0aW9uIG9mIHRoZSBmcmFtZSBjcm9wcGluZyByZWN0YW5nbGUuCgkgIEZpeCBjYWxjdWxhdGlvbiBvZiB0aGUgZnJhbWUgY3JvcHBpbmcgcmVjdGFuZ2xlLCBhbmQgbW9yZSBwcmVjaXNlbHkKCSAgdGhlIGFjdHVhbCBjcm9wcGVkIGhlaWdodC4gVGhlIGZyYW1lX2Nyb3BfdG9wX29mZnNldCBzdWJ0cmFjdGlvbgoJICB3YXMgbm90IHNjYWxlZCB1cCB3aXRoIFN1YkhlaWdodEMuCgkgIEFsc28gY2xlYW4tdXAgdmFyaWFibGVzIHRvIGFsaWduIG1vcmUgd2l0aCAoNy0xOCkgdG8gKDctMjEpLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAyLTE1IDE0OjE4OjQ5ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGgyNjRwYXJzZXI6IFBhcnNlIHRoZSBjcm9wcGluZy1yZWN0YW5nbGUgc2VwYXJhdGVseS4KCSAgQXNzaWduIHRoZSB1bi1jcm9wcGVkIHdpZHRoL2hlaWdodCB0byBzcHMtPndpZHRoL3Nwcy0+aGVpZ2h0CgkgIGR1cmluZyBzcHMgaGVhZGVyIHBhcnNpbmcuIEFkZGVkIG5ldyBmaWVsZHMgdG8gU1BTIGhlYWRlciBzdHJ1Y3R1cmUKCSAgdG8gcHJvdmlkZSB0aGUgY3JvcC1yZWN0YW5nbGUgZGltZW5zaW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDA2OAoKMjAxMy0wNy0wMyAxNjozODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaW1wbGVtZW50IHF1ZXVlIGZ1bGwgY2hlY2sgZnVuY3Rpb24KCSAgQ2hlY2tzIGlmIHRoZSBxdWV1ZSBpcyBmdWxsIGFjY29yZGluZyB0byBtYXggYnVmZmVyaW5nIHRpbWUKCSAgc2V0IGJ5IHRoZSB1c2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE0MDQKCjIwMTMtMDctMDkgMDA6NDc6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IG1pbm9yIHJlZmFjdG9yCgkgIFNwbGl0IG9uZSB2ZXJ5IGxhcmdlIGZ1bmN0aW9uIGludG8gMiBzbWFsbGVyIGJ1dCBzdGlsbCBsYXJnZSBmdW5jdGlvbnMuCgkgIEFsc28gY2hhbmdlIHRoZSBpZiBjb25kaXRpb25zIHRvIHBvc2l0aXZlIGNoZWNrcyB0byBpbXByb3ZlIHJlYWRhYmlsaXR5LgoKMjAxMy0wNy0wOCAyMzoyNDoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogaGFuZGxlIGxpdmUgcGxheWJhY2sgcmVzeW5jCgkgIER1cmluZyBhIGxpdmUgc3RyZWFtIGl0IGlzIHBvc3NpYmxlIGZvciBkYXNoZGVtdXggdG8gbGFnIGJlaGluZCBvbiBhCgkgIHNsb3cgY29ubmVjdGlvbiBvciB0byBydXNoIGFoZWFkIG9mIHRoZSBjb25uZWN0aW9uIG9zIHRvbyBmYXN0LgoJICBGb3IgdGhlIGZpcnN0IGNhc2UgaXQgaXMgbmVjZXNzYXJ5IHRvIGp1bXAgc29tZSBzZWdtZW50cyBhaGVhZCB0byBiZSBhYmxlIHRvCgkgIGNvbnRpbnVlIHBsYXliYWNrIGFzIG9sZCBzZWdtZW50cyBhcmUgdXN1YWxseSBkZWxldGVkIGZyb20gdGhlIHNlcnZlci4KCSAgRm9yIHRoZSBsYXRlciwgZGFzaGRlbXV4IHNob3VsZCB3YWl0IGEgbGl0dGxlIGJlZm9yZSBhdHRlbXB0aW5nIGFub3RoZXIKCSAgZG93bmxvYWQgZG8gZ2l2ZSB0aW1lIHRvIHRoZSBzZXJ2ZXIgdG8gcHJvZHVjZSBhIG5ldyBzZWdtZW50CgoyMDEzLTA3LTA1IDEzOjIyOjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogZml4IHRlbXBsYXRlIGJhc2VkIHNlZ21lbnQgZ2VuZXJhdGlvbgoJICBXaGVuIHVzaW5nIGEgdGVtcGxhdGUgYmFzZWQgc2VnbWVudCBsaXN0LCBkbyBub3QgdHJ5IHRvCgkgIGNvbnRydWN0IGEgZmluaXRlIHNlZ21lbnQgbGlzdCBmb3IgdGhlIGxpbWl0cyBvZiB0aGUgYXZhaWxhYmxlIHBlcmlvZHMuCgkgIFdlIG1pZ2h0IG5vdCBrbm93IHdoZW4gdGhlIHBlcmlvZCBlbmRzIChmb3IgbGl2ZSBzdHJlYW1zKSBhbmQgd2UgY2FuCgkgIGFsd2F5cyBjcmVhdGUgdGhlIHNlZ21lbnQgb24gZGVtYW5kIHdoZW4gcmVxdWVzdGVkIGJ5IGRhc2hkZW11eCwKCSAgYXZvaWRpbmcgdXNlIG9mIHNvbWUgbWVtb3J5IGFuZCBjcHUgd2hlbiByZS1jcmVhdGluZyB0aGlzIGxpc3QuCgoyMDEzLTA3LTA0IDIzOjQyOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHVzZSBtb3JlIGFwcHJvcHJpYXRlIGRhdGEgc3RydWN0dXJlcyBmb3IgcGFyc2luZwoJICBSZXBsYWNlcyB0aGUgMiBsaWtlbHkgbGFyZ2VyIGxpc3RzIHdpdGggbW9yZSBhcHByb3ByaWF0ZSBzdHJ1Y3R1cmVzCgkgIHRvIGltcHJvdmUgcGVyZm9ybWFuY2UuCgkgIFJlcGxhY2VzIFMgbm9kZXMgR0xpc3QgZm9yIGEgR1F1ZXVlLCB0aGlzIHJlZHVjZXMgbGF0ZW5jeSB0byBzdGFydHVwCgkgIGJlY2F1c2Ugb2YgdHJhdmVyc2luZyB0aGUgbGlzdCBqdXN0IGFwcGVuZCBhbiBlbGVtZW50LgoJICBSZXBsYWNlcyB0aGUgcHJvY2Vzc2VkIG1lZGlhIHNlZ21lbnRzIEdMaXN0IGZvciBhIEdQdHJBcnJheSBhcyBpdCBpcwoJICBjb25zdGFudGx5IGFjZXNzZWQgYnkgaW5kZXggZHVyaW5nIHBsYXliYWNrLgoKMjAxMy0wNy0wNCAxNToxNDowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYW5zd2VyIHRvIGxhdGVuY3kgcXVlcmllcwoJICBTZXQgbGl2ZSBpZiBzdHJlYW0gaXMgbGl2ZSBhbmQgYWxzbyBhZGQgdG8gdGhlIG1heCBsYXRlbmN5IHRoZQoJICBtYXggaW50ZXJuYWwgYnVmZmVyaW5nCgoyMDEzLTA3LTA4IDIyOjAxOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IGZpeCBjcmFzaCB3aGVuIGRvd25sb2FkIGlzIG51bGwKCSAgRG8gbm8gdHJ5IHRvIHVucmVmIGEgTlVMTCBkb3dubG9hZCBhdHRyaWJ1dGUKCjIwMTMtMDctMDggMjI6MDA6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogZG8gbm90IHNldCBjYW5jZWxsZWQgdW5sZXNzIGV4cGxpY2l0bHkgY2FsbGVkIGJ5IHVzZXIKCSAgQ2FuY2VsbGVkIGlzIGEgJ3Blcm1hbmVudCcgc3RhdGUgb2YgdGhlIHVyaWRvd25sb2FkZXIgYW5kIGlzIG9ubHkKCSAgcmVtb3ZlZCBieSBhIGNhbGwgdG8gX3Jlc2V0LiBXaGVuIGEgZG93bmxvYWQgZmFpbHMgd2UganVzdCB3YW50IHRvCgkgIHJldHVybiBOVUxMIG9uIHRoZSBmZXRjaCBmdW5jdGlvbiBhbmQgbGVhdmUgdGhlIGRvd25sb2FkZXIgcmVhZHkKCSAgZm9yIGFub3RoZXIgZmV0Y2gsIG90aGVyd2lzZSB0aGUgdXNlciBoYXMgdG8gY2FsbCBfcmVzZXQgYWZ0ZXIKCSAgZmFpbGVkIGRvd25sb2FkZXIsIGV2ZW4gd2hlbiBpdCBkaWRuJ3QgY2FsbCBfY2FuY2VsLgoKMjAxMy0wNy0wNyAwODozNTowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBBdm9pZCBmYWxzZS1wb3NpdGl2ZXMgaW4gc2VjdGlvbiB0eXBlIGRldGVjdGlvbgoJICBEdWUgdG8gdGhlIHZhcmlldHkgb2Ygc2VjdGlvbiB0eXBlcyBvdXQgdGhlcmUsIHdlIG5lZWQgdG8gYWRkCgkgIHNvbWUgY2hlY2tzIHdoZW4gaWRlbnRpZnlpbmcgc2VjdGlvbiB0eXBlcy4KCSAgV2UgY2hlY2sgaGVyZSB0aGF0IHRoZSBQSUQgaXMgYWxzbyBjb25zaXN0ZW50IHdpdGggdGhlIHRhYmxlX2lkLgoKMjAxMy0wNy0wNyAwODoyOTozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNkZW11eDogRml4IG11bHRpcGxlLVNJIGRldGVjdGlvbi9wYXJzaW5nCgkgIFdlIGhhZCB0d28gaXNzdWVzIHdpdGggdGhlIHByZXZpb3VzIGNvZGU6CgkgIDEpIFdlIHdlcmUgYmFkbHkgaGFuZGxpbmcgUFVTSS1mbGFnZ2VkIHBhY2tldHMuIFdlIHdlcmUgZGlzY2FyZGluZyB0aGUKCSAgaW5pdGlhbCBkYXRhIChpZiBwb2ludGVyICE9IDApIHdoZXJlYXMgd2Ugc2hvdWxkIGhhdmUgYmVlbiBhY2N1bXVsYXRpbmcKCSAgaXQgd2l0aCB0aGUgcHJldmlvdXMgZGF0YSAoaWYgdGhlcmUgd2FzIGEgY29udGludWl0eSBvZiBjb3Vyc2UpLgoJICA9PiBGaXJzdCBzZXJpZXMgb2YgaW5mb3JtYXRpb24gbG9zcwoJICAyKSBXZSB3ZXJlIG5vdCBjaGVja2luZyB3aGV0aGVyIHRoZXJlIHdlcmUgbW9yZSBzZWN0aW9ucyBhZnRlciB0aGUgZW5kCgkgIG9mIG9uZSAoaS5lLiB3aGVuIHRoZSBmb2xsb3dpbmcgYnl0ZSB3YXMgbm90IGEgc3R1ZmYgYnl0ZSkuCgkgIFRoaXMgZml4ZXMgdGhvc2UgdHdvIGlzc3Vlcy4KCSAgRml4ZXMgIzY3NzQ0MwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NDQzCgoyMDEzLTA3LTA3IDA3OjIxOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogRml4IHN3aXRjaC9jYXNlIHR5cG8KCSAgRW5kZWQgdXAgdHJ5aW5nIHRvIGFuYWx5emUgUE1UIC4uLiB3aXRoIGEgUEFUIDooCgoyMDEzLTA3LTA2IDE0OjUwOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBIYW5kbGUgcHJpdmF0ZSBzZWN0aW9uIHN0cmVhbXMKCSAgVW50aWwgbm93IHdlIHNpbXBseSBpZ25vcmVkIHRob3NlIHN0cmVhbXMgKHNpbmNlIHdlIGNvdWxkbid0IGRvIGFueXRoaW5nCgkgIHdpdGggaXQgYW55d2F5KS4gTm93IHRoYXQgd2UgaGF2ZSB0aGUgbXBlZ3RzIGxpYnJhcnkgYW5kIHdlIG9mZmxvYWQgdGhlCgkgIHNlY3Rpb24gaGFuZGxpbmcgdG8gdGhlIGFwcGxpY2F0aW9uIHNpZGUgd2UgY2FuIHByb3Blcmx5IGlkZW50aWZ5IGFuZAoJICBleHRyYWN0IHRoZW0uCgkgIEJ5IGRlZmF1bHQgaXQgaXMgZGlzYWJsZWQgZm9yIHRzcGFyc2UgYW5kIGVuYWJsZWQgZm9yIHRzZGVtdXgsIGJ1dCB0aGVyZSBpcwoJICBhIHByb3BlcnR5IHRvIGNoYW5nZSB0aGF0LgoJICBUaGlzIHNob3VsZCBvcGVuIHRoZSB3YXkgdG8gcHJvcGVybHkgaGFuZGxlIGFsbCBwcml2YXRlIHNlY3Rpb24gc3RyZWFtcywKCSAgaW5jbHVkaW5nOgoJICAqIERTTS1DQwoJICAqIE1IRUcKCSAgKiBDYXJvdXNlbCBkYXRhCgkgICogTWV0YWRhdGEgc3RyZWFtcyAodGhvdWdoIEkgaGF2ZW4ndCBzZWVuIGFueSBvZiB0aG9zZSBpbiB0aGUgd2lsZCkKCSAgKiAuLi4gQW5kIGFsbCBvdGhlciBzcGVjcy9wcm90b2NvbHMgbWFraW5nIHVzZSBvZiB0aG9zZQoJICBQYXJ0aWFsbHkgZml4ZXMgIzU2MDYzMQoKMjAxMy0wNy0wNiAxMjozOTo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogUHJvcGVybHkgaGFuZGxlIFVUQyB0aW1lIGluIHNlY3Rpb25zCgkgICogZG9uJ3QgdW5yZWYgaW5leGlzdGFudCBHc3REYXRlVGltZQoJICAqIEZpbmUtdHVuZSBob3VyL21pbi9zZWMgQkNEIHJlYWRpbmcgY29kZQoJICAqIFVwZGF0ZSBleGFtcGxlIGNvZGUgYWNjb3JkaW5nbHkKCjIwMTMtMDctMDYgMTA6NTk6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogUmVnaXN0cmF0aW9uIGRlc2NyaXB0b3Igc3VwcG9ydAoJICBBbmQgb3V0cHV0IHRoZSBsZW5ndGggb2YgdGhlIGRlc2NyaXB0b3JzCgoyMDEzLTA3LTA2IDEwOjM4OjI2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkgIG1wZWd0czogRml4IE5JVCBwYXJzaW5nCgkgIFRoZSBzaXplIGNoZWNrcyB3ZXJlIHdyb25nLiBUaGUgc21hbGxlc3Qgc2l6ZSBmb3IgYSBOSVQgaXMgMTYgYnl0ZXMKCSAgKDEyIGZvciB0aGUgc21hbGxlc3QgY29udGVudCArIDQgZm9yIGNyYykgYW5kIHRoZSBzbWFsbGVzdCBzaXplIGZvcgoJICBhIGlubmVyIHN0cmVhbSBsb29wIGlzIDYgYnl0ZXMgKHdpdGhvdXQgYW55IGRlc2NyaXB0b3JzKS4KCSAgQWxzbyByZW1vdmUgRklYTUUgdGhhdCBoYXMgYWxyZWFkeSBtb3ZlZCBlbHNld2hlcmUKCjIwMTMtMDctMDYgMTA6MzY6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBIYW5kbGUgcmVnaXN0cmF0aW9uIGRlc2NyaXB0b3IgZm9yIHByb2dyYW1zIGFuZCBzdHJlYW1zCgkgICogQWxsb3dzIHVzIHRvIHNpbXBsaWZ5IHNvbWUgY29kZSBhbmQgcHJlcGFyZSBmb3IgZnV0dXJlIGNsZWFudXBzLgoJICAqIFJlbW92ZSB1c2VsZXNzIGNhc3RzCgkgICogQWRkIHNvbWUgRklYTUUgcmVnYXJkaW5nIFZDMQoKMjAxMy0wNy0wNSAyMTo0OTo0OCArMDIwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vUE9URklMRVMuc2tpcDoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNjgzCgoyMDEzLTA3LTA1IDExOjIwOjQ5IC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSAgd2VidnR0ZW5jOiBTZXBhcmF0ZSBjdWVzIHdpdGggdHdvIGxpbmUgYnJlYWtzIGluc3RlYWQgb2Ygb25lLgoJICBTZWUgaHR0cDovL2Rldi53My5vcmcvaHRtbDUvd2VidnR0LyNzeW50YXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzY3MwoKMjAxMy0wNy0wNSAxODozMzo0MiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogZml4IHZpZGVvIHBhY2tldCBoZWFkZXIgc2l6ZSBjaGVja3MuCgkgIEZpeCB2aWRlbyBwYWNrZXQgaGVhZGVyIHNpemUgY2hlY2tzIGZvcjoKCSAgLSBTZXF1ZW5jZSBIZWFkZXI6IDY0IGJpdHMgOwoJICAtIFNlcXVlbmNlIFNjYWxhYmxlIEV4dGVuc2lvbjogMTAgYml0cyA7CgkgIC0gU2xpY2UgSGVhZGVyOiA2IGJpdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM2NjgKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wNy0wNSAxNDo1ODoyNSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogYWRkIG1pc3NpbmcgZ3RrLWRvYyBlbnRyaWVzLgoJICBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB3ZXJlIG1pc3NpbmcgZ3RrLWRvYyBlbnRyaWVzOgoJICAtIGdzdF9tcGVnX3ZpZGVvX3BhcnNlX3NlcXVlbmNlX2Rpc3BsYXlfZXh0ZW5zaW9uCgkgIC0gZ3N0X21wZWdfdmlkZW9fZmluYWxpc2VfbXBlZzJfc2VxdWVuY2VfaGVhZGVyCgkgIC0gZ3N0X21wZWdfdmlkZW9fcXVhbnRfbWF0cml4X2dldF9yYXN0ZXJfZnJvbV96aWd6YWcKCSAgLSBnc3RfbXBlZ192aWRlb19xdWFudF9tYXRyaXhfZ2V0X3ppZ3phZ19mcm9tX3Jhc3RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNjY3CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMzEgMTE6NTc6NTQgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IHVwZGF0ZSB0ZXN0IHByb2dyYW0gd2l0aCBuZXcgR3N0TXBlZ1ZpZGVvUGFja2V0IEFQSS4KCSAgVGhpcyBpcyB0aGUgbG9zdCBodW5rIGZyb206CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5MzMKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0zMCAxNjo1NjoxNSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogYWRkIHNsaWNlIGhlYWRlciBwYXJzaW5nIEFQSS4KCSAgQWRkIEFQSSB0byBwYXJzZSB0aGUgU2xpY2UgaGVhZGVyLiBUaGlzIGFsc28gY2FsY3VsYXRlcyB0aGUgbWFjcm9ibG9jawoJICBwb3NpdGlvbiBhcyBzcGVjaWZpZWQgaW4gNi4zLjE2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0Mjc0CgkgIFNpZ25lZC1vZmYtYnk6IFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yNSAxNTo0ODo1OCArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogYWRkIHNlcXVlbmNlIHNjYWxhYmxlIGV4dGVuc2lvbiBwYXJzaW5nIEFQSS4KCSAgQWRkIEFQSSB0byBwYXJzZSB0aGUgU2VxdWVuY2UgU2NhbGFibGUgRXh0ZW5zaW9uIGhlYWRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDI3NAoJICBTaWduZWQtb2ZmLWJ5OiBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDctMDQgMTQ6MjI6MTQgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGNvcGUgd2l0aCBuZXcgcGFyc2VyIEFQSS4KCSAgTWlncmF0ZSB0aGUgY29kZSB0byB1c2UgdGhlIG5ldyBwYXJzZXIgQVBJIGJhc2VkIG9uIEdzdE1wZWdWaWRlb1BhY2tldC4KCSAgQWxzbyB0cnkgdG8gb3B0aW1pemUgZ3N0X21wZWd2X3BhcnNlX3Byb2Nlc3NfY29uZmlnKCkgYnkgdXNpbmcgbW9yZSBvZgoJICBHc3RNcGVnVmlkZW9QYWNrZXQgYW5kIGRldGVybWluaW5nIHRoZSBleHRlbnNpb25fc3RhcnRfY29kZV9pZGVudGlmaWVyCgkgIHByaW9yIHRvIGNhbGxpbmcgdGhlIHBhcnNlciBmdW5jdGlvbiBmb3IgdGhhdCBleHRlbnNpb24gcGFja2V0LgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTMxIDExOjU3OjU0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBhZGQgbmV3IEFQSSB0aGF0IHRha2VzIEdzdE1wZWdWaWRlb1BhY2tldCBhcmd1bWVudHMuCgkgIEFkZCBuZXcgaW50ZXJmYWNlIHRvIE1QRUctMiB2aWRlbyBwYXJzZXIgdGhhdCB0YWtlcyBHc3RNcGVnVmlkZW9QYWNrZXQKCSAgYXJndW1lbnRzIGluc3RlYWQgb2YgZGF0YSwgc2l6ZSwgYW5kIG9mZnNldC4gTmV3IGZ1bmN0aW9ucyBhcmUgY2FsbGVkCgkgIGFmdGVyIGdzdF9tcGVnX3ZpZGVvX3BhY2tldF8qKCkgYW5kIHByb3ZpZGUgdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCgkgIE9sZGVyIEFQSSBpcyBtb3ZlZCB0byB0aGUgZGVwcmVjYXRlZCBuYW1lc3BhY2UgYW5kIHVzZXMgdGhlIG5ldyBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5MzMKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wNy0wNSAxNjo0Njo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBSZW1vdmUgbm8tbG9uZ2VyIG5lZWRlZCBjb2RlCgkgIFNpbmNlIHdlIG5vdyBzZW5kIGFsbCBzZWN0aW9ucyB0byB0aGUgcGFja2V0aXplciwgd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gZG8KCSAgYW55bW9yZSBpbi1kZXB0aCBjaGVja3MgZm9yIHRoZSB2YWxpZGl0eSBvZiBhIHNlY3Rpb24uCgkgIFRoZSBjaG9pY2UgYm9pbHMgZG93biB0bzoKCSAgMSkgSXMgaXQgZnJvbSBhIGtub3duIFBFUyBwaWQgPyBJZiBzbyBwYXNzIGl0IG9uICh3aGljaCBtaWdodCBiZSBqdXN0IHB1c2hpbmcKCSAgZG93bnN0cmVhbSBpbiB0aGUgY2FzZSBvZiB0c3BhcnNlLCBvciBhY2N1bXVsYXRpbmcgUEVTIGRhdGEgZm9yIHRzZGVtdXgpCgkgIDIpIElzIGl0IGZyb20gYSBrbm93biBTSSBwaWQgPyBJZiBzbyBwYXNzIGl0IHRvIHRoZSBzZWN0aW9uIHBhY2tldGl6ZXIKCjIwMTMtMDctMDUgMTM6NTM6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YjogRml4IFBNVCBoYW5kbGluZwoJICBXYXMgdXNpbmcgYW4gb2xkZXIgKHRlbXBvcmFyeSkgdmVyc2lvbiBvZiB0aGUgbXBlZ3RzIGxpYnJhcnkgQVBJLgoKMjAxMy0wNy0wNSAxMDo1NzozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogRml4IGNvbXBpbGF0aW9uIHdpdGggZGVidWdnaW5nIGRpc2FibGluZwoJICBXZSBwcmV2aW91c2x5IHdlcmVuJ3QgdXNpbmcgdGhhdCB2YXJpYWJsZSAuLi4KCjIwMTMtMDctMDQgMDg6NDM6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBJbXByb3ZlIGRvY3VtZW50YXRpb24KCSAgKiBBZGQgYSBiYXNlIHBhZ2UgZm9yIHRoZSBsaWJyYXJ5CgkgICogQWRkIHBhZ2VzIGZvciB0aGUgYmFzZSBNUEVHLVRTIHNlY3Rpb24gYW5kIGRlc2NyaXB0b3JzCgkgICogQWRkIHBhZ2VzIGZvciB0aGUga25vd24gdmFyaWFudHMKCSAgKiBBZGQgZG9jdW1lbnRhdGlvbiBvbiBtb3JlIGZpZWxkcy9zZWN0aW9ucy90eXBlcwoJICAqIFJlbW92ZSBzb21lIGZpeG1lcyB0aGF0IHdlcmUgLi4uIGZpeGVkCgoyMDEzLTA3LTA0IDA3OjQ5OjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogU3dpdGNoIHRvIHVzaW5nIEdzdE1wZWdUc1N0cmVhbVR5cGUKCSAgV2Ugc3RpbGwgaGF2ZSBzb21lIG90aGVyIHN0cmVhbSB0eXBlcyB3aGljaCBoYXZlbid0IGJlZW4gcG9ydGVkLCBidXQKCSAgd2Ugd2lsbCBkbyBzbyBvbmNlIHdlIGhhdmUgZGVmaW5lZCB0aGUgZW51bXMgaW4gdGhlIG1wZWd0cyBsaWJyYXJ5LgoJICBBbHNvIGFkZCBzb21lIEZJWE1FcyByZWdhcmRpbmcgaXRlbXMgZGlzY292ZXJlZCBkdXJpbmcgYW5hbHlzaXMKCjIwMTMtMDctMDQgMDc6NDg6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0c2Rlc2NyaXB0b3I6IEZpeCBoYW5kbGluZyBvZiB1bmtub3duIHN0cmVhbSBlbmNvZGluZ3MKCSAgSWYgd2UgY2Fubm90IGlkZW50aWZ5IHRoZSBlbmNvZGluZyB1c2VkIGZvciBhIHN0cmluZywgcmV0dXJuIGEgTlVMTAoJICBzdHJpbmcgaW5zdGVhZCBvZiBnYXJiYWdlIGFuZCBhZGQgYSBGSVhNRSBzbyB3ZSBjYW4gZGV0ZWN0IGFuZCBsYXRlcgoJICBmaXggaXQuCgoyMDEzLTA3LTA0IDA3OjQ1OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBBZGQgcmVnaXN0ZXJlZCBtcGVnLXRzIHN0cmVhbSB0eXBlcwoJICBUaGVzZSBhcmUgdGhlIHZhbHVlcyBvZmZpY2lhbGx5IHJlZ2lzdGVyZWQgaW4gdGhlIGJhc2Ugc3BlY2lmaWNhdGlvbgoJICAoSC4yMjIuMC8xMzgxOC0xKS4gTGF0ZXIgb24gd2UgY2FuIGFkZCBvdGhlciBlbnVtcyBmb3Igb3RoZXIgdmFyaWFudHMKCSAgTm90ZSB0aGF0IHRoZSBlbnVtIGlzIG5vdCB1c2VkIGluIHRoZSBzdHJ1Y3R1cmUgZmllbGRzIChzdWNoIGFzIGEgcG10CgkgIHN0cmVhbSBzdHJlYW1fdHlwZSBmaWVsZCkgc2luY2UgaXQgY2FuIGNvbnRhaW4gdmFsdWVzIGZyb20gb3RoZXIKCSAgdmFyaWFudHMuCgoyMDEzLTA3LTA0IDAyOjEyOjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW46IGV4YW1wbGVzOiBhZGQgbWlzc2luZyBsaWIgdG8gbWFrZWZpbGUKCSAgRml4ZXMgaW5pdGlhbGl6YXRpb24gb2Ygc2FtcGxlIGFwcGxpY2F0aW9uCgoyMDEzLTA3LTAzIDE5OjExOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBwcmV2ZW50IGFzc2VydGlvbiB3aGVuIGR1cmF0aW9uIGlzIHVua25vd24KCSAgRHVyYXRpb24gZnJvbSBzZWdtZW50IGJlaW5nIHVua25vd24gaXMgYSBpc3N1ZSBmcm9tIHRoZSBNUEQgYW5kIG5vdAoJICBhIHByb2dyYW1taW5nIGlzc3VlLCBzbyB0aGUgYXNzZXJ0IGlzbid0IHVzZWZ1bCBoZXJlLiBJbnN0ZWFkIGNoZWNrCgkgIGFuZCByZXR1cm4gYW4gZXJyb3IgY29kZSBzbyB0aGUgY2FsbGVyIGNhbiBmYWxsYmFjayB0byBhbHRlcm5hdGl2ZXMKCjIwMTMtMDctMDMgMTk6MTE6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCBldmVudCBsZWFrIHdoZW4gcGFyc2luZyBtYW5pZmVzdCBmYWlscwoJICBBbHdheXMgcmVtZW1iZXIgdG8gdW5yZWYgdGhlIGV2ZW50IGJlZm9yZSBwcm9jZWVkaW5nLCBpbiBib3RoIHN1Y2Nlc3MKCSAgYW5kIGZhaWx1cmUgY2FzZXMKCjIwMTMtMDctMDMgMTI6MzA6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogdmFyaW91cyBjbGVhbnVwcwoJICBSZW1vdmluZyB1bnVzZWQgZnVuY3Rpb24sIHJlcGxhY2luZyAvLyBjb21tZW50cyB3aXRoIC8qICovIGFuZAoJICByZXBsYWNpbmcgc29tZSBHU1RfV0FSTklORyB3aXRoIEdTVF9JTkZPL19ERUJVRyBhcyB0aGV5IGFyZSBtZWFudAoJICB0byBiZQoKMjAxMy0wNi0xMSAxNDoyODo1MyArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBDaGFuZ2UgZmlyc3QgZnJhZ21lbnQgc2VsZWN0aW9uIGZvciBsaXZlIHN0cmVhbXMKCSAgV2hlbiBkYXNoZGVtdXggc2VsZWN0cyBpdHMgZmlyc3QgZnJhZ21lbnQsIGl0IGFsd2F5cyBzZWxlY3RzIHRoZQoJICBmaXJzdCBmcmFnbWVudCBsaXN0ZWQgaW4gdGhlIG1hbmlmZXN0LiBGb3Igb24tZGVtYW5kIGNvbnRlbnQsCgkgIHRoaXMgaXMgdGhlIGNvcnJlY3QgYmVoYXZpb3VyLiBIb3dldmVyIGZvciBsaXZlIGNvbnRlbnQsIHRoaXMKCSAgYmVoYXZpb3VyIGlzIHVuZGVzaXJhYmxlIGJlY2F1c2UgdGhlIGZpcnN0IGZyYWdtZW50IGxpc3RlZCBpbiB0aGUKCSAgbWFuaWZlc3QgbWlnaHQgYmUgc29tZSBjb25zaWRlcmFibGUgdGltZSBiZWhpbmQgIm5vdyIuCgkgIFRoZSBjb21taXQgdXNlcyB0aGUgaG9zdCdzIGlkZWEgb2YgVVRDIGFuZCB0cmllcyB0byBmaW5kIHRoZQoJICBvbGRlc3QgZnJhZ21lbnQgdGhhdCBjb250YWlucyBzYW1wbGVzIGZvciB0aGlzIHRpbWUgb2YgZGF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTA5CgoyMDEzLTA3LTAzIDE4OjUyOjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0cy5oOgoJICBtcGVndHM6IHNwbGl0IGR2YiBkZXNjcmlwdG9ycy9lbnVtcyBpbnRvIGEgc2VwYXJhdGUgZmlsZQoJICBXZSB3aWxsIGRvIHRoZSBzYW1lIG9uY2Ugd2UgaGF2ZSBBVFNDL0lTREIvLi4uIGRlc2NyaXB0b3IgcGFyc2luZwoKMjAxMy0wNy0wMyAxODo0NDo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogRml4IFRPVCBzZWN0aW9uIHBhcnNpbmcKCSAgQW5kIHVzZSBpdCBpbiBleGFtcGxlCgoyMDEzLTA3LTAzIDE4OjAwOjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEZpeCBhIGxlYWsKCjIwMTMtMDctMDMgMTc6NTk6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSAgbXBlZ3RzOiBTcGxpdCBmaWxlcyBhbmQgaW1wbGVtZW50IGZyZWUgZnVuY3Rpb25zCgkgICogSW4gb3JkZXIgdG8gYXZvaWQgZnV0dXJlIGNsYXNoaW5nIGJldHdlZW4gdGFibGVfaWQgZm9yIHRoZSB2YXJpb3VzCgkgIG1wZWctdHMgdmFyaWFudHMsIHVzZSBkaWZmZXJlbnQgZW51bXMuCgkgICogSW4gb3JkZXIgdG8ga2VlcCBldmVyeXRoaW5nIGNsZWFuKGlzaCkgYW5kIGFsbG93IGZvciBjbGVhbmVyIGdyb3d0aCwKCSAgc3BsaXQgaW50byBkaWZmZXJlbnQgZmlsZXMgKHdpbGwgbmVlZCB0aGUgc2FtZSBmb3IgZGVzY3JpcHRvcnMgbGF0ZXIpCgkgICogQWxzbyAuLi4gaW1wbGVtZW50IGZyZWUgZnVuY3Rpb25zIGZvciBhbGwgdGFibGUgdHlwZXMgOikKCjIwMTMtMDctMDMgMTU6MzA6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogYmFjayB0byBmZWF0dXJlIGRldmVsb3BtZW50CgoyMDEzLTA3LTAzIDEwOjE2OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBvbmx5IGdlbmVyYXRlIGluZGV4IHNlZ21lbnQgdXJpIGlmIHRoZXJlIGlzIGEgdGVtcGxhdGUKCSAgU2ltcGxlIGZpeCB0byBhdm9pZCBhbiBhc3NlcnRpb24uCgoyMDEzLTA2LTIxIDE3OjA5OjMwIC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBJbXBsZW1lbnQgaW5oZXJpdGFuY2UgZm9yIGNlcnRhaW4gTVBEIGVsZW1lbnRzCgkgIEFjY29yZGluZyB0byB0aGUgTVBFRy1EQVNIIHNwZWMsIGNlcnRhaW4gZWxlbWVudHMgKGkuZS4KCSAgU2VnbWVudEJhc2UsIFNlZ21lbnRUZW1wbGF0ZSwgYW5kIFNlZ21lbnRMaXN0KSBzaG91bGQgaW5oZXJpdAoJICBhdHRyaWJ1dGVzIGZyb20gdGhlIHNhbWUgZWxlbWVudHMgaW4gdGhlIGNvbnRhaW5pbmcgQWRhcHRhdGlvblNldAoJICBvciBQZXJpb2QuCgkgIFVwZGF0ZWQgdGhlIFNlZ21lbnRCYXNlLCBTZWdtZW50VGVtcGxhdGUsIGFuZCBTZWdtZW50TGlzdCBwYXJzZXJzCgkgIHRvIHByb3Blcmx5IGluaGVyaXQgYXR0cmlidXRlcyBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIGVsZW1lbnRzIGluCgkgIEFkYXB0YXRpb25TZXQgYW5kL29yIFBlcmlvZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjY3NwoKMjAxMy0wNi0yMSAxNTo1MTo0NiAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogUHJvcGVybHkgZGV0ZWN0IHByZXNlbmNlIG9mIHhtbCBhdHRyaWJ1dGVzCgkgIENvbnZlcnQgYWxsIHhtbCBhdHRyaWJ1dGUvY29udGVudCBwYXJzaW5nIGZ1bmN0aW9ucyB0byByZXR1cm4gYQoJICBib29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgdGhlIGF0dHJpYnV0ZS9jb250ZW50IHdhcwoJICBwcmVzZW50LiAgV2UgbmVlZCB0aGlzIGZpbmVyLWdyYWluZWQgY29udHJvbCBpbiBvcmRlciB0byBwcm9wZXJseQoJICBpbXBsZW1lbnQgdGhlIGluaGVyaXRhbmNlIHBvbGljaWVzIGRlc2NyaWJlZCBpbiB0aGUgc3BlYwoJICBBbHNvIGZpeGVkIHNldmVyYWwgbWVtb3J5IGxlYWsgY29uZGl0aW9ucyB3aGVuIGhhbmRsaW5nIGVycm9ycyBpbgoJICB0aGUgeG1sIGF0dHJpYnV0ZS9jb250ZW50IHBhcnNpbmcgZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNjc3CgoyMDEzLTA3LTAyIDIxOjMxOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBjaGFuZ2UgZGVidWcgbWVzc2FnZSBmcm9tIHdhcm5pbmcgdG8gaW5mbwoJICBJdCBpc24ndCBhIHdhcm5pbmcvaXNzdWUuCgoyMDEzLTA3LTAyIDIxOjI4OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBwcm90ZWN0IGZyb20gYWNjZXNzIHRvIGVtcHR5IGxpc3QgZGF0YQoJICBDaGVjayBpZiB0aGUgbGlzdCBoYXMgZWxlbWVudHMgYmVmb3JlIHRyeWluZyB0byBhY2Nlc3MgdGhlIGxhc3Qgb25lCgkgIGFuZCBjYXVzaW5nIGEgc2VnZmF1bHQKCjIwMTMtMDctMDIgMjM6MTY6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogU2ltcGxpZnkgbG9ja2luZyB0byBmaXggZGVhZGxvY2tzCgkgIFVzZSBvYmplY3QgbG9jayB0byBwcm90ZWN0IHZhcmlhYmxlcyBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzIGFuZAoJICB1c2UgZG93bmxvYWRfbG9jayB0byBvbmx5IGFsbG93IG9uZSBkb3dubG9hZCBydW5uaW5nCgoyMDEzLTA3LTAyIDE2OjA0OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBwcm90ZWN0IGFnYWluc3QgZmFpbGVkIGhlYWRlciBkb3dubG9hZHMKCSAgQXZvaWRzIGNyaXRpY2FscyB3aGVuIGRvd25sb2FkZWQgZnJhZ21lbnQgaXMgTlVMTAoKMjAxMy0wNy0wMyAxMzo1OTowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBHc3RNcGVnVFMgPT4gR3N0TXBlZ1RzCgoyMDEzLTA3LTAzIDEzOjU3OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmI6IEdzdE1wZWdUUyA9PiBHc3RNcGVnVHMKCjIwMTMtMDctMDMgMTM6NTc6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBHc3RNcGVnVFMgPT4gR3N0TXBlZ1RzCgoyMDEzLTA3LTAzIDEzOjU2OjIyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIGxpYnMvbXBlZ3RzOiBSZW5hbWUgR3N0TXBlZ1RTID0+IEdzdE1wZWdUcwoJICBTb3JyeSBmb3IgdGhpcyA6KCBCdXQgdGhpcyBtYWtlcyBpdCBtb3JlIGluIHN5bmMgd2l0aCBleHBlY3RlZCB0eXBlCgkgIG5hbWluZyBpbiBnb2JqZWN0IChpLmUuIENhbWVsQ2FzZSBhbmQgbm90IENhbWVsTUFZQkVDYXNlKS4KCSAgQWxzbyBzcGxpdCBkZXNjcmlwdG9yIHR5cGUgZW51bXMgaW50byB0aGUgZGlmZmVyZW50IHZhcmlhbnRzOgoJICAqIElTTyBILjIyMi4wIC8gMTM4MTgtMSAoaS5lLiBzdGFuZGFyZCBtcGVnLXRzKQoJICAqIERWQgoJICAqIEFUU0MKCSAgKiBJU0RCCgkgICogbWlzY2VsbGFuZW91cwoJICBUaGlzIHdpbGwgYXZvaWQgZnV0dXJlIGNsYXNoZXMgd2hlbiBzcGVjcyB1c2UgdGhlIHNhbWUgZGVzY3JpcHRvciB0eXBlCgoyMDEzLTA3LTAxIDA4OjM1OjI2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIGFuIGV4YW1wbGUgb2YgYSBtcGVnLXRzIFNJIGV4dHJhY3RvcgoJICBTZXJ2ZXMgYXMgYW4gZXhhbXBsZSBvZiB1c2FnZSBvZiB0aGUgbmV3IG1wZWd0cyBsaWJyYXJ5IGZyb20gYW4KCSAgYXBwbGljYXRpb24uCgkgIFdpbGwgcGFyc2UvZHVtcCBhbGwgc2VjdGlvbnMgcmVjZWl2ZWQgb24gYSBidXMuCgkgIFVzYWdlIGlzIC4vdHNwYXJzZSA8YW55IGdzdC1sYXVuY2ggbGluZSB1c2luZyB0c2RlbXV4IG9yIHRzcGFyc2U+CgkgIEV4YW1wbGVzOgoJICAuL3RzcGFyc2UgZmlsZTovLy9zb21lL21wZWd0c2ZpbGUgISB0c3BhcnNlICEgZmFrZXNpbmsKCSAgLi90c3BhcnNlIGR2YjovL0NIQU5ORUwgISB0c3BhcnNlICEgZmFrZXNpbmsKCSAgLi90c3BhcnNlIHBsYXliaW4gdXJpPWR2YjovL0NIQU5ORUwKCSAgLi90c3BhcnNlIHBsYXliaW4gdXJpPWZpbGU6Ly8vc29tZS9tcGVndHNmaWxlCgkgIC4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzI0CgoyMDEzLTA2LTIzIDA4OjQ0OjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmI6IFN3aXRjaCB0byBNUEVHLVRTIFNJIGxpYnJhcnkKCSAgQWxzbyBzZXJ2ZXMgYXMgYW4gZXhhbXBsZSBvZiB1c2luZyBtcGVndHMgbGlicmFyeSBmcm9tIGEgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MjQKCjIwMTMtMDYtMjMgMDg6NDM6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0dHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBTd2l0Y2ggdG8gTVBFRy1UUyBTSSBsaWJyYXJ5CgkgICogT25seSBtcGVnLXRzIHNlY3Rpb24gcGFja2V0aXphdGlvbiByZW1haW5zLgoJICAqIEltcHJvdmUgY29kZSB0byBkZXRlY3QgZHVwbGljYXRlZCBzZWN0aW9ucyBhcyBlYXJseSBhcyBwb3NzaWJsZQoJICAqIEFkZCBGSVhNRSBmb3IgdmFyaW91cyBpc3N1ZXMgdGhhdCBuZWVkIGZpeGluZyAoYnV0IGFyZSBub3QgcmVncmVzc2lvbnMpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MjQKCjIwMTMtMDYtMjMgMDg6NDE6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0cy5oOgoJICBnc3QtbGliczogTmV3IE1wZWctVFMgc3VwcG9ydCBsaWJyYXJ5CgkgIEV4cG9zZXMgdmFyaW91cyBNUEVHLVRTIChJU08vSUVDIDEzODE4LTEpIGFuZCBEVkIgKEVOIDMwMCA0NjgpIFNlY3Rpb24KCSAgSW5mb3JtYXRpb24gYXMgd2VsbCBhcyBkZXNjcmlwdG9ycyBmb3IgdXNhZ2UgYnkgcGx1Z2lucyBhbmQgYXBwbGljYXRpb25zLgoJICBUaGlzIHJlcGxhY2VzIGVudGlyZWx5IHRoZSBvbGQgR3N0U3RydWN0dXJlLWJhc2VkIHN5c3RlbSBmb3IgY29udmV5aW5nCgkgIG1wZWctdHMgaW5mb3JtYXRpb24gdG8gYXBwbGljYXRpb25zIGFuZCBvdGhlciBwbHVnaW5zLgoJICBQYXJzaW5nIGFuZCB2YWxpZGF0aW9uIGlzIGRvbmUgb24gYSAid2hlbi1uZWVkZWQiIGJhc2lzLiBUaGlzIGVuc3VyZXMKCSAgdGhlIG1pbmltYWwgb3ZlcmhlYWQgZm9yIGVsZW1lbnRzIGFuZCBhcHBsaWNhdGlvbnMgY3JlYXRpbmcgYW5kIHVzaW5nCgkgIHNlY3Rpb25zIGFuZCBkZXNjcmlwdG9ycy4KCSAgU2luY2UgYWxsIGluZm9ybWF0aW9uIGlzIG1hZGUgYXZhaWxhYmxlLCB0aGlzIGFsc28gYWxsb3dzIGFwcGxpY2F0aW9ucwoJICB0byBwYXJzZSBjdXN0b20gc2VjdGlvbnMgYW5kIGRlc2NyaXB0b3JzLgoJICBSaWdodCBub3cgdGhlIGxpYnJhcnkgaXMgdGFyZ2V0ZWQgdG93YXJkcyBwYXJzaW5nLCBidXQgdGhlIHN0cnVjdHVyZXMKCSAgY291bGQgYmUgdXNlZCBpbiB0aGUgZnV0dXJlIHRvIGFsbG93IGFwcGxpY2F0aW9ucyB0byBjcmVhdGUgYW5kIGluamVjdAoJICBzZWN0aW9ucyBhbmQgZGVzY3JpcHRvcnMgKGZvciB1c2FnZSBieSB2YXJpb3VzIG1wZWctdHMgZWxlbWVudHMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzI0CgoyMDEzLTA2LTEwIDE4OjAxOjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IEhhbmRsZSBjYXNlIHdpdGhvdXQgYW4gaW5pdGlhbGl6YXRpb24gc2VnbWVudAoJICBJZiBubyBpbml0aWFsaXphdGlvbiBzZWdtZW50IGlzIGRlZmluZWQsIHRoZW4gZG9uJ3QgcHJpbnQgYQoJICBjcml0aWNhbCBvciBhIHdhcm5pbmcsIGp1c3QgaWdub3JlIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxOTYxCgoyMDEzLTA3LTAxIDE4OjIyOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogc2F2ZSAxIG9yIDIgc3RyaW5nIGNvcGllcyB3aGVuIGdldHRpbmcgZnJhZ21lbnQgdXJpcwoJICBPbmx5IGNyZWF0ZSBuZXcgc3RyaW5nIGlmIHJlcXVpcmVkLCBzYXZpbmcgbWF5YmUgMSBvciAyIHN0ciBjb3BpZXMgcGVyCgkgIGZyYWdtZW50LgoKMjAxMy0wNy0wMSAxODoxNTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBhZGQgdXJpZG93bmxvYWRlciBsaWIgdG8gZ3RrLWRvYyBsaWJzCgkgIGZpeGVzIHJ1bnRpbWUgbGlua2luZyBlcnJvciBvbiB3aW5kb3dzCgoyMDEzLTA3LTAxIDE3OjUwOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGVhY2ggZnJhZ21lbnQgY2FuIGhhdmUgaXRzIG93biBpbmRleAoJICBSZXR1cm4gaW5kZXggVVJJL3JhbmdlIHRvIGRhc2hkZW11eCBmcm9tIHRoZSBtcGRwYXJzZXIgdG8gYmUgYWJsZQoJICB0byBkb3dubG9hZCBhbmQgZGVsaXZlciB0aGVtIGRvd25zdHJlYW0gZm9yIHBsYXliYWNrLgoKMjAxMy0wNy0wMSAxMzoxOToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBoYW5kbGUgdG9wLWxldmVsIGluZGV4IHVybHMKCSAgUGFyc2UgYW5kIHByb3ZpZGUgYWNjZXNzIHRvIHRvcC1sZXZlbCBpbmRleCBzZWdtZW50cyBpZiBhdmFpbGFibGUuCgkgIGRhc2hkZW11eCBzaG91bGQgcHVzaCB0aG9zZSB3aGVuZXZlciBhIGhlYWRlciBpcyBwdXNoZWQuCgkgIEZpeGVzICM3MDA0ODkKCjIwMTMtMDUtMDYgMTc6MDg6NTQgLTA0MDAgIEFydGh1ciBTaGlwa293c2tpIDxhcnRAdmlkZW9uLWNlbnRyYWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogRml4IGNyaXRpY2FsIGVycm9yIG91dHB1dCB3aGVuIEluaXRpYWxpemF0aW9uIGhhcyBubyBVUkwKCSAgSXNzdWUgZXZpbmNlZCBieQoJICBodHRwOi8veXQtZGFzaC1tc2UtdGVzdC5jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9jYXItMjAxMjA4MjctbWFuaWZlc3QubXBkCgkgIHdoaWNoIHByb2R1Y2VzIG91dHB1dCBsaWtlICoqIChnc3QtbGF1bmNoLTEuMDo4MDYwKTogQ1JJVElDQUwgKio6CgkgIGdzdF9tcGRwYXJzZXJfZ2V0X2luaXRpYWxpemF0aW9uVVJMOiBhc3NlcnRpb24gYEluaXRpYWxpemF0aW9uVVJMLT5zb3VyY2VVUkwKCSAgIT0gTlVMTCcgZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA0ODkKCjIwMTMtMDctMDEgMTQ6MzU6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHByZXZlbnQgY3Jhc2ggYnkgY2hlY2tpbmcgaWYgdGhlIHNlZ21lbnQgbm9kZSBpcyBwcmVzZW50CgkgIERvIG5vdCB0cnkgdG8gYWNjZXNzIHJhbmdlIGRhdGEgaWYgdGhlcmUgaXMgbm8gc2VnbWVudCBub2RlCgoyMDEzLTA2LTI1IDE4OjM0OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaF9kZWJ1Zy5oOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IHVzZSBzYW1lIGRlYnVnIGNhdGVnb3J5IGZvciBkYXNoZGVtdXggYW5kIHRoZSBtcGQgcGFyc2VyCgkgIE1ha2VzIGRlYnVnZ2luZyBlYXNpZXIKCjIwMTMtMDYtMjAgMDM6NTI6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogYWRkIHN1cHBvcnQgZm9yIHJhbmdlIGJhc2VkIHNlZ21lbnRzCgkgIFVzZSB0aGUgbWVkaWFSYW5nZSBpbmZvcm1hdGlvbiBhbmQgcGFzcyBpdCB0byB0aGUgdXJpZG93bmxvYWRlcgoJICB0byBjb3JyZWN0bHkgZG93bmxvYWQgb25seSB0aGUgc2VnbWVudCByYW5nZXMgaW5kaWNhdGVkIGluIHRoZQoJICBNUEQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjIwNgoKMjAxMy0wNi0xOSAxODoyODoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IGFkZCBzdXBwb3J0IGZvciByYW5nZSBiYXNlZCBkb3dubG9hZHMKCSAgQWRkcyBhIG5ldyBBUEkgZ3N0X3VyaV9kb3dubG9hZGVyX2ZldGNoX3VyaV93aXRoX3JhbmdlIHRoYXQgYWxsb3dzCgkgIGRvd25sb2FkaW5nIG9ubHkgYSBieXRlIHJhbmdlIGZyb20gYW4gVVJJLiBJdCB1c2VzIGEgc2VlayBldmVudAoJICBzZW50IHRvIHRoZSBzb3VyY2UgdG8gc2lnbmFsIHRoZSByYW5nZSB0byBiZSBkb3dubG9hZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjA2CgoyMDEzLTAzLTA5IDAxOjQ5OjIzICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogRml4IHRoZSByZXR1cm4gdmFsdWUgdHlwZSBmb3IgdGhlIFNFSSBwYWx5bG9hZCBwYXJzaW5nIG1ldGhvZHMuCgkgIFRoZSByZXR1cm4gdmFsdWUgdHlwZSBvZiBTRUkgcGF5bG9hZCBwYXJzaW5nIGZ1bmN0aW9ucwoJICBhcmUgR3N0SDI2NFBhcnNlclJlc3VsdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQ3NQoKMjAxMy0wNi0yOCAyMDoxNTowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBEb24ndCByZXF1aXJlIGEga2V5IGlmIGJvdGggYXV0aCBhbmQgY2lwaGVyIGFyZSBudWxsCgoyMDEzLTA2LTI4IDIwOjMyOjM2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvTWFrZWZpbGUuYW06CgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSogZXh0L3NydHAvZ3N0c3J0cC5oOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cDogTW92ZSB0aGUgZW51bXMgdG8gdGhlIGNvbW1vbiBoZWFkZXIKCSAgVGhlIHR5cGVzIGFyZSB1c2VkIGluIGJvdGggdGhlIGVuY29kZXIgYW5kIGRlY29kZXIKCjIwMTMtMDYtMjggMjA6MTM6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHA6IFJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMy0wNi0yOCAxMjoyNTo1OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogYWRkIHRoZSBidWlsZCBwcmVmaXggcGF0aCBpbiB0aGUgc2VhcmNoIGRpcnMKCjIwMTMtMDYtMjUgMTA6MjY6MjQgLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IENsZWFudXAgbWVtb3J5IGFsbG9jYXRpb24vZGVhbGxvY2F0aW9uCgkgIEVuc3VyZSB0aGF0IGdfZnJlZS94bWxGcmVlIGlzIHVzZWQgY29ycmVjdGx5IGJhc2VkIG9uIGhvdyB0aGUKCSAgbWVtb3J5IHdhcyBhbGxvY2F0ZWQuCgkgIFdoZW4gZGVhbGxvY2F0aW5nIEdMaXN0cywgdGhlcmUgd2VyZSBtYW55IHBsYWNlcyB0aGF0IHdlcmUgdXNpbmcKCSAgZ19saXN0X2ZvcmVhY2ggYW5kIGdfbGlzdF9mcmVlLiAgQ29udmVydGVkIHRoZXNlIG9jY3VycmVuY2VzIHRvCgkgIGNhbGwgZ19saXN0X2ZyZWVfZnVsbC4KCSAgQWRkIE5VTEwgY2hlY2tzIHRvIGFsbCB4bWxGcmVlIGNhbGxzIHNpbmNlIHRoZSBkb2N1bWVudGF0aW9uIGRvZXMKCSAgbm90IGd1YXJhbnRlZSB0aGF0IHBhc3NpbmcgTlVMTCBpcyBzYWZlCgkgIEluIHBsYWNlcyB3aGVyZSB3ZSBhcmUgc3RyZHVwJ2luZyBtZW1vcnkgYWxsb2NhdGVkIGJ5IGxpYnhtbDIsCgkgIGNoYW5nZWQgdGhvc2UgY2FsbHMgdG8gdXNlIHhtbE1lbVN0cmR1cCgpLgoJICBUaGVyZSB3ZXJlIHNldmVyYWwgcGxhY2VzIHdoZXJlIHdlIHdlcmUgbWlzc2luZyBnX3NsaWNlX2ZyZWUgd2hlbgoJICBkZWFsbG9jYXRpbmcgYSB0b3AtbGV2ZWwgbm9kZSBzdHJ1Y3R1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4MzcKCjIwMTMtMDYtMjQgMTM6MDI6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIG1wZWdkZXNjOiBFeHRlbmQgbGlzdCBvZiBrbm93biBkZXNjcmlwdG9ycwoJICBBZGQgdGhlIHZhcmlvdXMgQVRTQyBvbmVzCgoyMDEzLTA2LTI0IDA4OjI0OjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IE9ubHkgd2FybiBmb3IgYWRkZWQgc3RyZWFtcyB3aGVuIG5lZWRlZAoJICBXZSB1c2UgYWRkX3N0cmVhbShzdHJlYW1fdHlwZTotMSkgdG8gZW5zdXJlIGEgcHJvZ3JhbXMnIFBDUiBTdHJlYW0gaXMKCSAgYWxzbyB0YWtlbiBpbnRvIGFjY291bnQuIEZvciBtb3N0IHByb2dyYW1zIHRoaXMgd2lsbCByZS11c2UgYW4KCSAgZXhpc3RpbmcgRVMgc3RyZWFtLgoJICBTbyBvbmx5IHdhcm4gdGhhdCB3ZSBhcmUgcmUtYWRkaW5nIGEgc3RyZWFtIGlmIGl0IHdhcyBhbHJlYWR5IHByZXNlbnQKCSAgQU5EIGl0IGlzIG5vdCB0byBlbnN1cmUgdGhlIFBDUiBzdHJlYW0gaXMgdGFrZW4gaW50byBhY2NvdW50LgoKMjAxMy0wNi0yMyAxNToxMjo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcGVlZCB1cCBzZWN0aW9uIHBhcnNpbmcKCSAgT25seSBjcmVhdGUgc3VidGFibGVzIHdoZW4gbmVlZGVkLiBJdCB3YXMgcHJldmlvdXNseSBjcmVhdGluZyBvbmUgZXZlcnkKCSAgc2luZ2xlIHRpbWUgLi4uIHRvIGNoZWNrIGlmIG9uZSB3YXMgcHJlc2VudC4KCSAgQW5kIHNwZWVkIHVwIGNvZGUgdG8gZGV0ZWN0IHdoZXRoZXIgYSBzdWJ0YWJsZSB3YXMgYWxyZWFkeSBwcmVzZW50IG9yIG5vdC4KCSAgT3ZlcmFsbCBtYWtlcyBzZWN0aW9uIHB1c2hpbmcgMiB0aW1lcyBmYXN0ZXIuCgoyMDEzLTA2LTI0IDA3OjQwOjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBtcGVnZGVzYzogRXh0ZW5kIGxpc3Qgb2Yga25vd24gZGVzY3JpcHRvcnMKCSAgRnJvbSBJVFUtVCBIMjIyLjAgKDA2LzIwMTIpLiBGcmVlbHkgYXZhaWxhYmxlIGZyb20gaXR1LmludAoKMjAxMy0wNi0yMyAxNToyNjoxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcGVlZHVwIHBhY2tldCBwYXJzaW5nCgkgIEF2b2lkIHVzaW5nIGJpdHNoaWZ0aW5nIHdoZXJlIG5vdCBuZWVkZWQuCgkgIFNwZWVkcyB1cCBwYWNrZXQgcGFyc2luZyBieSAzJSAodGhpcyBpcyAqdGhlKiBob3RzcG90IG9mIG1wZWctdHMgZWxlbWVudHMpLgoKMjAxMy0wNi0yMiAwODo1NzoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IEZpeCBndGstZG9jCgkgIERldGVjdGVkIGJ5IGluaXRpYWwgcHJlLXJ1biBvZiBnaS1zY2FubmVyLgoKMjAxMy0wNi0yMyAxMToyOToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuaDoKCSAgZGFhbGFkZWM6IEFkZCBkZWNvZGVyIGVsZW1lbnQKCjIwMTMtMDYtMjMgMTA6MDQ6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuaDoKCSAgZGFhbGFlbmM6IEFkZCBlbmNvZGVyIGVsZW1lbnQKCjIwMTMtMDYtMjIgMTE6Mjc6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZGFhbGEvTWFrZWZpbGUuYW06CgkqIGV4dC9kYWFsYS9nc3RkYWFsYS5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmg6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuaDoKCSAgZGFhbGE6IEluaXRpYWwgdmVyc2lvbiBvZiBhIERhYWxhIHBsdWdpbgoKMjAxMy0wNi0yMyAwOTowNToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9NYWtlZmlsZS5hbToKCSAgc3J0cDogRml4IGRpc3QKCSAgVGhlIGVudW1zIHNob3VsZCBub3QgYmUgZGlzdC1lZCBhbmQgaW5zdGVhZCBiZSByZS1nZW5lcmF0ZWQgd2hlbgoJICBjb21waWxpbmcuCgoyMDEzLTA2LTE5IDIwOjM5OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEJldHRlciBkZXRlY3QgYWxyZWFkeSBzZWVuIHNlY3Rpb24KCSAgSW4gc29tZSBjYXNlcyAoTklUIG9uIGhpZ2hseS1wb3B1bGF0ZWQgRFZCLUMgb3BlcmF0b3IgZm9yIGV4YW1wbGUpLCB0aGVyZQoJICB3aWxsIGJlIG1vcmUgdGhhbiBvbmUgc2VjdGlvbiBlbWl0dGVkIGZvciB0aGUgc2FtZSBzdWJ0YWJsZSBhbmQgdmVyc2lvbgoJICBudW1iZXIuCgkgIEluIG9yZGVyIG5vdCB0byBsb3NlIHRob3NlIHVwZGF0ZXMgZm9yIHRoZSBzYW1lIHZlcnNpb24gbnVtYmVyLCB3ZSBjaGVja2VkCgkgIGFnYWluc3QgdGhlIENSQyBvZiB0aGUgcHJldmlvdXMgc2VjdGlvbiB3ZSBwYXJzZWQuCgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQsIHdoaWxlIGl0IG1hZGUgc3VyZSB3ZSBkaWRuJ3QgbG9zZSBhbnkgaW5mb3JtYXRpb24sIGl0CgkgIGFsc28gbWVhbnQgdGhhdCBpZiB0aGUgc2FtZSBzZWN0aW9uIGNhbWUgYmFjayAoc2FtZSB2ZXJzaW9uLCBzYW1lIENSQykgbGF0ZXIKCSAgb24gd2Ugd291bGQgcmUtcHJvY2VzcyBpdCwgcmUtcGFyc2UgaXQgYW5kIHJlLWVtaXQgaXQuCgkgIFRoaXMgdmVyc2lvbiBpbXByb3ZlcyBvbiB0aGF0IGJ5IGtlZXBpbmcgYSBsaXN0IG9mIHByZXZpb3VzbHkgb2JzZXJ2ZWQgQ1JDCgkgIGZvciBpZGVudGljYWwgUElEL3N1YnRhYmxlL3ZlcnNpb24tbnVtYmVyIGFuZCB3aWxsIG9ubHkgcHJvY2VzcyBzZWN0aW9ucyBpZgoJICB0aGV5IHJlYWxseSB3ZXJlIG5ldmVyIHNlZW4gaW4gdGhlIHBhc3QgKGFzIG9wcG9zZWQgdG8ganVzdCBiZWZvcmUpLgoJICBPbiBhIDMwcyBjbGlwLCB0aGlzIGJyaW5ncyBkb3duIHRoZSBudW1iZXIgb2YgTklUIHNlY3Rpb24gcGFyc2luZyBmcm9tIDQ1NDEKCSAgZG93biB0byA2NjMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ0NzkKCjIwMTMtMDYtMjAgMjI6MTI6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2luc2NyZWVuY2FwL01ha2VmaWxlLmFtOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5oOgoJICB3aW5zY3JlZW5jYXA6IEluaXRpYWwgcG9ydCB0byAxLjAKCjIwMTMtMDYtMjAgMDk6NTI6MzEgKzAyMDAgIFhhdmkgQXJ0aWdhcyA8eGFydGlnYXNAZmx1ZW5kby5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IGNvcHlpbmcgb2YgcmF3IHZpZGVvIGZyYW1lcyBvbiBTYW1zdW5nIEdhbGF4eSBTMyB3aXRoIEV4eW5vcyA0IFNPQwoKMjAxMy0wNi0xOSAxMjo1Mjo1MiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiB1bnJlZiBidWZmZXIgaWYgbm8gY2xpZW50cyBhcmUgY29ubmVjdGVkCgkgIElmIG5vIGNsaWVudCBoYXMgcmVjZWl2ZWQgdGhlIGNvbW1hbmQsIHVucmVmIHRoZSBidWZmZXIuIFRoaXMgd2lsbAoJICBtYWtlIHN1cmUgdGhhdCB0aGUgc2hhcmVkIG1lbW9yeSBhcmVhIGRvZXMgbm90IGdldCBmaWxsZWQgd2l0aCBidWZmZXJzCgkgIG5vIG9uZSBrbm93cyBhYm91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjY4NAoKMjAxMy0wNi0xOSAxOToyOToyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcGVlZCB1cCBOSVQgcGFyc2luZwoJICBBdm9pZCBkdXBsaWNhdGluZyB0aGUgZGVsaXZlcnkgc3RydWN0dXJlLCBhbmQgaW5zdGVhZCBnaXZlIGl0IHRvIHRoZQoJICByZWNlaXZpbmcgY29udGFpbmVyLgoKMjAxMy0wNi0wNyAxMjo1MzowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IHNpbXBsaWZ5IGNvZGUKCSAgV2UgZG9uJ3QgbmVlZCBnZW5lcmljIG1ldGhvZHMgZm9yIHB1c2gvZmx1c2ggc2luY2Ugd2Uga25vdyBhbGwgdGhlCgkgIHN1YmNsYXNzIHRoYXQgd2UgY29udHJvbAoKMjAxMy0wNi0wNSAxNTo1MTo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBmb3IgY29tcGlsaW5nIHdpdGhvdXQgR1NUX0RFQlVHCgkgIFByb3RlY3QgZGVidWctb25seSB2YXJpYWJsZXMvdXNhZ2UsIGFuZCBpbiBvbmUgY2FzZSByZW1vdmUgYSB1c2VsZXNzCgkgIHZhcmlhYmxlLgoKMjAxMy0wNi0xNyAwODoxNTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIHRzcGFyc2U6IEVuc3VyZSBpbml0aWFsIGV2ZW50cyBhcmUgc2VudCBpbiB0aGUgcmlnaHQgb3JkZXIKCSAgRmlyc3Qgc2VuZCBzdHJlYW0tc3RhcnQsIHRoZW4gY2FwcywgdGhlbiBzZWdtZW50LgoJICBUaGUgc2VnbWVudCB3ZSBwdXNoIGlzIGZyb20gdXBzdHJlYW0gaW4gcHVzaC1tb2RlLiBJZiB3ZSB3b3JrIGluIHB1bGwtbW9kZQoJICB0aGVuIHdlIGluaXRpYWxpemUgdGhlIGJhc2Ugc2VnbWVudCB0byBCWVRFUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQyMgoKMjAxMy0wNi0xOCAxMjoyOTo0MSAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBwcm9wYWdhdGUgZXZlbnRzIHRvIGJhc2VzaW5rIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI1OTcKCjIwMTMtMDYtMTggMTM6NDc6NTQgKzAyMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZDogQWRkIHN1cHBvcnQgZm9yIFJHQnggYW5kIFJHQkEgZm9ybWF0cwoJICBXYXlsYW5kIGludGVyZmFjZSBjb3VsZCBvZmZlciB0d28gYnVmZmVycyBwaXhlbHMgZm9ybWF0czogV0xfU0hNX0ZPUk1BVF9YUkdCODg4OCBhbmQgV0xfU0hNX0ZPUk1BVF9BUkdCODg4OC4KCSAgVXBkYXRlIHdheWxhbmRzaW5rIHRvIHN1cHBvcnQgdGhlbSBhbmQgY2hlY2sgaWYgdGhlIGZvcm1hdCBpcyByZWFsbHkgYXZhaWxhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMTEyCgoyMDEzLTA2LTE4IDEyOjQ2OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkgIG9wZW5jdjogZml4IENGTEFHUyBvcmRlciBhbmQgYWRkIHBsdWdpbnMgYmFzZSBsaWJzIGluY2x1ZGVzIHRvIENYWEZMQUdTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyOTcKCjIwMTMtMDYtMTUgMDA6MTI6MTggKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5oOgoJICBvcGVuY3Y6IGZpeGVzIGJ1aWxkIGJ5IG1vdmluZyB0aGUgYysrIGhlYWRlciB0byBnc3RzZWdtZW50YXRpb24uY3BwCgkgIEZpeGVzOgoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gZ3N0c2VnbWVudGF0aW9uLmg6NTE6MCwKCSAgZnJvbSBnc3RvcGVuY3YuYzo0MjoKCSAgL3Vzci9pbmNsdWRlL29wZW5jdjIvdmlkZW8vYmFja2dyb3VuZF9zZWdtLmhwcDo0NzoxNjogZmF0YWwgZXJyb3I6IGxpc3Q6CgkgIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKCSAgI2luY2x1ZGUgPGxpc3Q+CgkgIF4KCSAgY29tcGlsYXRpb24gdGVybWluYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjI5NwoKMjAxMy0wNi0xOCAxMzozMzoxNCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGZpeCByZWxlYXNlIG9mIG51bGwgcG9pbnRlcgoKMjAxMy0wNi0xOCAxMzoxNzo1MiArMDIwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IGNvcmVtZWRpYWJ1ZmZlcjogZml4IGxlYWtpbmcgb2YgYXBwbGUgbWVkaWEgc3RydWN0cwoJICByZW1lbWJlciB0byByZWxlYXNlIHRoZSBhcHBsZSdzIGFwaSBidWZmZXJzIHRvIGF2b2lkIGh1Z2UgbGVha2luZwoKMjAxMy0wNi0xOCAxMzowMjo0MiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBtb3ZlIGRlZmluZXMgdG8gQ1BQRkxBR1MgZm9yIG9iai1jIGZpbGVzCgoyMDEzLTA2LTExIDExOjU0OjQxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSAgZHNob3dhdWRpb3NyYzogZml4IGF1ZGlvY2FwdHVyZSBwcm9kdWNpbmcgc2lsZW5jZQoJICBDb25maWd1cmUgdGhlIGNhcHR1cmUgbGF0ZW5jeSB1c2luZyB0aGUgSUFNQnVmZmVyTmVnb3RpYXRpb24KCSAgaW50ZXJmYWNlIGFuZCB0cnkgdG8gcmVzcGVjdCB0aGUgY29uZmlndXJlZCBsYXRlbmN5LXRpbWUgYW5kIGJ1ZmZlci10aW1lCgoyMDEzLTA2LTE0IDE0OjUyOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBNYWtlIHN1cmUgdGhlIGJ1ZmZlciBpcyB3cml0YWJsZSBiZWZvcmUgd2UgYWRkIHRoZSBNUEVHIHZpZGVvIG1ldGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjE3NAoKMjAxMy0wNi0xMyAxMzozNDozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJICBidWlsZDogRml4IHNvbWUgYXV0b21ha2Ugd2FybmluZ3MKCjIwMTMtMDUtMjcgMjI6MjI6MzIgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogZml4IE0yVFMgc3RyZWFtIHJlc3luYwoJICBTeW5jIGJ5dGUgc2NhbiBpcyBpbmNvcnJlY3QgZm9yIE0yVFMgc3RyZWFtcyBiZWNhdXNlIHRoZSB0aW1lc3RhbXAgNAoJICBieXRlcyB3ZXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgZmx1c2ggc2l6ZS4gVGhpcyBjYW4gcmVzdWx0IGluIGFuCgkgIGluZmluaXRlIGxvb3AuCgkgIFJld29yayB0aGUgc2NhbiBjb2RlIHRvIGJlIGNsZWFyZXIgYW5kIHdvcmsgaW4gYWxsIGNhc2VzLgoKMjAxMy0wNS0yNCAxMDo1OTo1NSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBtb3ZlIHNvbWUgZGVidWcgcHJpbnRzIGF0IHRoZSBsb2cgbGV2ZWwKCjIwMTMtMDUtMjQgMTA6NTk6NTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeGVzIHNlZWtpbmcgaW4gcHVsbCBtb2RlCgkgIFByZXNlcnZlIHRoZSBjdXJyZW50IHNlZ21lbnQgYW5kIG9ic2VydmF0aW9ucyBpbiBwdWxsIG1vZGUgc2Vla3Mgd2l0aAoJICBmbHVzaGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODA1MAoKMjAxMy0wNi0xMSAxOTo0NTozMSArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybHNtdHBzaW5rOiByZW1vdmVkIGFuIGluY29ycmVjdCBhc3NlcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjAzNgoKMjAxMy0wNi0xMSAxNDozMjo0MyArMDIwMCAgTWlndWVsIENhc2FzLVNhbmNoZXogPG1pZ3VlbGVjYXNhc3NhbmNoZXpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5oOgoJICBvcGVuY3Y6IGFkZCBmb3JlZ3JvdW5kL2JhY2tncm91bmQgc2VnbWVudGF0aW9uIGVsZW1lbnQKCSAgQWRkIGFuIGVsZW1lbnQgdG8gdGhlIG9wZW5jdiBwbHVnaW4gZm9yIGZvcmVncm91bmcvYmFja2dyb3VuZCBpbWFnZQoJICBzZXF1ZW5jZSBzZWdtZW50YXRpb24sIHVzaW5nIG9uZSBvdXQgb2YgMyBhbGdvcml0aG1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNDIxCgoyMDEzLTA2LTEwIDE3OjAwOjQyICswMjAwICBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBBZGQgdmlkZW8tc291cmNlLWZpbHRlciBkdXJpbmcgY29uc3RydWN0aW9uCgkgIEJ5IGFkZGluZyB0aGUgdmlkZW8tc291cmNlLWZpbHRlciBkdXJpbmcgY29uc3RydWN0aW9uIHRpbWUsIHJhdGhlciB0aGVuCgkgIHBhdGNoaW5nIGl0IGluIGxhdGVyICgqKSwgd2UgY2FuIGdyZWF0bHkgcmVkdWNlIHRoZSBhbW91bnQgb2YgY2FwcyBpbnZvbHZlZAoJICBpbiBuZWdvdGF0aW9uLCBzcGVlZGluZyB1cCBwaXBlbGluZSBjcmVhdGlvbi4KCSAgSSB3cm90ZSB0aGlzIHdoaWxlIHdvcmtpbmcgb24gc3BlZWRpbmcgdXAgdGhlIHN0YXJ0dXAgb2YgY2hlZXNlLiBNeSBjaGVlc2UKCSAgaGFzIGJlZW4gbW9kaWZpZWQgdG8gYWRkIGEgY2Fwc2ZpbHRlciwgZmlsdGVyaW5nIGZvciBvbmx5IHRoZSBjb25maWd1cmVkCgkgIHJlc29sdXRpb24sIHdpdGggdGhhdCBjaGVlc2UgcGF0Y2ggKyB0aGlzIHBhdGNoLCB0aGUgcGlwZWxpbmUgY3JlYXRpb24gdGltZQoJICBnb2VzIGZyb20gYXByb3ggMS4xIHNlY29uZHMgdG8gYXByb3ggMzUwbXMuIFRoaXMgaXMgd2l0aCBhIExvZ2l0ZWNoIDkwMDAKCSAgcHJvIGNhbWVyYSwgd2hpY2ggc3VwcG9ydHMgbG90cyBvZiBkaWZmZXJlbnQgcmVzb2x1dGlvbnMgYXQgbWFueSBkaWZmZXJlbnQKCSAgZnJhbWVyYXRlcyBwZXIgcmVzb2x1dGlvbiwgY2F1c2luZyBhIGNhcHMgImV4cGxvc2lvbiIgaWYgbm90IGZpbHRlcmVkLgoJICAqKSBOb3RlIHRoZSBjb2RlIGZvciB0aGlzIGlzIGxlZnQgaW4sIGFzIGl0IGlzIHN0aWxsIG5lY2Vzc2FyeSBpZiB0aGUKCSAgdmlkZW8tc291cmNlLWZpbHRlciBpcyBjaGFuZ2VkIGJldHdlZW4gYSBzdG9wICsgcmUtc3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE5NTMKCjIwMTMtMDYtMTAgMTg6MDA6MTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBNYWtlIGdzdC1pbmRlbnQgaGFwcHkKCjIwMTMtMDYtMTAgMTA6MDU6NTYgKzAyMDAgIEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogRG9uJ3QgdW5zZXQgdGhlIHZpZGVvLXNvdXJjZSBwcm9wZXJ0eSBvbiBwaXBlbGluZSBzdGFydAoJICBjaGVja19hbmRfcmVwbGFjZV9zcmMoKSB3YXMgc2V0dGluZyBzZWxmLT5hcHBfdmlkX3NyYyB0byBOVUxMLCB3aGljaAoJICBtZWFucyB0aGF0IGFuIGFwcCBzZXR0aW5nIHRoZSB2aWRlby1zb3VyY2UgcHJvcGVydHksIGFuZCB0aGVuIHN0YXJ0aW5nLAoJICBzdG9wcGluZyBhbmQgcmUtc3RhcnRpbmcgdGhlIHBpcGVsaW5lIChpZSB0byBtYWtlIGNoYW5nZXMgdG8gdGhlCgkgIHZpZGVvLXNvdXJjZS1maWx0ZXIgcHJvcGVydHkpIHdvdWxkIGFmdGVyIHRoZSByZXN0YXJ0IG5vIGxvbmdlciBoYXZlCgkgIGEgdmlkZW8tc291cmNlLgoJICBUaGlzIHBhdGNoIGZpeGVzIHRoaXMgYnkgbWFraW5nIGdzdF9jYW1lcmFiaW5fc2V0dXBfZGVmYXVsdF9lbGVtZW50IHJldHVybiBhCgkgIHJlZiB0byB0aGUgcGFzc2VkIGluIHVzZXJfZWxlbWVudCwgcmF0aGVyIHRoZW4gcmV0dXJuaW5nIHRoZSB1c2VyX2VsZW1lbnQgYXMKCSAgaXMsIHNvIHRoYXQgdGhhdCByZWYgY2FuIGJlIHBhc3NlZCBvbiB0byB0aGUgYmluLCBhbmQgdGhlIGFwcF92aWRfc3JjIHJlZgoJICBzdGF5cyB2YWxpZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTkxNQoKMjAxMy0wNi0wOCAxNDo0ODowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSB3b3JrYXJvdW5kIGZvciBhIGJ1ZyBpbiB0aGUgUlBpIEVHTCBpbXBsZW1lbnRhdGlvbgoJICBJdCdzIGZpeGVkIGluIHRoZSBsYXRlc3QgZmlybXdhcmUgc2luY2UgYSBmZXcgd2Vla3MuCgoyMDEzLTA1LTA2IDE2OjU2OjAxIC0wNDAwICBBcnRodXIgU2hpcGtvd3NraSA8YXJ0QHZpZGVvbi1jZW50cmFsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCBpc3N1ZSB3aXRoIGdldCByZXR1cm5pbmcgYSB2YWx1ZSBmb3IgbWF4LWJ1ZmZlcmluZy10aW1lCgkgIEl0IHdhcyBub3QgcHJvcGVybHkgZGl2aWRlZCBieSBHU1RfU0VDT05EUy4gQWxzbyBmaXggaXNzdWUgd2l0aAoJICBtYXgtYnVmZmVyaW5nLXRpbWUgYmVpbmcgbXVsdGlwbGllZCBieSBHU1RfU0VDT05EUyBldmVyeSB0aW1lIHRoZQoJICBwcm9wZXJ0eSBpcyByZXRyaWV2ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA0ODcKCjIwMTMtMDYtMDcgMTU6MTg6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgcmZiOiBMaW5rIHdpdGggbGliZ3N0YmFzZSBmb3IgR3N0UHVzaFNyYwoKMjAxMy0wNi0wNyAxNDowMTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IHN0cmluZyBjb21wYXJpc29uCgoyMDEzLTA0LTA0IDE4OjIyOjUyICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIG1wZWdkZW11eDogYWNjZXB0IElEX1BSSVZBVEVfU1RSRUFNXzEgdG8gYXZvaWQgbG9vc2luZyBzeW5jCgkgIEN1cnJlbnQgZmFsbGJhY2sgdG8gbG9zdF9zeW5jIHNlZW1zIHRvIGltcGVkZSBhIGRlbGF5IHRvIHJlc3RvcmUKCSAgc3luYy4gTGV0IHRoZSBwYXJzZXIgcGFyc2UgYW5kIHNraXAgdGhlIHByaXZhdGUgc3RyZWFtLgoJICBIZXJlIGl0IGNvbnRhaW5zIHRoZSBkaWdpdGFsIGNhbWVyYSBicmFuZCAoaW4gMjAxMCBieXRlcykKCSAgYW5kIGlzIHJlcGVhdGVkIHR3aWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MjgzCgoyMDEzLTA2LTA3IDEyOjEwOjA4ICswMjAwICBJbHlhIFNtZWx5a2ggPGlseWEuc21lbHlraEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFdhaXQgdW50aWwgU1BTL1BQUyBiZWZvcmUgb3V0cHV0dGluZyBhbnkgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2MzI3CgoyMDEzLTA2LTA3IDE0OjA2OjU2ICswODAwICBDaGVuIEppZSA8Y2hlbmpAbGVtb3RlLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBIYWNrcyBmb3IgSHVhd2VpTWVkaWFQYWQgd2hpY2ggcmVwb3J0cyB3cm9uZyBjb2xvciBmb3JtYXQKCSAgQ09MT1JfRm9ybWF0WUNiWUNyIGlzIHJlcG9ydGVkIGJ1dCBpdCBpcyBhY3R1YWxseSBDT0xPUl9USV9Gb3JtYXRZVVY0MjBQYWNrZWRTZW1pUGxhbmFyLgoKMjAxMy0wNi0wNSAxNjoxNjozNiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2VyOiBGaXggdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBjYWxjdWxhdGlvbgoJICBJZ25vcmUgdGhlIGRpc3BsYXlfZXh0ZW5zaW9uIHZhbHVlcyBpZiB0aGV5IGFyZSBncmVhdGVyIHRoYW4gdGhlIHdpZHRoL2hlaWdodAoJICB2YWx1ZXMgcHJvdmlkZWQgYnkgc2VxaGRyIGFuZCBjYWxjdWxhdGUgdGhlIFBBUiBiYXNlZCBvbiB0aGUgc2VxaGRyIHZhbHVlcy5UCgkgIGhpcyBpcyB3aGF0IERWRCBwbGF5ZXJzIGFyZSBkb2luZy4KCSAgVGhhbmtzIHRvICJEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUxMDMKCjIwMTMtMDYtMDUgMTg6MzY6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMSA9PT0KCjIwMTMtMDYtMDUgMTg6MTA6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5oOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5oOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjEKCjIwMTMtMDYtMDUgMTg6Mjg6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICB2ZHBhdTogQWRkIHNvbWUgbWlzc2luZyBoZWFkZXJzIHRvIGRpc3QKCjIwMTMtMDYtMDUgMTg6MDE6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBkYXNoOiBBZGQgdG8gTWFrZWZpbGUuYW0gZm9yIG1ha2UgZGlzdAoKMjAxMy0wNi0wNSAxNzo0OTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWEtbm9ucHVibGljOiBBZGQgdG8gdGhlIE1ha2VmaWxlLmFtIGZvciBkaXN0CgoyMDEzLTA2LTA1IDE2OjU0OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDYtMDUgMTU6MjA6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGxlYWsKCSAgU2luY2Ugd2Ugd2VyZSBtYW51YWxseSBzZXR0aW5nIEdWYWx1ZSB0byB0aGUgR1ZhbHVlQXJyYXksIHdlIGFsc28gbmVlZAoJICB0byBzcGVjaWZ5IGhvdyBtYW55IHdlcmUgc2V0LCBvdGhlcndpc2UgYWxsIHZhbHVlcyBpbiB0aGUgYXJyYXkgd2lsbAoJICBiZSBsZWFrZWQuCgoyMDEzLTA2LTA1IDE1OjE1OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA5OGMwZDcgdG8gMDFhN2E0NgoKMjAxMy0wNi0wNSAxMzozOToxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcGVlZHVwIFREVC9UT1QgcGFyc2luZwoJICBVc2UgcXVhcmtzIHdoZXJlIG5lZWRlZCwgbWFrZXMgaXQgMi41IHRpbWVzIGZhc3RlcgoKMjAxMy0wNi0wNSAxMzoyMToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggc3RyaW5nIGxlYWsKCSAgVGhlIGRlc2NyaXB0aW9uL3RleHQgZ2V0IGNvcGllZCBpbiB0aGUgc3RydWN0dXJlLgoKMjAxMy0wNi0wNSAxMjo0OTowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcGVlZCB1cCBkZXNjcmlwdG9yIHBhcnNpbmcvcGFja2luZwoJICBkZXNjcmlwdG9ycyBhcmUgc3RvcmVkIGFzIGEgR1ZhbHVlQXJyYXkgb2YgR1N0cmluZy4gVGhlIGRvd25zaWRlIGlzCgkgIHRoYXQgdGhlcmUgaXMgbm8gd2F5IHRvICJwYXNzIiBvd25lcnNoaXAgb2YgYSBHVmFsdWUgdG8gYSBHVmFsdWVBcnJheQoJICB3aGljaCBwcmV2aW91c2x5IHJlc3VsdGVkIGluIGV4cGVuc2l2ZSBjb3B5L2ZyZWUgb2YgdGhlIChhbHJlYWR5IGV4cGVuc2l2ZSkKCSAgR1N0cmluZy4KCSAgSGVyZSB3ZSBlc3RpbWF0ZSBmaXJzdCB0aGUgc2l6ZSBvZiB0aGUgR1ZhbHVlQXJyYXksIHRoZW4gY3JlYXRlIGl0LAoJICB0aGVuIGRpcmVjdGx5IHVzZSB0aGUgR1ZhbHVlIG9mIHRoYXQgYXJyYXkuCgkgIFNwZWVkcyB1cCB0b3RhbCBTSSBwYXJzaW5nIGJ5IH4zMCUKCjIwMTMtMDYtMDUgMTE6MjE6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogVXNlIGdzdF92YWx1ZV9saXN0X2FwcGVuZF9hbmRfdGFrZV92YWx1ZQoJICBBdm9pZHMgZG9pbmcgdGhlIGV4cGVuc2l2ZSBjb3B5IG9mIHN0cnVjdHVyZXMvYXJyYXlzLy4uLgoJICBTcGVlZHMgdXAgcGFyc2luZyBTSSBieSBhYm91dCA1MCUKCjIwMTMtMDYtMDUgMTE6MjA6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogQXZvaWQgY29weWluZyBHVmFsdWVBcnJheQoJICBKdXN0IGdpdmUgdGhlIEdWYWx1ZUFycmF5IHRvIHRoZSBjb250YWluZXIgR1ZhbHVlLgoKMjAxMy0wNS0yOSAwOToyNToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgY3J1ZnQ6IEFkZCBzaWduYWxwcm9jZXNzb3IgZGlyZWN0b3J5CgoyMDEzLTA1LTI5IDA4OjM3OjE5ICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmVkIHNpZ25hbHByb2Nlc3NvciBmcm9tIGRvY3MvbGlicy9NYWtlZmlsZS5hbQoKMjAxMy0wNS0yOCAxNTo1NDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBJbiBwdWxsIG1vZGUgZHJvcCBTRUdNRU5ULCBDQVBTIGFuZCBTVFJFQU1fU1RBUlQgZXZlbnRzCgkgIFdlIGNyZWF0ZSBhbmQgc2VuZCBvdXIgb3duIGxhdGVyIGZyb20gYW5vdGhlciB0aHJlYWQuCgoyMDEzLTA1LTI4IDE1OjUzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IFB1c2ggc3RyZWFtLXN0YXJ0IGV2ZW50IGJlZm9yZSBhbnl0aGluZyBlbHNlCgoyMDEzLTA1LTI4IDA4OjA4OjQyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvLmdpdGlnbm9yZToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgc2lnbmFscHJvY2Vzc29yOiBsYWRzcGEgaXMgbm90IHVzaW5nIHRoaXMgYW55bW9yZQoJICBXaGVuIHdlIHBvcnQgbHYyLCB3ZSdsbCBnbyB0aGUgc2FtZSByb3V0ZSBhcyB0aGUgbmV3IGxhZHNwYSBwbHVnaW4uCgoyMDEzLTA1LTI4IDA3OjUzOjM3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBmaXggdHlwb3MgaW4gbGF1bmNoIGV4YW1wbGVzCgoyMDEzLTA1LTI3IDIzOjA3OjE2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzaW5rLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc2luay5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNvdXJjZS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNvdXJjZS5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXV0aWxzLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhdXRpbHMuaDoKCSAgbGFkc3BhOiB1c2UgdGhlIHJlZ2lzdHJ5IGNhY2hlIGZvciBwbHVnaW4gZGV0YWlscwoJICBTcGxpdCB0aGUgaW50cm9zcGVjdGlvbiBhbmQgcmVnaXN0cmF0aW9uIHBhcnQuIFRoaXMgd2F5IHdlIG9ubHkgbmVlZCB0byBvcGVuIGFsbAoJICBwbHVnaW5zIHdoZW4gdXBkYXRpbmcgdGhlIHJlZ2lzdHJ5LiBXaGVuIHJlYWRpbmcgdGhlIHJlZ2lzdHJ5IHdlIGNhbiByZWdpc3RlcgoJICB0aGUgZWxlbWVudHMgZW50aWVybHkgZnJvbSB0aGUgY2FjaGUuCgoyMDEzLTA1LTI3IDExOjIwOjA3ICswMjAwICBNaWd1ZWwgQ2FzYXMtU2FuY2hleiA8bWlndWVsZWNhc2Fzc2FuY2hlekBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguYzoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4Lmg6CgkgIG9wZW5jdjogQWRkIGNvbG91ciBpbWFnZSBlbmhhbmNlbWVudCBlbGVtZW50IGJhc2VkIG9uIFJldGluZXggYWxnb3JpdGhtCgkgIEFkZCBjb2xvdXIgaW1hZ2UgZW5oYW5jZW1lbnQgZWxlbWVudCBiYXNlZCBvbiBSZXRpbmV4IGFsZ29yaXRobS4gVHdvIHR5cGVzCgkgIGV4aXN0LCBuYW1lbHkgYmFzaWMgYW5kIG11bHRpc2NhbGU7IGJvdGggYXJlIGRlc2NyaWJlZCBpbiB0aGlzIGFydGljbGU6CgkgIFJhaG1hbiwgWmlhLXVyLCBEYW5pZWwgSi4gSm9ic29uLCBhbmQgR2xlbm4gQS4gV29vZGVsbC4gIk11bHRpLXNjYWxlIHJldGluZXgKCSAgZm9yIGNvbG9yIGltYWdlIGVuaGFuY2VtZW50LiIgSW1hZ2UgUHJvY2Vzc2luZywgMTk5Ni4gUHJvY2VlZGluZ3MuLAoJICBJbnRlcm5hdGlvbmFsIENvbmZlcmVuY2Ugb24uIFZvbC4gMy4gSUVFRSwgMTk5NgoJICBWaXN1YWxseSBzcGVha2luZyB0aGUgcmVzdWx0IGxvb2tzIGEgYml0IGZ1bm55LCBidXQgaXMgcHJldHR5IGludmFyaWFibGUgdG8KCSAgbGlnaHRuaW5nIGNoYW5nZXMsIHdoaWNoIGlzIGdvb2QgZm9yIHNvbWUgYXBwbGljYXRpb25zLCBsaWtlIGltYWdlCgkgIHNlZ21lbnRhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDk3NwoKMjAxMy0wNS0yNiAxNDoyOTo1NCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvY2hhbm5lbG1peC5oOgoJICBhdWRpb2NoYW5uZWxtaXg6IGZpbGwgaW4gdGhlIGF1dGhvciB0ZW1wbGF0ZQoJICBUaGUgY29weXJpZ2h0IGhlYWRlciBzdGlsbCBjb250YWluZWQgdGhlIGF1dGhvciB0ZW1wbGF0ZS4KCjIwMTMtMDUtMjUgMTU6MjU6NTYgKzAyMDAgIE1pY2hhZWwgUnViaW5zdGVpbiA8bXJ1Ymluc3RlaW5Ad2VhdGhlci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogRnJlZSBtZW1vcnkgYmVoaW5kIEdTdHJpbmcgaWYgd2UgZG9uJ3QgdXNlIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA5MDMKCjIwMTMtMDUtMjMgMTQ6MzI6MDcgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmg6CgkgIGN1cmxzbXRwc2luazogdGVybWluYXRlIHRyYW5zZmVyIHRocmVhZCBwcm9wZXJseQoJICBJZiBubyBFT1MgaGFzIGJlZW4gc2VudCwgdGhlIGN1cmwgcmVhZGZ1bmMgY2FsbGJhY2sgd2lsbAoJICByZXR1cm4gQUJPUlQuIFRoZSBtZWRpYSBmaWxlIGluIHRoYXQgY2FzZSB3aWxsIG5vdCBiZSBwcm9wZXJseQoJICBmaW5hbGl6ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA4ODYKCjIwMTMtMDQtMDggMTQ6NTk6NTQgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogdXBkYXRlIHdpbmRvdyB3aWR0aC9oZWlnaHQgd2hlbiBpdCdzIG5vdCBkb25lIGluIFduZFByb2MKCjIwMTMtMDQtMDUgMTc6NTk6NDEgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBkaXJlY3Rkcndhc2luazogY2FsbCBwcmV2aW91cyBXbmRQcm9jIGlmIGFueQoKMjAxMy0wNC0wNSAxNzoyNjo1NyArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiByZXNwZWN0IFBBUiB3aXRoIGNvb3JkaW5hdGVzCgoyMDEzLTA0LTI1IDE1OjM1OjUwICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhLW5vbnB1YmxpYzogZml4IHN5bWJvbHMgcmVkZWZpbml0aW9uIGZvciBvYmpjIGZpbGVzCgoyMDEzLTA0LTI0IDE1OjU1OjEyICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IGZpeCBkdXBsaWNhdGVkIHN5bWJvbHMgd2l0aCBhcHBsZW1lZGlhCgoyMDEzLTA1LTIzIDE0OjU3OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIEVPUydpbmcgd2l0aG91dCBzb3VyY2UgcGFkcwoJICBUaGlzIGVuc3VyZXMgd2UgZG9uJ3QgImhhbmciIHdoZW4gZmlsZXMgY2FuJ3QgYmUgZGVjb2RlZCwgb3IgY29udGFpbgoJICBubyB2YWxpZCBzdHJlYW1zLgoKMjAxMy0wNS0yMyAxNDo1Njo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEZW1vdGUgYSB3YXJuaW5nIHRvIGRlYnVnIGxldmVsCgkgIFdlIHdpbGwgZ2V0IGl0IGZvciB2aXJ0dWFsbHkgZXZlcnkgZmlyc3QgcGFja2V0cy4KCjIwMTMtMDUtMDEgMTY6Mzc6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBBY3R1YWxseSBzdG9yZSBtcGVnIHZpZGVvIGJpdHJhdGUgdmFsdWUKCSAgQW5kIHVzZSB0aGUgZXh0ZW5zaW9uIGFsc28gKGhpZ2hlciAxMiBiaXRzKQoKMjAxMy0wNS0yMyAxMTowNDo1NyArMDIwMCAgTWlndWVsIENhc2FzLVNhbmNoZXogPG1pZ3VlbGVjYXNhc3NhbmNoZXpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5oOgoJICBvcGVuY3Y6IEFkZCBza2luIGNvbG9yIGRldGVjdGlvbiBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA2NTQKCjIwMTMtMDUtMDcgMjE6NDU6NTQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogc2ltcGxpZnkgY2FwcyBzZXR0aW5nCgoyMDEzLTA0LTI2IDE3OjQ3OjI2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogZml4IEgyNjQgc3RyZWFtcyB3aXRoIGItZnJhbWVzCgkgIFRoZSBkZWNvZGVyIG91dHB1dCBmcmFtZXMgaW4gRFRTIG9yZGVyLCBldmVuIHdpdGggdGhlIGZsYWcKCSAga1ZURGVjb2RlRnJhbWVfRW5hYmxlVGVtcG9yYWxQcm9jZXNzaW5nLiBXZSBzdG9yZSBhIGludGVybmFsCgkgIHF1ZXVlIG9mIHRoZSBkZWNvZGVkIGZyYW1lcyBhbmQgcHVzaCB0aGVtIFBUUyBvcmRlci4KCjIwMTMtMDQtMjYgMTc6NDU6MzEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBmaXggc2VnZmF1bHQgd2l0aCBkcm9wcGVkIGZyYW1lcwoKMjAxMy0wNC0yNiAxNzo0MDowMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IGltcHJvdmUgdXNhZ2Ugb2YgdGhlIFZUIEFQSQoJICBBZGQgdGltaW5nIGluZm9ybWF0aW9uIHRvIENWIHNhbXBsZXMgYW5kIHBhc3MgdGhlIEdzdEJ1ZmZlcgoJICBhcyBleHRyYSBkYXRhIGluIHRoZSBkZWNvZGUgZnVuY3Rpb24KCjIwMTMtMDQtMjYgMTM6MjY6MDMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBhZGQgc3VwcG9ydCBmb3IgTVBFRy0xIHRvbwoKMjAxMy0wNC0yNSAxMTozMDowNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGFkZCBzdXBwb3J0IGZvciBNUEVHLTIgZGVjb2RpbmcKCjIwMTMtMDQtMjUgMTE6Mjc6MTMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB1c2UgdGhlIGJlc3QgY29sb3Jmb3JtYXQgb24gZWFjaCBwbGF0Zm9ybQoJICBUaGlzIHNhdmVzIGEgY29sb3JzcGFjZSBjb252ZXJzaW9uIGJlZm9yZSB0aGUgc2luayBpbiBPUyBYCgoyMDEzLTA0LTI1IDExOjE3OjE2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5oOgoJICBhcHBsZW1lZGlhOiByZXBsYWNlIHByaXZhdGUgZnVuY3Rpb24gd2l0aCBpdHMgcHVibGljIHZhcmlhbnQKCSAgRmlnVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkNyZWF0ZVdpdGhTYW1wbGVEZXNjcmlwdGlvbkV4dGVuc2lvbkF0b20KCSAgaXMgYW4gdW4tZG9jdW1lbnRlZCBwcml2YXRlIGZ1bmN0aW9uIHdoaWNoIG1pZ2h0IGNoYW5nZSBpdHMgc2lnbmF0dXJlCgkgIGFzIGl0IGFscmVhZHkgZGlkIGluIHRoZSBwYXN0LiBSZXBsYWNlIGl0IHdpdGgKCSAgQ01WaWRlb0Zvcm1hdERlc2NyaXB0aW9uQ3JlYXRlIGFuZCB0aGUgYWxzbyB1bi1kb2N1bWVudGVkIEV4dGVuc2lvbnMKCSAgZGljdGlvbmFyeS4KCjIwMTMtMDQtMjQgMjI6MjI6MjggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogcmVtb3ZlIHRoZSB1bm5lZWRlZCBidWZmZXIgZmFjdG9yeQoKMjAxMy0wNC0yNCAyMjoxNTowMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBkb24ndCB1c2UgdGhlIGR5bmFtaWMgQVBJIGZvciBwdWJsaWMgZnJhbWV3b3JrcwoJICBQdWJsaWMgZnJhbWV3b3JrcyBkb24ndCBuZWVkIHRvIGJ1aWxkIHRoZSBBUEkgZHluYW1pY2FsbHksIHdlIGluc3RlYWQKCSAgdXNlIHRoZSBmcmFtZXdvcmsgZGlyZWN0bHkuCgkgIFRoZSBleGNlcHRpb24gaXMgZm9yIFZpZGVvVG9vbGJveCB3aGljaCB3ZW50IHB1YmxpYyBpbiB0aGUgMTAuOCBTREssCgkgIGJ1dCBpdCdzIHN0aWxsIHByaXZhdGUgaW4gb2xkZXIgdmVyc2lvbiBvZiB0aGUgU0RLIGFuZCBpT1MuIFRoaXMgYWxsb3cKCSAgYnVpbGRpbmcgdGhlIHBsdWdpbiBhZ2FpbnN0IFNESydzIHdoZXJlIGl0J3Mgbm90IGEgcHVibGljIGZyYW1ld29yay4KCjIwMTMtMDQtMjQgMTg6NTM6MTEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jZWx2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2R5bmFwaS1pbnRlcm5hbC5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9keW5hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb2FwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvdmlkZW9kZXZpY2UuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbXRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBtb3ZlIHBsdWdpbnMgdXNpbmcgcHJpdmF0ZSBmcmFtZXdvcmtzIHRvIGFwcGxlbWVkaWEtbm9ucHVibGljCgoyMDEzLTA1LTIwIDEzOjI0OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBpbmRlbnRpb24KCjIwMTMtMDUtMTcgMjA6MTc6MzEgKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IGZpeCBhIG1pbm9yIGVycm9yIGluIENPTE9SX0Zvcm1hdFlVVjQyMFBsYW5hciBjb252ZXJ0aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA1MjEKCjIwMTMtMDUtMTggMTQ6MDE6MjIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9maWx0ZXI6CgkgIGVsZW1lbnQtbWFrZXI6IEFkZCB0cmFuc2Zvcm0gZnVuY3Rpb25zIHRvIGF1ZGlvZmlsdGVyCgoyMDEzLTA1LTE4IDEzOjU3OjExIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1ZGlvZnhiYWQvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvY2hhbm5lbG1peC5jOgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2NoYW5uZWxtaXguaDoKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9meGJhZC5jOgoJICBhdWRpb2Z4OiBBZGQgcGx1Z2luLCBhZGQgYXVkaW9jaGFubmVsbWl4CgoyMDEzLTA1LTE4IDEzOjU2OjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGV0ZXN0c3JjOiBhdWRpbyBmb3JtYXQgaXMgIlMxNiIgbm90ICJzMTYiCgoyMDEzLTA1LTE4IDExOjU4OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICB2aWRlb3NpZ25hbDogZml4IENGTEFHUyBvcmRlcgoKMjAxMy0wNS0xNyAyMToyMzo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc2VuZCBzdHJlYW0gc3RhcnQgZXZlbnQKCSAgUmVtb3ZlcyB3YXJuaW5ncyBhYm91dCBzdHJpY3Qgc3RpY2t5IGV2ZW50cyBvcmRlcmluZwoKMjAxMy0wNS0xNyAxMjowODoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IHdtYSBwcm8gY2FwcyBjcmVhdGlvbgoJICBXbWFQcm8gaXMgYWN0dWFsbHkgd21hdmVyc2lvbiAzLCBhbmQgY2FuIGFsc28gYmUgZm91bmQgYnkgdGhlCgkgIFdNQVAgZm91cmNjLgoJICBTb21lIG1hbmlmZXN0cyBhbHNvIGNvbnRhaW4gdGhlIGJsb2NrX2FsaWduIGZpZWxkIGFzICJQYWNrZXRTaXplIgoJICBpbiB0aGUgYXVkaW8gdHJhY2sgZGVzY3JpcHRpb24sIHRoZSBsaWJhdiBkZWNvZGVycyByZXF1aXJlIGl0CgkgIHRvIGJlIHByZXNlbnQgaW4gY2Fwcy4KCSAgRml4ZXMgIzY5OTkyMQoKMjAxMy0wNS0xNyAxMTozNzozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZml4IGFzc2VydGlvbnMgd2hlbiBhIHN0cmVhbSBjYXBzIGNhbid0IGJlIGNyZWF0ZWQKCSAgRml4ZXMgdHdvIGFzc2VydGlvbnMgcmVsYXRlZCB0byBjbGVhbnVwIGZvciBhIHBhZCB0aGF0IGNvdWxkbid0CgkgIGJlIGV4cG9zZWQgYmVjYXVzZSB0aGUgY2FwcyBjb3VsZG4ndCBiZSBpZGVudGlmaWVkIGZyb20gdGhlCgkgIE1hbmlmZXN0CgkgIEZpeGVzICM2OTk5MjEKCjIwMTMtMDUtMTUgMTE6NDk6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlYWdsOiBmaXggaGFuZGxpbmcgb2Ygc3VyZmFjZSBkaW1lbnNpb24gY2hhbmdlcwoJICBEZXRlY3Qgd2hlbiB0aGUgZWFnbCBzdXJmYWNlIGNoYW5nZWQgaXRzIGRpbWVuc2lvbiAod2hlbiB0aGUgdXNlciByb3RhdGVzCgkgIHRoZSBkZXZpY2UgZm9yIGV4YW1wbGUpIGFuZCBhZGFwdCB0aGUgZWdsIGludGVybmFscyB0byBkcmF3IHRvIHRoYXQsCgkgIHByZXZlbnRpbmcgdGhhdCBpb3MgcmVzaXplcyB0aGUgaW1hZ2UgYWdhaW4gd2hlbiBkcmF3aW5nLgoJICBUaGlzIGlzIHBhcnRpY3VsYXJseSBoYXJtZnVsIHdoZW4gZWFnbCB3b3VsZCBzY2FsZSBkb3duIGEgaW1hZ2UKCSAgdG8gZHJhdyBhbmQgdGhlIGlvcyBzY3JlZW4gd291bGQgc2NhbGUgaXQgYmFjayB1cCBiZWNhdXNlIHRoZQoJICBzdXJmYWNlIGlzIG5vdyBiaWdnZXIgdGhhbiB3aGVuIHRoZSBlbGVtZW50IHdhcyBjb25maWd1cmVkLgoKMjAxMy0wNS0xNSAwMDo0ODo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogcGFyc2UgYmxvY2tfYWxpZ24sIGNoYW5uZWxzIGFuZCByYXRlIGZyb20gd2F2ZWZvcm1hdGV4IGlmIHBvc3NpYmxlCgkgIHdtYSB2MiBleHBlY3RzIGJsb2NrX2FsaWduLCBjaGFubmVscyBhbmQgcmF0ZSBmaWVsZHMgc2V0IHRvIGl0cyBjYXBzLgoJICBUaGlzIGlzbid0IHByZXNlbnQgZGlyZWNsdHkgb24gdGhlIG1hbmlmZXN0cywgc28gbXNzZGVtdXggc2hvdWxkIHBhcnNlCgkgIGl0IGZyb20gdGhlIHdhdmVmb3JtYXRleCBzdHJ1Y3R1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTkyNAoKMjAxMy0wNS0xNCAyMjowNDoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogYWRkIGJpdHJhdGUgaW5mbyB0byBhdWRpbyBzdHJlYW1zCgkgIGJpdHJhdGUgaW5mbyBpcyBhbHdheXMgcHJlc2VudCBvbiB0aGUgUXVhbGl0eUxldmVsIHhtbCBub2RlIGFzIHBhcnQKCSAgb2YgdGhlIGFkYXB0aXZlIHNlbGVjdGlvbiBwcm9jZXNzaW5nLCBwdXQgaXQgaW50byBjYXBzIGFzIHNvbWUKCSAgZGVjb2RlcnMgcmVxdWlyZSBpdCAoYXZkZWNfd21hdjIgZm9yIGV4YW1wbGUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5MjQKCjIwMTMtMDUtMTQgMTY6Mzc6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHNlbmQgc3RyZWFtIGlkIGFuZCBuZXdzZWdtZW50IGJlZm9yZSBwdXNoaW5nIGRhdGEKCSAgRml4ZXMgc3RpY2t5IGV2ZW50cyBvcmRlcmluZyB3YXJuaW5ncyB3aGVuIGRhdGEgaXMgcHVzaGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5MjQKCjIwMTMtMDUtMTUgMjI6MjQ6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogQW5ub3VuY2UgY29ycmVjdCBtcGVndHMgY2FwcwoKMjAxMy0wNS0xNSAyMDowMzozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmM6CgkgIGluc2VydGJpbjogQW5ub3RhdGUgY2FsbGJhY2sgc2NvcGVzCgoyMDEzLTA1LTE1IDE5OjIzOjA4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWljOiBFbnN1cmUgc2VnbWVudCBpcyBzZW50IGJlZm9yZSBjYXBzIGFuZCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDQyMAoKMjAxMy0wNS0xNSAxMTo1NzowNyAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmFsOiByZXF1aXJlIE9wZW5BTCA+PSAxLjE0IHRvIGJ1aWxkIHRoZSBPcGVuQUwgcGx1Z2luCgkgIEZvciBBTF9GT1JNQVRfTU9OT19BTEFXX0VYVCBhbmQgQUxfRk9STUFUX1NURVJFT19BTEFXX0VYVC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDQwMgoKMjAxMy0wNS0xNSAxMTozODozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFB1c2ggc3RyZWFtLXN0YXJ0IGV2ZW50IGJlZm9yZSBhbnl0aGluZyBlbHNlCgoyMDEzLTA1LTE1IDExOjM3OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTE6MzE6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTE6Mjg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9pbnNlcnRiaW4uYzoKCSAgaW5zZXJ0YmluOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjI2OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjI1OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyM2F1ZGlvZGVjOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjE1OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICBwYXJzZXI6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3RzCgoyMDEzLTA1LTE1IDExOjA5OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICBnZHA6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCSAgZ2RwIGVsZW1lbnRzIHN0aWxsIG5lZWRzIHRvIGJlIGZpeGVkIGZvciBhbGwgdGhlIGV2ZW50IHJlbGF0ZWQKCSAgY2hhbmdlcyBhbmQgZ2VuZXJhbGx5IHByb3Blcmx5IHBvcnRlZCB0byAxLjAuCgoyMDEzLTA1LTE1IDExOjA0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYmFzZWF1ZGlvdmlzdWFsaXplcjogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMTowMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBFbmFibGUgR0xpYiBkZXByZWNhdGlvbiB3YXJuaW5ncyBhZ2FpbgoKMjAxMy0wNS0xNSAxMTowMDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBOZWdvdGlhdGUgYXMgc29vbiBhcyBwb3NzaWJsZSB3aGVuIGdldHRpbmcgdGhlIHNpbmtwYWQgY2FwcwoKMjAxMy0wNS0xNSAxMDo1NDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSAgYXNmbXV4OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDEwOjU0OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogU2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDUtMTUgMTA6NTE6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZWRjZDg1IHRvIDA5OGMwZDcKCjIwMTMtMDUtMTUgMTA6MjM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTA6MjI6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2htLmM6CgkgIHNobTogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMDoxOToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSAgY3VybGZpbGVzaW5rOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDEwOjE4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgb3B1czogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMDoxNDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGthdGU6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTA6MTI6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmg6CgkgIGthdGVlbmM6IERlbGF5IHNlZ21lbnQgZXZlbnQgdW50aWwgd2UgaGF2ZSBjYXBzCgoyMDEzLTA1LTE1IDEwOjAyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGVkZWMvdGlnZXI6IERvbid0IHF1ZXVlIHN0aWNreSBldmVudHMgdGhhdCB3b3VsZCBjb21lIGJlZm9yZSBDQVBTCgoyMDEzLTA1LTE1IDA5OjQ3OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJICBrYXRlcGFyc2U6IEZpeCBldmVudCBoYW5kbGluZwoJICBJbnRlcm5hbCBzdGF0ZSBzaG91bGQgb25seSBiZSByZXNldCBvbiBGTFVTSF9TVE9QLCBub3QgRkxVU0hfU1RBUlQuCgkgIEFsc28gZm9yd2FyZCBwcmUtY2FwcyBldmVudHMgaW1tZWRpYXRlbHkgYW5kIGRvbid0IHF1ZXVlIHRoZW0uCgoyMDEzLTA1LTE1IDA5OjQyOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYWFjZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYW1yd2JlbmMuYzoKCSAgdm97YW1yLGFhY31lbmM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMDk6NDE6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkgIGZhYWQvZmFhYzogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAwOToyMDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBleHQvaGxzL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgaGxzOiBVc2UgR3N0VVJJRG93bmxvYWRlciBmcm9tIHRoZSBsaWJyYXJ5IGZvciBub3cgdG8ga2VlcCBldmVyeXRoaW5nIGluIGEgdXNhYmxlIHN0YXRlCgoyMDEzLTA1LTE0IDE0OjMyOjE5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXV0aWxzLmM6CgkgIGxhZHNwYTogRml4IGNvbXBpbGF0aW9uIGlzc3VlIHdoZW4gbHJkZiBpcyBlbmFibGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAzMjgKCjIwMTMtMDUtMTQgMDA6MTQ6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkqIGdzdC9uc2YvZGlzNjUwMi5oOgoJKiBnc3QvbnNmL2Zkc19zbmQuYzoKCSogZ3N0L25zZi9mZHNfc25kLmg6CgkqIGdzdC9uc2YvZm1vcGwuYzoKCSogZ3N0L25zZi9mbW9wbC5oOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnNmL2dzdG5zZi5oOgoJKiBnc3QvbnNmL2xvZy5jOgoJKiBnc3QvbnNmL2xvZy5oOgoJKiBnc3QvbnNmL21tYzVfc25kLmM6CgkqIGdzdC9uc2YvbW1jNV9zbmQuaDoKCSogZ3N0L25zZi9uZXM2NTAyLmM6CgkqIGdzdC9uc2YvbmVzNjUwMi5oOgoJKiBnc3QvbnNmL25lc19hcHUuYzoKCSogZ3N0L25zZi9uZXNfYXB1Lmg6CgkqIGdzdC9uc2YvbnNmLmM6CgkqIGdzdC9uc2YvbnNmLmg6CgkqIGdzdC9uc2Yvb3NkLmg6CgkqIGdzdC9uc2YvdHlwZXMuaDoKCSogZ3N0L25zZi92cmM3X3NuZC5jOgoJKiBnc3QvbnNmL3ZyYzdfc25kLmg6CgkqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSogZ3N0L25zZi92cmN2aXNuZC5oOgoJICBuc2Y6IHJlbW92ZSBuc2YgcGx1Z2luLCByZXBsYWNlZCBieSBnbWUgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgwMjEKCjIwMTMtMDQtMTcgMDI6MTg6NTggKzAyMDAgIEp1YW4gTWFudWVsIEJvcmdlcyBDYcOxbyA8anVhbm1hYmNtYWlsQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWwuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5oOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5oOgoJICBvcGVuYWw6IGltcHJvdmVkIHBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTgwMTMKCjIwMTMtMDUtMTMgMDA6MDg6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGJsYWNrbGlzdCBzb21lIG1vcmUgdGVzdHMgZnJvbSB0aGUgZ2VuZXJpYyBzdGF0ZSBjaGFuZ2UgdGVzdAoKMjAxMy0wNS0xMyAwMDowNjoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9ibHVlei9ibHVlei1wbHVnaW4uYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogYWRkIGRlYnVnIGNhdGVnb3J5IGZvciBhdmR0cCB1dGlscwoKMjAxMy0wNS0xMiAyMzo1MTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBkaXJhYzogcmVtb3ZlIG9sZCBkaXJhYy1yZXNlYXJjaCBsaWJyYXJ5IGJhc2VkIGNvZGVjCgkgIEl0J3Mgbm90IGRldmVsb3BlZCBhbnkgbW9yZSBhbmQgcmVwbGFjZWQgYnkgdGhlCgkgIGxpYnNjaHJvZWRpbmdlci1iYXNlZCBlbGVtZW50cyBpbiBnc3QtcGx1Z2lucy1nb29kLgoJICAoVGhlIGxpYnNjaHJvZWRpbmdlciAxLjAuOSByZWxlYXNlIG5vdGVzIHN0YXRlICJUaGlzCgkgIGlzIGFuIGV4Y2l0aW5nIHJlbGVhc2U6IG1vc3Qgb2YgdGhlIGVuY29kaW5nIHRvb2xzIGluCgkgIGRpcmFjLXJlc2VhcmNoIGhhdmUgYmVlbiBwb3J0ZWQgb3ZlciB0byBTY2hyw7ZkaW5nZXIsIHNvCgkgIG5vdyBzY2hybyBoYXMgdGhlIHNhbWUgb3IgYmV0dGVyIGNvbXByZXNzaW9uIGVmZmljaWVuY3kKCSAgYXMgZGlyYWMtcmVzZWFyY2guIikKCjIwMTMtMDUtMTIgMjI6NDE6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkqIGV4dC9vZmEvZ3N0b2ZhLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOgoJICBvZmE6IHBvcnQgdG8gMS4wCgoyMDEzLTA1LTEyIDIwOjMyOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6CgkgIG11c2ljYnJhaW56OiByZW1vdmUgdHJtIGVsZW1lbnQgd2hpY2ggaXMgbm90IHVzZWZ1bCBhbnkgbW9yZQoJICBUUk0gSURzIGFyZSBNdXNpY0JyYWlueicgb2xkIGF1ZGlvIGZpbmdlcnByaW50aW5nIHN5c3RlbSBmcm9tCgkgIFJlbGF0YWJsZSwgdGhleSB3ZXJlIHBoYXNlZCBvdXQgaW4gZmF2b3VyIG9mIE11c2ljSVBzIFBVSURzLgoJICBodHRwczovL3dpa2kubXVzaWNicmFpbnoub3JnL0hpc3Rvcnk6VFJNCgoyMDEzLTA1LTEyIDE4OjUxOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgbmVvbmh0dHBzcmM6IGFkZCBzdXBwb3J0IGZvciBTQ0hFRFVMSU5HIHF1ZXJ5CgoyMDEzLTA1LTEyIDE4OjQ3OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgbmVvbmh0dHBzcmM6IGFkZCBpcmFkaW8tbW9kZSBwcm9wZXJ0eSBhbmQgcG9zdCBpY3kgbWV0YWRhdGEgYXMgdGFncwoKMjAxMy0wNS0xMiAxODoyODoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgbmVvbmh0dHBzcmM6IHBvcnQgdG8gMS4wCgoyMDEzLTA1LTExIDEyOjA3OjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IEZpeCB0aW1lc3RhbXAgZ2VuZXJhdGlvbgoKMjAxMy0wNS0xMSAxOTo0MToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgcmZic3JjOiBwb3N0IGVycm9yIG1lc3NhZ2VzIG9uIGVycm9ycwoKMjAxMy0wNS0xMCAxNzozMDo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZGlmZi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZGlmZi5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyc2JhZC5jOgoJICB2aWRlb2ZpbHRlcnM6IEFkZCB2aWRlb2RpZmYgZWxlbWVudAoKMjAxMy0wNC0yNyAxMTo1Njo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IHNldCB0aW1lc3RhbXBzIHdoZW4gcmVzdHJpZGluZyBidWZmZXIKCjIwMTMtMDQtMTUgMDA6MjQ6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmsuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFya2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrZGV0ZWN0Lmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOgoJICB2aWRlb21hcmsvZGV0ZWN0OiByZW5hbWUgdG8gc2ltcGxldmlkZW9tYXJrW2RldGVjdF0KCjIwMTMtMDQtMTMgMTU6MTY6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSAgdmlkZW9tYXJrL2RldGVjdDogcG9ydCB0byAxLjAKCjIwMTMtMDUtMTEgMDA6MzY6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgcmZic3JjOiBmaXggcmZiZGVjb2RlciBuZXcvZnJlZSBhc3ltZXRyeSBhbmQgd3JvbmcgZnJlZSBpbiBlcnJvciBjYXNlCgkgIElmIHJmYl9kZWNvZGVyX25ldygpIGFsbG9jYXRlcyB0aGUgZGVjb2RlciBzcnVjdHVyZSwgcmZiX2RlY29kZXJfZnJlZSgpCgkgIHNob3VsZCBmcmVlIHRoZSBzdHJ1Y3R1cmUuIFdlIHNob3VsZCBub3QgZnJlZSB0aGUgZGVjb2RlciB3aGVuIGFuCgkgIGVycm9yIG9jY3VycyBkdXJpbmcgY29ubmVjdGlvbiAtIGl0IGhvbGRzIGxvdHMgb2YgY29uZmlndXJhdGlvbi9zdGF0ZQoJICBhbmQgd2lsbCBiZSBmcmVlZCBsYXRlciBpbiBmaW5hbGl6ZS4KCjIwMTMtMDUtMTEgMDA6Mjk6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGlicmZiL2QzZGVzLmM6CgkqIGdzdC9saWJyZmIvZDNkZXMuaDoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogbWFrZSBhdXRoZW50aWNhdGlvbiBoYW5kc2hha2Ugc2FmZSBmb3IgbXVsdGlwbGUgaW5zdGFuY2VzCgkgIE1vdmUgREVTIGtleSBpbnRvIGNvbnRleHQgc3RydWN0LgoKMjAxMy0wNS0xMCAyMzowOTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguYzoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmg6CgkgIHJmYnNyYzogcmVtb3ZlIEdQTC1saWNlbnNlZCBzb3VyY2UgZmlsZQoJICBhbmQgcmVwbGFjZSB0aGUgMSUgb2YgaXQgdGhhdCB3ZSBuZWVkIHdpdGggbmV3IGNvZGUsIHNvIHdlCgkgIGRvbid0IGhhdmUgdG8gY2hhbmdlIHRoZSBydW50aW1lIGxpY2Vuc2Ugb2YgcmZic3JjIHRvIEdQTC4KCjIwMTMtMDUtMTAgMDk6NDk6NDYgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHJmYnNyYzogdXNlIGdsaWIgZ2lvIHNvY2tldHMgZm9yIG5ldHdvcmsgYWNjZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzgKCjIwMTMtMDUtMDkgMTY6NDE6MzIgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkgIHJmYnNyYzogcG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzOAoKMjAxMy0wNS0xMCAxMjo0OTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IEFkZCBkZXN0cm95IG5vdGlmeSBpbnN0ZWFkIG9mIGFsd2F5cyBjYWxsaW5nIGVnbFRlcm1pbmF0ZSgpIG9uIHRoZSBkaXNwbGF5CgkgIEluIHNvbWUgc2NlbmFyaW9zLCBmb3IgZXhhbXBsZSBpbiBRdFdlYktpdCwgbWlnaHQgYmUgZGlmZmljdWx0IHRvIG9idGFpbiBmdWxsCgkgIGNvbnRyb2wgb24gdGhlIGVnbCBkaXNwbGF5IGFuZCBpdCBtaWdodCBiZSBvbmx5IGFjY2Vzc2libGUgaW5kaXJlY3RseSB2aWEKCSAgZWdsR2V0Q3VycmVudERpc3BsYXkoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDA1OAoKMjAxMy0wNS0xMCAxMTo0ODo0NiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBBbGxvdyBiZWluZyB1c2VkIGluIEMrKyBjb2RlCgoyMDEzLTA1LTA4IDIzOjE3OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVuYW1lIHNyYyB0ZW1wbGF0ZSBmcm9tIHNyYyVkIHRvIHNyY18ldQoKMjAxMy0wNS0wOCAxODoyMjozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvQVVUSE9SUzoKCSogZXh0L2Rhc2gvQ09QWUlORzoKCSAgZGFzaDogcmVtb3ZlIHN1cGVyZmx1b3VzIGZpbGVzCgkgIEF1dGhvcnMgYW5kIGxpY2Vuc2UgYXJlIGF0IHRoZSB0b3Agb2YgdGhlIHNvdXJjZSBmaWxlcwoKMjAxMy0wNS0wMiAxNDoxMTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaDogZG8gbm90IHVzZSBkZXByZWNhdGVkIGdsaWIgbXV0ZXggQVBJCgoyMDEzLTA0LTIzIDEyOjA4OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4aW5nIGNvbXBpbGVyIHdhcm5pbmdzIGFib3V0IHByaW50IGZvcm1hdHMKCjIwMTMtMDUtMDggMTE6MTQ6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBkYXNoOiBlbmFibGUgaW4gY29uZmlndXJlL21ha2VmaWxlcwoJICBJdCB3YXMgaW50ZW50aW9uYWxseSBkaXNhYmxlZCB1cCB0byB0aGlzIHBvaW50IHRvIHByZXZlbnQKCSAgY29tcGlsZSBmYWlsdXJlcyBhcyBkYXNoZGVtdXggZGV2ZWxvcG1lbnQgY29tbWl0cyB3ZXJlIGFsbCBmb3IKCSAgMC4xMCB1cCB0byBoZXJlCgoyMDEzLTA0LTE4IDA3OjQxOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L2Rhc2gvZ3N0ZG93bmxvYWRyYXRlLmg6CgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJICBkYXNoZGVtdXg6IHBvcnQgdG8gMS4wCgoyMDEzLTA0LTExIDA5OjEyOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggYW5vdGhlciB3cm9uZyBhc3NlcnRpb24KCSAgQWxzbyBhZGRzIGEgY291cGxlIGxvZyBtZXNzYWdlcyBmb3IgZWFzaWVyIGRlYnVnZ2luZwoKMjAxMy0wNC0xMCAxODowOToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHdyb25nIGFzc2VydHMKCSAgVGhvc2UgYXNzZXJ0cyBzaG91bGQgYmUgdGhlIGNvbnRyYXJ5IHRoYXQgdGhleSBhcmUuIEFuZCBhbHNvCgkgIHRoZSBzdXJyb3VuZCBmdW5jdGlvbnMgc2hvdWxkIGFscmVhZHkgY2hlY2sgdGhhdC4gUmVtb3ZpbmcgdGhlbS4KCjIwMTMtMDMtMTMgMTU6NTU6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBvbmx5IHN0YXJ0IHRpbWVzdGFtcCBmcm9tIDAgZm9yIGxpdmUgc3RyZWFtCgkgIFdlIG9ubHkgd2FudCB0byBhZGp1c3QgdGhlIHRpbWVzdGFtcHMgc28gdGhhdCB0aGV5IHN0YXJ0IGZyb20gMCBmb3IgbGl2ZQoJICBzdHJlYW1zLiBOb24tbGl2ZSBzdHJlYW1zIGFscmVhZHkgc3RhcnQgZnJvbSAwIGFuZCBhZnRlciBhIHNlZWsgd2UgYWN0dWFsbHkgd2FudAoJICB0byB0aW1lc3RhbXAgdG8gYmUgdGhlIHBvc2l0aW9uIHdlIHNlZWsgdG8uCgoyMDEzLTAzLTA4IDE1OjA0OjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IG1ha2UgdGltZXN0YW1wcyBzdGFydCBmcm9tIDAKCSAgTm9uLWxpdmUgc3RyZWFtcyBzaG91bGQgdGltZXN0YW1wIGJ1ZmZlcnMgd2l0aCBhIHJ1bm5pbmctdGltZSBzdGFydGluZyBmcm9tCgkgIDAuIFNpbmNlIHdlIGFscmVhZHkgcHVzaCBhIDAgLT4gLTEgc2VnbWVudCwgYnJpbmcgdGhlIHRpbWVzdGFtcHMgdG8gMAoJICBieSBzdWJ0cmFjdGluZyB0aGUgaW5pdGlhbCB0aW1lc3RhbXAuCgoyMDEzLTAzLTA4IDE0OjU5OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYWxzbyBzZW5kIG5ld3NlZ21lbnQgb24gc3RhcnR1cAoKMjAxMy0wMy0wOCAxNDo1NzozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNtYWxsIGNsZWFudXAKCjIwMTMtMDItMjIgMTc6MDA6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGxpdmUgc3RyZWFtIHBsYXliYWNrIGNyYXNoZml4CgoyMDEzLTAyLTIyIDE2OjQ2OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogbXBkcGFyc2VyOiBkbyBub3QgY2xlYW51cCB4bWwgbGliIHRvbyBlYXJseQoJICBUaGUgeG1sQ2xlYW51cFBhcnNlciBmdW5jdGlvbiBzZWVtcyB0byBjbGVhbnVwIGFsbCBzdGF0aWNhbGx5CgkgIGFsbG9jYXRlZCBsaWJ4bWwgdmFyaWFibGVzLCBtYWtpbmcgaXQgdW51c2FibGUuIFdlIGNhbid0IGd1YXJhbnRlZQoJICB0aGF0IGRhc2hkZW11eCB3b24ndCBuZWVkIGl0IGFueW1vcmUsIHNvIGJldHRlciBub3QgY2FsbCBpdC4KCjIwMTMtMDItMjIgMTY6NDA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmVpbXBsZW1lbnRpbmcgbGl2ZSBzdHJlYW1zIG1hbmlmZXN0IHVwZGF0ZXMKCSAgTWFuaWZlc3QgdXBkYXRlcyBzaG91bGQgYmUgZG9uZSBwZXJpb2RpY2FsbHkgZm9yIGxpdmUgc3RyZWFtcywKCSAgdGhpcyBwYXRjaCBtYWtlcyB0aGUgZGVtdXhlciBjcmVhdGUgYSBuZXcgbWFuaWZlc3QgY2xpZW50IGZvcgoJICB0aGUgbmV3IHZlcnNpb24gYW5kIHRyYW5zZmVycyB0aGUgc3RyZWFtIHBvc2l0aW9uIHRvIHRoZSBuZXcKCSAgb25lLCBkaXNjYXJkaW5nIHRoZSBvbGQgb25lIGFmdGVyd2FyZHMuCgoyMDEzLTAyLTIwIDEyOjQ5OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogbXBkcGFyc2VyOiBhbGxvdyBwZXJpb2RzIHdpdGhvdXQgc3RhcnQgdGltZSBmb3IgbGl2ZSBzdHJlYW1zCgkgIExpdmUgc3RyZWFtcyBjYW4gaGF2ZSB1bmRlZmluZWQgc3RhcnQgdGltZXMgZm9yIHRoZSBwZXJpb2RzIGFuZAoJICBtcGRwYXJzZXIgY2FuIGxldCB0aGF0IHBhc3MgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQKCjIwMTMtMDItMTkgMTk6MzU6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaDogbXBkcGFyc2VyOiB1c2UgZ3VpbnQ2NCBmb3IgdGltZXN0YW1wcwoJICBUaGUgdGltZXN0YW1wcyBjYW4gYmUgcHJldHR5IGJpZywgc28gdXNlIGd1aW50NjQgZm9yIHRoZW0KCjIwMTMtMDItMTkgMDE6MjY6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IG1wZCBwYXJzaW5nOiBmaXggcXVlcnkgcGFyYW1ldGVyIHBhcnNpbmcKCSAgVHJ5IGhhcmRlciB0byBkZXRlY3QgVVJMIHBhcmFtZXRlcnMgYW5kIHNwbGl0IHRoZW0gdG8gYWNjb21vZGF0ZQoJICB0aGUgZnJhZ21lbnQgdXJsIGluIHRoZSBjb25jYXQ6CgkgIGJhc2UtdXJsICsgZnJhZ21lbnQtdXJsICsgdXJsLXBhcmFtZXRlcnMKCjIwMTMtMDItMTggMTQ6MDI6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcGx1ZyBzb21lIGxlYWtzCgkgIEFkZCBzb21lIG1pc3NpbmcgZnJlZS91bnJlZnMgc3BvdHRlZCBieSB2YWxncmluZAoKMjAxMy0wMi0xOCAxNDowMToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1bnVzZWQgbXV0ZXhlcwoKMjAxMy0wMi0xNCAxNzozOTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcHJvcGVybHkgcmVzZXQgc3RyZWFtIHN0YXR1cyBhZnRlciBhIGZsdXNoCgkgIFRoZSBzdHJlYW0gZW9zL2VuZCBvZiBwZXJpb2Qgc3RhdHVzIG11c3QgYWxzbyBiZSByZXNldCBhZnRlciBhIGZsdXNoaW5nCgkgIHNlZWsuIFRoaXMgbWFrZXMgc2Vla2luZyBhZnRlciBFT1Mgd29yay4KCjIwMTMtMDItMTMgMDI6MTM6MjMgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDoga2VlcCBhIGxpc3Qgb2Ygc3RyZWFtcyBwZXJpb2RzCgkgIEtlZXAgYSBsaXN0IG9mIHN0cmVhbXMgcGVyIHBlcmlvZCBzbyB0aGF0IHRoZSBkb3dubG9hZCBsb29wIGNhbiBrZWVwCgkgIGRvd25sb2FkaW5nIHdoaWxlIHRoZSBzdHJlYW0gbG9vcCBpcyBzdGlsbCBwdXNoaW5nIG9sZCBwZXJpb2QncyBkYXRhLgoKMjAxMy0wMi0xMiAyMjo1NDozMiAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBQcm9wZXJseSBwYXJzZSBiYXNlIHVyaSBmcm9tIG1wZC4KCjIwMTMtMDItMTIgMjI6NTM6MTYgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogUmVtb3ZlIHVudXNlZCBtZW1iZXJzLgoKMjAxMy0wMi0xMiAxODo1MDo1MSAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBPbmx5IHNlbmQgbmV3c2VnbWVudCBvbiBzZWVrLgoKMjAxMy0wMi0wOCAwMjo1NTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc2VuZCBzZWdtZW50cyB0aGF0IG92ZXJ3cml0ZSBwcmV2aW91cyBvbmVzCgkgIFRoaXMgaXMgb25seSBkb25lIGZvciBzZWVrcywgc28gaXQgaXMgZmluZQoKMjAxMy0wMi0wNyAyMTo1ODozNyAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHN3aXRjaCBiaXRyYXRlcyB3aXRob3V0IHN3aXRjaGluZyBwYWRzCgoyMDEzLTAyLTA3IDE2OjIyOjEzIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogUmVtb3ZlIHVudXN1ZWQgbWV0aG9kLgoKMjAxMy0wMi0wNyAxNDowOTo0NCAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFNldCBzdHJlYW0gbmVlZF9oZWFkZXIgYWZ0ZXIgc2VlayBhbmQgaGFzX2RhdGFfcXVldWVkIHRvIEZBTFNFIHdoZW4gZmx1c2hpbmcgc3RyZWFtLgoKMjAxMy0wMi0wNyAwMzowOToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZG8gbm90IHBhdXNlL3N0YXJ0IHRoZSBzdHJlYW0gbG9vcCBvbiBwbGF5aW5nL3BhdXNlZCBjaGFuZ2VzCgkgIFRoZSBkZW11eGVyIHNob3VsZG4ndCBjYXJlIGFib3V0IHBhdXNlZC9wbGF5aW5nLCBpdCBzaG91bGQgYWN0IHRoZQoJICBzYW1lIGluIGJvdGggc3RhdGVzCgoyMDEzLTAyLTA2IDEzOjMxOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgcHJvcGVydHkgdGhhdCBpc24ndCB1c2VkIGFueW1vcmUKCSAgUmVtb3ZlIHNvbWUgcGllY2VzIG9mIGNvZGUgdGhhdCBhcmUgZnJvbSBhbiBvbGQgcHJvcGVydHkKCSAgdGhhdCBpc24ndCB1c2VkIGFueW1vcmUKCjIwMTMtMDItMDUgMTc6Mzg6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvZGFzaC9nc3Rkb3dubG9hZHJhdGUuaDoKCSAgZGFzaGRlbXV4OiBhZGQgYSBkb3dubG9hZHJhdGUgdXRpbGl0eQoJICBBIHNtYWxsIHN0cnVjdCB0aGF0IGtlZXBzIGEgc2hvcnQgaGlzdG9yeSBvZiBmcmFnbWVudCBkb3dubG9hZCBiaXRyYXRlcwoJICB0byBoYXZlIGFuIGF2ZXJhZ2UgbWVhc3VyZSBvZiBOIGxhc3QgZnJhZ21lbnRzIGluc3RlYWQgb2YgdXNpbmcgb25seQoJICB0aGUgbGFzdCBkb3dubG9hZGVkIGJpdHJhdGUKCjIwMTMtMDItMDUgMTQ6MjQ6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNwcmlua2xpbmcgc29tZSBtb3JlIGxvZwoKMjAxMy0wMi0wNSAxNDoyMjo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGNoYW5nZSBiaXRyYXRlcyBiYXNlZCBvbiB0aGUgc3RyZWFtIGJpdHJhdGUKCSAgRG8gbm90IHVzZSBhIGdsb2JhbCBiaXRyYXRlIGFzIHRoZSBzaXplcyBvZiB0aGUgZnJhZ21lbnRzIG1hdHRlcgoJICB3aGVuIGNhbGN1bGF0aW5nIHRoZSBkb3dubG9hZCByYXRlIGFzIHRoZSBjb25uZWN0aW9uIHNldHVwIHRpbWUgaXMKCSAgYWxzbyBiZWluZyB0YWtlbiBpbnRvIHRoZSBkb3dubG9hZCBkdXJhdGlvbiwgYSBzbWFsbGVyIGZyYWdtZW50CgkgIHdpbGwgaGF2ZSBhIGxvd2VyIGJpdHJhdGUgdGhhbiBhIGxhcmdlciBvbmUuCgkgIFRoaXMgYXZvaWRzIHN3aXRjaGluZyB0aGUgYml0cmF0ZXMgZm9yIHN0cmVhbXMgZnJlcXVlbnRseSBiZWNhdXNlCgkgIG9mIGJpdHJhdGUgbWlzbWF0Y2hlcwoKMjAxMy0wMi0wNSAwMDo0NTowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5jOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5oOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudGVkLmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIGRhc2hkZW11eDogcmVmYWN0b3IgdG8gdXNlIHRoZSB1cmlkb3dubG9hZGVyIGxpYiBpbnN0ZWFkIG9mIGludGVybmFsIGNvcHkKCjIwMTMtMDItMDUgMDE6Mjk6MjggLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBNYWtlIHN1cmUgc3dpdGNoX3BhZHMgd29uJ3QgbGVhayBhbnkgcGFkLgoKMjAxMy0wMi0wNCAyMjo1ODozMiAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgZGFzaGRlbXV4OiBQcm9wZXJseSBzdG9wIGRvd25sb2FkIGFuZCBzdHJlYW0gdGFza3Mgd2hlcmUgYXBwcm9wcmlhdGUuCgoyMDEzLTAyLTAxIDAyOjEyOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhdm9pZCBhbiBhc3NlcnRpb24gd2hlbiBzdG9wcGluZyB0aGUgcGlwZWxpbmUKCSAgQXZvaWRzIGFzc2VydGluZyB3aGVuIGRhdGFxdWV1ZXMgYXJlIHNldHRpbmcgdG8gZmx1c2hpbmcgZHVlCgkgIHRvIGEgcGlwZWxpbmUgc3RvcCBkdXJpbmcgYSBwYWQgc3dpdGNoLgoKMjAxMy0wMi0wMSAwMjoxMDoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogZG93bmxvYWQgdGhlIG5leHQgZnJhZ21lbnQgd2l0aCBzbWFsbGVyIHRpbWVzdGFtcAoJICBJbnN0ZWFkIG9mIGRvd25sb2FkaW5nIDEgZnJhZ21lbnQgcGVyIHN0cmVhbSBwZXIgZG93bmxvYWQgbG9vcCwKCSAgc2VsZWN0IHRoZSBzdHJlYW0gd2l0aCB0aGUgZWFybGllciB0aW1lc3RhbXAgYW5kIGdldCBhIGZyYWdtZW50CgkgIG9ubHkgZm9yIHRoYXQgb25lLgoJICBUaGUgb2xkIGFsZ29yaXRobSB3b3VsZCBsZWFkIHRvIHByb2JsZW1zIHdoZW4gdGhlIGZyYWdtZW50IGR1cmF0aW9ucwoJICB3ZXJlIHRvbyBkaWZmZXJlbnQgZm9yIHN0cmVhbXMuCgoyMDEzLTAyLTAxIDAwOjM3OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogdHJhY2sgc2VnbWVudHMgaW4gdGhlIGRlbXV4ZXIKCSAgVXNlIGEgR3N0U2VnbWVudCB0byB0cmFjayB0aGUgY3VycmVudCBzZWdtZW50IGluZm9ybWF0aW9uIGluIHRoZQoJICBkZW11eGVyLgoKMjAxMy0wMi0wMSAwMDozMzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSBidWZmZXJpbmcgbWVzc2FnZSBlbWlzc2lvbiBmcm9tIGRhc2hkZW11eAoJICBkYXNoZGVtdXggc2hvdWxkbid0IGVtaXQgdGhlIGJ1ZmZlcmluZyBtZXNzYWdlIGFzIHRoYXQgY2FuIHBhdXNlCgkgIHRoZSBwaXBlbGluZS4gSXQgaGFzIG5vIHByb3BlciBrbm93bGVkZ2Ugb2YgdGhlIGRvd25zdHJlYW0gYnVmZmVyaW5nCgkgIHN0YXR1cyBzbyBpdCBjYW4gcGF1c2UgdGhlIHBpcGVsaW5lIHdoZW4gaXQgaXNuJ3QgbmVjZXNzYXJ5LiBJdCBzaG91bGQKCSAgaGF2ZSBhbiBpbnRlcm5hbCBidWZmZXIgZm9yIGRvd25sb2FkaW5nIHRoZSBzdHJlYW1zIGFoZWFkIG9mIHBsYXliYWNrLAoJICBidXQgdGhhdCBzaG91bGRuJ3QgbWFrZSBpdCBhYmxlIHRvIHN0b3AgdGhlIHBpcGVsaW5lIGZvciBidWZmZXJpbmcuCgkgIEEgcGFydGljdWxhciBjYXNlIGluIHdoaWNoIHRoaXMgaXMgYmFkIGlzIHdoZW4gYSBwYWQgc3dpdGNoIGhhcHBlbnMKCSAgKGNoYW5naW5nIGJpdHJhdGVzIGZvciBleGFtcGxlKSwgdGhlIG5ldyBwYWRzIGRhc2hkZW11eCBjcmVhdGVzCgkgIHdpbGwgZ2V0IGxpbmtlZCB0byBkZW11eGVycyBhbmQgbmV3IHF1ZXVlcyB3aWxsIGJlIGNyZWF0ZWQsCgkgIHRoZXNlIHF1ZXVlcyBhcmUgaW5pdGlhbGx5IGVtcHR5IGFuZCBkYXNoZGVtdXggd2lsbCBxdWlja2x5CgkgIGRyYWluIGl0cyBidWZmZXJzIGJ5IHB1c2hpbmcgdGhlbSB0byB0aG9zZSBxdWV1ZXMuIFNvIGl0CgkgIHdvdWxkIGhhdmUgbm8gbW9yZSBidWZmZXJzIGludGVybmFsbHkgYW5kIHdvdWxkIGVtaXQgYQoJICBidWZmZXJpbmcgbWVzc2FnZSB3aXRoIGEgbG93IHJhdGlvLCBjYXVzaW5nIHRoZSBwaXBlbGluZQoJICB0byBwYXVzZSB3aGVuIGl0IHdvdWxkbid0IGJlIG5lY2Vzc2FyeS4KCjIwMTMtMDEtMzAgMTc6MzE6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmluZyB1bnVzZWQgY29kZQoJICBDbGVhbmluZyB1cCBieSByZW1vdmluZyB1bnVzZWQgY29kZSBhbmQgdmFyaWFibGVzCgoyMDEzLTAxLTMwIDE3OjI3OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmUtZW5hYmxlIGFuZCBmaXggYWRhcHRpdmUgc3dpdGNoaW5nCgkgIEl0IGlzIHN0aWxsIHVuc3RhYmxlLCBidXQgYXQgbGVhc3QgaXQgd29ya3Mgd2hlbiB0aGUgc3dpdGNoZXMgYXJlbid0CgkgIGhhcHBlbmluZyBhZnRlciBldmVyeSBmcmFnbWVudAoKMjAxMy0wMS0yOSAxNTo1ODo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogY29ycmVjdGx5IHNpZ25hbCBFT1Mgb24gbWFuaWZlc3QgZW5kCgkgIFB1dCBFT1Mgb24gdGhlIHN0cmVhbXMgcXVldWVzIGFmdGVyIHRoZSBsYXN0IGZyYWdtZW50IGZyb20gdGhlCgkgIGxhc3QgcGVyaW9kIGZvciBlYWNoIHN0cmVhbS4gVGhpcyB3YXkgd2Uga2VlcCBpdCBzZXJpYWxpemVkCgkgIHdpdGggdGhlIGJ1ZmZlcnMgYW5kIGl0IHdpbGwgd29yayB3aGVuIHN0cmVhbXMgaGF2ZSBkaWZmZXJlbnQKCSAgZW5kaW5nIHRpbWVzCgoyMDEzLTAxLTI5IDEzOjA4OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBkZXRlY3QgZW5kLW9mLXBlcmlvZCBjb3JyZWN0bHkKCSAgRGV0ZWN0IGVuZCBvZiBwZXJpb2Qgd2hlbiB0aGVyZSBhcmUgbm8gbW9yZSBidWZmZXJzIG9uIGFueSBvZiB0aGUKCSAgc3RyZWFtcwoKMjAxMy0wMS0yOSAxMzowNDowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogVXNlIHRoZSBzbWFsbGVzdCBxdWV1ZSB2YWx1ZSB0byBkZWZpbmUgYnVmZmVyaW5nIHN0YXRlCgkgIFRoZSBzbWFsbGVzdCBxdWV1ZSBzaG91bGQgYmUgdXNlZCB0byBwcmV2ZW50IGJsb2NraW5nIHRoZSBkb3dubG9hZAoJICB0aHJlYWQgd2hlbiBhIHN0cmVhbSBoYXMgdG9vIG11Y2ggZGF0YSBidWZmZXJlZCwgbGVhdmluZyB0aGUgb3RoZXIKCSAgc3RyZWFtcyBzdGFydmluZyBmcm9tIGZyYWdtZW50cwoKMjAxMy0wMS0yOSAxMToyMjo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IGZpeCBwYXJzaW5nIG9mIHN0cmVhbXMgdG8gZ2V0IGNvcnJlY3QgZnJhZ21lbnQgZHVyYXRpb25zCgkgIFVzZSB0aGUgY3VycmVudCBzdHJlYW0gYmFzZSB0aW1lIGluc3RlYWQgb2YgdGhlIDB0aCBzdHJlYW0gYmFzZSB0aW1lCgkgIHRvIGdldCBkZWZhdWx0IGR1cmF0aW9uIGZvciBmcmFnbWVudHMuCgoyMDEzLTAxLTI5IDAxOjA2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBibG9jayB3YWl0aW5nIGZvciBidWZmZXJzIGluc3RlYWQgb2YgYnVzeSB3YWl0CgkgIE1ha2UgdGhlIHN0cmVhbWluZyBsb29wIGJsb2NrIHdhaXRpbmcgZm9yIGJ1ZmZlcnMgb24gdGhlIHF1ZXVlcyBpbnN0ZWFkCgkgIG9mIGJ1c3kgd2FpdGluZyBlYXRpbmcgY3B1IGNvbnRpbnVvdXNseSBvbiBhIHF1ZXVlIGxlbmd0aCBjaGVjawoKMjAxMy0wMS0yOCAxOTo0Mzo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBmaXggc2Vla2luZyBvbiBtdWx0aXBsZSBzdHJlYW1zCgkgIEVhY2ggc3RyZWFtIGhhcyBpdHMgb3duIGR1cmF0aW9ucyBhbmQgdGltZXN0YW1wcywgdGhlIGZyYWdtZW50IG51bWJlcgoJICBpcyBkaWZmZXJlbnQgZm9yIGVhY2ggc3RyZWFtIHdoZW4gc2Vla2luZywgc28gdGhlIHNlZWsgaGFzIHRvIGJlIGRvbmUKCSAgZm9yIGFsbCBzdHJlYW1zLCByYXRoZXIgdGhhbiBvbiBhIHNpbmdsZSBzdHJlYW0gYW5kIHByb3BhZ2F0ZWQgdG8KCSAgb3RoZXJzCgoyMDEzLTAxLTI4IDE4OjUyOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50LmM6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IFJlcGxhY2UgR1F1ZXVlIGJ5IEdzdERhdGFRdWV1ZQoJICBHc3REYXRhUXVldWUgaGFzIHByb3BlciBsb2NraW5nIGFuZCBwcm92aWRlcyBmdW5jdGlvbnMgdG8gbGltaXQgdGhlCgkgIHNpemUgb2YgdGhlIHF1ZXVlLiBBbHNvIGhhcyBibG9ja2luZyBjYWxscyB0aGF0IGFyZSB1c2VmdWwgdG8KCSAgb3VyIG11bHRpdGhyZWFkIHNjZW5hcmlvIGluIERhc2guCgoyMDEzLTAxLTI4IDEyOjI4OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogbW92ZSB0aGUgYnVmZmVycyBxdWV1ZXMgdG8gdGhlIHN0cmVhbXMKCSAgU3RvcmUgdGhlIGJ1ZmZlcnMgc2VwYXJhdGVseSBmb3IgZWFjaCBzdHJlYW0sIHRoaXMgaXMgY2xlYXJlciB0aGFuCgkgIGhhdmluZyBhIHF1ZXVlIHdpdGggYSBsaXN0IG9mIGJ1ZmZlcnMuIEl0IGFsc28gYWxsb3dzIGVhc2llciBzZWxlY3Rpb24KCSAgb2YgYnVmZmVycyB0byBwdXNoIGluIGxhdGVyIHJlZmFjdG9ycwoKMjAxMy0wMS0yOCAxMDo0NjoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlZmFjdG9yIHN0cmVhbXMgZGF0YSB0byBpdHMgb3duIHN0cnVjdAoJICBLZWVwcyBjb2RlIG1vcmUgb3JnYW5pemVkIGFuZCBzaW1pbGFyIHRvIHdoYXQgb3RoZXIgZGVtdXhlcnMKCSAgdXN1YWxseSBkbwoKMjAxMy0wMS0yNSAxMzowNDoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IGRvIG5vdCB0cnkgdG8gcHJpbnQgYSBwb2ludGVyIGFzIGEgc3RyaW5nCgoyMDEzLTAxLTI1IDEyOjQ1OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogUmVtb3ZlIHRpbWluZyBjb2RlIHRoYXQgZGVsYXlzIHB1c2hpbmcgb2YgZnJhZ21lbnRzCgkgIEZyYWdtZW50cyBzaG91bGQgYmUgcHVzaGVkIEFTQVAgYXMgZG93bnN0cmVhbSBzaG91bGQgYmUgcmVzcG9uc2libGUgZm9yCgkgIGRvaW5nIHRoZSBzeW5jcmhvbml6YXRpb24gYW5kIHByb3BlciBidWZmZXJpbmcuCgkgIFRoaXMgaGFzIHRoZSBncmVhdCBzaWRlIGVmZmVjdCBvZiBmaXhpbmcgbW9zdCBvZiB0aGUgc2Vla2luZyBBL1Ygc3luYyBpc3N1ZXMuCgoyMDEzLTAxLTI1IDA5OjM2OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGRhc2g6IGZpeGluZyBidWlsZCB3YXJuaW5ncwoJICBBbHNvIHJ1bm5pbmcgdGhyb3VnaCBnc3QtaW5kZW50CgoyMDEzLTAxLTIzIDE2OjQzOjEyIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZ3N0ZGFzaGRlbXV4OiBhZGQgbmVlZF9oZWFkZXIgbWVtYmVyIHRvIGtub3cgd2hldGhlciB0aGUgaW5pdGlhbGl6YXRpb24gZnJhZ21lbnQgc2hvdWxkIGJlIHB1c2hlZAoKMjAxMy0wMS0yMyAxMzoyMDoyNSAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogZG9uJ3Qgd2FpdCBmb3IgdGhlIHdob2xlIGR1cmF0aW9uIG9mIGEgZnJhZ21lbnQgd2hlbiBzZWVraW5nCgoyMDEzLTAxLTIzIDEzOjE5OjIxIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHN3aXRjaCBwYWRzIGFuZCBzZW5kIGhlYWRlciBmaWxlIHdoZW4gYSBuZXdzZWdtZW50IGV2ZW50IGlzIHNlbnQKCjIwMTMtMDEtMTYgMTM6NTg6NTIgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiB2YXJpb3VzIGZpeGVzCgoyMDEyLTEyLTIwIDA5OjA0OjI4ICswMTAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIEFwcGxpZWQgZ3N0LWluZGVudAoKMjAxMi0xMi0xOCAxMToyMToyMiArMDEwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvUkVBRE1FOgoJICBSZXBsYWNlZCBVUkwgcG9pbnRpbmcgdG8gb2Jzb2xldGUgS2xhZ2VuZnVydCBNUEQgYnkgYSBuZXcgb25lCgoyMDEyLTEyLTE3IDE1OjQ2OjMyICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogZml4IGVzY2FwZSBzZXF1ZW5jZSBpbiBVUkwgdGVtcGxhdGUgcmVzb2x2aW5nCgoyMDEyLTEyLTE3IDE1OjM5OjEwICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBkbyBub3Qgc3dpdGNoIHBhZHMgd2hlbiBiaXRzdHJlYW1Td2l0Y2hpbmcgPSB0cnVlCgoyMDEyLTEyLTE3IDE1OjE5OjMzICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBjb21wbGV0ZSBzdXBwb3J0IGZvciBtYW5pZmVzdCBmaWxlIHVwZGF0ZXMKCjIwMTItMTItMTcgMTU6MTI6NTggKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBtYW5pZmVzdCBmaWxlIHVwZGF0ZXMKCSAgLSB0aGUgTVBEIGZpbGUgaXMgdXBkYXRlZCBpbiB0aGUgZG93bmxvYWQgbG9vcCAob25seSBpZiB3ZSBoYXZlIGEgImR5bmFtaWMiIE1QRCBhbmQgbWluaW11bVVwZGF0ZVBlcmlvZCBpcyB2YWxpZCk7CgkgIC0gcHJvcGVybHkgTE9DSy9VTkxPQ0sgdGhlIEdzdE1wZENsaWVudDsKCjIwMTItMTItMTcgMTU6MDQ6NDUgKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IG5ldyBBUEkgdG8gc2V0L2dldCBzZWdtZW50IGluZGV4IGFuZCBwZXJpb2QgaW5kZXgKCSAgVE9ETzogcmV3b3JrIHNlZ21lbnQgc2VsZWN0aW9uIHRvIHN1cHBvcnQgUmVwcmVzZW50YXRpb25zIG9yIEFkYXB0YXRpb24gU2V0cyB3aXRoIHNlZ21lbnRzIG5vdCBhbGlnbmVkCgoyMDEyLTEyLTE3IDE1OjAwOjUyICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBuZXcgQVBJIHRvIGxvYWQgdGhlIHN0cmVhbSBQZXJpb2Qgd2l0aCBhIGdpdmVuIGluZGV4CgkgIHRoaXMgYXZvaWRzIHRvIGZpZGRsZSB3aXRoIHN0cmVhbSBpbnRlcm5hbHMgaW4gdGhlIGNvZGUKCjIwMTItMTItMTcgMTQ6NTQ6NDIgKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBpbXBsZW1lbnQgc2Vla2luZyBhY3Jvc3MgUGVyaW9kcwoKMjAxMi0xMS0yMSAxNDoxNDozNCArMDEwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEFwcGxpZWQgZ3N0LWluZGVudAoKMjAxMi0xMS0yMSAxNDoxNDoyMSArMDEwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEJ5IGRlZmF1bHQsIGRvIG5vdCBmb3J3YXJkIHBhZCBxdWVyaWVzIHVwc3RyZWFtLCBiZWNhdXNlIGl0IG1heSBoYXZlIHVuZm9yZXNzZW4gc2lkZS1lZmZlY3RzIChmb3J3YXJkaW5nIHRoZSBuZXcgMS4wIEdTVF9DQVBTIHF1ZXJ5IHdvdWxkIHByZXZlbnQgcGFkIGxpbmtpbmcgZm9yIGluc3RhbmNlKQoKMjAxMi0xMS0xMiAxMDo1NDozNSArMDEwMCAgT2xpdmllciBCbGluIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSAgcGx1Z2luOiByZWdpc3RlciBhcyBkYXNoZGVtdXggaW5zdGVhZCBvZiBmcmFnbWVudGVkCgkgIFRoaXMgZml4ZXMgY29uZmxpY3RzIHdpdGggdGhlIEhMUyBwbHVnaW4sIHdoaWNoIGlzIGFsc28gbmFtZWQKCSAgZnJhZ21lbnRlZC4KCSAgV2hlbiBidWlsZGluZyBpdHMgcmVnaXN0cnksIGdzdHJlYW1lciB3YXMgcGlja2luZyBvbmUgb3IgdGhlIG90aGVyCgkgIGJldHdlZW4gaGxzIGFuZCBkYXNoZGVtdXguCgoyMDEyLTEwLTI1IDE3OjU1OjAyICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogY2hlY2sgaWYgd2UgaGF2ZSByZWNlaXZlZCB0aGUgTVBEIGZpbGUgaW4gdGhlIHByb3BlciB3YXkKCjIwMTItMTAtMjUgMTc6NTM6NTMgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBzaWxlbmNlIHdhcm5pbmcKCjIwMTItMTAtMjUgMTc6MTU6MDkgKzAyMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IHByaW50aW5nIGJ1ZmZlcmluZyB0aW1lIGFuZCBkb3dubG9hZCByYXRlL3NpemUKCSAgVGhpcyB3YXMgYnJva2VuIG9uIGFybXY3LgoKMjAxMi0xMC0yNSAxNzoxNzozNSArMDIwMCAgT2xpdmllciBCbGluIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggdW51c2VkLWJ1dC1zZXQgdmFyaWFibGUKCjIwMTItMTAtMjUgMTY6NDk6MjEgKzAyMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogdXNlIG5ldyBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9mcmFnbWVudF9kdXJhdGlvbiBBUEkKCSAgVGhpcyBmaXhlcyBidWlsZCB0aGF0IGhhcyBiZWVuIGJyb2tlbiBieSBjb21taXQKCSAgZmI5YWVhYzY1NTIwMjFiMTc2YTRjNGJkMDcyNjVlMDJhMGI3MGUwZi4KCSAgZ3N0X21wZF9jbGllbnRfZ2V0X3RhcmdldF9kdXJhdGlvbiBoYXMgYmVlbiByZW1vdmVkLCBhbmQKCSAgZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnRfZHVyYXRpb24gc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KCjIwMTItMTAtMjQgMTc6Mjg6NDAgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgRklYTUUgY29tbWVudAoJICBwYWQgc3dpdGNoaW5nIGFjcm9zcyBtdWx0aXBsZSBwZXJpb2RzIHdvcmtzIHBlcmZlY3RseSBmaW5lIG5vdwoJICBhbmQgaXQgaXMgZG9uZSBvbmx5IHdoZW4gdGhlcmUgaXMgYSBjaGFuZ2UgaW4gdGhlIENBUFMKCjIwMTItMTAtMjQgMTY6NTU6MjAgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzZW5kIG5ldy1zZWdtZW50IGV2ZW50cyB0byBhbGwgcGFkcwoKMjAxMi0xMC0yNCAxNjozMDowMSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmV3b3JrZWQgdGhlIEFQSSB0byByZXRyaWV2ZSBmcmFnbWVudCB0aW1lc3RhbXAsIGZyYWdtZW50IGR1cmF0aW9uIGFuZCBtZWRpYSBwcmVzZW50YXRpb24gZHVyYXRpb24KCSAgVGhpcyB3YXMgbmVjZXNzYXJ5IHRvIHN1cHBvcnQgdmFyaWFibGUtZHVyYXRpb24gRnJhZ21lbnRzLgoJICBpbiB0aGUgbmV3IEFQSToKCSAgLSBnc3RfbXBkX2NsaWVudF9nZXRfY3VycmVudF9wb3NpdGlvbiByZXR1cm5zIHRoZSB0aW1lc3RhbXAgb2YgdGhlIE5FWFQgZnJhZ21lbnQgdG8gZG93bmxvYWQ7CgkgIC0gZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnRfZHVyYXRpb24gcmV0dXJucyB0aGUgZHVyYXRpb24gb2YgdGhlIG5leHQgZnJhZ21lbnQgdG8gZG93bmxvYWQ7CgkgIC0gZ3N0X21wZF9jbGllbnRfZ2V0X21lZGlhX3ByZXNlbnRhdGlvbl9kdXJhdGlvbiByZXR1cm5zIHRoZSBtZWRpYVByZXNlbnRhdGlvbkR1cmF0aW9uIGZyb20gdGhlIE1QRCBmaWxlOwoJICBhbHNvIHRoZXJlIGlzIGEgbmV3IGludGVybmFsIHBhcnNlciBmdW5jdGlvbjoKCSAgLSBnc3RfbXBkX2NsaWVudF9nZXRfc2VnbWVudF9kdXJhdGlvbiBleHRyYWN0cyB0aGUgY29uc3RhbnQgc2VnbWVudCBkdXJhdGlvbiBmcm9tIHRoZSBNUEQgZmlsZQoJICAob25seSB1c2VkIHdoZW4gdGhlcmUgaXMgbm8gU2VnbWVudFRpbWVsaW5lIHN5bnRheCBlbGVtZW50IGluIHRoZSBjdXJyZW50IHJlcHJlc2VudGF0aW9uKQoJICBJbiBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9mcmFnbWVudCwgd2Ugc2V0IHRoZSB0aW1lc3RhbXAvZHVyYXRpb24gb2YgdGhlIGZyYWdtZW50IGp1c3QgZG93bmxvYWRlZAoJICBjb3B5aW5nIHRoZSB2YWx1ZXMgZnJvbSB0aGUgY29ycmVzcG9uZGluZyBHc3RNZWRpYVNlZ21lbnQuCgkgIFRPRE86IHJld29yayBTRUVLSU5HIHRvIHN1cHBvcnQgc2Vla2luZyBhY3Jvc3MgZGlmZmVyZW50IFBlcmlvZHMuCgoyMDEyLTEwLTI0IDE0OjUwOjU0ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogdXNlIGVmZmVjdGl2ZSBzZWdtZW50IGR1cmF0aW9uIHRvIHJlc2NoZWR1bGUgdGhlIHN0cmVhbWluZyB0YXNrCgkgIGRvIG5vdCBhc3N1bWUgc2VnbWVudCBkdXJhdGlvbiBpcyBjb25zdGFudAoJICBDb25mbGljdHM6CgkgIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jCgoyMDEyLTEwLTI0IDE0OjI0OjA1ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmV3b3JrZWQgZ3N0X2Rhc2hfZGVtdXhfZ2V0X2J1ZmZlcmluZ190aW1lKCkgdG8gcmV0dXJuIHRoZSBlZmZlY3RpdmUgYnVmZmVyaW5nIHRpbWUKCSAgZG8gbm90IGFzc3VtZSB0aGUgRnJhZ21lbnQgZHVyYXRpb24gaXMgY29uc3RhbnQKCjIwMTItMTAtMjQgMTE6NDk6NTEgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBjb21wbGV0ZSBzdXBwb3J0IGZvciBNZWRpYSBQcmVzZW50YXRpb25zIHdpdGggc2V2ZXJhbCBQZXJpb2RzCgkgIC0gUGVyaW9kcyBhcmUgcGxheWVkIGluIHNlcXVlbmNlLCBmcm9tIFBlcmlvZFN0YXJ0IHRvIFBlcmlvZEVuZAoJICAtIHNlYW1sZXNzIHN3aXRjaGluZyBmcm9tIG9uZSBQZXJpb2QgdG8gdGhlIG5leHQgb25lIHdvcmtzIGZpbmU7CgkgIC0gdGhlICduZXctc2VnbWVudCcgZ2VuZXJhdGlvbiBpcyBicm9rZW4sIHNvIGlmIHdlIG5lZWQgdG8gc3dpdGNoIHBhZHMgZm9yIGEgbmV3IFBlcmlvZCB0aGVyZSBpcyBhIGNyYXNoOwoKMjAxMi0xMC0yMiAxODoxMjozMCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogaW5pdGlhbCBzdXBwb3J0IGZvciBNZWRpYSBQcmVzZW50YXRpb25zIG1hZGUgb2Ygc2V2ZXJhbCBQZXJpb2RzCgkgIC0gYnVpbGQgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgUGVyaW9kcyB3aXRoIHRoZWlyIHN0YXJ0IGFuZCBkdXJhdGlvbiB0aW1lCgkgIC0gYWRkIHRoZSBsaXN0IG9mIEdzdFN0cmVhbVBlcmlvZCBpbiB0aGUgR3N0TXBkQ2xpZW50IGRhdGEgc3RydWN0CgkgIC0gcmVtb3ZlIGN1cl9wZXJpb2QgZnJvbSBHc3RNcGRDbGllbnQgYW5kIGludHJvZHVjZSBhbiBBUEkgdG8gZ2V0IHRoZSBjdXJyZW50IEdzdFN0cmVhbVBlcmlvZAoJICAtIHNldmVyYWwgQVBJIGNsZWFuLXVwcwoKMjAxMi0xMC0yNCAxODoxMDo0NyArMDIwMCAgT2xpdmllciBCbGluIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBzdXBwb3J0IEJhc2VVUkwgZm9yIFNlZ21lbnRVUkwgdXNpbmcgbWVkaWFSYW5nZQoJICBUaGlzIGlzIHVzZWQgaW4gYmlnX2J1Y2tfYnVubnlfQ2FwcGVkVkJSX011bHRpcmF0ZV80c18wX0F1ZGlvVmlkZW9fTWFpblByb2ZpbGUubXBkCgoyMDEyLTEwLTI0IDE4OjA0OjA3ICswMjAwICBPbGl2aWVyIEJsaW4gPG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGZhY3Rvcml6ZSBhZGRpbmcgcmFuZ2UgcGFyYW1ldGVyIHRvIFVSTAoKMjAxMi0xMC0xOSAyMDoxMjowOSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmV3b3JrZWQgY2FwcyBkZXRlY3Rpb24KCSAgYWxzbyByZXdvcmtlZCB0aGUgQVBJIHRvIGV4dHJhY3QgYXVkaW8vdmlkZW8gcGFyYW1ldGVycyBmcm9tIHRoZSBtYW5pZmVzdCBmaWxlCgkgIChtaW1lVHlwZSwgd2lkdGgsIGhlaWdodCwgcmF0ZSwgbnVtIGNoYW5uZWxzKQoKMjAxMi0xMC0xOSAxOTowMzo0MSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBkbyBub3Qgc2VuZCBib2d1cyBkdXJhdGlvbiBtZXNzYWdlcyB3aGVuIG1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24gaXMgdW5rbm93bgoKMjAxMi0xMC0xOSAxODo0NTozMCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IHN1cHBvcnQgU2VnbWVudFRpbWVsaW5lIHN5bnRheCBhbHNvIGZvciBsaXN0LWJhc2VkIG1lZGlhIHNlZ21lbnQgZ2VuZXJhdGlvbgoKMjAxMi0xMC0xOSAxNzo0Nzo1MSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBhZGQgc3VwcG9ydCBmb3IgU2VnbWVudFRpbWVsaW5lIHN5bnRheCBlbGVtZW50cwoJICBidWlsZCB0aGUgbGlzdCBvZiBzZWdtZW50cyB0byBiZSBwbGF5ZWQgdXNpbmcgdGhlIFNlZ21lbnRUaW1lbGluZSBzeW50YXgsIGlmIHByZXNlbnQKCSAgYnVnZml4ZXM6CgkgIC0gZm9yIGR5bmFtaWMgTVBEIGZpbGVzLCB3aGVuIG1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24gaXMgbm90IHByZXNlbnQgdXNlIG1pbmltdW1VcGRhdGVQZXJpb2QgaW5zdGVhZAoJICAtIGRvIG5vdCBhZGQgYSBzcHVyaW91cyAnJCcgd2hlbiBidWlsZGluZyBhbiBVUkwgZnJvbSBhIHRlbXBsYXRlIGxpa2UgIiRCYW5kd2lkdGgkL2luaXQubXA0diIKCSAgLSBpbnRyb2R1Y2UgZ3N0X21wZF9jbGllbnRfYWRkX21lZGlhX3NlZ21lbnQoKSB0byBhdm9pZCBjb2RlIGR1cGxpY2F0aW9uCgoyMDEyLTEwLTE5IDE1OjQyOjUxICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRml4ZWQgd3JvbmcgaW5kZXggaW4gZnJhZ21lbnRzCgoyMDEyLTEwLTE5IDEyOjAxOjAzICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBmaXggbWVtb3J5IGxlYWsgaW4gZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnRfc2V0KCkKCSAgd2UgaGF2ZSB0byBmcmVlIG5leHRfZnJhZ21lbnRfdXJpCgoyMDEyLTEwLTE5IDEwOjUwOjE2ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgUmVtb3ZlZCB1bnVzZWQgZnVuY3Rpb24KCjIwMTItMTAtMTkgMTA6NDM6NDkgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBTZWVrIGV2ZW50IGhhbmRsaW5nIGNsZWFudXAKCjIwMTItMTAtMTggMTg6NDk6NTMgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4IHBsYXlpbmcgb2Ygc2luZ2xlLXNlZ21lbnQgbWVkaWEgc3RyZWFtcwoJICBvdGhlciBmaXhlczoKCSAgLSBmaXhlZCBhIGJ1ZmZlcmluZyBidWc6IG5vdyB3ZSBzdG9wIGJ1ZmZlcmluZyB3aGVuIHdlIHJlYWNoIHRoZSBlbmQgb2YgbWFuaWZlc3QKCSAgLSBub3cgZ3N0X21wZF9jbGllbnRfZ2V0X3RhcmdldF9kdXJhdGlvbigpIGFsd2F5cyByZXR1cm5zIGEgdmFsaWQgZHVyYXRpb24KCSAgKGluIGNhc2Ugb2Ygc2luZ2xlLXNlZ21lbnQgc3RyZWFtcywgd2UgcmV0dXJuIGVpdGhlciBQZXJpb2QgZHVyYXRpb24gb3IgbWVkaWFQcmVzZW50YXRpb24gZHVyYXRpb24pCgkgIFRPRE86IHN1cHBvcnQgU2VnbWVudFRpbWVsaW5lCgoyMDEyLTEwLTE3IDE4OjQ2OjIyICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBkZWxldGVkIHVzZWxlc3MgZGVjbGFyYXRpb24gb2YgZ3N0X3VyaV9kb3dubG9hZGVyX2ZyZWUoKQoKMjAxMi0xMC0xNyAxODo0NToyNSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogd2hlbiBwb3NzaWJsZSwgcmV1c2UgZXhpc3RpbmcgZWxlbWVudCB0byBkb3dubG9hZCBhIG5ldyBVUkkKCSAgcHJldmlvdXNseSBhIG5ldyBlbGVtZW50IHdhcyBhbGxvY2F0ZWQgZm9yIGVhY2ggbWVkaWEgc2VnbWVudCwgYW5kIGl0IHdhcyBuZXZlciBmcmVlZAoKMjAxMi0xMC0xNyAxODo0MzoyNiArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVucmVmIGNhcHMgaW4gZnVuY3Rpb24gbmVlZF9hZGRfaGVhZGVyKCkKCjIwMTItMTAtMTcgMTg6NDI6MDIgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXggZXh0cmFjdGlvbiBvZiBTZWdtZW50VGVtcGxhdGUtPmluaXRpYWxpemF0aW9uIGluIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2hlYWRlcigpCgkgIG5vdyB0aGUgZm9sbG93aW5nIE1QRCBmaWxlcyBhcmUgcHJvcGVybHkgc3VwcG9ydGVkOgoJICBodHRwOi8vZGFzaC5lZGdlc3VpdGUubmV0L2Fkb2JlL2hkd29ybGRfZGFzaC9IRFdvcmxkLTE2MDAubXBkCgkgIGh0dHA6Ly9kYXNoLmVkZ2VzdWl0ZS5uZXQvYWRvYmUvaGR3b3JsZF9kYXNoL0hEV29ybGQubXBkCgoyMDEyLTEwLTE3IDE4OjQwOjAyICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IG1lbW9yeSBsZWFrIGluIGdzdF9kYXNoX2RlbXV4X2dldF9uZXh0X2hlYWRlcigpCgoyMDEyLTEwLTE3IDE1OjUyOjE5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgV2Ugbm93IG9ubHkgYWNjZXB0IGFjdHVhbCBtYW5pZmVzdCBmaWxlcywgYW5kIG5vdCBhbnkgWE1MIGZpbGUKCjIwMTItMTAtMTcgMTU6NTA6MzMgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSAgQWRkZWQgYSB0eXBlZmluZCBoZWxwZXIgZm9yIERBU0g6IHRoaXMgY29tbWl0IHNob3VsZCBiZSByZXZlcnRlZCBhcyBzb29uIGFzIGEgcHJvcGVyIHBhdGNoIGhhcyBiZWVuIHN1Ym1pdHRlZCB0byBnc3QtcGx1Z2lucy1iYXNlCgoyMDEyLTEwLTE3IDEwOjAyOjM5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRml4ZWQgc3RhdGUgbWFjaGluZSAoYWdhaW4pCgoyMDEyLTEwLTE2IDE2OjQ2OjE3ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQ29kZSByZWZhY3RvcmluZwoKMjAxMi0xMC0xNiAxNjozNDoxMCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEZpeGVkIHN0YXRlIG1hY2hpbmUKCjIwMTItMTAtMTYgMTM6NDM6MzkgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgSW1wcm92ZSBjb25zaXN0ZW5jeSBvZiB0aGUgdGFza3Mgc2h1dGRvd24gY29kZQoKMjAxMi0xMC0xNiAxMjo1MTo0NCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEFkZGVkIG1pc3NpbmcgZ19saXN0X2ZyZWUKCjIwMTItMTAtMTYgMTE6NDQ6MjYgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBEbyBub3QgYW5zd2VyIHRvIFVSSSBxdWVyaWVzCgoyMDEyLTEwLTE2IDExOjM5OjE4ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgVHJ5IHF1ZXJpZXMgdXBzdHJlYW0gaWYgd2UgY2Fubm90IHByb2Nlc3MgdGhlbQoKMjAxMi0xMC0xNiAxMToyNjowMyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBSZW5hbWVkIGRlbXV4LT5uZXh0X3N0cmVhbSBpbiBkZW11eC0+bmV4dF9wdXNoCgoyMDEyLTEwLTE2IDExOjIzOjI2ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgSW5saW5lZCBvbmUtbGluZSB1dGlsaXR5IGZ1bmNpdG9uIHRoYXQgd2FzIGNhbGxlZCBvbmx5IG9uY2UKCjIwMTItMTAtMTYgMDk6MTA6MDAgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBGaXhlZCByZWdyZXNzaW9uIGFmdGVyIHRoZSBpbnRyb2R1Y3Rpb24gb2YgdGhlIG11bHRpLXNjcmVlbiBzdXBwb3J0LCBwcmV2ZW50aW5nIHRoZSBwaXBlbGluZSBmcm9tIHN0b3BwaW5nIHByb3Blcmx5CgoyMDEyLTEwLTE1IDE2OjQxOjI4ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgTW9kaWZpZWQgbG9nIGxldmVsIG9mIHNodXRkb3duIG1lc3NhZ2UKCjIwMTItMTAtMTUgMTU6MDg6NTMgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBDb21tZW50czogV2UgZG9uJ3Qgc2VsZWN0IGEgc2luZ2xlIHJlcHJlc2VudGF0aW9uLCBidXQgYSByZXByZXNlbnRhdGlvbiBmb3IgZWFjaCBzdHJlYW0gQ29kZTogY2xlYW51cCBvZiBnc3RfZ2V0X25leHRfZnJhZ21lbnQgKGFsc28gcmVuYW1lZCBpbiBnc3RfZ2V0X25leHRfZnJhZ21lbnRfc2V0KQoKMjAxMi0xMC0xNSAxNDoyNToyNyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFJlbW92ZWQgZGVidWcgdHJhY2UKCjIwMTItMTAtMTUgMTQ6MTQ6NTMgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBBZGRlZCBpbnRyb2R1Y3Rpb24gYW5kIGdlbmVyYWwgZGVzaWduIG5vdGVzCgoyMDEyLTEwLTE1IDEzOjU0OjE3ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRml4ZWQgd3JvbmcgY29tbWVudAoKMjAxMi0xMC0xNSAxMzo1MjozMSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIERvY3VtZW50ZWQgZ3N0X2Rhc2hfZGVtdXhfZG93bmxvYWRfbG9vcAoKMjAxMi0xMC0xNSAxMzozNToxNSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIENvbW1lbnRlZCBnc3RfZGFzaF9kZW11eF9zdHJlYW1fbG9vcAoKMjAxMi0xMC0xNSAxMzoxNzoxMiArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIENvbW1lbnRlZCBuZWVkc19wYWRfc3dpdGNoCgoyMDEyLTEwLTE1IDEzOjA5OjQ5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRG9jdW1lbnRlZCB0aGUgcmVwcmVzZW50YXRpb24gc3dpdGNoIG1lY2hhbmlzbQoKMjAxMi0xMC0xNSAxMTo0MDo1NSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBSZXBsYWNlZCByZWZlcmVuY2VzIHRvIHBsYXlsaXN0IChITFMpIGJ5IHJlZmVyZW5jZXMgdG8gbWFuaWZlc3QgKERBU0gpCgoyMDEyLTEwLTE1IDExOjMzOjU4ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgUmVuYW1lZCBnc3RfZGFzaF9kZW11eF9zd2l0Y2hfcGxheWxpc3QgdG8gZ3N0X2Rhc2hfZGVtdXhfc2VsZWN0X3JlcHJlc2VudGF0aW9uIGFuZCBhZGRlZCBjb21tZW50cwoKMjAxMi0xMC0xNSAxMToxOToyOSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFJlbW92ZWQgb2Jzb2xldGUgY29tbWVudAoKMjAxMi0xMC0xNSAxMToxODoyNSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEFwcGxpZWQgZ3N0LWluZGVudAoKMjAxMi0xMC0xMSAxMjo1NDo1MCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvUkVBRE1FOgoJICBVcGRhdGVkIFJFQURNRQoKMjAxMi0xMC0wOSAxMzoyNDoyMyArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IHN1cHBvcnQgTVBEIGZpbGVzIHdpdGggU2VnbWVudEJhc2UgZWxlbWVudHMgZW5jb2RlZCBpbnNpZGUgYSBTZWdtZW50TGlzdCBlbGVtZW50CgkgIGFsc28gcHJvcGVybHkgc3VwcG9ydCBNUEQgZmlsZXMgd2l0aG91dCBhbnkgSW5pdGlhbGl6YXRpb24gc2VnbWVudAoKMjAxMi0xMC0wOCAxNzo0MzoxNCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlci9kYXNoZGVtdXg6IGZpeGVkIGdldF93aWR0aCwgZ2V0X2hlaWdodCwgZ2V0X2F1ZGlvX3JhdGUsIGdldF9udW1fYXVkaW9fY2hhbm5lbHMgQVBJIGZ1bmN0aW9ucwoJICB0aGUgYWN0dWFsIHZhbHVlcyBub3cgY2FuIGJlIGV4dHJhY3RlZCBhbHNvIGZyb20gdGhlIEFkYXB0YXRpb25TZXQgZWxlbWVudDsKCSAgY2hlY2tpbmcgTlVMTCBzdHJ1Y3RzIGZvciBiZXR0ZXIgcm9idXN0bmVzczsKCjIwMTItMTAtMDggMTY6NTk6MjEgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogYWRkZWQgc3VwcG9ydCBmb3Igc2luZ2xlLXNlZ21lbnQgc3RyZWFtcyB3aXRoIHRoZSBVUkwgZW5jb2RlZCBpbiB0aGUgYmFzZVVSTCBzeW50YXggZWxlbWVudAoKMjAxMi0xMC0wOCAxNToyNjo0OCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBhZGRlZCBsYW5nIGF0dHJpYnV0ZSB0byBQcm9ncmFtSW5mb3JtYXRpb24gbm9kZQoKMjAxMi0xMC0wOCAxMTo0Nzo0NSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBhZGRlZCBzdXBwb3J0IGZvciBBY2Nlc3NpYmlsaXR5LCBSb2xlLCBSYXRpbmcsIFZpZXdwb2ludCBlbGVtZW50cyB0byBBZGFwdGF0aW9uU2V0IG5vZGUKCSAgdGhvc2UgYXJlIERlc2NyaXB0b3JUeXBlIGVsZW1lbnRzLCBzbyB0aGV5IGFyZSBqdXN0IHBhcnNlZCBhbmQgZHVtcGVkIGZvciBub3c7CgoyMDEyLTEwLTA4IDExOjMwOjQwICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IHN1cHBvcnQgbXVsdGlwbGUgUHJvZ3JhbUluZm9ybWF0aW9uIG5vZGVzCgkgIG5vdyB3ZSBrZWVwIGEgbGlzdCBvZiBQcm9ncmFtSW5mb3JtYXRpb24gbm9kZXMgZm9yIGVhY2ggUGVyaW9kIG5vZGUKCjIwMTItMTAtMDggMTE6MTY6MDkgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IGZpeGVkIHBhcnNpbmcgb2YgU2VnbWVudExpc3Qgc3ludGF4IGVsZW1lbnQsIGFuZCBlbGltaW5hdGVkIFJlcHJlc2VudGlvbiBub2RlIGxpc3QgZnJvbSBQZXJpb2Qgbm9kZQoJICBTZWdtZW50TGlzdCBub2RlcyBhcmUgYWxsb3dlZCBpbnRvIFBlcmlvZCwgQWRhcHRhdGlvblNldCBvciBSZXByZXNlbnRhdGlvbiBub2RlcwoJICBhbmQgdGhlcmUgaXMgYXQgbW9zdCAxIGVsZW1lbnQsIHNvIG5vIG5lZWQgdG8ga2VlcCBhIGxpc3Q7CgkgIFBlcmlvZCBub2RlcyBjYW5ub3QgaGF2ZSBhbnkgUmVwcmVzZW50aW9uIGVsZW1lbnRzLCBhcyBBZGFwdGF0aW9uU2V0IG5vZGVzIGFyZSBtYW5kYXRvcnk7CgkgIHRoaXMgYnJlYWtzIGNvbXBhdGliaWxpdHkgd2l0aCBzb21lIGxlZ2FjeSBEQVNIIHRlc3Qgc2VxdWVuY2VzLgoKMjAxMi0xMC0wOCAxMDoyOTowNCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGZpeGVkIHJldHVybiB3aXRoIG5vIHZhbHVlCgkgIGdzdG1wZHBhcnNlci5jOiBJbiBmdW5jdGlvbiDigJhnc3RfbXBkcGFyc2VyX2dldF9saXN0X2FuZF9uYl9vZl9hdWRpb19sYW5ndWFnZeKAmToKCSAgZ3N0bXBkcGFyc2VyLmM6Mjg5MTogd2FybmluZzog4oCYcmV0dXJu4oCZIHdpdGggbm8gdmFsdWUsIGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZAoKMjAxMi0xMC0wOCAxMDoyNDoyOSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyLmMvLmg6IGNoYW5nZWQgbGljZW5zZSBmcm9tIGR1YWwgTUlUL0xHUEwgMi4wIHRvIExHUEwgMi4xCgkgIHVuaWZvcm1lZCBsaWNlbmNpbnNpbmcgdG8gdGhlIG90aGVyIGxpYnJhcmllcyBpbiB0aGUgZGFzaGRlbXV4IHByb2plY3QKCjIwMTItMTAtMDIgMDI6Mjg6NTggKzAyMDAgIGh6YWthcmkgPGhhbWlkLnpha2FyaUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBPcHRpbWl6ZSB0aGUgdHdvIGZ1bmN0aW9ucyB0aGF0IHJldHVybiB0aGUgbnVtYmVyIGFuZCB0aGUgbGlzdCBvZiBsYW5ndWFnZXMgaW4gYSBzaW5nbGUgZnVuY3Rpb24KCjIwMTItMDktMjkgMDU6Mjc6NTEgKzAyMDAgIEhhbWlkIFpBS0FSSSA8emFrYXJpQHItbG54LXpha2FyaS4obm9uZSk+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQWRkIHRoZSBoZWFkZXJzIHRvIHRoZSBhZGFwdGF0aW9uc2V0cyBzZWdtZW50cyBpZiBhbnkgb25lIG9mIHRoZXNlIGNoYW5nZWQgcmVwcmVzZW50YXRpb24KCjIwMTItMDktMjkgMDM6MTM6MjkgKzAyMDAgIEhhbWlkIFpBS0FSSSA8emFrYXJpQHItbG54LXpha2FyaS4obm9uZSk+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgU3VwcG9ydCBNdWx0aSBsYW5ndWFnZXMgKG5lZWQgYSBkZWNvZGViaW4yIHBhdGNoKQoKMjAxMi0wOS0yOSAwMjo0MToxMyArMDIwMCAgSGFtaWQgWkFLQVJJIDx6YWthcmlAci1sbngtemFrYXJpLihub25lKT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBSZW1vdmUgdGhlICJUT0RPIiBjb21tZW50CgoyMDEyLTA5LTI4IDEyOjU1OjI3ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9DT1BZSU5HOgoJKiBleHQvZGFzaC9MSUNFTlNFOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIFJlbmFtZWQgTElDRU5TRSBpbnRvIENPUFlJTkcKCjIwMTItMDktMjggMTE6NDY6MDAgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL0FVVEhPUlM6CgkgIFVwZGF0ZWQgYXV0aG9ycwoKMjAxMy0wNS0wOCAxMToxMzozMiAtMDMwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvQVVUSE9SUzoKCSogZXh0L2Rhc2gvTElDRU5TRToKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL1JFQURNRToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5jOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5oOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudGVkLmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5oOgoJICBJbml0aWFsIGltcG9ydCBvZiBnc3RkYXNoZGVtdXggc291cmNlcwoKMjAxMi0xMC0yNiAxODowMDowMiArMDIwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBVc2UgRFZCIEFQSSB2NSBha2EgUzJBUEkgaW5zdGVhZCBvZiBvYnNvbGV0ZSB2MyBBUEkKCSAgUGF0Y2ggaXMgYmFzZWQgb24gd29yayBvZiBUb255IEhvdWdodG9uIDxoQHJlYWxoLmNvLnVrPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NDc5CgoyMDEzLTA1LTA4IDE1OjQyOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IHBhc3Mgd2lkdGgsIGhlaWdodCwgY2hhbm5lbHMgYW5kIHJhdGUgYXMgaW50ZWdlcgoJICBnX2FzY2lpX3N0cnRvdWxsKCkgcmV0dXJucyBhIGxvbmcgbG9uZyBpbnRlZ2VyLCBidXQgd2UgbmVlZCB0bwoJICBwYXNzIGEgbm9ybWFsIGludCB0byBnc3Rfc3RydWN0dXJlX3NldCgpIGZvciBmaWVsZHMgb2YgR19UWVBFX0lOVCwKCSAgc28gY2FzdCBhcHByb3ByaWF0ZWx5LgoKMjAxMy0wNS0wOCAxMjo0NToyMCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvbWVtb3J5Lmg6CgkgIHZkcGF1OiBBZGQgVmRwVmlkZW9TdXJmYWNlIGNhcHMgZmVhdHVyZQoKMjAxMy0wNS0wOCAxMDo1NToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBmaXggV01WIGNhcHMKCSAgTWFrZXMgdGhpcyBzaG93IGF0IGxlYXN0IGEgcGljdHVyZToKCSAgaHR0cDovL3BsYXlyZWFkeS5kaXJlY3R0YXBzLm5ldC9zbW9vdGhzdHJlYW1pbmcvVFRMU1M3MjBWQzEvVG9fVGhlX0xpbWl0XzcyMC5pc20vTWFuaWZlc3QKCjIwMTMtMDQtMjMgMTI6MDg6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGZpeGluZyBjb21waWxlciB3YXJuaW5ncyBhYm91dCBwcmludCBmb3JtYXRzCgoyMDEzLTA0LTE2IDE5OjM1OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0c21vb3Roc3RyZWFtaW5nLXBsdWdpbi5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IHBvcnQgdG8gMS4wCgoyMDEzLTA0LTEyIDE1OjU5OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiByZW1vdmUgYWxyZWFkeSBmaXhlZCBUT0RPIGNvbW1lbnQKCjIwMTMtMDQtMTIgMTU6NTg6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHJlcGxhY2UgZ3N0X3ZhbHVlX2Rlc2VyaWFsaXplIHdpdGggc2ltcGxlciBmdW5jdGlvbgoJICBUaGUgZGVzZXJpYWxpemF0aW9uIHdhcyBvbmx5IHVzZWQgdG8gY29udmVydCBoZXggc3RyaW5ncyBpbnRvCgkgIEdzdEJ1ZmZlcnMuIFJlcGxhY2UgZ3N0X3ZhbHVlX2Rlc2VyaWFsaXplIHdpdGggYSBzaW1wbGVyLCBkaXJlY3QKCSAgZnVuY3Rpb24uCgoyMDEzLTA0LTEyIDE1OjU2OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBmaXggbmV3c2VnbWVudCBldmVudCBsZWFrCgoyMDEzLTA0LTEyIDE1OjU1OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiByZXBsYWNlIHVudXNlZCBwYXJhbWV0ZXIKCSAgVGhlIGJ1ZmZlciBwYXJhbWV0ZXIgd2Fzbid0IGJlaW5nIHVzZWQsIGl0IHdhcyBvbmx5IHRvIHNpZ25hbCBpZgoJICBhIGJ1ZmZlciB3YXMgZG93bmxvYWRlZCBhbmQgYWR2YW5jZSB0byB0aGUgbmV4dCBmcmFnbWVudCBpbiB0aGUKCSAgbWFuaWZlc3QuCgkgIFJlcGxhY2UgdGhlIGJ1ZmZlciB3aXRoIGEgYm9vbGVhbiB0aGF0IGhhcyB0aGUgc2FtZSBlZmZlY3QgYW5kIGlzCgkgIHNhZmVyCgoyMDEzLTAzLTExIDEwOjA5OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3M6IGF2b2lkIEdWYWx1ZSBsZWFrCgoyMDEzLTAyLTIyIDE3OjAwOjMwIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmM6CgkgIG1zc2RlbXV4OiBmaXggYSBzbWFsbCBtZW1vcnkgbGVhawoKMjAxMy0wMi0xOSAxMzoxNzo1MyAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IGF2b2lkIHN0cmVhbWluZyB0byBmYWlsIHdoZW4gZG93bmxvYWQgaXMgY2FuY2VsbGVkCgkgIFdoZW4gZG93bmxvYWQgd2FzIGZhaWxpbmcgcmVwZWF0ZWRseSwgaXQgd2FzIGNhdXNpbmcgc3RyZWFtaW5nIHRvIGZhaWwgZXZlbiB0aG91Z2ggaXQgd2FzIGNhbmNlbGxlZCBvbiBwdXJwb3NlIChzdG9wcGluZyB0YXNrcykuCgoyMDEzLTAyLTA4IDAyOjAxOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiByZW1vdmluZyB1bnVzZWQgZnVuY3Rpb25zCgoyMDEzLTAyLTA4IDAxOjUxOjMwIC0wMjAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHN3aXRjaCBiaXRyYXRlcyB3aXRob3V0IHN3aXRjaGluZyBwYWRzCgoyMDEzLTAyLTA3IDE2OjI2OjQ2IC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogQ2hlY2sgaWYgcGFkcyBhcmUgdmFsaWQgYmVmb3JlIHJlbW92aW5nLgoKMjAxMy0wMi0wNyAwMzoxMDo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBhZGQgYSBtYXhpbXVtIGVycm9yIGNvdW50IGZvciBkb3dubG9hZHMKCSAgbXNzZGVtdXggd2lsbCB0b2xlcmF0ZSBhIGZldyBkb3dubG9hZCBlcnJvcnMgYmVmb3JlIGVtaXR0aW5nIGFuCgkgIGVycm9yIG1lc3NhZ2UgdG8gdGhlIGJ1cwoKMjAxMy0wMi0wNiAwODo0ODo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IHVzZSBzdHJlYW1zIGJpdHJhdGUgaW5kaXZpZHVhbGx5CgkgIGNvbm5lY3Rpb24gc2V0dXAgdGltZXMgc2VlbSB0byBtYXR0ZXIgd2hlbiBtZWFzdXJpbmcgdGhlIGRvd25sb2FkCgkgIHJhdGUgb2YgZGlmZmVyZW50IHN0cmVhbXMuIFN0cmVhbXMgd2l0aCBsb25nZXIgZnJhZ21lbnRzIGhhdmUgYQoJICAqcmVsYXRpdmVseSogbG93ZXIgY29ubmVjdGlvbiBzZXR1cCB0aW1lIGFuZCBhY2hpZXZlIGhpZ2hlciBiaXRyYXRlcy4KCSAgVXNpbmcgdGhlIGF2ZXJhZ2Ugc2VlbXMgdW5mYWlyIGhlcmUsIHNvIHVzZSBlYWNoIHN0cmVhbSdzIG1lYXN1cmVkIGJpdHJhdGUKCSAgdG8gc2VsZWN0IGl0cyBiZXN0IHF1YWxpdHkgb3B0aW9uLgoKMjAxMy0wMi0wNSAxNzo0ODo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiB1c2UgZG93bmxvYWRiaXRyYXRlIHV0aWxpdHkgZm9yIG1lYXN1cmluZyBiaXRyYXRlCgkgIGRvd25sb2FkYml0cmF0ZSBrZWVwcyBhIHNob3J0IGhpc3Rvcnkgb2YgYml0cmF0ZXMgYW5kIGhlbHBzCgkgIHRyYWNraW5nIHRoZSBjdXJyZW50IGF2ZXJhZ2UgZG93bmxvYWQgYml0cmF0ZSBmb3IgbXNzZGVtdXgKCjIwMTMtMDItMDUgMDQ6MDE6MDQgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBQcm9wZXJseSBjb21wdXRlIG5ldyBiaXRyYXRlIGFuZCB1c2UgYml0cmF0ZV9saW1pdC4KCjIwMTMtMDItMDUgMDM6Mjc6NTEgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBBdm9pZCBhIHBvc3NpYmxlIGRpdmlzaW9uIGJ5IHplcm8KCjIwMTMtMDItMDUgMDM6Mjc6MjIgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBBZGQgbWlzc2luZyBvYmplY3QgcGFyYW0gdG8gR1NUX0RFQlVHfElORk9fT0JKRUNUIGNhbGxzCgoyMDEzLTAyLTA1IDAwOjI4OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IGFkZCBiaXRyYXRlLWxpbWl0IHByb3BlcnR5CgkgIEl0IGFsbG93cyB0aGUgcGx1Z2luIHRvIHVzZSBpdHMgb3duIGRvd25sb2FkaW5nIGJpdHJhdGUgbWVhc3VyZXMKCSAgYXMgYSBmZWVkYmFjayB0byBzZWxlY3QgdGhlIGJlc3Qgc3RyZWFtcyBiaXRyYXRlIGZvciB0aGUgY3VycmVudAoJICBuZXR3b3JrIHNjZW5hcmlvCgoyMDEzLTAyLTA0IDIxOjU4OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiB1c2UgdGhlIHNoYXJlZCB1cmlkb3dubG9hZGVyIGxpYiBpbnN0ZWFkIG9mIGFuIGludGVybmFsIGNvcHkKCjIwMTMtMDItMDQgMDI6MjA6NTEgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBEbyBub3QgYmxvY2sgb24gcmVzZXQuCgkgIFdlIG5lZWQgdG8gY2FuY2VsIHRoZSBkb3dubG9hZGVyIGZvciBlYWNoIHN0cmVhbSBiZWZvcmUgam9pbmluZyB0aGUgbWFpbiBkb3dubG9hZCB0YXNrLCBvdGhlcndpc2UKCSAgdGhlIGRvd25sb2FkIHRhc2sgd2lsbCBibG9jayB1bnRpbCBhbGwgdGhlIHN0cmVhbSB0YXNrcyBmaW5pc2guCgoyMDEzLTAyLTAxIDE3OjQ0OjA0IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGhhbmRsZSBGTFVTSCBldmVudHMgYnkgcmVzZXR0aW5nIHRoZSBkZW11eGVyIHN0YXRlCgoyMDEzLTAyLTAxIDE3OjQzOjQ2IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFkZCBjb25kaXRpb25zIHRvIHByZXZlbnQgc29tZSBjcmFzaGVzCgoyMDEzLTAyLTAxIDE3OjI5OjU4IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHVzZSBzdGFuZGFyZCBnbGliIG1ldGhvZHMKCjIwMTMtMDItMDEgMTc6Mjc6MTkgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggc29tZSBtZW1vcnkgbGVha3MgYW5kIHVzZSByaWdodCBmcmVlIGZ1bmN0aW9uCgoyMDEzLTAyLTAxIDE3OjEyOjQxIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRvbid0IHN0b3AgYSB0YXNrIGZyb20gaW5zaWRlIHRoZSBsb29wCgkgIE9ubHkgcGF1c2UgdGhlIHRhc2sKCjIwMTMtMDEtMzEgMTY6MTQ6MzcgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogbG9nIG1hbmlmZXN0IGNvbnRlbnQgZm9yIGRlYnVnZ2luZwoKMjAxMy0wMS0zMCAwMDoyMjo1MCAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBtYWtlIGNvZGVjIHByaXZhdGUgZGF0YSBmcm9tIG1hbmlmZXN0IGF0dHJpYnV0ZXMgd2l0aCBBQUMtTEMKCSAgV2hlbiB0aGUgY29kZWMgaXMgQUFDLUxDLCBzb21lIHNlcnZlciBpbXBsZW1lbnRhdGlvbiAoZS5nLiBNaWNyb3NvZnQgSUlTKSBkb2Vzbid0IGFkZCB0aGUgQ29kZWNQcml2YXRlRGF0YSBhdHRyaWJ1dGUuIFRoZSBlbGVtZW50IG5lZWRzIHRvIHJlLWNyZWF0ZSB0aGUgY29kZWMgZGF0YSBmcm9tIHRoZSBRdWFsaXR5IExldmVsIGF0dHJpYnV0ZXMgKGNoYW5uZWxzIGFuZCBzYW1wbGluZyByYXRlKS4KCjIwMTMtMDEtMjkgMjI6NTc6MzYgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogb25seSB0cnkgdG8gcmVsb2FkIHRoZSBtYW5pZmVzdCBmb3IgbGl2ZSBzdHJlYW1zCgkgIFRoZXJlIGlzIG5vIHdheSB0byBrbm93IGlmIGEgbGl2ZSBzdHJlYW0gaXMgcmVhbGx5IGZpbmlzaGVkLCBzbyB0cnkgdG8gcmVsb2FkIHRoZSBtYW5pZmVzdCBhbmQgY2hlY2sgaWYgdGhlcmUgYXJlIG1vcmUgZnJhZ21lbnRzIHRvIGRvd25sb2FkLiBFbHNlIGp1c3QgbGV0IGtub3cgaXQncyB0aGUgRU9TLgoKMjAxMy0wMS0yNSAyMToyNDo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWRkIHNvbWUgZG9jdW1lbnRhdGlvbgoJICBBZGRzIGEgbGl0dGxlIGJpdCBvZiBkb2NzIGV4cGxhbmluZyB0aGUgaW50ZXJuYWxzIG9mIG1zc2RlbXV4CgoyMDEzLTAxLTIyIDE3OjMzOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhZGQgbWF4LXF1ZXVlLXNpemUtYnVmZmVycyBwcm9wZXJ0eQoJICBJbmRpY2F0ZXMgaG93IG11Y2ggYnVmZmVyaW5nIHNob3VsZCBiZSBkb25lIGludGVybmFsbHkgaW4KCSAgbXNzZGVtdXgKCjIwMTMtMDEtMjEgMTg6MDU6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHN0b3AgdGFza3MgZmFzdGVyCgkgIElzc3VlIGEgY2FuY2VsIHRvIHRoZSBkb3dubG9hZGVycyBzbyB0aGV5IHN0b3AgZWFybGllcgoKMjAxMy0wMS0xNyAxNjoyMDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogaW1wbGVtZW50IGxpdmUgc3RyZWFtcyBoYW5kbGluZwoJICBMaXZlIHN0cmVhbXMgZm9yY2UgdGhlIGRlbXV4ZXIgdG8ga2VlcCByZWxvYWRpbmcgdGhlIE1hbmlmZXN0IGZyb20KCSAgdGltZSB0byB0aW1lLCBhcyB0aGUgbmV3IGZyYWdtZW50cyBhcmUgYmVpbmcgYWRkZWQgYXMgdGhleSBhcmUgcmVjb3JkZWQuCgkgIFRoZSBkZW11eGVyIHNob3VsZCBhbHNvIHRyeSB0byBrZWVwIHVwIGFuZCBkZXRlY3Qgd2hlbiBpdCBoYWQgdG8gc2tpcAoJICBmcmFnbWVudHMsIG1hcmtpbmcgdGhlIGRpc2NvbnQgZmxhZyB3aGVuIHRoYXQgaGFwcGVucy4KCSAgQ3VyaW91c2x5LCB0aGUgc3BlYyBkb2Vzbid0IHNlZW0gdG8gbWVudGlvbiB3aGVuL2hvdyBhIGxpdmUgc3RyZWFtIGlzIHN1cHBvc2VkCgkgIHRvIGVuZCwgc28ga2VlcCB0cnlpbmcgZG93bmxvYWRzIHVudGlsIHRoZSBkZW11eGVyIGVycm9ycyBvdXQuCgoyMDEzLTAxLTE3IDE2OjE5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkbyBub3QgbGVhayBmcmFnbWVudHMKCjIwMTMtMDEtMTcgMTM6NDg6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCBpc3N1ZSBvbiBmcmFnbWVudCB0aW1lc3RhbXBpbmcgcGFyc2luZwoJICBVc2UgZ3VpbnQ2NCBhcyB0aGUgZnJhZ21lbnRzIGNhbiBzdGFydCBhdCB2ZXJ5IGhpZ2ggbnVtYmVycywKCSAgc3BlY2lhbGx5IG9uIGxpdmUgc3RyZWFtcwoKMjAxMy0wMS0xNiAxNToyODoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZXJyb3Igb3V0IHdoZW4gdXBzdHJlYW0gZG9lc24ndCBpbXBsZW1lbnQgVVJJIHF1ZXJ5CgkgIEVycm9yIG91dCB3aGVuIHVwc3RyZWFtIGRvZXNuJ3QgYW5zd2VyIHRvIFVSSSBxdWVyeSBhbmQgbXNzZGVtdXgKCSAgZG9lc24ndCBrbm93IHRoZSBVUkkgdG8gZmV0Y2ggdGhlIGZyYWdtZW50cyBmcm9tCgoyMDEzLTAxLTE1IDE3OjMxOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBwdXNoIG5ld3NlZ21lbnRzIHdpdGggc2FtZSBzdGFydCB0aW1lIG9uIGJpdHJhdGUgc3dpdGNoZXMKCSAgVGhpcyBrZWVwcyBzaW5rcyB3b3JraW5nIGluIHN5bmMgYWZ0ZXIgYSBiaXRyYXRlIHN3aXRjaAoKMjAxMy0wMS0xNCAxMzoyMToxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiByZXdyaXRpbmcgcGFkIHRhc2tzIHNvIHRoYXQgYnVmZmVycyBhcmUgcHVzaGVkIGJ5IHRzIG9yZGVyCgkgIFVzZSBwYWQgdGFza3MgdG8gZG93bmxvYWQgZGF0YSBhbmQgYW4gZXh0cmEgdGFzayB0aGF0IGdldHMgdGhlIGVhcmxpZXIKCSAgYnVmZmVyICh3aXRoIHRoZSBzbWFsbGVzdCB0aW1lc3RhbXApIGFuZCBwdXNoZXMgb24gdGhlIGNvcnJlc3BvbmRpbmcKCSAgcGFkLgoJICBUaGlzIHByZXZlbnRzIHRoYXQgdGhlIGF1ZGlvIHN0cmVhbSBydXNoZXMgYWhlYWQgb24gYnVmZmVycyBhcyBpdHMKCSAgZnJhZ21lbnRzIHNob3VsZCBiZSBzbWFsbGVyCgoyMDEzLTAxLTExIDE1OjAxOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBzb21lIGZpeGVzIHRvIGJpdHJhdGUgc3dpdGNoaW5nCgkgIFJlbW92ZXMgYSBwb3NzaWJsZSBkZWFkbG9jayBmcm9tIGJpdHJhdGUgc3dpdGNoaW5nIHdoZW4gdGhlIHBhZAoJICB0aGF0IHJlcXVlc3RlZCB0aGUgc3dpdGNoIGJsb2NrcyBvbiBpdHMgcGFkLXB1c2gKCjIwMTMtMDEtMTAgMTY6MjY6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHJlZmFjdG9yaW5nIGZyYWdtZW50IGRvd25sb2FkIHRvIGl0cyBvd24gZnVuY3Rpb24KCSAgTWFrZXMgY29kZSBjbGVhcmVyIGFuZCBoZWxwcyBjaGFuZ2luZyB0aGUgZG93bmxvYWQgcGFydCBvZiB0aGUKCSAgY29kZSB0byBpdHMgb3duIHRocmVhZAoKMjAxMy0wMS0xMCAxNToxNjozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBpbXBsZW1lbnQgYml0cmF0ZSBzd2l0Y2hpbmcKCSAgV2hlbiBjb25uZWN0aW9uLXNwZWVkIGNoYW5nZXMsIHNpZ25hbCB0aGF0IHdlIG1pZ2h0IG5lZWQgYSBiaXRyYXRlCgkgIHN3aXRjaC4gRHVyaW5nIHRoZSBzd2l0Y2gsIGEgbmV3IHBhZCBncm91cCBpcyBhZGRlZCBhbmQgdGhlIG9sZCBvbmUKCSAgaXMgZHJhaW5lZCBhbmQgcmVtb3ZlZC4KCSAgTmV3IHBhZHMgYWxzbyBuZWVkIHRvIHB1c2ggbmV3c2VnbWVudHMgYmVmb3JlIHN0YXJ0aW5nIHRvIHN0cmVhbQoKMjAxMy0wMS0wOCAxODowMToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogYWRkIGNvbm5lY3Rpb24tc3BlZWQgcHJvcGVydHkKCSAgVGhpcyBzcGVlZCBsaW1pdHMgdGhlIG1heGltdW0gYml0cmF0ZSBvZiBzdHJlYW1zLiBDdXJyZW50bHkgaXQKCSAgaXMgb25seSByZWFkIHdoZW4gc3RhcnRpbmcgdGhlIHBpcGVsaW5lLCBidXQgaXQgc2hvdWxkIGJlIHVzZWQKCSAgZm9yIHN3aXRjaGluZyBiaXRyYXRlcyBkdXJpbmcgcGxheWJhY2sgdG8gYWRhcHQgdG8gbmV0d29yawoJICBjaGFuZ2VzLgoKMjAxMy0wMS0wOCAxNzo1NTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGFkZCBhbiAnYWN0aXZlJyBmbGFnIHRvIG1hbmlmZXN0IHN0cmVhbQoJICBtc3NkZW11eCBzaG91bGQgc2V0IHRoZSBzdHJlYW1zIGl0IGhhcyBleHBvc2VkIGFzIGFjdGl2ZSBzbyB0aGF0CgkgIHRoZSBtYW5pZmVzdCB3b24ndCB1c2UgdGhlIG5vbi1hY3RpdmUgc3RyZWFtcyB0byBjb21wdXRlIHRvdGFsIGJpdHJhdGVzCgkgIG9yIHByb3ZpZGluZyBmcmFnbWVudHMKCjIwMTMtMDEtMDggMTc6NTQ6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHNpZ25hbCBuby1tb3JlLXBhZHMgd2hlbiBmaW5pc2hlZCBleHBvc2luZyBwYWRzCgkgIFRoaXMgbWFrZXMgZGVjb2RlYmluL3BsYXliaW4gbWVjaGFuaXNtIGtub3cgaXQgY2FuIHN0YXJ0IHBsYXlpbmcKCSAgd2hlbiBidWZmZXJpbmcgaXMgZmluaXNoZWQKCjIwMTMtMDEtMDggMTE6MDg6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzbWFuaWZlc3Q6IEtlZXAgdGhlIHN0cmVhbSBxdWFsaXRpZXMgbGlzdCBzb3J0ZWQgYnkgYml0cmF0ZQoJICBUaGlzIHdpbGwgaGVscCBtYWtpbmcgYWRhcHRpdmUgc3RyZWFtaW5nIGNob3NlIHRoZSBiZXN0IHJhdGUKCSAgZm9yIGEgcGFydGljdWxhciBjb25uZWN0aW9uIHNwZWVkCgoyMDEzLTAxLTA4IDEwOjE2OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBhbHNvIGNvbnNpZGVyIGZvdXJjYyBBVkMxIGFzIEgyNjQKCSAgSDI2NCBjYW4gYmUgcmVwcmVzZW50ZWQgYnkgYm90aCBmb3VyY2NzIEgyNjQgYW5kIEFWQzEsIHVzZSBib3RoLgoKMjAxMy0wMS0wNCAxNzowMTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NtYW5pZmVzdDogYWRkIHN1cHBvcnQgZm9yIFZDLTEgYW5kIFdtYVBybyBmb3JtYXRzIHBhcnNpbmcKCSAgVkMtMSBzaG91bGQgbWFwIHRvIFdNVjMgYW5kIFdtYVBybyB0byBXTUEyCgoyMDEzLTAxLTA0IDE3OjAwOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkbyBub3QgdHJ5IHRvIGV4cG9zZSB1bmtub3duIHN0cmVhbXMKCSAgV2hlbiB0aGUgc3RyZWFtIGNhbid0IGhhdmUgaXRzIGNhcHMgZGV0ZWN0ZWQsIGJldHRlciBub3QgdG8gZXhwb3NlIGl0LgoJICBJZiBubyBzdHJlYW1zIGFyZSBrbm93biwgc2lnbmFsIGFuIGVycm9yIGFib3V0IG5vIHBsYXlhYmxlIHN0cmVhbXMgdG8KCSAgdGhlIGFwcGxpY2F0aW9uCgoyMDEzLTAxLTA0IDE1OjQ5OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc21hbmlmZXN0OiBkbyBub3Qgc2V0IGNvZGVjX2RhdGEgd2hlbiBpdCBpcyBlbXB0eQoJICBTb21lIG1hbmlmZXN0cyBjb250YWluIGVtcHR5IGNvZGVjIGRhdGFzLCBiZXR0ZXIgbm90IHNldCB0aGVtCgoyMDEzLTAxLTA0IDE1OjQ5OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogc2V0IHRpbWVzdGFtcCBhbmQgZHVyYXRpb24gdG8gZnJhZ21lbnQgYnVmZmVycwoJICBXZSBjYW4gZ2V0IHRob3NlIGZyb20gdGhlIG1hbmlmZXN0IGFuZCBoZWxwcyBkb3duc3RyZWFtIHRvIGtub3cKCSAgdGhlIGZyYWdtZW50IHN0YXJ0IHRpbWUgYWZ0ZXIgYSBzZWVraW5nIG9wZXJhdGlvbgoKMjAxMi0xMi0yOCAwMDo0OToyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NtYW5pZmVzdDogZml4IHR5cG8KCSAgRml4IHR5cG8gdGhhdCB3YXMgbWFraW5nIHRoZSBhZHZhbmNlIGZyYWdtZW50IGZ1bmN0aW9uIHJldHVybiBhIHdyb25nCgkgIGZsb3cgcmV0dXJuIGluIGNhc2UgaXQgd2FzIGFscmVhZHkgRU9TCgoyMDEyLTEyLTI4IDAwOjQ4OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBpbml0aWFsIGltcGxlbWVudGF0aW9uIG9mIHNlZWsgZXZlbnQgaGFuZGxpbmcKCSAgQWRkcyBiYXNpYyBoYW5kbGluZyBmb3Igc2VlayBpbiB0aW1lIGV2ZW50cy4gTmVlZHMgdG8gY29vcGVyYXRlCgkgIHdpdGggdGhlIGRvd25zdHJlYW0gcXRkZW11eCBzbyB0aGF0IGl0IGZvcndhcmRzIHRoZSBzZWVrcyBhbmQKCSAgdGhlIGNvcnJlc3BvbmRpbmcgbmV3c2VnbWVudHMKCjIwMTItMTItMjYgMTY6MTk6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBoYW5kbGUgc3JjIHBhZCBxdWVyaWVzIGZpciBkdXJhdGlvbiBhbmQgbGF0ZW5jeQoJICBBZGQgYSBzcmMgcGFkIHF1ZXJ5IGhhbmRsZXIgdG8gZ2V0IHRoZSBkdXJhdGlvbiBmcm9tIHRoZSBtYW5pZmVzdAoJICBhbmQgcmVwb3J0IGl0IHVwc3RyZWFtLgoJICBBbHNvIGFkZHMgYSBzaW1wbGUgaGFuZGxlciBmb3IgbGF0ZW5jeSBxdWVyaWVzCgoyMDEyLTEyLTIxIDE2OjQyOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhZGQgc29tZSBtb3JlIGVycm9yIGhhbmRsaW5nCgkgIFBvc3QgZXJyb3IgaW4gc29tZSBtb3JlIHNjZW5hcmlvczoKCSAgKiB3aGVuIHRoZSBtYW5pZmVzdCBoYXMgbm8gc3RyZWFtcwoJICAqIHdoZW4gZ2V0dGluZyB0aGUgZnJhZ21lbnQgdXJsIGZhaWxzCgoyMDEyLTEyLTIxIDE1OjM3OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBlbnN1cmUgdGhlIGRlYnVnIGNhdGVnb3J5IGlzIHByb3Blcmx5IGluaXRpYWxpemVkCgkgIFRoZSB1c2VyIG9mIHRoZSBsaWJyYXJ5IG1pZ2h0IG5vdCBuZWVkIHRvIGNyZWF0ZSBhIE5hbFBhcnNlciwgc28KCSAgdGhlIGRlYnVnIGNhdGVnb3J5IG5lZWRzIHRvIGJlIGluaXRpYWxpemVkIGZyb20gb3RoZXIgZnVuY3Rpb25zCgkgIGFzIHdlbGwgaWYgcmVxdWlyZWQuCgoyMDEyLTEyLTIwIDE1OjMwOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogYWRkIHRpbWVzY2FsZSB0byB0aGUgY2FwcwoJICBUaGlzIGlzIGltcG9ydGFudCBmb3IgZG93bnN0cmVhbSB0byBwcm9wZXJseSB0aW1lc3RhbXAgdGhlIHNhbXBsZXMKCSAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMTAwMDAwMDAsIGJ1dCB0aGlzIGNhbiBiZSBzZXQgaW4gdGhlIHN0cmVhbQoJICBvciBhdCB0aGUgdG9wLWxldmVsIG1hbmlmZXN0IGVudHJ5CgoyMDEyLTEyLTIwIDE0OjI3OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBwYXJzZSB0aGUgZnBzIGZyb20gaDI2NCBjb2RlYyBkYXRhIGlmIHBvc3NpYmxlCgkgIFVzZSBoMjY0IGNvZGVjIHBhcnNpbmcgbGliIHRvIGV4dHJhY3QgdGhlIGZwcyBmcm9tIHRoZSBtYW5pZmVzdCdzCgkgIGNvZGVjIGRhdGEgYXMgaXQgZG9lc24ndCBzZWVtIHRvIHByb3ZpZGUgaXQgYW55d2hlcmUgZWxzZQoKMjAxMi0xMi0yMCAwMTowOTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogY29ycmVjdGx5IGFkZCBoMjY0IGNvZGVjIGRhdGEgdG8gY2FwcwoJICBOZWVkIHRvIGNvbnN0cnVjdCBhbiBhdmNjIGF0b20gZnJvbSB0aGUgY29kZWNkYXRhIHJlYWQgZnJvbSBNU1MKCSAgbWFuaWZlc3RzIHRvIG1ha2UgaDI2NCBkZWNvZGVycy9wYXJzZXJzIGFjY2VwdCBpdAoKMjAxMi0xMi0yMCAwMTowNzoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWRkIHRoZSBjb3JyZWN0IGNhcHMgdG8gdGhlIG91dGdvaW5nIHN0cmVhbQoJICBtc3NkZW11eCBvdXRwdXRzIGEgcXVpY2t0aW1lIHZhcmlhbnQsIG5hbWVkIG1zcy1mcmFnbWVudAoKMjAxMi0xMS0yNSAwMTo1NzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogc2V0IGNhcHMgdG8gYnVmZmVycyBiZWZvcmUgcHVzaGluZwoJICBBbHNvIHVwZGF0ZSB0byB0aGUgbGF0ZXN0IGdzdGZyYWdtZW50IEFQSSB0aGF0IHByb3ZpZGVzCgkgIHRoZSBmcmFnbWVudCBhcyBhIHdob2xlIGJ1ZmZlci4KCjIwMTItMTEtMjIgMTM6MDE6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGltcHJvdmUgc3RhdGUgY2hhbmdpbmcKCSAgS2VlcCBhIHJlZiBvbiBwYWQgdG8gcHJldmVudCBpdCBiZWluZyB1bnJlZmZlZCB3aGlsZSB0aGUgbXNzZGVtdXgKCSAgc3RyZWFtcyBhcmUgc3RpbGwgdXNpbmcgaXQuIEFsc28gcmVzZXQgdGhlIGVsZW1lbnQgd2hlbiBnb2luZyB0bwoJICByZWFkeSBpbnN0ZWFkIG9mIHdoZW4gZ29pbmcgdG8gbnVsbC4KCjIwMTItMTEtMjIgMTI6Mjg6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFkZHMgbWluaW51bSBlcnJvciBoYW5kbGluZwoJICBUaGlzIHNob3VsZCBjYXJlIGZvciBiYXNpYyBzY2VuYXJpb3Mgb2YgZXJyb3JzIGFuZCBFT1MgdG8gYWxsb3cKCSAgdGhlIHBpcGVsaW5lIHRvIHN0b3AgY29ycmVjdGx5CgoyMDEyLTExLTIyIDEyOjI4OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBtc3NtYW5pZmVzdDogcHJldmVudCBhY2Nlc3NpbmcgbnVsbCBzdHJlYW0gZnJhZ21lbnQKCSAgTW92ZSB0aGUgYWNjZXNzIHRvIHRoZSBzdHJlYW0gZnJhZ21lbnQgZGF0YSBhZnRlciB0aGUgY2hlY2sKCSAgaWYgdGhlIGZyYWdtZW50IGV4aXN0cyB0byBwcmV2ZW50IGEgc2VnZmF1bHQKCjIwMTItMTEtMTkgMTc6NTM6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgc21vb3Roc3RyZWFtaW5nOiByZWZhY3RvciBzdHJ1Y3R1cmUgbmFtZXMgYW5kIGltcGxlbWVudCB1cmwgZmV0Y2hpbmcKCSAgVXNlIHNob3J0ZXIgbmFtZXMgZm9yIHRoZSBNU1MgbWFuaWZlc3QgaGVscGVyIHN0cnVjdHVyZSBhbmQgZnVuY3Rpb25zLgoJICBBbHNvIGNvbnRpbnVlcyB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIHN0cmVhbSBmZXRjaGluZyBhbmQgcHVzaGluZyBsb29wLgoJICBOb3cgaXQgdXNlcyB0aGUgYmFzZSB1cmwgY29ycmVjdGx5IGFuZCBhbHJlYWR5IGZldGNoZXMgYW5kIHB1c2hlcyB0aGUgZnJhZ21lbnRzCgkgIGRvd25zdHJlYW0KCjIwMTItMTEtMTYgMTc6MzA6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgcGFkIGxvb3AKCSAgVGhlIGxvb3Agd2lsbCBmZXRjaCBhIG5ldyBmcmFnbWVudCBhbmQgcHVzaCBvbiBpdHMgc3JjcGFkLiBFYWNoCgkgIHN0cmVhbSBoYXMgaXRzIG93biBsb29wCgoyMDEyLTExLTE2IDE3OjI5OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IG1vcmUgbWFuaWZlc3QgcGFyc2luZyBhbmQgaGVscGVyIGZ1bmN0aW9ucwoJICBOb3cgdGhlIG1zcyBtYW5pZmVzdCBpcyBhYmxlIHRvIGdlbmVyYXRlIHRoZSBmaWxlcyB1cmxzCgoyMDEyLTExLTE0IDE3OjE5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBwYWQgZXhwb3NpbmcgaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgoJICBEb2VzIHNvbWUgYmFzaWMgcGFyc2luZyBvZiB0aGUgc3RyZWFtIGNhcHMgYW5kIGFkZHMgYSBwYWQgZm9yCgkgIGVhY2ggc3RyZWFtIGRldGVjdGVkIGluIHRoZSBtYW5pZmVzdAoKMjAxMi0xMS0wOSAxNjo0Nzo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGFkZCBtYW5pZmVzdCBwYXJzaW5nCgkgIENvbnRpbnVlZCBpbXBsZW1lbnRpbmc6CgkgIDEpIHBhcnNlIHRoZSBtYW5pZmVzdCB3aXRoIGxpYnhtbDIKCSAgMikgZGV0ZWN0IHN0cmVhbSB0eXBlcwoKMjAxMi0xMS0wOCAxNjowNjo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdHNtb290aHN0cmVhbWluZy1wbHVnaW4uYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBzdHVicyBmb3IgbXNzZGVtdXgKCSAgSnVzdCB0aGUgc3R1YnMgZm9yIG1zc2RlbXV4IGVsZW1lbnQuCgkgIEFsc28gYWRkIHNvbWUgdXNlZnVsIGNvZGUgZnJvbSBobHNkZW11eCB0aGF0IHdlIGludGVuZCB0byByZXVzZQoKMjAxMi0xMS0wOCAxNTo0MjozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0c21vb3Roc3RyZWFtaW5nLXBsdWdpbi5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IGJ1aWxkIGRpcmVjdG9yeSBzdHVicyBmb3IgbmV3IHBsdWdpbgoJICBJbml0aWFsIGJ1aWxkIHN0cnVjdHVyZSBmb3IgTVMnIFNtb290aCBTdHJlYW1pbmcgcGx1Z2luCgkgIENvbmZsaWN0czoKCSAgZXh0L01ha2VmaWxlLmFtCgoyMDEzLTAyLTE5IDEzOjAxOjM3IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogdW5sb2NrIG11dGV4IHdoZW4gc3dpdGNoaW5nIHVyaXNyYyBzdGF0ZSB0byBOVUxMIHRvIGF2b2lkIGRlYWRsb2NrCgkgIFdoZW4gY2hhaW4gbWV0aG9kIHdhcyBjYWxsZWQgYWZ0ZXIgZ3N0X3VyaV9kb3dubG9hZGVyX3N0b3AgYW5kIGJlZm9yZSBzdGF0ZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIE5VTEwsIGV4ZWN1dGlvbiB3YXMgYmxvY2tpbmcgb24gZ19tdXRleF9sb2NrLgoJICBDb25mbGljdHM6CgkgIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYwoKMjAxMy0wMi0wNyAwMDoyODoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBwcm9wZXJseSB1bnJlZiB0aGUgdXJpc3JjIGJldHdlZW4gZG93bmxvYWRzCgkgIFRoaXMgcHJldmVudHMgbGVha2luZyB0aGUgZWxlbWVudC4gQWxzbyBzZXRzIHRoZSBidXMgdG8gZmx1c2hpbmcKCSAgdG8gY29tcGxldGVseSByZXNldCB0aGUgZG93bmxvYWRlciBzdGF0ZQoKMjAxMy0wNC0xNiAxNzoyMzowMiAtMDMwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBtYWtlIGNhbmNlbGxlZCBzdGF0ZSAncGVybWFuZW50JyB1bnRpbCBhIHJlc2V0CgkgIFdoZW4gZG93bmxvYWRpbmcgYW5kIGNhbmNlbGxpbmcgcXVpY2tseSB0aGUgdXJpZG93bmxvYWRlciBvYmplY3QgYW5kIHRoZQoJICBlbGVtZW50IHVzaW5nIGl0IGNvdWxkIG1pc3MgdGhlIGNhbmNlbGxlZCB3aW5kb3cgYW5kIHRoZSB1cmlkb3dubG9hZGVyCgkgIHdvdWxkIGZldGNoIHRoZSB3cm9uZyBVUkkgYW5kIGJsb2NrIG9uIHN1YnNlcXVlbnQgZmV0Y2hlcy4KCSAgVGhpcyB3YXMgYWxzbyBwcm9ibGVtYXRpYyB3aGVuIHN0b3BwaW5nIGVsZW1lbnRzLCB3aGlsZSBvbmUgdGFzayB3b3VsZAoJICBjYWxsIHRoZSBjYW5jZWwsIGFub3RoZXIgZWxlbWVudCB0aHJlYWQgY291bGQgaXNzdWUgYSBuZXcgZmV0Y2hfdXJpLiBBcwoJICB0aGUgY2FuY2VsIHN0YXRlIGlzbid0ICdwZXJtYW5lbnQnIHRoaXMgZmV0Y2hfdXJpIHdvdWxkIGJsb2NrIGFuZAoJICBwcmV2ZW50IHRoZSB3aG9sZSBlbGVtZW50IGZyb20gc3RvcHBpbmcgYW5kIGdvaW5nIHRvIE5VTEwuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgdGhlICdjYW5jZWxsZWQnIHN0YXRlIHBlcm1hbmVudCB1bnRpbCBhCgkgIGdzdF91cmlfZG93bmxvYWRlcl9yZXNldCBpcyBjYWxsZWQuIFRoaXMgd2F5IHRoZSBlbGVtZW50IGtub3dzIHRoZQoJICB3aW5kb3cgd2hlcmUgdGhlIHVyaWRvd25sb2FkZXIgaXNuJ3QgYWN0aXZlIGFuZCBvbmx5IHJlYWN0aXZhdGUgaXQgd2hlbgoJICByZWFkeS4KCjIwMTMtMDQtMTYgMTk6NDc6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuaDoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXJfZGVidWcuaDoKCSAgdXJpZG93bmxvYWRlcjogcmVmYWN0b3IgZ3N0dXJpZG93bmxvYWRlciB0byBpdHMgb3duIGxpYgoJICBnc3R1cmlkb3dubG9hZGVyIGNhbiBiZSByZXVzZWQgYnkgb3RoZXIgcGx1Z2lucywgYmV0dGVyIGhhdmUgaXQKCSAgaW50byBpdHMgb3duIGxpYgoKMjAxMy0wNS0wNyAwODoyNjowMyAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBGaXggbWVtb3J5IGxlYWsgd2hlbiB1c2luZyBwcmVwYXJlX2Z1bmMKCSAgcHJlcGFyZV9mdW5jIHdpbGwgYWxsb2NhdGUgYSBuZXcgYnVmZmVyIHRvIHJlcGxhY2UgdGhlIG9yaWdpbmFsCgkgIG9uZS4gSW5zdGVhZCBvZiB1c2luZyBnc3RfYnVmZmVyX3JlcGxhY2UgKHdoaWNoIGNhdXNlcyBhbiBleHRyYQoJICByZWZjb3VudCBpbmNyZW1lbnQgb24gdGhlIG5ldyBidWZmZXIpLCB3ZSBqdXN0IHVucmVmIHRoZSBvcmlnaW5hbAoJICBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk3ODYKCjIwMTMtMDUtMDcgMTQ6MjI6MTAgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5oOgoJICBtcGVndmlkZW9tZXRhOiBGaXggdHlwbyBpbiBjb21tZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk4MjcKCjIwMTMtMDUtMDMgMjE6NDY6MDggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNpbmsuYzoKCSAgbGFkc3BhOiBzeW5jIGNvbnRyb2xsZWQgcGFyYW1lcyBpbiBmaWx0ZXJzIGFuZCBzaW5rcwoKMjAxMy0wNS0wMyAxNjo1NTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICBsYWRzcGE6IEFkZCAkKEdNT0RVTEVfTk9fRVhQT1JUX0xJQlMpIGZvciBnbW9kdWxlCgoyMDEzLTA1LTAxIDE3OjE5OjA3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZG9uJ3QgY29tcGFyZSBidWZmZXIgc2l6ZSB3aGVuIGNoZWNraW5nIHdoZXRoZXIgdG8gdXBkYXRlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTM5OAoKMjAxMy0wNS0wMyAxMTozNDozNCArMDIwMCAgSnVhbiBNYW51ZWwgQm9yZ2VzIENhw7FvIDxqdWFubWFiY21haWxAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNpbmsuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzaW5rLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc291cmNlLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc291cmNlLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhdXRpbHMuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGF1dGlscy5oOgoJICBsYWRzcGE6IGltcHJvdmVkIHBvcnQgdG8gZ3N0cmVhbWVyIDEuMAoJICBGaXhlczogIzY5ODkyNwoKMjAxMy0wNS0wMSAxNzozNjo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBkb24ndCBhbm5vdW5jZSBpbmNvbXBsZXRlIHNvdXJjZSBjYXBzCgkgIERvbid0IHNlbmQgYW55IHNvdXJjZSBjYXBzIHlldCBpZiB3ZSdyZSBzdGlsbCBpbgoJICBkcm9wLWJ1ZmZlcnMtdW50aWwtd2UtZ2V0LWEtc2VxdWVuY2UtaGVhZGVyIG1vZGUuCgkgIEZpeGVzIHRyYW5zbXV4aW5nIG9mIG1hbnkgTVBFRy1UUy9QUyBzdHJlYW1zIGludG8KCSAgZm9ybWF0cyB3aGljaCByZXF1aXJlIHRoaW5ncyBsaWtlIHdpZHRoLCBoZWlnaHQgb3IKCSAgY29kZWNfZGF0YSBvbiB0aGUgaW5wdXQgY2Fwcy4KCSAgQWxzbyBmaXhlcyBpc3N1ZXMgd2hlbiB1c2luZyBwbGF5YmluIHdpdGggZGVjb2RlcgoJICBzaW5rcyB0aGF0IHdhbnQgd2lkdGgvaGVpZ2h0IGV0Yy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg3OQoKMjAxMy0wNC0yNyAxMjoyODo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSAga2F0ZTogZml4IGJ1ZmZlciBsZWFrIGluIGthdGV0YWcKCSAgTWFrZXMgdW5pdCB0ZXN0IHZhbGdyaW5kIGNsZWFuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTI3IDEyOjA2OjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICB0ZXN0czogZml4IHNvbWUgbGVha3MgaW4ga2F0ZSB1bml0IHRlc3QKCjIwMTMtMDQtMjcgMTI6MDY6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJICBrYXRlOiBtaW5vciBjbGVhbnVwCgoyMDEzLTA0LTI2IDE1OjMzOjE4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBEb2N1bWVudCB0aGF0IHRoZSBsYXRlbmN5IGlzIGluIG1pbGxpc2Vjb25kcwoJICBCdWcgIzY5ODg5NgoKMjAxMy0wNC0yNiAxNTozOTozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBjb252ZXJ0IHBhY2tldCBQVFMvRFRTIGFzIHNvb24gYXMgcG9zc2libGUKCSAgV2UgbGV0IHRoZSBtcGVndHNwYWNrZXRpemVyIGRlYWwgd2l0aCBwY3Igd3JhcGFyb3VuZC9yZXNldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQ1MzYKCjIwMTMtMDQtMjYgMTI6MTg6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgIG1wZWd0c2RlbXV4OiBoZWFkZXIgY2xlYW51cHMvdXBkYXRlcwoKMjAxMy0wNC0yNiAxNDozMjoxNCArMDIwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB0LW9ubGluZS5kZT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogRHJvcCBvYnNvbGV0ZSByZWZlcmVuY2VzIHRvIHZpZGVvc2lnbmFsIGhlYWRlcnMKCSAgSW4gYWRkaXRpb24gdG8gODU1MjM5NmMzNjJjMjBhZGI2YWE5MTI5YTQ1M2ZmODFlY2RjZjY1NgoKMjAxMy0wNC0yNiAxMDozODozNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBVcGRhdGUgc3JjIHBhZCBjYXBzIHdoZW4gaXQgd2FzIGV4cGxpY2l0bHkgc2lnbmFsZWQKCSAgRml4ZXMgc3JjIHBhZCBjYXBzIGFyZW4ndCB1cGRhdGVkIHdoZW4gY29udmVydGluZyBmcm9tIEFWQyB0byBieXRlc3RyZWFtCgkgIGFuZCBuZXcgY2FwcyBoYWQgYmVlbiByZWNlaXZlZCBpbiB0aGUgc2luayBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg2NzkKCjIwMTMtMDQtMjMgMTU6MTk6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBjYXBzIHN0cmluZyBsZWFrCgoyMDEzLTA0LTI0IDA5OjQwOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgZ3N0X2VnbF9kaXNwbGF5X2dldCgpIGluc3RlYWQgb2YgcGFzc2luZyBhIEdzdEVHTERpc3BsYXkgdG8gRUdMIGZ1bmN0aW9ucwoKMjAxMy0wMy0yOCAxNjo1MjoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJICB3YXNhcGlzcmM6IFBvcnQgdG8gR3N0QXVkaW9TcmMKCjIwMTMtMDMtMjcgMTA6MTA6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIHdhc2FwaTogUG9ydCB3YXNhcGlzaW5rIHRvIEdzdEF1ZGlvU2luawoKMjAxMy0wNC0yMyAwMToxNzo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgdGVzdHM6IGZpeCByZW1haW5pbmcga2F0ZSB0ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTE1IDE3OjA2OjU3IC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICB0ZXN0czogcG9ydCBLYXRlIHRlc3RzIHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTIyIDIzOjUyOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTUFJTlRBSU5FUlM6CgkqIFJFQURNRToKCSogUkVBRE1FLnN0YXRpYy1saW5raW5nOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNjYjNkM2MgdG8gNWVkY2Q4NQoKMjAxMy0wNC0yMSAxODoyODo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2Yi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmg6CgkgIGR2YmJhc2ViaW46IGJldHRlciBlcnJvciByZXBvcnRpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODg5MgoKMjAxMy0wNC0yMSAxNDoxMzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiYmFzZWJpbjogbG9nIGNoYW5uZWwgcGFyc2luZyBpbnRvIGR2YmJhc2ViaW4gZGVidWcgY2F0ZWdvcnkgYXMgd2VsbAoKMjAxMy0wNC0yMSAxNDowNDoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmJiYXNlYmluOiBmaXggcGF0aCB3aGVyZSB0byBsb29rIGZvciB0aGUgZHZiLWNoYW5uZWxzLmNvbmYKCSAgQ29uc3RydWN0IHBhdGggYmFzZWQgb24gdGhlIEFQSSB2ZXJzaW9uLCBub3QgJG1ham9yLiRtaW5vciB2ZXJzaW9uLgoKMjAxMy0wNC0xOCAyMDoyNjoxNSArMDAwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkgIGVnbGdsZXNzaW5rOiBlYWdsOiBmaXggZWFnbCByZXVzZSBieSBub3QgcmVsZWFzaW5nIHRoZSBjb250ZXh0CgkgIEl0IHNlZW1zIEVBR0wgZXhwZWN0cyB0aGUgYXBwbGljYXRpb24gdG8gc2ltcGx5IGlnbm9yZSB1bnVzZWQKCSAgRUFHTCBjb250ZXh0cyBhcyB0aGUgcmVzb3VyY2VzIGZvciBpdCB3b3VsZCBiZSByZWxlYXNlZCB3aGVuIGEgbmV3CgkgIGNvbnRleHQgaXMgc2V0IGFzIHRoZSBjdXJyZW50IG9uZS4gQWxzbyBtb3ZlIHRoZSBlZ2wgZXh0ZW5zaW9ucwoJICBxdWVyeWluZyB0byBhZnRlciBhIGNvbnRleHQgaXMgc2V0IHRvIHByZXZlbnQgY3Jhc2hlcy4KCSAgVGhpcyBtYWtlcyB0aGUgRUFHTCB2ZXJzaW9uIG9mIGVnbGdsZXNzaW5rIHJldXNhYmxlLgoKMjAxMy0wNC0xOCAxNzoxODoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5oOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmY6IHBvcnQgdG8gMS4wCgoyMDEzLTA0LTE4IDE2OjExOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkgIGVnbDogVXNlIGdzdF9jb250ZXh0X3dyaXRhYmxlX3N0cnVjdHVyZSgpCgoyMDEzLTA0LTE4IDE1OjI2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHaXZlIG9ubHkgU0VDT05EQVJZIHJhbmsKCSAgSWYgYXZhaWxhYmxlIHdlIHN0aWxsIHByZWZlciB4dmltYWdlc2luay4KCjIwMTMtMDQtMTggMTI6NTQ6MzEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBmaXhlcyAnbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QnIHdhcm5pbmcKCjIwMTMtMDQtMTggMTI6MjQ6MTggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogc2lsZW5jZSB3YXJuaW5ncyBidWlsZGluZyBmb3IgUlBJIHJlbGF0ZWQgdG8gJ3Zjb3NfKicKCjIwMTMtMDQtMTggMTI6Mjc6MjggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBmaXggd2FybmluZ3MgYnVpbGRpbmcgb24gdGhlIFJQSQoKMjAxMy0wNC0xOCAxMjoxNjoxNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSAgZWdsOiBzaWxlbmNlIHdhcm5pbmdzIGJ1aWxkaW5nIGZvciBSUEkgcmVsYXRlZCB0byAndmNvc18qJwoKMjAxMy0wNC0xNyAxNDo0NToxOSAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBNb3Rvcm9sYSBEaWdpQ2lwaGVyIElJIE1QRUcyIHZpZGVvCgkgIFNpbmNlIHRoZXJlIGlzIGEgY29uZmxpY3QgYmV0d2VlbiB0aGUgRENJSSBzdHJlYW0gdHlwZSBhbmQgQmx1UmF5CgkgIHN0cmVhbSB0eXBlcywgbW92ZWQgdGhlIHByb2Nlc3Npbmcgb2YgQmx1UmF5LXNwZWNpZmljIHN0cmVhbSB0eXBlcwoJICB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmdW5jdGlvbi4gIE9ubHkgaWYgYSBCbHVSYXkgc3RyZWFtIHR5cGUKCSAgSVMgTk9UIGZvdW5kIGRvIHdlIHByb2NlZWQgdG8gY2hlY2sgdGhlIHJlc3Qgb2YgdGhlIHN0cmVhbSB0eXBlCgkgIGlkZW50aWZpZXJzCgkgIFByZXZpb3VzIGNvZGUgd2FzIGFsc28gInNvcnQtb2YiIGhhbmRsaW5nIGEgc2ltaWxhciBjb25mbGljdCBiZXR3ZWVuCgkgIEJsdVJheSBBQzMgYXVkaW8gYW5kIHN0YW5kYXJkIEFDMyBhdWRpby4gIE1vdmVkIHRoZSBzcGVjaWFsIGNhc2UgQmx1UmF5CgkgIEFDMyBoYW5kbGluZyBpbiB0aGUgbWFpbiBzd2l0Y2ggc3RhdGVtZW50IHRvIHRoZSBuZXcgQmx1UmF5LXNwZWNpZmljCgkgIHN3aXRjaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Nzg5MgoKMjAxMy0wNC0xOCAwOTowNzoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVGhlIHF1aWNrdGltZSB3cmFwcGVyIHBsdWdpbiBpcyBub3QgcG9ydGVkIHlldCBlaXRoZXIKCjIwMTMtMDQtMTggMDg6NTY6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFRoZSBvc3h2aWRlb3NyYyBwbHVnaW4gaXMgY2FsbGVkIG9zeF92aWRlbwoKMjAxMy0wNC0xOCAwNzo1NDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9zeHZpZGVvc3JjOiBJdCdzIG5vdCBwb3J0ZWQgdG8gMS4wIHlldAoKMjAxMy0wNC0xNyAxMzo0ODoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IEdzdENvbnRleHQgcmVmY291bnRpbmcgc29tZSBtb3JlCgoyMDEzLTA0LTE3IDEzOjE2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggR3N0Q29udGV4dCByZWZjb3VudGluZwoKMjAxMy0wNC0xNyAxMDo0ODozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFVwZGF0ZSBmb3IgR0xUZXh0dXJlVXBsb2FkTWV0YSBhbmQgRUdMIEFQSSBjaGFuZ2VzCgoyMDEzLTA0LTE3IDEwOjQwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogVXNlIG5ldyB0eXBlcyBmcm9tIGxpYmdzdHZpZGVvIGluc3RlYWQgb2YgZGVmaW5pbmcgb3VyIG93bgoKMjAxMy0wMy0yNSAxODozMDoxOCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRG8gbm90IGNoZWNrIGZvciBWVUkgcGFyYW1ldGVycyBpZiB0aGV5IHdlcmUgbm90IHByZXNlbnQgaW4gdGhlIFNQUwoKMjAxMy0wNC0xNiAyMjo1MTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW9yZGVyIHN1cmZhY2UgcXVlcmllcwoJICBPdGhlcndpc2Ugd3JvbmcgdmFsdWVzIGNhbiBiZSByZXR1cm5lZC4KCjIwMTMtMDQtMTYgMjI6MjU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJvcGVybHkgc2V0IGEgZGVidWcgY2F0ZWdvcnkgZm9yIHRoZSBhZGFwdGlvbiBsYXllcnMKCjIwMTMtMDQtMTYgMjI6MjU6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdldCB0aGUgRUdML0dMRVMgZXh0ZW5zaW9ucyBhdCB0aGUgcmlnaHQgcG9zaXRpb24KCjIwMTMtMDQtMTYgMjI6MTQ6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGVnbGFkYXB0YXRpb25fZWdsLmM6IEluIGZ1bmN0aW9uICdnc3RfZWdsX2FkYXB0YXRpb25fY3JlYXRlX25hdGl2ZV93aW5kb3cnOgoJICBnc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOjg2ODozOiBlcnJvcjogZm9ybWF0ICclcCcgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICd2b2lkIConLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSAnRUdMTmF0aXZlV2luZG93VHlwZScgWy1XZXJyb3I9Zm9ybWF0PV0KCSAgR1NUX0RFQlVHX09CSkVDVCAoY3R4LT5lbGVtZW50LCAiVXNpbmcgd2luZG93IGhhbmRsZSAlcCIsIHdpbmRvdyk7CgkgIF4KCjIwMTMtMDQtMTAgMTc6Mjc6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiByZWZhY3RvciB0byBhbGxvdyBlYWdsIHN1cHBvcnQKCSAgUHV0IEVHTCBzcGVjaWZpYyBjb2RlIHRvIGEgc2VwYXJhdGUgZmlsZSBhbmQgY3JlYXRlIHRoZSBzYW1lIGZ1bmN0aW9ucwoJICBmb3IgRUFHTCwgdGhlIEFwcGxlJ3Mgc3BlY2lmaWMgRUdMIGltcGxlbWVudGF0b24uCgkgIEF0IHRoaXMgcG9pbnQsIHRoZSBFQUdMIHZlcnNpb24gd2Fzbid0IGNvbXBpbGVkIG9yIHRlc3RlZCBhcyB0aGVyZSBpc24ndAoJICBhbnkgc2ltcGxlIGRvY3VtZW50ZWQgd2F5IHRvIGJ1aWxkIDEuMCBmb3IgaU9TLiBUaGlzIGNvZGUgZm9yIHRoZSBFQUdMCgkgIHZlcnNpb24gaXMgc3RpbGwgdGhlIDAuMTAgdmVyc2lvbiwgc29tZSB1cGRhdGVzIHNob3VsZCBiZSBtYWRlIHdoZW4gMS4wCgkgIGlzIGJ1aWxkYWJsZSBmb3IgaU9TLgoKMjAxMy0wNC0xNSAxNzo0Mzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBlYWdsOiBhZGQgaW9zIHdpbmRvdyBzeXN0ZW0gb3B0aW9uIGZvciBlZ2xnbGVzIGNvbmZpZ3VyZQoKMjAxMy0wNC0xNSAxODo0MDowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBpb3M6IHVuY29uZGl0aW9uYWxseSBjaGVjayBpZiB3ZSBhcmUgYnVpbGRpbmcgZm9yIGlPUwoJICBJbnN0ZWFkIG9mIG9ubHkgY2hlY2tpbmcgaWYgYXBwbGVtZWRpYSBpcyBnb2luZyB0byBiZSBidWlsdAoKMjAxMy0wNC0xMCAxNDo1Mzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogcmVmYWN0b3IgZWdsIGZ1bmN0aW9ucy9kYXRhIHRvIGEgc2VwYXJhdGUgZmlsZQoJICBUaGlzIGlzIHBhcnQgb2YgdGhlIGNoYW5nZXMgcmVxdWlyZWQgdG8gbWFrZQoJICBlZ2xnbGVzc2luayB3b3JrIHdpdGggYm90aCBFR0wgYW5kIEFwcGxlJ3MgRUFHTAoKMjAxMy0wNC0xNiAxNjozMDowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJpbnQgRUdML0dMRVMgZXh0ZW5zaW9ucyBhZnRlciB3ZSBhcmUgYWN0dWFsbHkgaW5pdGlhbGl6ZWQgZW5vdWdoCgoyMDEzLTA0LTE2IDE2OjIzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgYW1jYXVkaW9kZWM6IFByb3Blcmx5IHNldCBvdXRwdXQgZm9ybWF0IGluc3RlYWQgb2YganVzdCBzZXR0aW5nIGNhcHMKCjIwMTMtMDQtMTYgMTY6MTc6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogU2V0IHBhcmVudCBjbGFzcyBpbiBjbGFzc19pbml0CgoyMDEzLTA0LTE2IDE2OjAwOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEhhbmRsZSByZWZjb3VudHMgb2YgcGFkIHRlbXBsYXRlcyBjb3JyZWN0bHkKCSAgZ3N0X3BhZF90ZW1wbGF0ZV9uZXcoKSBkb2VzIG5vdCB0YWtlIG93bmVyc2hpcCBvZiBjYXBzIGFueW1vcmUgYW5kCgkgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUoKSBkb2VzIHRha2Ugb3duZXJzaGlwIG9mIHRoZQoJICBwYWQgdGVtcGxhdGUgbm93LgoKMjAxMy0wNC0xNiAxNTozMjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIGFtY2F1ZGlvZGVjOiBVc2UgMS4wLXN0eWxlIHJhdyBhdWRpbyBjYXBzCgoyMDEzLTA0LTE2IDE1OjMxOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IFByb3Blcmx5IHNldCBzdWJjbGFzc2VzIG1ldGFkYXRhL3BhZCB0ZW1wbGF0ZXMgaW4gYmFzZV9pbml0CgoyMDEzLTA0LTE1IDE2OjAxOjI5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBjaGVjayB2YWx1ZSBiZWZvcmUgdXNpbmcgYXMgZGVub21pbmF0b3IKCjIwMTMtMDQtMTUgMTg6MTk6MzggKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjQ6IHByaW50ZiBmb3JtYXQgZml4CgkgIGdzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6NDM3OjU6IGVycm9yOiBmb3JtYXQgJyVsdScgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICdsb25nIHVuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlICdHc3RDbG9ja1RpbWUnCgoyMDEyLTEwLTI0IDEyOjE2OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJKiBleHQvYXNzcmVuZGVyL01ha2VmaWxlLmFtOgoJKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jaHJvbWFwcmludC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGl0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2ZsdWlkc3ludGgvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L21pbWljL01ha2VmaWxlLmFtOgoJKiBleHQvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvbXBnMTIzL01ha2VmaWxlLmFtOgoJKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSogZXh0L29mYS9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5hbC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcnN2Zy9NYWtlZmlsZS5hbToKCSogZXh0L3J0bXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zYmMvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJKiBleHQvc3BhbmRzcC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSogZXh0L3NydHAvTWFrZWZpbGUuYW06CgkqIGV4dC90ZWxldGV4dGRlYy9NYWtlZmlsZS5hbToKCSogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FtcndiZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkqIGV4dC96YmFyL01ha2VmaWxlLmFtOgoJKiBnc3QvYWNjdXJpcC9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21lbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kYXRhdXJpc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmJzdWJvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZmFjZW92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVldmVyYi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvaGR2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2ZnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZ0Yy9NYWtlZmlsZS5hbToKCSogZ3N0L2pwMmtkZWNpbWF0b3IvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbWlkaS9NYWtlZmlsZS5hbToKCSogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3BzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9wYXRjaGRldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSogZ3N0L3JlbW92ZXNpbGVuY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkqIGdzdC9zZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZWdtZW50Y2xpcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95YWRpZi9NYWtlZmlsZS5hbToKCSogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hdmMvTWFrZWZpbGUuYW06CgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkqIHN5cy9saW5zeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9tZmMvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL3B2cjJkL01ha2VmaWxlLmFtOgoJKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSogc3lzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbnNjcmVlbmNhcC9NYWtlZmlsZS5hbToKCSogdG9vbHMvZ3N0LXByb2plY3QtbWFrZXI6CgkgIGdzdDogQWRkIGJldHRlciBzdXBwb3J0IGZvciBzdGF0aWMgcGx1Z2lucwoKMjAxMy0wNC0xNSAxNToxMzo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgY3J1ZnQ6IEFkZCBjYW1lcmFiaW4gZGlyZWN0b3J5IHRvIHRoZSBjcnVmdCBkaXJlY3RvcmllcwoKMjAxMy0wNC0xNSAwOTowMTo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IGZpeCB0aW1lb3V0IHZhbHVlCgkgIFRpbWVvdXQgb24gdWRwc3JjIGlzIGluIG5hbm9zZWNvbmRzIGluIDEuMAoKMjAxMy0wNC0xNSAwMDoyMjozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogQWRkIGNvbmRpdGlvbmFsIG9uIEFQSSB2ZXJzaW9uIGZvciBuZXcgZW51bQoKMjAxMy0wNC0wNCAxNTo1OTowOSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggZGVhZGxvY2sgZHJhaW5pbmcgcXVldWUgZnJvbSB0aGUgc2FtZSB0aHJlYWQKCjIwMTEtMDgtMTAgMTI6MTM6MzQgKzAwMDAgIEZhYnJpY2lvIENvc3RhIEFsaXNlZG8gPGZhYnJpY2lvLmNvc3RhQG1vbGRlb2ludGVyYWN0aXZlLmNvbS5hcj4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IEFkZGVkIEdyYXBoIEJ1aWxkZXIgYW5kIENhcHR1cmUgQnVpbGRlciB0byBjb3JyZWN0bHkgY3JlYXRlIHVwc3RyZWFtIG5lZWRlZCBmaWx0ZXJzIGJ5IEFuYWxvZyBUViBDYXB0dXJlIERldmljZXMuCgoyMDEyLTEyLTAxIDE2OjI0OjIyICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IEFkZCBzdXBwb3J0IGZvciBVWVZZCgoyMDEzLTA0LTE1IDA4OjQ4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgZ3N0ZWdsZ2xlc3NpbmsuYzogSW4gZnVuY3Rpb24gJ2dzdF9lZ2xnbGVzc2lua19maWxsX3RleHR1cmUnOgoJICBnc3RlZ2xnbGVzc2luay5jOjE4MTU6MzogZXJyb3I6IGZvcm1hdCAnJWQnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAnaW50JywgYnV0IGFyZ3VtZW50IDExIGhhcyB0eXBlICdnc2l6ZScgWy1XZXJyb3I9Zm9ybWF0XQoJICBnc3RlZ2xnbGVzc2luay5jOiBJbiBmdW5jdGlvbiAnZ3N0X2VnbGdsZXNzaW5rX2NvbmZpZ3VyZV9jYXBzJzoKCSAgZ3N0ZWdsZ2xlc3NpbmsuYzoyODUwOjM6IGVycm9yOiBmb3JtYXQgJyVwJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ3ZvaWQgKicsIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlICdFR0xOYXRpdmVXaW5kb3dUeXBlJyBbLVdlcnJvcj1mb3JtYXRdCgoyMDEzLTA0LTE1IDAwOjQ4OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmg6CgkgIGthdGU6IG9ubHkgc2VuZCBkZWNvZGVyIG91dHB1dCBjYXBzIG9uY2Ugb3Igd2hlbiB0aGUgZm9ybWF0IGNoYW5nZXMKCSAgYW5kIG5vdCBmb3IgZXZlcnkgc2luZ2xlIGJ1ZmZlci4gQW5kICBhbHNvIHNlbmQgYSBjYXBzCgkgIGV2ZW50IGZvciBzcHUgb3V0cHV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTE0IDIzOjIyOjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBmaXggZGVjb2RlciBvdXRwdXQgY2FwcwoJICBJdCdzIGVpdGhlciBwYW5nby1tYXJrdXAgb3IgdXRmOCwgbmV2ZXIgYm90aCBhdCB0aGUgc2FtZSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTE0IDIzOjE5OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogbWFyayBoZWFkZXIgYnVmZmVycyBhcyBzdWNoCgoyMDEzLTA0LTE0IDIzOjA4OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGVlbmM6IHNhdmUgY3VycmVudCBpbnB1dCBmb3JtYXQgaW4gc2V0Y2FwcwoKMjAxMy0wNC0xNCAyMToyODo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBmaXggcHJpbnRmIGZvcm1hdCBzdHJpbmdzIGFuZCBkaXNhYmxlIHRpZ2VyIGVsZW1lbnQKCjIwMTMtMDQtMDEgMTI6NDc6MTMgLTA2MDAgIEJyZW5kYW4gTG9uZyA8Yi5sb25nQGNhYmxlbGFicy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGU6IHBvcnQgS2F0ZSBzdWJ0aXRsZXMgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcwNzEKCjIwMTMtMDQtMTQgMTc6NTU6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGFlZDg3YWUgdG8gM2NiM2QzYwoKMjAxMy0wNC0xMiAxNzowMTozOCArMDIwMCAgQWxleGFuZGVyIE9sc3NvbiA8YWxleG9AYXhpcy5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhY2NlcHQgYW55IGpwZWcgaW5wdXQgLSBwYXJzZWQsIHVucGFyc2VkIG9yIHVubWFya2VkCgkgIFRoZSBzcmMgZWxlbWVudCBtYXkgbm90IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQgd2hldGhlcgoJICB0aGUgZGF0YSBpcyBwYXJzZWQgb3Igbm90LiBIZW5jZSBkbyBub3QgcmVxdWlyZSBwYXJzZWQ9ZmFsc2UuCgkgIEZpeGVzIG11bHRpcGFydGRlbXV4ICEganBlZ3BhcnNlICEgLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc4ODQKCjIwMTMtMDQtMTIgMTQ6MDk6MjQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXI6CgkgIGVsZW1lbnQtdGVtcGxhdGU6IGFkZCBzdGFydC9zdG9wIHRvIHZpZGVvZmlsdGVyCgoyMDEzLTA0LTEyIDE0OjA4OjE1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZS12aWRlbzoKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IGF2b2lkIHVzaW5nIFBhZFRlbXBsYXRlcwoKMjAxMy0wNC0xMiAxNDowNzozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNldHJhbnNmb3JtOgoJICBlbGVtZW50LXRlbXBsYXRlczogQWRkIGhlbHBlciBjb2RlIHRvIHRyYW5zZm9ybV9jYXBzCgoyMDEzLTA0LTEyIDEzOjU2OjI1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOgoJICB2aWRlb2FuYWx5c2U6IHBvcnQgdG8gMS4wCgoyMDEzLTA0LTA1IDIxOjMxOjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5oOgoJICB2aWRlb2ZpbHRlcnNiYWQ6IHBvcnQgdG8gMS4wCgoyMDEzLTA0LTExIDIyOjE1OjA3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkZWNyZWFzZSBsb2cgcHJpb3JpdHkgZm9yIHJlcGVhdGluZyBtZXNzYWdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3ODM0CgoyMDEzLTA0LTExIDEzOjM0OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0Lmg6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLnBjLmluOgoJICB2aWRlbzogUmVtb3ZlIHZpZGVvIGxpYnJhcnkgZnJvbSAtYmFkCgkgIFRoaXMgb25seSBjb250YWluZWQgQVBJIHRoYXQgbm93IGhhcyByZXBsYWNlbWVudHMgaW4gY29yZSBhbmQgYmFzZS4KCjIwMTMtMDQtMTEgMTM6MDg6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQ2hlY2sgdGhlIGNvbnRpbnVpdHkgY291bnRlciBmb3Igbm9uLXNlY3Rpb24gcGFja2V0cyB0b28KCSAgQW5kIGlmIHdlIGRldGVjdCBhIGRpc2NvbnRpbnVpdHkgdGhlcmUgKGxpa2UuLi4gd2hlbiBsb3NpbmcgcGFja2V0cwoJICBvciBoYXZpbmcgTVBFR1RTIG92ZXIgcmF3IFVEUCB3aXRoIG91dC1vZi1vcmRlciBwYWNrZXRzKSB3ZSBqdXN0CgkgIGRyb3AgdGhlIGNvcnJlc3BvbmRpbmcgcGFja2V0LgoJICBBIGZ1dHVyZSB2ZXJzaW9uIGNvdWxkIHRyeSB0byBpbXBsZW1lbnQgYSByZS1vcmRlcmluZyBhbGdvcml0aG0gYmFzZWQKCSAgb24gdGhhdCwgc2ltaWxhciB0byB3aGF0IHJ0cGppdHRlcmJ1ZmZlciBkb2VzLgoKMjAxMy0wNC0xMSAxMDowNjoyMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbWZ4ZGVtdXM6IHVwZGF0ZSB0b2RvICh0aGVyIGVpcyBhIG11eGVyKQoKMjAxMy0wNC0xMCAxNjoxOTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBDYWxsIDo6cHJvZ3JhbV9zdG9wcGVkIGFmdGVyIHJlbW92aW5nIGFsbCBzdHJlYW1zCgkgIFN1YmNsYXNzZXMgd2FudCB0byBhY2Nlc3MgdGhlIHByb2dyYW0gd2hpbGUgcmVtb3ZpbmcgdGhlIHN0cmVhbXMKCSAgYW5kIHdpbGwgY3VycmVudGx5IGNyYXNoIGJlY2F1c2Ugb2YgZGVyZWZlcmVuY2luZyBOVUxMIGluIHNvbWUgY2FzZXMuCgoyMDEzLTA0LTEwIDExOjA2OjUyICswMjAwICBBbGV4YW5kZXIgU2NocmFiIDxhbGV4YXNAYXhpcy5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJICB3YXRjaGRvZzogcmFjZSBiZXR3ZWVuIGdfbWFpbl9sb29wX3J1bi9fcXVpdCBmaXhlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3Njk0CgoyMDEzLTA0LTA5IDIxOjMyOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBEb24ndCBzdG9wIG9uIGludmFsaWQgYnVmZmVyCgoyMDEzLTA0LTA5IDIxOjMxOjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBDbGVhbmVyIHN0cmVhbSBjbGVhbnVwCgoyMDEzLTA0LTA5IDIxOjMxOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cC5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IERvbid0IGNyYXNoIG9uIGludmFsaWQgY2lwaGVyCgoyMDEzLTAzLTI3IDE2OjQ5OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkgIHdhdGNoZG9nOiBmaXggZXZlbnQgaGFuZGxpbmcKCjIwMTMtMDQtMDEgMTU6NTI6MTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmM6CgkgIHlhZGlmOiByZW1vdmUgZXh0cmEgdGVtcGxhdGUgY29kZQoKMjAxMy0wNC0wMSAxNTo0Nzo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkgIGl2dGM6IHJlbW92ZSB0cmFuc2Zvcm1fc2l6ZSwgaXQncyBub3QgbmVlZGVkCgoyMDEzLTA0LTAxIDIwOjEzOjQxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZW5jb2RlcjoKCSAgZWxlbWVudC1tYWtlcjogZml4IHJldHVybiB2YWx1ZSBpbiB2aWRlb2VuY29kZXIKCjIwMTMtMDQtMDEgMjA6MTI6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGdzdC1lbGVtZW50LW1ha2VyOiBjcmVhdGUgYmV0dGVyIGVsZW1lbnQgbmFtZSB3aGVuIHVzaW5nIC0tcHJlZml4CgoyMDEzLTA0LTAxIDIwOjAzOjU5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJICBpbnRlcmF1ZGlvc2luazogZml4IGxlYWsgd2hlbiBub3QgY29ubmVjdGVkCgoyMDEzLTA0LTA5IDIxOjAwOjI4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwNGM3YTFlIHRvIGFlZDg3YWUKCjIwMTMtMDQtMDggMTc6NDA6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgZXh0OiBwcmludGYgZm9ybWF0IGZpeGVzIGluIGRlYnVnIGFuZCBlcnJvciBtZXNzYWdlcwoKMjAxMy0wNC0wOCAxNzozNDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9tZW1vcnkuYzoKCSAgc3lzOiBwcmludCBmb3JtYXQgZml4ZXMgaW4gZGVidWcgbWVzc2FnZXMKCjIwMTMtMDQtMDcgMTg6NDE6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIFRydWVIRCBhdWRpbwoKMjAxMy0wNC0wNSAwOTo0MToyNiArMDEwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkgIGhhbmRkZXRlY3Q6IGZpeCBidWlsZCBvbiBPUy9YCgkgIGdzdGhhbmRkZXRlY3QuaDo4NDogZXJyb3I6IGV4cGVjdGVkIHNwZWNpZmllci1xdWFsaWZpZXItbGlzdCBiZWZvcmUgJ3VpbnQnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTczMDUKCjIwMTMtMDQtMDUgMDA6NDk6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBzaGFkZXJzIGFzc3VtZSAzMmJwcAoJICBCYWNrcG9ydCBmaXggZm9yIGNyYXNoZXMgYW5kIGludmFsaWQgd3JpdGVzIGluIHRvdGVtIGZyb20gbGlidmlzdWFsCgkgIGluIC1iYXNlLCB0byBtaW5pbWlzZSBkaWZmZXJlbmNlcyB0byB2ZXJzaW9uIGluIC1iYXNlIGFuZCB0byBtYWtlCgkgIHN1cmUgdGhlIGJ1ZyBkb2Vzbid0IHNuZWFrIGJhY2sgaW4gbGF0ZXIgd2hlbiB0aGUgYmFzZSBjbGFzcyBpcwoJICBtYWRlIHB1YmxpYy4KCSAgVGhlIHNoYWRlciBjb2RlIGxvb2tzIGxpa2UgaXQgbWFrZXMgYXNzdW1wdGlvbnMgdGhhdCBhcmUgbm90CgkgIG5lY2Vzc2FyaWx5IGFsd2F5cyB0cnVlLCBldmVuIGlmIHRoZXkncmUgdHJ1ZSBmb3Igbm93IGZvciB0aGUKCSAgZXhpc3RpbmcgZWxlbWVudHMsIG5hbWx5IHRoYXQgcGl4ZWwgc3RyaWRlIGlzIDQsIGZvciBleGFtcGxlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzUyNwoKMjAxMy0wMy0xNCAxMToxNToyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBoYW5kbGUgbm9uLWV4aXN0YW50IHBvb2wgaW4gdGhlIGRlZmF1bHQgYWxsb2NhdGlvbiBxdWVyeQoJICBnc3RfcXVlcnlfc2V0X250aF9hbGxvY2F0aW9uX3Bvb2woKSByZXF1aXJlcyB0aGVyZSB0byBiZSBhIHBvb2wgaW4gdGhlCgkgIHF1ZXJ5IGFscmVhZHkuIFRoaXMgaXMgbm90IGFsd2F5cyB0aGUgY2FzZSB3aGVuIHdlIGdldCB0aGUgcXVlcnkgZnJvbQoJICB1cHN0cmVhbS4gIFVzZSBnc3RfcXVlcnlfYWRkX2FsbG9jYXRpb25fcG9vbCgpIGluc3RlYWQgaW4gc3VjaCBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNzE5CgoyMDEzLTAxLTI5IDEwOjE4OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGltcHJvdmUgYWxsb2NhdGlvbgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXR0aGV3IFdhdGVycwoJICBBZGQgcHJpdmF0ZSBkYXRhCgkgIEFkZCBkZWNpZGVfYWxsb2NhdGlvbiB2bWV0aG9kCgkgIFJlZmFjdG9yIGJ1ZmZlcnBvb2wgbmVnb3RpYXRpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTcxOQoKMjAxMy0wNC0wMyAxNjoxMjowMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IHVzZSBiaWxpbmVhciBmaWx0ZXIgYXMgbXVjaCBhcyBwb3NzaWJsZQoJICBVc2UgdGhlIGJpbGluZWFyIHNjYWxsaW5nIGZpbHRlciB3aGVuIHRoZSBtYWduaWZpZXIgb3IgdGhlIG1pbmlmaWVyCgkgIGZpbHRlcnMgYXJlIGF2YWlibGUuIFNvbWUgZ3JhcGhpY3MgY2FyZHMgZG8gbm90IHByb3ZpZGUgbWluaWZpZXIgZmlsdGVycwoJICBidXQgd2Ugd2FudCB0byB1c2UgaXQgZm9yIHVwc2NhbGxpbmcgaWYgaXQncyBhdmFpbGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzE3NgoKMjAxMy0wNC0wMyAxNDo1NTo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3ZnOiBCdW1wIG1pbmltdW0gcmVxdWlyZW1lbnQgdG8gMi4zNi4wCgkgIEFuZCBoYW5kbGUgaGVhZGVyIGNoYW5nZXMgaW4gMi4zNi4yCgoyMDEzLTA0LTAyIDIzOjMzOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5oOgoJICBkb2NzOiBhZGQgc2luY2UgbWFya2VycyB0byBuZXcgY29kZWNwYXJzZXJzIHZpZGVvIG1ldGEgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE3MTIKCjIwMTMtMDQtMDEgMTk6NDk6MDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBJbXBsZW1lbnQgYmFzZXNyYy0+dW5sb2NrKCkKCSAgVGhpcyBmaXhlcyAtPk5VTEwgdHJhbnNpdGlvbiBwcm9ibGVtcyBpZiBsaWJydG1wIGlzIHN0dWNrIGluIGEKCSAgcmVjdiBvciBzZW5kIGNhbGwgdGhhdCBuZXZlciByZXR1cm5zLgoKMjAxMy0wMy0zMCAxNTowNzo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNldHJhbnNmb3JtOgoJICBlbGVtZW50LW1ha2VyOiBjYWxsIHVwIGluIGJhc2V0cmFuc2Zvcm0gdGVtcGxhdGUKCSAgTW9yZSB0ZW1wbGF0ZXMgc2hvdWxkIGJlIGRvaW5nIHRoaXM6IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9ucwoJICBzaG91bGQgY2FsbCB1cCB0byB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBpbiB0aGUgYmFzZSBjbGFzcy4KCjIwMTMtMDQtMDEgMjI6Mzg6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWxzbyBjaGVjayBmb3IgYmx1ZXogZm9yIGJsdWV0b290aC9ibHVldG9vdGguaAoJICBGaXhlcyBidWlsZCBvbiBtYWNoaW5lcyB3aGVyZSBibHVleiBoZWFkZXJzIGFyZSBub3QgYXZhaWxhYmxlLgoKMjAxMy0wNC0wMSAyMTo0OTo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmx1ZXo6IGVuYWJsZSBibHVleiBwbHVnaW4KCSAgU2VlbXMgdG8gbW9zdGx5IHdvcmsgbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTA0LTAxIDIxOjQ4OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIHNvZnQgbGlib3JjIHJlcXVpcmVtZW50IHRvIDAuNC4xNwoJICBUbyBtYXRjaCAtYmFzZSBhbmQgLWdvb2QuIEFsc28gZml4ZXMgcG90ZW50aWFsCgkgIGNyYXNoIHdoZW4gYSBmYWxsYmFjayBmdW5jdGlvbiBoYXMgdG8gYmUgdXNlZC4KCjIwMTMtMDQtMDEgMTA6MjA6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSB0aGUgRUdMSW1hZ2UgYW5kIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YSBjYXBzIGZlYXR1cmVzCgoyMDEzLTA0LTAxIDEwOjIwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogQWRkIGEgI2RlZmluZSBmb3IgdGhlIEVHTEltYWdlIG1lbW9yeSBjYXBzIGZlYXR1cmUKCjIwMTMtMDQtMDEgMDk6MTM6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkgIHJzdmc6IERvbid0IGluY2x1ZGUgcnN2Zy1jYWlyby5oIGRpcmVjdGx5CgkgIEluY2x1ZGluZyBpdCBkaXJlY3RseSBpcyBub3cgZGVwcmVjYXRlZAoKMjAxMy0wNC0wMSAwOToxMDo1MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IERvbid0IHVzZSBkZXByZWNhdGVkIEdNdXRleCBtZXRob2RzCgoyMDEzLTAzLTI5IDE3OjU3OjEyICswMTAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkgIHJzdmc6IFBvcnQgdG8gMS4wCgkgIEFsc28gcG9ydCB0aGUgZGVjb2RlciB0byB0aGUgR3N0VmlkZW9EZWNvZGVyCgoyMDEyLTA5LTIwIDE5OjAzOjExICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvbWVtb3J5LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb21lbW9yeS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdG1wZWc0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5oOgoJICB2ZHBhdTogUG9ydCB0byAxLjAKCSAgTmV3IGJhc2UgY2xhc3MgZm9yIHZkcGF1IGRlY29kZXJzCgkgICogbXBlZzIgcG9ydGVkIGFuZCBhY3RpdmF0ZWQKCSAgKiBoMjY0IHBvcnRlZCBidXQgZGVhY3RpdmF0ZWQKCSAgKiBVc2VzIEdzdE1wZWdWaWRlbyBtZXRhCgoyMDEyLTEyLTIzIDAxOjU0OjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogT25seSBhZGQgbWV0YSBpZiBkb3duc3RyZWFtIG5lZWRzIGl0CgkgIEl0J3Mgbm90IHBlcmZlY3QsIGJlY2F1c2UgaW4gdGhlIGNhc2VzIHdoZXJlIHVwc3RyZWFtIGRvZXNuJ3QKCSAgaW5pdGlhdGUgYW4gYWxsb2NhdGlvbiBxdWVyeSwgd2Ugd29uJ3Qga25vdy4KCjIwMTItMDktMjAgMTg6Mjc6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBTdG9yZSBpbmZvcm1hdGlvbiBpbiBHc3RNcGVnVmlkZW8xMk1ldGEKCSAgRklYTUUgOiBPbmx5IGRvIHNvIGlmIHdlIGtub3cgZG93bnN0cmVhbSB3aWxsIG5lZWQgaXQKCjIwMTItMDktMjAgMTg6MDM6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5oOgoJICBjb2RlY3BhcnNlcnM6IEFkZCBNcGVnIFZpZGVvIEdzdE1ldGEKCSAgVGhpcyBjYW4gYmUgdXNlZCBieSBwYXJzZXJzIHRvIHByb3ZpZGUgcHJlLXBhcnNlZCBpbmZvcm1hdGlvbiB0bwoJICBkb3duc3RyZWFtIGVsZW1lbnRzIHRoYXQgd291bGQgcmVxdWlyZSBpdCAoc28gdGhleSBjYW4gYXZvaWQgaGF2aW5nCgkgIHRvIHBhcnNlIHRoZSBiaXRzdHJlYW0gYWdhaW4pLgoKMjAxMi0xMi0yNiAxMzoxNjoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogRml4IHBpY3R1cmUgcGFja2V0IGV4dGVuc2lvbiBzaXplIGNoZWNrCgkgIEl0IGlzIGF0IGxlYXN0IDM0IGJpdCBiaWcgKDUgYnl0ZXMgd2l0aCBieXRlIHBhZGRpbmcpCgoyMDEzLTAzLTMxIDEyOjExOjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSAgZHZiOiBNb3ZlIENBTSBoYW5kbGluZyB0byBhIHNlcGFyYXRlIEdzdFRhc2sKCSAgKiBObyBsb25nZXIgYmxvY2tzIGluIFJFQURZPT5QQVVTRUQgKGZhc3RlciBzdGFydHVwKQoJICAqIE5vIGxvbmdlciByZXF1aXJlcyBhIHBhZCBwcm9iZQoKMjAxMy0wMy0zMSAxMTo0NjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXNlIGdzdF9lbGVtZW50X2dldF9jb250ZXh0KCkgd2hlcmV2ZXIgcG9zc2libGUKCjIwMTMtMDMtMzAgMTM6NDA6MjEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBXZSBvdXRwdXQgdGltZSBzZWdtZW50cwoJICBGaXhlcyAjNjkwOTQ5CgoyMDEzLTAzLTMwIDEzOjM5OjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzcGFyc2U6IEVuc3VyZSBzZWdtZW50IGV2ZW50cyBhcmUgZm9yd2FyZGVkCgkgIFdlIHNraXAgdGhlbSBmb3IgdHNkZW11eCB0aG91Z2ggKHJlY3JlYXRlZCBsYXRlcikKCSAgRml4ZXMgIzY5MDk0OQoKMjAxMy0wMy0zMCAxMDoyNToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBwdXNoIHN0cmVhbSBzdGFydCBldmVudAoKMjAxMy0wMy0zMCAxMDo1NzowOCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZXI6IGVuc3VyZSB2YXJpYWJsZSBpcyBpbml0aWFsaXplZCBhbmQgZml4IGRlYnVnIG1lc3NhZ2UgYWNjZXNzCgoyMDEzLTAzLTMwIDA5OjUyOjQ1ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2VyOiBGaXggYSBjb21waWxlciB3YXJuaW5nIGFib3V0IHVuaW5pdGlhbGlzZWQgdmFyaWFibGUgdXNlCgoyMDEzLTAzLTI4IDE3OjQ4OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbGdsZXNzaW5rOiBJbXBsZW1lbnQgR3N0Q29udGV4dCBoYW5kbGluZwoKMjAxMy0wMy0yOSAxNjoxMTo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXNlIGEgc2VwYXJhdGUgdGV4dHVyZSBmb3IgdGhlIGN1c3RvbSB0ZXh0dXJlcwoKMjAxMy0wMy0yOSAxNjowNTowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhCgoyMDEzLTAzLTI5IDEwOjMzOjEwICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJICBlZ2w6IGNoZWNrIG9uIHRoZSBwcm9wZXIgZGlzcGxheSBhbmQgaW5kZW50IHNvbWUgbGluZXMKCjIwMTMtMDMtMjggMTQ6MzY6MTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBNYWtlIHN1cmUgdGhlIHplcm8tc2l6ZWQgYXJyYXkgaXMgYWx3YXlzIGxhc3QgaW4gdGhlIHN0cnVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2NjgxCgoyMDEzLTAzLTI1IDE0OjE4OjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHA6IFVwZGF0ZSBleGFtcGxlIHBpcGVsaW5lcwoKMjAxMy0wMy0yOCAxNzozNjowNyArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkqIHN5cy9ibHVlei9ibHVlei1wbHVnaW4uYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuaDoKCSAgYmx1ZXo6IFJlbW92ZSBhMmRwc3JjIGJpbgoJICBUaGlzIGVsZW1lbnQgaXNuJ3QgcmVhbGx5IHVzZWZ1bC4gVGhlIG9yaWdpbmFsIHBsYW4gd2FzIHRvIHVzZSB0aGlzIHRvCgkgIGV2ZW50dWFsbHkgYWxsb3cgZHluYW1pY2FsbHkgcGlja2luZyBhIGZvcm1hdCBiYXNlZCBvbiB3aGF0IHdlIGNhbgoJICBzdXBwb3J0IHdoaWxlIG5lZ290aWF0aW5nIHdpdGggdGhlIHNvdXJjZSBkZXZpY2UuIFdlIGNhbiBqdXN0IHBsdWcgaW4gYQoJICBkZWNvZGViaW4gZG93bnN0cmVhbSBhbmQgaXQnbGwgaGFuZGxlIFJUUCBkZXBheWxvYWRpbmcgYW5kIGRlY29kaW5nIG9mCgkgIHdoYXRldmVyIGZvcm1hdCB3ZSBuZWdvdGlhdGVkIHdpdGggdGhlIHNvdXJjZSBkZXZpY2UuCgoyMDEzLTAzLTE0IDE4OjA0OjU1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBDb21waWxlIGZpeGVzIGZvciBhdmR0cHNyYy9hMmRwc3JjIGNvZGUgYWdhaW5zdCAxLngKCjIwMTMtMDMtMTQgMTM6MDk6MTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJKiBzeXMvYmx1ZXovYmx1ZXotcGx1Z2luLmM6CgkgIGJsdWV6OiBBZGQgYXZkdHBzcmMvYTJkcHNyYyB0byBidWlsZAoKMjAxMy0wMy0xNCAxMjo1ODoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggdXAgc29tZSBwcm9ibGVtcyB0aGF0IGNhbWUgaW4gd2l0aCBjaGVycnktcGljawoKMjAxMy0wMS0wOCAxMDoxOTowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogV2Ugd29yayBpbiBUSU1FIGZvcm1hdCB3aXRoIGF2ZHRwc3JjCgoyMDEyLTEwLTI5IDE2OjQ1OjQ0ICswNTMwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBkZXByZWFjYXRpb24gd2FybmluZ3Mgb24gZ19tdXRleF8qCgoyMDEyLTEwLTI5IDE2OjQ1OjI1ICswNTMwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5oOgoJICBibHVlejogRml4IGEgbnVtYmVyIG9mIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTEwLTI5IDE1OjQ5OjAyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5oOgoJICBibHVlejogRml4IHNvbWUgd2FybmluZ3MgaW4gZ3N0YXZkdHB1dGlsLmMKCjIwMTItMTAtMTIgMTg6NTI6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogRml4IHR5cG8gaW4gcmVzZXR0aW5nIHRoZSBELUJ1cyBjb25uZWN0aW9uCgkgIE5vIHJlYWwgZWZmZWN0IHNpbmNlIEZBTFNFIGFuZCBOVUxMIGFyZSBib3RoIDAKCjIwMTItMTAtMTEgMTU6NDg6NTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkgIGJsdWV6OiBIYW5kbGUgRU9GIGluIGF2ZHRwc3JjIGNvcnJlY3RseQoKMjAxMi0xMC0xMSAwODo1NzowMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSAgYmx1ZXo6IEZpeCBhdmR0cHNyYyBnZXRjYXBzKCkgZnVuY3Rpb24KCSAgVGhpcyBpcyBub3cgYSBwcm9wZXIgc3Vic2V0IG9mIHRoZSB0ZW1wbGF0ZSBjYXBzLgoKMjAxMi0xMC0xMSAwODozODoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5oOgoJICBibHVlejogQWRkIGFuIGEyZHBzcmMgYmluIGVsZW1lbnQKCSAgVGhpcyB3cmFwcyBhdmR0cHNyYyArIHJ0cHNiY2RlcGF5IGludG8gYSBzaW5nbGUgZWxlbWVudC4gd2hlbiBtb3JlCgkgIGZvcm1hdHMgYXJlIHN1cHBvcnRlZCBpbiBhdmR0cHNyYywgcGF5bG9hZGVyIHNlbGVjdGlvbiB3aWxsIG5lZWQgdG8gYmUKCSAgZG9uZSBkeW5hbWljYWxseS4KCSAgVGhpcyBjb3VsZCBhbHNvIGJlIGV4dGVuZGVkIHRvIGFjY2VwdCBhIGRldmljZSwgY29ubmVjdCB0byBpdCwgYW5kCgkgIHByb3ZpZGUgYXZkdHBzcmMgYSB0cmFuc3BvcnQgKGluc3RlYWQgb2YgcGFzc2luZyB0aHJvdWdoIGEgdHJhbnNwb3J0IGFzCgkgIGl0IGRvZXMgbm93KS4KCjIwMTItMTAtMTEgMDg6MjQ6MDYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkgIGJsdWV6OiBGaXggYXZkdHBzcmMgY2xhc3NpZmljYXRpb24KCjIwMTItMTAtMTAgMjE6Mzg6NDYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogQnVtcCB1cCBwcmlvcml0eSBmb3Igc29ja2V0cyBpbiBBVkRUUCBlbGVtZW50cwoJICBUaGlzIGlzIGJhc2VkIG9uIHRoZSBjb2RlIGluIFB1bHNlQXVkaW8uCgoyMDEyLTEwLTEwIDE5OjQ5OjMyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuaDoKCSAgYmx1ZXo6IEFkZCBhbiBhdmR0cHNyYyBlbGVtZW50CgkgIFNvdXJjZSBlbGVtZW50IHRoYXQgY29ubmVjdHMgdG8gYSBnaXZlbiB0cmFuc3BvcnQgYW5kIHJlYWRzIGF1ZGlvIG92ZXIKCSAgQVZEVFAuIERvZXMgbm90IHByb3ZpZGUgYSBjbG9jayBidXQgdXNlcyB0aGUgc3lzdGVtIGNsb2NrIHRvIHRpbWVzdGFtcAoJICBpbmNvbWluZyBwYWNrZXRzLiBPbmx5IFNCQyBpcyBjdXJyZW50bHkgc3VwcG9ydGVkLgoKMjAxMy0wMy0yOCAxNjo1MTo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IEFkZCBhIGJveGVkIHR5cGUgZm9yIEdzdEVHTERpc3BsYXkKCjIwMTMtMDMtMjggMTM6MTg6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNiYzogYWN0dWFsbHkgZW5hYmxlIHBsdWdpbiBpZiBsaWJzYmMgaXMgYXZhaWxhYmxlCgoyMDEzLTAzLTI3IDEzOjExOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NiYy9NYWtlZmlsZS5hbToKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IHBvcnQgZW5jb2RlciB0byBHc3RBdWRpb0VuY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMy0yNiAxMzo1NTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvc2JjLXBsdWdpbi5jOgoJICBzYmM6IHBvcnQgZGVjb2RlciB0byBHc3RBdWRpb0RlY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMS0xNiAxMTozNjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NiYy9NYWtlZmlsZS5hbToKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJKiBleHQvc2JjL3NiYy1wbHVnaW4uYzoKCSAgc2JjOiBpbXBvcnQgc2JjIGRlY29kZXIvZW5jb2RlciBmcm9tIGJsdWV6IGFuZCBwb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAzLTI3IDIyOjI0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTWVyZ2UgU0JDIGRlY29kZXIgYW5kIGVuY29kZXIgZnJvbSBibHVlegoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAzLTI2IDE2OjUwOjQyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmg6CgkgIHdhdGNoZG9nOiBuZXcgZWxlbWVudAoKMjAxMy0wMy0yNyAwMDo1NjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJICBzYmM6IHJlbW92ZSBwYXJzZXIgaW4gZmF2b3VyIG9mIG5ldyBHc3RCYXNlUGFyc2UtYmFzZWQgc2JjcGFyc2UgaW4gLWdvb2QKCjIwMTMtMDEtMDggMTA6MTk6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJICBzYmM6IHNiY2RlYzogbWFrZSBkZWNvZGVyIG1vcmUgcGVyZm9ybWFudAoJICBVc2UgYW4gYWRhcHRlciB0byBhY2N1bXVsYXRlIGlucHV0IGJ1ZmZlcnMuCgkgIERlY29kZSBhbGwgaW5wdXQgaW4gb25lIG91dHB1dCBidWZmZXIgd2hlbiBwb3NzaWJsZSB0byByZWR1Y2UgdGhlIGFtb3VudCBvZiBwdXNoCgkgIG9wZXJhdGlvbnMuCgoyMDEyLTEwLTMwIDE4OjQxOjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBzYmNkZWM6IHNraXAgdGhlIGZyYW1lIG9uIGRlY29kaW5nIGVycm9yCgoyMDEyLTEwLTI5IDE3OjIyOjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBzYmNkZWM6IHNldCBESVNDT05UIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDEyLTEwLTI5IDE3OjE5OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSAgc2JjOiBzYmNkZWM6IGhhbmRsZSBESVNDT05UIGFuZCB0aW1lc3RhbXBzCgkgIFJlc2V0IHN0YXRlIG9uIGRpc2NvbnQuCgkgIEludGVycG9sbGF0ZSB0aW1lc3RhbXBzLgoKMjAxMi0xMC0wMyAxMjo0NzoxNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IGF1ZGlvOiBNYWtlIHRoZSBzYmNkZWMgZWxlbWVudCBjb3B5IGJ1ZmZlciBtZXRhZGF0YQoJICBNYWtlcyBzdXJlIHdlIGRvbid0IGxvc2UgdGltZXN0YW1wcywgZXRjLgoKMjAxMi0xMC0yOSAxMjo0OTo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiYzogZW5jOiBzYmNfZ2V0X2ZyYW1lX2R1cmF0aW9uIGlzIGluIG1pbGxpc2Vjb25kcwoKMjAxMi0xMC0yOSAxMjozNzowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogZGVjOiBjaGFpbiB1cCB0byBwYXJlbnQgYmVmb3JlIGRvd253YXJkIHN0YXRlIGNoYW5nZQoKMjAxMi0xMC0xMiAxODo1MzoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IGF1ZGlvOiBGaXggYSBsZWFrIGluIHNiY2RlYwoKMjAxMi0wOS0yNiAwOTo1NDowMSArMDgwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogYXVkaW86IEluaXRpYWxpc2UgU0JDIGRhdGEgYmVmb3JlIHVzZSBpbiBzYmNwYXJzZSBlbGVtZW50CgoyMDEyLTA4LTIxIDExOjQ5OjI0IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBGaXggdHJpdmlhbCBjb2Rpbmcgc3R5bGUgaXNzdWVzIG9uIHBvaW50ZXIgZGVjbGFyYXRpb25zIGFuZCBjYXN0aW5nCgkgIEF2b2lkIHVzaW5nIEMrKyBzdHlsZSBwb2ludGVyIGRlY2xhcmF0aW9ucyBsaWtlICJjaGFyKiBwdHIiLCBhcyBtb3N0CgkgIEJsdWVaIGNvZGUgdXNlcyAiY2hhciAqcHRyIi4KCjIwMTItMDQtMTIgMjA6MzM6MDYgKzA1MzAgIFN5YW0gU2lkaGFyZGhhbiA8cy5zeWFtQHNhbXN1bmcuY29tPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogYXVkaW86IEZpeCBuZXdsaW5lIGJlZm9yZSBFT0YKCjIwMTEtMDctMDIgMTI6MzI6NDAgLTAzMDAgIEx1Y2FzIERlIE1hcmNoaSA8bHVjYXMuZGVtYXJjaGlAcHJvZnVzaW9uLm1vYmk+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBGaXggY29tbW9uIG1pc3NwZWxsZWQgd29yZHMKCSAgQWNjb3VudGluZyBvZiBtaXNzcGVsbGVkIHdvcmRzLCBhcyBkZXRlY3RlZCBieSBjb2Rlc3BlbGw6CgkgIGFjb3JkaW5nICAgICAgMgoJICBhbmNpbGxpYXJ5ICAgIDEKCSAgYXBwcm9waWF0ZSAgICAxCgkgIGF0cmlidXRlICAgICAgMQoJICBjYW50ICAgICAgICAgIDEKCSAgY29tbWluZyAgICAgICAyCgkgIGdyYWNlZnVsbCAgICAgMQoJICBsZW5naHQgICAgICAgIDEKCSAgbWlzcGVsbGVkICAgICAxCgkgIG9jY3VyZWQgICAgICAgMQoJICBvY2N1cmVuY2VzICAgIDEKCSAgb2N1cnJlZCAgICAgICAzCgkgIHByZWZlcmVkICAgICAgMQoJICBwcmVzZW5zZSAgICAgIDEKCSAgcmVwb25zZSAgICAgICAxCgkgIHNlcGVyYXRlICAgICAgMQoJICBzdWNjZXNmdWwgICAgIDEKCSAgc3VjY2Vzc3VsbHkgICAxCgkgIHN1Y2Vzc2Z1bGwgICAgMQoJICBzdWNlc3NmdWxseSAgIDEKCjIwMTEtMDItMTMgMTc6NTE6NDUgLTA4MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSAgc2JjOiBhdWRpbzogUmVtb3ZlIHdvcmthcm91bmQgZm9yIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTA1LTE5IDE2OjU5OjMwICswMjAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogQWRkIHByYWdtYSBiYXNlZCB3b3JrYXJvdW5kIGZvciBHU3RyZWFtZXIgd2FybmluZ3MKCjIwMTAtMDEtMDEgMTc6MDg6MTcgLTA4MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOS0wNC0wMSAxMDo0NTozMCAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTA0LTAxIDEwOjI5OjMxIC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTAxLTMwIDAwOjMxOjE1ICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBGaXggc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gaXNzdWUgd2l0aGluIEdTdHJlYW1lciBwbHVnaW4KCjIwMDktMDEtMTkgMTA6MjY6MjggKzAyMDAgIFNpYXJoZWkgU2lhbWFzaGthIDxzaWFyaGVpLnNpYW1hc2hrYUBnbWFpbC5jb20+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmM6IFVzZSBuYXRpdmUgYnl0ZSBvcmRlciBmb3IgYXVkaW8gaW4gR1N0cmVhbWVyIGFuZCBBTFNBIHBsdWdpbnMKCSAgVGhpcyBmaXhlcyBlbmRpYW5uZXNzIGluY29uc2lzdGVuY3kgYmV0d2VlbiBkZWZhdWx0IFNCQwoJICBjb25maWd1cmF0aW9uIGFuZCBHU3RyZWFtZXIvQUxTQS4KCjIwMDktMDEtMDEgMTk6MzM6MjAgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOC0xMi0yMyAwNToyNTo1MCArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEZpcnN0IGF0dGVtcHQgaW4gZml4aW5nIGNvbXBpbGVyIHdhcm5pbmdzIChzdGlsbCBuZWVkcyBjbGVhbnVwKQoKMjAwOC0xMi0yMyAwNDoyMTo1NyArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogQXNzaWduIHZhcmlhYmxlcyBhZnRlciBkZWNsYXJhdGlvbnMKCjIwMDgtMTItMjAgMjE6NDI6NDkgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IE1vcmUgY29kaW5nIHN0eWxlIGZpeGVzCgoyMDA4LTAyLTIwIDEzOjM3OjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogRml4IHJ1bnRpbWUgd2FybmluZ3Mgb2YgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDItMTkgMTk6NDk6MjQgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBVcGRhdGUgZ3N0cmVhbWVyIHBsdWdpbiB0byB1c2UgbmV3IHNiYyBBUEkuCgoyMDA4LTAyLTE0IDIxOjIyOjM4ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBNYWtlIHVzZSBvZiBwYXJhbWV0ZXJzIHNlbGVjdGVkIGluIGFsc2EgcGx1Z2luIGFuZCBmaXggYXV0byBzZWxlY3Rpb24uCgoyMDA4LTAyLTAyIDAzOjM3OjA1ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDgtMDItMDEgMTk6Mjg6MzcgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBBZGQgYml0cG9vbCBwcm9wZXJ0eSBhbmQgb3RoZXJzIGZpeGVzIGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMS0zMCAxNzozMDoyNyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkgIHNiYzogRW5hYmxlIGdzdHJlYW1lciBwbHVnaW4gdG8gdXNlIGF1dG9jb25uZWN0IGZsYWcuCgoyMDA4LTAxLTMwIDE0OjIxOjQzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IEZpeGVzIGdzdHJlYW1lciBjYXBzIGFuZCBjb2RlIGNsZWFudXAuCgoyMDA4LTAxLTI0IDE0OjI1OjI5ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBGaXggZ3RyZWFtZXIgcGF5bG9hZGVyIHNlbmRpbmcgZnJhZ21lbnRlZCBmcmFtZXMuCgoyMDA4LTAxLTIzIDEzOjE5OjMyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogQWRkIG1wMyBzdXBwb3J0IGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMS0yMyAxMzoxNDowMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBNYWtlIGEyZHBzaW5rIHRvIGFjdCBsaWtlIGEgYmluIGFuZCBzcGxpdCB0aGUgcGF5bG9hZGVyLgoKMjAwNy0xMS0yMyAxNzowMDoxMyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSAgc2JjOiBDb2RlIGNsZWFudXAuCgoyMDA3LTExLTIxIDIwOjI0OjExICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBJbnRlZ3JhdGUgbmV3IGlwYyBBUEkgaW1wbGVtZW50YXRpb24uCgoyMDA3LTExLTEzIDIwOjA0OjEyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmM6IEFkZCBzYmNfcmVpbml0LgoKMjAwNy0xMS0xMiAyMjoyMTo0NSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjOiBGaXggYnVnIGluIHNiY2VuYyB3aGVuIGNoYW5naW5nIGVuY29kZXIgcGFyYW1ldGVycy4KCjIwMDctMTEtMTIgMTg6MTU6NTkgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiYzogTWFrZSBzYmMgY29kZWMgdG8gd3JpdGUgZGlyZWN0bHkgaW4gYXBwbGljYXRpb24gYnVmZmVycyBhbmQgc28gYXZvaWRpbmcgbWVtY3B5cy4KCjIwMDctMTEtMDEgMTk6NDU6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEZpeCBzYmMgbmVnb3RpYXRpb24gYW5kIGltcHJvdmVzIGJ1ZmZlciBoYW5kbGluZyBieSB1c2luZyBHc3RBZGFwdGVyLgoKMjAwNy0xMS0wMSAxMzo1Njo1MSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjOiBGaXggYnVmZmVycyB0aW1lc3RhbXBzIGluIHNiY2VuYy4KCjIwMDctMTAtMjkgMTU6MDI6MjYgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEFkZCBiaXRwb29sIGNhcGFiaWxpdHkuCgoyMDA3LTEwLTI0IDIxOjUxOjM3ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogU29tZSBtb3JlIGNvZGluZyBzdHlsZSBjaGFuZ2VzCgoyMDA3LTEwLTI0IDIxOjM2OjI5ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBEb24ndCBmb3JnZXQgdG8gaW5jbHVkZSB0aGUgY29uZmlnIG9wdGlvbnMKCjIwMDctMTAtMjQgMjE6MzM6MTggKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBGaXggY29kaW5nIHN0eWxlIGlzc3VlcwoKMjAwNy0xMC0xOCAyMjo0NjoxMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IEZpeCBjb2Rpbmcgc3R5bGUgaXNzdWVzLgoKMjAwNy0xMC0xOCAyMTo0Nzo1MyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IEZpeGVzIHNiY3BhcnNlciBlbGVtZW50LgoKMjAwNy0xMC0xOCAyMTo0Njo0OSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRml4ZXMgZm9yIGdzdHNiY2VuYy4KCjIwMDctMTAtMTggMjE6NDU6MTQgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBBZGQgZ3N0c2JjdXRpbC5jIGFuZCBnc3RzYmN1dGlsLmguCgoyMDA3LTA4LTI3IDE0OjEwOjAwICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogRm9yY2UgTElUVExFX0VORElBTiBpbnN0ZWFkIG9mIEJZVEVfT1JERVIgZm9yIG5vdwoKMjAwNy0wOC0yNiAxMzo1OTowNSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkgIHNiYzogSW1wbGVtZW50IGZ1bGwgcGFyc2luZyBzdXBwb3J0CgoyMDA3LTA4LTI2IDEzOjEyOjQ3ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJICBzYmM6IEFkZCBtb2RlIHByb3BlcnR5IHRvIHRoZSBlbmNvZGVyCgoyMDA3LTA4LTI1IDE5OjMyOjAzICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJICBzYmM6IEltcGxlbWVudCBmdWxsIGVuY29kaW5nIHN1cHBvcnQKCjIwMDctMDgtMjUgMTg6NTA6MjggKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogRml4IGNsYXNzIHZhcmlhYmxlIG5hbWluZwoKMjAwNy0wOC0yNSAxNzozNzowNSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBMaW1pdCB0aGUgc3VwcG9ydGVkIG91dHB1dCByYXRlcwoKMjAwNy0wOC0yNSAxNzowMzowMyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSAgc2JjOiBJbXBsZW1lbnQgZnVsbCBkZWNvZGluZyBzdXBwb3J0CgoyMDA3LTA4LTIzIDE5OjEyOjIzICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJICBzYmM6IEFkZCBTQkMgZW5jb2RlciBhbmQgZGVjb2RlciBza2VsZXRvbnMgZm9yIEdTdHJlYW1lcgoKMjAxMy0wMy0yNyAwOTowODo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBNYWtlIHN1cmUgdGhhdCBhbGwgYnVmZmVycyBpbiBvdXIgcG9vbCBjb250YWluIG91ciBvd24gbWVtb3J5CgoyMDEzLTAzLTI2IDE1OjIyOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIHdhc2FwaTogSW5pdGlhbCBwb3J0IHRvIDEuMAoJICBUaGlzIHNob3VsZCByZWFsbHkgdXNlIEdzdEF1ZGlvU2luayBhbmQgR3N0QXVkaW9TcmMuCgoyMDEzLTAzLTI2IDE1OjAxOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSAgd2FzYXBpOiBJbmNsdWRlIGNvbmZpZy5oIGJlZm9yZSBhbnl0aGluZyBlbHNlCgoyMDEzLTAzLTI2IDE0OjE1OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IEFkZCBzdXBwb3J0IGZvciBjcm9wIG1ldGEKCjIwMTMtMDMtMjYgMTM6MjI6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiB3ZSBuZWVkIGEgcmVjZW50LWVub3VnaCBnbnV0bHMgZm9yIGhscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2NTk3CgoyMDEyLTEyLTIyIDIxOjU5OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBJbXBsZW1lbnQgYSBidWZmZXIgcG9vbCB0aGF0IHNoYXJlcyBEM0Qgc3VyZmFjZXMgd2l0aCB1cHN0cmVhbQoKMjAxMi0xMi0yMiAxOToxMjozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBBbGxvY2F0ZSBhIG5ldyBvZmZzY3JlZW4gc3VyZmFjZSBmb3IgZXZlcnkgYnVmZmVyCgkgIFRoaXMgaXMgYSBwcmVwYXJhdGlvbiBmb3IgaW1wbGVtZW50aW5nIGEgYnVmZmVyIHBvb2wuCgoyMDEzLTAzLTI1IDE4OjA0OjA5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFVzZSAlMDN1IGZvciBmb3JtYXQgaW4gZ3N0X3BhZF9jcmVhdGVfc3RyZWFtX2lkX3ByaW50ZigpCgoyMDEzLTAzLTI1IDEzOjQ4OjIwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHA6IEZpeCBmaWx0ZXIgaGFuZGxpbmcgaW4gY2FwcyBuZWdvdGlhdGlvbiB0byBrZWVwIGZpbHRlciBjb250ZW50CgoyMDEzLTAzLTI1IDA5OjQ1OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogZml4IGJ1aWxkIGZvciBvYmpjCgkgIFRoZSBvYmotYyBhcGkgdmVyc2lvbiBvcHRpb24gaXMgcmVxdWlyZWQgdG8gZ2V0IGFwcGxlbWVkaWEgdG8KCSAgYnVpbGQgZm9yIGlvcywgb3RoZXJ3aXNlIGl0IHdvbid0IGZpbmQgc29tZSBzeW1ib2xzIGR1cmluZyBsaW5raW5nCgoyMDEzLTAzLTI1IDEwOjEwOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlZDogc2V0IGJvdGggRFRTIGFuZCBQVFMKCSAgSGFuZGxlIGJvdGggZHRzIGFuZCBwdHMgb24gb3V0cHV0IGJ1ZmZlcnMuCgoyMDEzLTAzLTEwIDEyOjE3OjA1ICsxMzAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAcGFyYWRpc2UubmV0Lm56PgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogcmVtb3ZlIHVudXNlZCBjdXJyZW50X3Byb2dyYW1fbnVtYmVyIGZpZWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA5MzQKCjIwMTMtMDMtMjIgMTk6NDA6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBzZW5kIHNlZ21lbnQgZXZlbnQgaW4gdGltZSBmb3JtYXQgYWxzbyBpbiBwdXNoIG1vZGUKCSAgV2hlbiBjb252ZXJ0aW5nIHRoZSBpbmNvbWluZyBzZWdtZW50IGZyb20gYnl0ZSB0byB0aW1lIGZvcm1hdCwKCSAgZG9uJ3QganVzdCBjb252ZXJ0IHRoZSBzdGFydC9zdG9wL3RpbWUgdmFsdWVzLCBidXQgYWxzbyBjaGFuZ2UKCSAgdGhlIHNlZ21lbnQgZm9ybWF0IHRvIFRJTUUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYzNjEKCjIwMTMtMDMtMjIgMTU6MzA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IGJ1aWxkIGlmIGdudXRscyBpcyBub3QgcHJlc2VudAoJICBTa2lwIGJ1aWxkIG9mIGhscyBwbHVnaW4gaWYgZ251dGxzIGhlYWRlcnMgY2FuJ3QgYmUgZm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYzOTIKCjIwMTMtMDMtMjIgMTU6NDk6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuaDoKCSAgeTRtZGVjOiBVc2UgdGhlIGNvcnJlY3Qgc3RyaWRlcyBhcyB1c2VkIGJ5IHk0bSBhbmQgY29udmVydCB0byBHU3RyZWFtZXIgc3RyaWRlcyBpZiBuZWNlc3NhcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjM2MQoKMjAxMy0wMy0yMiAxNToxOTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL01ha2VmaWxlLmFtOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5oOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguaDoKCSAgZmx1aWRzeW50aDogcmVuYW1lIHRvIGZsdWlkZGVjCgkgIFJlbmFtZSB0aGUgZmx1aWRzeW50aCBwbHVnaW4gdG8gZmx1aWRzeW50aG1pZGkgYW5kIHRoZSBkZWNvZGVyCgkgIHRvIGZsdWlkZGVjIHRvIGF2b2lkIGNvbmZsaWN0cyB3aXRoIGJ1enp0YXJkLgoKMjAxMy0wMy0yMiAxNDo1Mjo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IFVzZSB0aGUgZGVmYXVsdCBldmVudC9xdWVyeSBoYW5kbGVycyBmb3IgdGhlIGRlZmF1bHQgaGFuZGxpbmcKCSAgRXNwZWNpYWxseSBkb24ndCBmb3J3YXJkIGNhcHMgZXZlbnRzIGZyb20gdGhlIHNpbmtwYWQgdG8gdGhlIHNyY3BhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjI4MgoKMjAxMy0wMy0yMiAxNDozNzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IFByb3Blcmx5IGhhbmRsZSBzZWdtZW50IGFuZCB0aW1lIHZhbHVlcyBvZiAtMQoKMjAxMy0wMy0yMiAxNDo0ODo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGkuYzoKCSAgbWlkaTogc2V0IG1pZGkgcGFyc2VyIHJhbmsgcHJpbWFyeQoJICBOb3cgdGhhdCBpdCBzdXBwb3J0cyBzZWVraW5nIGFuZCBhbGwsIG1hcmsgaXQgcHJpbWFyeQoKMjAxMy0wMy0yMiAxMzo0OTo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IGFsd2F5cyBzZWVrIGJhY2sgdG8gYmVnaW5uaW5nCgkgIFdlIGFsd2F5cyBuZWVkIHRvIHNlZWsgYmFjayB0byB0aGUgYmVnaW5uaW5nIGJlY2F1c2Ugd2hlbiB3ZSBkbyBhIGZsdXNoaW5nIHNlZWssCgkgIHdlIG1pZ2h0IGhhdmUgbG9zdCBldmVudHMgZG93bnN0cmVhbS4KCjIwMTMtMDMtMjIgMTM6NDg6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkgIGZsdWlkc3ludGg6IGZpeCBkZWJ1ZyBvZiBzZWdtZW50IHN0cnVjdHVyZQoKMjAxMy0wMy0yMiAxMzo0ODowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5oOgoJICBmbHVpZHN5bnRoOiBoYW5kbGUgZGlzY29udAoKMjAxMy0wMy0yMiAxMjoyNToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuaDoKCSAgbWlkaXBhcnNlOiBpbXBsZW1lbnQgc2Vla2luZwoJICBTZWVrIGJhY2sgdG8gMCBmb3IgYmFja3dhcmQgc2Vla2luZyBhbmQgbGV0IHRoaW5ncyBydW4gYW5kIGNsaXAgZm9yIGZvcndhcmRzCgkgIHNlZWtpbmcuCgoyMDEzLTAzLTIyIDEyOjE2OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJICBmbHVpZHN5bnRoOiByZXNldCBvbiBmbHVzaCBhbmQgc3RhdGUgY2hhbmdlCgoyMDEzLTAzLTIyIDExOjA0OjEwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmg6CgkgIGZsdWlkc3ludGg6IGFkZCBwcm9wZXJ0aWVzCgkgIEFkZCBwcm9wZXJ0aWVzLgoJICBUcnkgdG8gZmluZCBhIGdvb2QgZGVmYXVsdCBzb3VuZGZvbnQgd2hlbiBub3Qgc3BlY2lmaWVkLgoKMjAxMy0wMy0yMiAwODo1NDo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSAgZmx1aWRzeW50aDogbG9nIG1pZGkgdGljayBldmVudAoKMjAxMy0wMy0yMiAwODo1NDozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSAgZmx1aWRzeW50aDogcmVkaXJlY3QgbG9nZ2luZyB0byBnc3QgbG9nZ2luZyBmdW5jdGlvbnMKCjIwMTMtMDMtMjEgMTg6MTg6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBzaW1wbGlmeSB0aGUgY2FsbGJhY2tzCgkgIFdlIG9ubHkgbmVlZCBvbmUgY2FsbGJhY2sgdG8gc2VuZCBieXRlcyBvdXQuCgoyMDEzLTAzLTIxIDE4OjE3OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJICBmbHVpZHN5bnRoOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTAzLTIxIDE3OjI1OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogY2xlYW4gdXAgdHJhY2tzCgoyMDEzLTAzLTIxIDE3OjE2OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5oOgoJICBtaWRpcGFyc2U6IGRvbid0IGxlYWsgbWlkaSBkYXRhCgoyMDEzLTAzLTIxIDE3OjA1OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmg6CgkgIGZsdWlkc3ludGg6IHByb2R1Y2UgbW9yZSBhY2N1cmF0ZSB0aW1lc3RhbXBzCgoyMDEzLTAzLTIxIDE2OjA1OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogc21hbGwgY2xlYW51cHMgaW4gZXJyb3IgcGF0aHMKCjIwMTMtMDMtMjEgMTY6MDU6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBkdXJhdGlvbiBpcyBtYXggb2YgYWxsIHRyYWNrIGR1cmF0aW9ucwoKMjAxMy0wMy0yMSAxNjowNDozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IGZpeCBrbGFzcwoKMjAxMy0wMy0yMSAxNTo0MzoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBJbmNsdWRlIHN0cmluZy5oIGZvciBtZW1jcHkoKQoKMjAxMy0wMy0yMSAxNTowMDoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuaDoKCSAgbWlkaXBhcnNlOiBVcGRhdGUgZHVyYXRpb24KCSAgUmV3b3JrIHRoaW5ncyBhIGJpdCBzbyB0aGF0IHdlIGNhbiBydW4gb3ZlciB0aGUgbWlkaSBldmVudHMgYW5kIGZpcmUgY2FsbGJhY2tzCgkgIGZvciBlYWNoIG9mIHRoZW0uIFdlIGNhbiB0aGVuIHVzZSB0aGF0IGZvciBjYWxjdWxhdGluZyB0aGUgZHVyYXRpb24gYW5kIGFsc28gZm9yCgkgIGRvaW5nIHBsYXliYWNrLgoJICBPbmx5IHBhcnNlIGFzIG1hbnkgdHJhY2tzIGFzIHNwZWNpZmllZCBpbiB0aGUgaGVhZGVyLgoJICBGaXggZGVmYXVsdCB0ZW1wbzsKCSAgU2VuZCBNSURJIHRpY2sgZXZlbnRzIGV2ZXJ5IDEwbXMKCjIwMTMtMDMtMjEgMTQ6NTc6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkgIGZsdWlkc3ludGg6IGFkZCBtb3JlIGRlYnVnCgoyMDEzLTAzLTIxIDA5OjMwOjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogaGFuZGxlIG1pZGkgaW4gUklGRgoKMjAxMy0wMy0yMSAwNzoyMTowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IHNtYWxsIGZpeGVzCgoyMDEzLTAzLTIxIDA3OjA3OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaS5jOgoJICBtaWRpOiBzZXQgcmFuayBhcyBtYXJnaW5hbAoJICBTZXQgdGhlIG1hcmsgdG8gbWFyZ2luYWwgdW50aWwgd2UgaW1wbGVtZW50IG1vcmUgZmVhdHVyZXMuCgoyMDEzLTAzLTIxIDA3OjA1OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9mbHVpZHN5bnRoL01ha2VmaWxlLmFtOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguaDoKCSAgZmx1aWRzeW50aDogYWRkIGZsdWlkc3ludGggbWlkaSByZW5kZXJlcgoJICBBZGQgYSBmbHVpZHN5bnRoIGVsZW1lbnQgdGhhdCBjb252ZXJ0cyBtaWRpIGV2ZW50cyBpbnRvIHJhdwoJICBmbG9hdCBzYW1wbGVzLgoKMjAxMy0wMy0yMSAwNjo1MDo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21pZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9taWRpL21pZGkuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5oOgoJICBtaWRpcGFyc2U6IGFkZCBiYXNpYyBtaWRpIHBhcnNlcgoJICBQYXJzZXMgbWlkaSBmaWxlcyBhbmQgb3V0cHV0cyBidWZmZXJzIHdpdGggbWlkaSBldmVudHMuCgoyMDEzLTAzLTIwIDE1OjI5OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pdnRjL01ha2VmaWxlLmFtOgoJICBpdnRjOiBmaXggbWFrZSBkaXN0CgoyMDEzLTAzLTIwIDE1OjI1OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgRGlzdCBobHMgYXMgd2VsbAoKMjAxMy0wMy0yMCAxNToxOToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWN0dWFsbHkgYnVpbGQgaGxzIHBsdWdpbgoKMjAxMy0wMy0yMCAxMDo0OTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAzLTE5IDE2OjM5OjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5oOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkqIGdzdC9pdnRjL2dzdGl2dGMuaDoKCSAgY29tYmRldGVjdCxpdnRjOiBjb2RlIGNsZWFudXAKCjIwMTMtMDMtMTkgMTc6Mjg6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1hdWRpbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1hdWRpbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogcmVtb3ZlIHNpbmtwYWQvc3JjcGFkIGZpZWxkcwoJICBJbmZvcm1hdGlvbiBpcyBpbiB0aGUgYmFzZSBjbGFzcyBhbnl3YXksIHBsdXMgcGFkIGNyZWF0aW9uIHdhcwoJICBkb25lIGluY29ycmVjdGx5LgoKMjAxMy0wMy0xOSAxMjoxOToyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkgIGNvbWJkZXRlY3Q6IG91dHB1dCBwcm9ncmVzc2l2ZSB2aWRlbwoKMjAxMy0wMy0xOCAxNjoyMjo1NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkgIGNvbWJkZXRlY3Q6IGNvZGUgY2xlYW51cAoKMjAxMy0wMy0xMiAxNzo0Nzo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkgIGNvbWJkZXRlY3Q6IHN3aXRjaCB0byB6ZWJyYSBzdHJpcGluZwoKMjAxMy0wMy0wOCAxNzowMjoxNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkgIGl2dGM6IGRyb3AgZWFybHkgZmllbGRzCgoyMDEzLTAyLTIwIDE1OjMyOjE1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2l2dGMvTWFrZWZpbGUuYW06CgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5oOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkqIGdzdC9pdnRjL2dzdGl2dGMuaDoKCSAgaXZ0YzogbmV3IGludmVyc2UgdGVsZWNpbmUgZmlsdGVyCgkgIFRoaXMgZmlsdGVyIGNvbnZlcnRzIGludGVybGFjZWQgY29udGVudCB0aGF0IHdhcyBvcmlnaW5hbGx5CgkgIHRlbGVjaW5lJ2QgZnJvbSAyNCBmcHMgKG9yIHNpbWlsYXIpIHByb2dyZXNzaXZlIGNvbnRlbnQuICBJdCB3b3JrcwoJICBhcHByb3hpbWF0ZWx5IGxpa2UgdmlkZW9yYXRlLCBidXQgd2l0aCBhd2FyZW5lc3Mgb2YgaW50ZXJsYWNpbmcuCgkgIEl0IG1lcmdlcyBuZWlnaGJvcmluZyBmaWVsZHMgaW4gdGhlIGlucHV0IGludGVybGFjZWQgc3RyZWFtIHdpdGgKCSAgdGhlIGdvYWwgb2YgbWluaW1pemluZyBjb21iaW5nIGFydGlmYWN0cywgd2hpbGUga2VlcGluZyB0aGUgb3V0cHV0CgkgIGZyYW1lcmF0ZSBjb25zdGFudC4gIElmIGl0IGNhbm5vdCBhdm9pZCBjb21iaW5nIGFydGlmYWN0cywgaXQgd2lsbAoJICByZWNvbnN0cnVjdCB0aGUgaW1hZ2UgZnJvbSBhIHNpbmdsZSBmaWVsZC4gIE5vdGUgdGhhdCB0aGlzIGZpbHRlcgoJICBkb2VzIG5vdCBhdXRvZGV0ZWN0IHRoZSBmcmFtZXJhdGUsIGJ1dCB3aWxsIGF1dG9tYXRpY2FsbHkgZml4YXRlCgkgIGF0IDI0IGZwcy4KCjIwMTMtMDMtMTkgMTQ6MzE6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSAgZWdsOiBGaXggc29tZSByZXR1cm4gdmFsdWVzIGluIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkKCjIwMTMtMDMtMTkgMTM6NTQ6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGZpeCBldmVudCBhbmQgcXVlcnkgaGFuZGxlcgoJICBDYWxsIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGZvciB1bmtub3duIGV2ZW50cyBhbmQgcXVlcmllcy4KCSAgRml4IGV2ZW50IGxlYWsuCgoyMDEzLTAzLTE5IDEwOjQ3OjI1ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50Lmg6CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnRlZC5oOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuaDoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSogZXh0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGV4dC9obHMvZ3N0dXJpZG93bmxvYWRlci5oOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5oOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWQuaDoKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkcGx1Z2luLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmg6CgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuaDoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBNYWtlIHRoZSBobHMgcGx1Z2luIGRlcGVuZCBvbiBnbnV0bHMgYW5kIG1vdmUgdG8gZXh0L2hscy8KCSAgZ251dGxzIGlzIHVzZWQgdG8gaW1wbGVtZW50IEFFUyBkZWNyeXB0aW9uCgoyMDEzLTAzLTE5IDEwOjI2OjE0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHVzZSBnbnV0bHMgaW5zdGVhZCBvZiBvcGVuc3NsCgoyMDEzLTAzLTE5IDA4OjQ5OjIxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogc3VwcG9ydCBlbmNyeXB0ZWQgc3RyZWFtcwoKMjAxMy0wMy0xOSAxMDoxNDowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHBvcnQgd2lsZG1pZGkKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjA0MQoKMjAxMy0wMy0xOCAyMToxMjowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogb2J0YWluIGNsYXNzIGZyb20gb2JqZWN0CgoyMDEzLTAzLTE4IDIxOjAxOjU5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZml4IGludmFsaWQgZnJlZSgpIGludHJvZHVjZWQgYnkgbGFzdCBjb21taXQKCjIwMTMtMDMtMDcgMjI6MTk6MTUgKzAwMDAgIEtldmluIFRob3JuYmVycnkgPGdpbW1lYW1pbGtidHRmQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOgoJICBtcGVndHNtdXg6IGZpeCBjcmVhdGlvbiBvZiBBRFRTIGhlYWRlciBmb3IgQUFDIGF1ZGlvIGluIE1QRUctVFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQxMgoKMjAxMy0wMy0xOCAwNzozNDoxMyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBwYXJzZSAjRVhULVgtS0VZIHRhZ3MKCjIwMTMtMDMtMTggMDc6MjI6MzYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBmYWN0b3Igb3V0IFVSSSBqb2luaW5nIHV0aWxpdHkKCjIwMTMtMDMtMTggMDc6MDI6NTQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBmaXggVVJJIHBhcnNpbmcgZm9yIGFic29sdXRlIGZyYWdtZW50IHBhdGhzCgoyMDEzLTAzLTE2IDIzOjMyOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IHNldCBkaXNjb250IGZsYWcgb24gZmlyc3QgYXVkaW8gYnVmZmVyIHRvbwoKMjAxMy0wMy0xNiAyMzoyOTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBhZ2dyZWdhdGUgYXVkaW8gYW5kIHZpZGVvIGZsb3cgcmV0dXJucwoJICBBbmQgcGF1c2UgdGFzayBpbiBzb21lIG1vcmUgY2FzZXMgd2hlcmUgd2Ugc2hvdWxkCgkgIHBhdXNlIHRoZSB0YXNrLgoKMjAxMy0wMy0xNiAyMTozOToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGlua3NyYzogYWRkIHNlbmRfZXZlbnQgaGFuZGxlciBzbyBhcHBsaWNhdGlvbiBjYW4gaW5qZWN0IEVPUyBldmVudAoJICBUaGlzIGlzIG5lZWRlZCB0byBzaHV0IGRvd24gYSByZWNvcmRpbmcgcGlwZWxpbmUgY2xlYW5seS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDcwMAoKMjAxMy0wMy0xNiAyMTozNDo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBwYXVzZSBzdHJlYW1pbmcgdGhyZWFkIGFuZCBzZW5kIEVPUyBldmVudCBvbiBlcnJvcgoJICBJbnN0ZWFkIG9mIGp1c3QgcG9zdGluZyBhbiBFT1MgbWVzc2FnZSBhbmQgY29udGludWluZywKCSAgYWN0dWFsbHkgcGF1c2UgdGhlIHRocmVhZC4KCjIwMTMtMDMtMTYgMTM6MTM6MTQgLTA0MDAgIEplYW4tRnJhbsOnb2lzIEZvcnRpbiBUYW0gPG5la29oYXlvQGdtYWlsLmNvbT4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogaW1wcm92ZSByZWFkYWJpbGl0eSBvZiBSR0IgYW5kIFhZIHByb3BlcnR5IG5pY2tuYW1lIHN0cmluZ3MKCSAgQWxzbyBmaXggdGhlIFkgcHJvcCBuaWNrbmFtZSBzdHJpbmcgYmVpbmcgaW5jb3JyZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODg0CgoyMDEzLTAzLTE2IDEzOjA3OjI1IC0wNDAwICBKZWFuLUZyYW7Dp29pcyBGb3J0aW4gVGFtIDxuZWtvaGF5b0BnbWFpbC5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IGZpeCBuaWNrbmFtZXMgZm9yIGNvbG9yIGFuZCBwb3NpdGlvbiBwcm9wZXJ0aWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4ODQKCjIwMTMtMDMtMTUgMjA6MjE6NDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE1hcmsgZGVja2xpbmsgYXMgcG9ydGVkCgoyMDEzLTAzLTE1IDAwOjI1OjQzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlLXZpZGVvOgoJICBlbGVtZW50LW1ha2VyOiBjbGVhbiB1cCBiaXRzIGZyb20gcHJldmlvdXMgY29tbWl0CgkgIEZpbGVzIHRoYXQgd2VyZSBzdXBwb3NlZCB0byBiZSBpbiB0aGUgcHJldmlvdXMgZWxlbWVudC1tYWtlcgoJICBjb21taXQuICBUaGlzIGlzIHdoYXQgaGFwcGVucyB3aGVuIGNoZXJyeS1waWNrIGRvZXNuJ3Qgd29yay4KCjIwMTMtMDMtMTUgMTc6NDc6MjMgKzAxMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdC1vbmxpbmUuZGU+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSAgdG9vbHM6IEZpeCBtYWtlIGRpc3QKCSAgTWlzc2luZyBiaXRzIG9mIGI0NWExZGY1ZGVhZGIwMjlkY2JlNDUyMmYwMTE2ZDM0ZjFjZDJmMWUKCjIwMTMtMDMtMTUgMDk6Mjk6NDIgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHA6IGZpeCBjb21waWxhdGlvbiB3YXJuaW5nIHJldHVybmluZyBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg5NwoKMjAxMy0wMy0xNSAwOToyNzozNiArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSAgc3J0cDogdXNlIGNvbnN0YW50IEFFU18xMjhfSUNNIGluc3RlYWQgb2YgQUVTX0lDTSB0aGF0IGlzIG5vdCBmb3VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODk3CgoyMDEzLTAzLTAxIDE2OjUyOjQxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkgIHZpZGVvc2VnbWVudGNsaXA6IERvbid0IGxlYWsgYnVmZmVycyBhZnRlciBzZWdtZW50CgoyMDEzLTAzLTEyIDE3OjMyOjUxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOgoJICB2aWRlb3NpZ25hbDogYWRkIEZJWE1FIGZvciBmdXR1cmUgcmV2aXZhbAoKMjAxMy0wMy0xNCAyMzo1NzowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2RlY29kZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZW5jb2RlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9maWx0ZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvc2luazoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9zcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2U6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VhdWRpb3Npbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VhdWRpb3NyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXBhcnNlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwZGVwYXlsb2FkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXNpbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2V0cmFuc2Zvcm06CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2NkZGFiYXNlc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9lbGVtZW50OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9nb2JqZWN0OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9wdXNoc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLWF1ZGlvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtYXVkaW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3RhZ2RlbXV4OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2RlY29kZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZW5jb2RlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyMjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9zaW5rOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogVXBkYXRlIHRlbXBsYXRlcyBmb3IgMS4wCgkgIFRoaXMgYXJlIChhbG1vc3QpIGNvbXBsZXRlbHkgYXV0b2dlbmVyYXRlZCBmcm9tIHRoZSBkb2N1bWVudGF0aW9uLgoKMjAxMy0wMi0wNSAxNjozNDoyMCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgbXhmZGVtdXg6IEFkZCBhIHNlY29uZCBNWEYgVUwgZm9yIHVuY29tcHJlc3NlZCBhdWRpbwoKMjAxMy0wMi0wNSAxNTo1ODo1MyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBJZ25vcmUgbWlzc2luZyBtZXRhZGF0YSBkZXNjcmlwdG9ycwoKMjAxMy0wMy0xNCAxMjowOTo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHN0b3AgdGFza3MgaW4gcGF1c2VkCgkgIEEgbm9uLWxpdmUgZWxlbWVudCBpcyBzdXBwb3NlZCB0byBjb250aW51ZSBzdHJlYW1pbmcgaW4gdGhlIHBhdXNlZCBzdGF0ZSBzbwoJICBkb24ndCBzdG9wIHRoZSB0YXNrcyB3aGVuIGdvaW5nIHRvIHBhdXNlZC4KCSAgV2UgYWxzbyBhbHdheXMgd2FudCB0byBzdGFydCB0aGUgdXBkYXRlIHRhc2sgYWZ0ZXIgd2UgcHJlcm9sbGVkIGVub3VnaCBkYXRhLAoJICBub3Qgb25seSBpbiB0aGUgcGxheWluZyBzdGF0ZS4KCjIwMTMtMDMtMTQgMTI6MDg6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBhZGQgbW9yZSBkZWJ1ZwoKMjAxMy0wMy0xMyAxMjo1MDo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIGRpZmZlcmVudCBFR0xJbWFnZSBvcmllbnRhdGlvbnMKCjIwMTMtMDMtMTMgMTE6Mjk6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBBZGQgc3VwcG9ydCBmb3IgZGlmZmVyZW50IG9yaWVudGF0aW9ucyBvZiB0aGUgRUdMSW1hZ2UKCSAgVGhlIGNvbnRlbnQgb2YgdGhlIEVHTEltYWdlcyBjYW4gYmUgYXQgbGVhc3QgaW4gR1N0cmVhbWVyIG9yaWVudGF0aW9uLAoJICBtZWFuaW5nIHRvcCBsaW5lIGZpcnN0IGluIG1lbW9yeSwgb3IgT3BlbkdMIG9yaWVudGF0aW9uLCBtZWFuaW5nCgkgIGJvdHRvbSBsaW5lIGZpcnN0IGluIG1lbW9yeS4KCjIwMTMtMDMtMTMgMTE6MDk6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBSR0JBIHRvIHRoZSBjYXBzIGFnYWluCgoyMDEzLTAzLTEzIDAwOjI1OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBmaXggdXAgbXBlZ3RzbXV4IHVuaXQgdGVzdCBhZnRlciBjb2xsZWN0cGFkcyBjaGFuZ2UKCSAgSXQgd2FzIHBhc3NpbmcgZXhwZWN0ZWQgZmxvdyByZXR1cm5zICh3aGljaCBtaWdodCBiZSBuZWdhdGl2ZSkKCSAgaW4gdGhlIGJ1ZmZlciB0aW1lc3RhbXAgZmllbGQsIHdoaWNoIHdhcyBtYXliZSBub3QgdGhlIGJlc3QKCSAgaWRlYS4KCjIwMTMtMDMtMTEgMjE6NTU6MjggLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGZpeCBpbXByb3BlciB2aWRlbyBmcmFtZSBjbGVhciBvcGVyYXRpb24KCSAgVGhlIGN1cnJlbnQgY29kZSBpcyBtZW1zZXR0aW5nIHRoZSBHc3RWaWRlb0ZyYW1lLmRhdGEgYWRkcmVzcyB0byAwcyAod2hpY2gKCSAgY2F1c2VzIGEgc2VnZmF1bHQpLiBUaGlzIG1lbWJlciBpcyBhY3R1YWxseSBhbiBhcnJheSBvZiBkYXRhIGJ1ZmZlcnMgKG9uZSBmb3IKCSAgZWFjaCBwbGFuZSkuICBUaGlzIGZpeCBpdGVyYXRlcyBvdmVyIGVhY2ggZGF0YSBwbGFuZSB0byBjbGVhciB0aGVtIGFsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTY1NQoKMjAxMy0wMy0xMiAxOTo0Nzo1MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc3J0cC8uZ2l0aWdub3JlOgoJKiBleHQvc3J0cC9NYWtlZmlsZS5hbToKCSogZXh0L3NydHAvZ3N0c3J0cC5jOgoJKiBleHQvc3J0cC9nc3RzcnRwLmg6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5oOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cDogQWRkIFNSVFAgcGx1Z2luIGJhc2VkIG9uIGxpYnNydHAKCSAgSW4gbGFyZ2UgcGFydCB0aGUgd29yayBvZiBHYWJyaWVsIE1pbGxhaXJlCgoyMDEzLTAzLTEyIDE5OjM2OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHN1cmUgdGhlIGJ1ZmZlciBpcyByZWxlYXNlZCB0byB0aGUgcG9vbCBpZiBpdCdzIHRoZSBsYXN0IHVzZWQgb25lCgoyMDEzLTAzLTEwIDIyOjA2OjMxICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJICBhcHBsZW1lZGlhOiBzdXBwcmVzcyB3YXJuaW5ncyBmb3IgZGVwcmVjYXRlZCBnbGliIEFQSQoKMjAxMy0wMy0xMCAyMToyMToxNyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IFVzZSBjb3JyZWN0IHByaW50IGZvcm1hdCBzcGVjaWZpZXJzIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMy0wOSAwMTowNjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICBSZW1vdmUgRFRNRiBwbHVnaW4sIG1vdmVkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0MTYKCjIwMTMtMDMtMDkgMDA6MTc6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmg6CgkgIGZiZGV2OiBwb3J0IGZiZGV2c2luayB0byAxLjAKCjIwMTMtMDMtMDcgMTE6NTg6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFRoZXJlIGFyZSBvbmx5IHR3byBHTFNMIHByb2dyYW1zLCBub3QgdGhyZWUKCjIwMTMtMDMtMDcgMTE6NTA6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGdzdF9idWZmZXJfcG9vbF9jb25maWdfZ2V0X2FsbG9jYXRvcigpIGRvZXMgKm5vdCogcmV0dXJuIGEgbmV3IHJlZmVyZW5jZSB0byB0aGUgYWxsb2NhdG9yCgkgIERpZmZlcmVudCB0byBnc3RfcXVlcnlfZ2V0X25fYWxsb2NhdGlvbl9wYXJhbXMoKSB3aGljaCBkb2VzCgoyMDEzLTAzLTA3IDAwOjAxOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhZTA1NTU4IHRvIDA0YzdhMWUKCjIwMTMtMDMtMDYgMTc6NTM6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBhbGxvY2F0aW9uIG9mIFJHQkEgdGV4dHVyZXMKCjIwMTMtMDMtMDYgMTA6NTM6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugc3VyZSB0byBzZXQgdGhlIE5PX1NIQVJFIGZsYWcgb24gdGhlIEVHTEltYWdlIG1lbW9yaWVzCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1MjAzCgoyMDEzLTAzLTA1IDEyOjQ3OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBbHdheXMgdXNlIGFuIFJHQkEgY29uZmlndXJhdGlvbgoKMjAxMy0wMi0yNyAxMzoxNTo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJICBwa2ctY29uZmlnOiBBZGQgZWdsIGxpYnJhcnkgdG8gdGhlIGdlbmVyaWMgcGtnLWNvbmZpZyBmaWxlCgoyMDEzLTAyLTI1IDEzOjQzOjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcm9wZXJseSBuZWdvdGlhdGUgYW4gYWxsb2NhdG9yCgoyMDEzLTAyLTI1IDEzOjMxOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogUmVuYW1lIGdzdF9lZ2xfaW1hZ2VfbWVtb3J5X2Nhbl9tYXAoKSB0byBpc19tYXBwYWJsZSgpCgoyMDEzLTAyLTI1IDEzOjI1OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogUmVtb3ZlIGJ1ZmZlciBwb29sIG9wdGlvbgoJICBUaGlzIHNob3VsZCBiZSBkb25lIGRpZmZlcmVudGx5IHZpYSB0aGUgYWxsb2NhdG9ycyBpbiB0aGUgYWxsb2NhdGlvbiBxdWVyeS4KCjIwMTMtMDItMjIgMTM6MDc6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBNYXJrIG1lbW9yeSBhcyBub3QgbWFwcGFibGUgaWYgaXQgaXNuJ3QKCjIwMTMtMDItMjIgMTI6NDg6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSAgZWdsOiBJbXBsZW1lbnQgc2hhcmluZyBvZiBtZW1vcnkKCjIwMTMtMDItMjIgMTE6MjM6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFN0b3JlIGEgcmVmZXJlbmNlIHRvIHRoZSBsYXN0X2J1ZmZlciBpZiB1c2luZyBFR0xJbWFnZXMKCjIwMTMtMDItMjIgMTA6NTg6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjb21waWxlciB3YXJuaW5nIG9uIFJQaQoKMjAxMy0wMi0yMSAxNzo0Mzo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSAgZWdsZ2xlc3Npbms6IFBvcnQgdG8gbmV3IEVHTCBsaWJyYXJ5CgoyMDEzLTAyLTIxIDE0OjQwOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkgIGVnbDogTW92ZSBjb25maWd1cmUgY2hlY2tzIGFyb3VuZCBhbmQgcmUtdXNlIGZvciBlZ2xnbGVzc2luayBwbHVnaW4KCjIwMTMtMDItMjEgMTM6Mzk6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9lZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1lZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZWdsLnBjLmluOgoJICBlZ2w6IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3IgRUdMSW1hZ2UgaGFuZGxpbmcKCjIwMTMtMDMtMDMgMTI6MzA6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5oOgoJICBvcGVuc2xlczogT25seSBpbmNsdWRlIDxnc3QvYXVkaW8vYXVkaW8uaD4KCjIwMTMtMDMtMDMgMTI6MzA6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggdmFyaW91cyBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMy0wMyAxMjozMDoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IFVzZSBjb3JyZWN0IHR5cGUgc3BlY2lmaWVycyBmb3IgZm9ybWF0IHN0cmluZ3MgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAzLTAzIDEyOjI5OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBVc2UgY29ycmVjdCB0eXBlIHNwZWNpZmllcnMgZm9yIGZvcm1hdCBzdHJpbmdzIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMy0wMyAxMjoyOToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IEdTVF9FUlJPUl9PQkpFQ1QoKSBwYXJhbWV0ZXJzCgoyMDEzLTAzLTAzIDEwOjU0OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJICBmcmVldmVyYjogRml4IGNvbXBpbGVyIHdhcm5pbmcgY2F1c2VkIGJ5IHdyb25nIGZvcm1hdCBzcGVjaWZpZXIKCjIwMTMtMDMtMDEgMTU6NTg6NDAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2htLmM6CgkgIHRlc3RzOiBBZGQgdW5pdCB0ZXN0cyBmb3Igc2htc2luay9zaG1zcmMKCjIwMTMtMDMtMDEgMDA6MTA6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJICBvcGVuY3Y6IHVzZSBwa2dkYXRhZGlyIGxvY2FsbHkgdG8gY29uc3RydWN0IHBhdGggZm9yIGN1c3RvbSBoYWFyIGNhc2NhZGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU2NTUKCjIwMTMtMDEtMzAgMTQ6Mzc6MTggKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RoYW5kZGV0ZWN0X3Rlc3QuYzoKCSAgb3BlbmN2OiBwb3J0IGhhbmRkZXRlY3QgZWxlbWVudCB0byAxLjAgYW5kIGFkZCB0byBidWlsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NjU1CgoyMDEzLTAxLTI3IDE5OjA1OjI3ICswMjAwICBBbmRvbCBMaSA8YW5kb2xAYW5kb2wuaW5mbz4KCgkqIGV4dC9vcGVuY3YvZmlzdC54bWw6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9wYWxtLnhtbDoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGhhbmRkZXRlY3RfdGVzdC5jOgoJICBvcGVuY3Y6IGFkZCBoYW5kZGV0ZWN0IHBsdWdpbiwgaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgoJICBUaGUgaGFuZGRldGVjdCBwbHVnaW4gaXMgZm9yIGRldGVjdGluZyBoYW5kIGdlc3R1cmVzIHVzaW5nCgkgIG9wZW5jdi4KCSAgSXQgd2FzIGNyZWF0ZWQgaW4gdGhlIGNvdXJzZSBvZiB0aGUgR29vZ2xlIFN1bW1lciBvZiBDb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NjU1CgoyMDEyLTA5LTI2IDE2OjAwOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobXNpbms6IEFkZCBjdXN0b20gYWxsb2NhdG9yIHRvIGFsbG93IGZvciB6ZXJvLWNvcHkgc2hhcmVkIG1lbW9yeSB1c2UKCjIwMTMtMDItMjggMTg6MTM6NDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBEb24ndCBsZWFrIHNvY2tldCBwYXRoCgoyMDEzLTAyLTI4IDIwOjIyOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogLmdpdGlnbm9yZToKCSAgZXhhbXBsZXM6IGlnbm9yZSBuZXcgdGVzdC11dmNoMjY0IGJpbmFyeQoKMjAxMy0wMi0yOCAyMDoxMTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogcmVwb3J0IGVsZW1lbnQgY3JlYXRpb24gZmFpbHVyZXMgYmV0dGVyIGFuZCBmaXggdXAgTElCUwoKMjAxMy0wMi0yOCAyMDowOToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIHRlc3RzOiB1cGRhdGUgc29tZSBlbGVtZW50IG5hbWVzIGZvciAxLjAKCjIwMTMtMDItMjggMjA6MDI6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaW5kIHVuaW5zdGFsbGVkIGdzdC1saWJhdiBwbHVnaW5zIGZvciB1bml0IHRlc3RzCgoyMDEzLTAyLTI4IDE4OjU0OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJICBkZWNrbGlua3Npbms6IHBvcnQgdG8gMS4wCgkgIENvbXBpbGVzLCBub3QgdGVzdGVkIHlldC4KCjIwMTMtMDItMjggMTg6NTM6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogYWRkIGxheW91dD1pbnRlcmxlYXZlZCB0byBhdWRpbyBjYXBzCgoyMDEyLTExLTA4IDEzOjIyOjQxIC0wODAwICBCbGFrZSBUcmVncmUgPGJsYWtlQG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiB1c2UgT19DTE9FWEVDIHdoZXJlIGFwcHJvcHJpYXRlIGluIHNobXBpcGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDMzOQoKMjAxMy0wMi0yOCAxNjo1NTowNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IGZpeCBjYXBzIGxlYWsKCjIwMTMtMDItMjggMTM6MjU6MDYgKzAxMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogdXNlIHJlbGF0aXZlIGluY2x1ZGUgZm9yIG91dC1vZi10cmVlIGJ1aWxkcyBpbiBkdG1mIHRlc3QKCjIwMTMtMDItMjggMTI6MDQ6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogZ3N0X3ZpZGVvX3NpbmtfY2VudGVyX3JlY3QoKSB0YWtlcyB0aGUgc3RydWN0cyBpdHNlbGYgaW5zdGVhZCBvZiBwb2ludGVycyBhcyBmaXJzdCBwYXJhbWV0ZXJzCgoyMDEzLTAyLTI4IDExOjI3OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBhc3BlY3QtcmF0aW8gaXNzdWVzIGNhdXNlZCBieSBzY2FsaW5nIG9uIFJQaQoKMjAxMy0wMi0yNyAyMTowNTozOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobXNpbms6IEVycm9yIG91dCBpZiBtZW1vcnkgYXJlYSBpcyBzbWFsbGVyIHRoYW4gYnVmZmVyCgoyMDEzLTAyLTI3IDIwOjU3OjU2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9zaG1hbGxvYy5jOgoJICBzaG06IE1ha2Ugc3VyZSB0byBub3QgYWxsb2NhdGUgYmxvY2tzIGxhcmdlciB0aGFuIHRoZSBzaGFyZWQgbWVtIGFyZWEKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTM1OQoKMjAxMy0wMi0yNyAxODo1Njo1MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0cyBmb3IgZHRtZnNyYwoKMjAxMy0wMi0yNyAyMzoyNzoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbmtzcmM6IHBvcnQgdG8gMS4wCgkgIENvbXBpbGVzLCBub3QgdGVzdGVkIHlldC4gQSBncmVhdCBudW1iZXIgb2Ygc3VwZXJmbHVvdXMgY3VzdG9tCgkgIHBhZCBmdW5jdGlvbnMgbWF5IGhhdmUgYmVlbiBoYXJtZWQgaW4gdGhlIG1ha2luZyBvZiB0aGlzIHBvcnQuCgoyMDEzLTAyLTI3IDE2OjE1OjI3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogRml4IHJlZiBsZWFrIGluIGR0bWYgdGVzdAoKMjAxMy0wMi0yNyAxMzoxNDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJICBwa2ctY29uZmlnOiBNYWtlIHRoZSBnZW5lcmljIHBrZy1jb25maWcgZmlsZSBtb3JlIHVzZWZ1bAoKMjAxMy0wMi0yMyAwOToxMTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmNkZWM6IFVzZSBuZXcgR1NUX01FTU9SWV9GTEFHX0NPTlRJR1VPVVMgaW5zdGVhZCBvZiByZXF1aXJpbmcgYSBzcGVjaWZpYyBtZW1vcnkgdHlwZQoKMjAxMy0wMi0xOSAxMzowMDowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGFkZCBhbGwgc3VwcG9ydGVkIHZpZGVvIGZvcm1hdHMgdG8gdGVtcGxhdGUgY2FwcwoJICBXZSBub3cgdXNlIGdzdF92aWRlb19vdmVybGF5X2NvbXBvc2l0aW9uX2JsZW5kKCksIHNvIGNhbiBzdXBwb3J0CgkgIGFsbCB2aWRlbyBmb3JtYXRzIHN1cHBvcnRlZCBieSB0aGF0LCBub3QganVzdCBJNDIwLgoKMjAxMy0wMi0xOSAxMToyNDo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHByb3h5IHRoZSBhbGxvY2F0aW9uIHF1ZXJ5CgkgIFBhc3MgYWxsb2NhdGlvbiBxdWVyeSBkb3duc3RyZWFtLgoKMjAxMy0wMi0xOSAxMToxNDoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGRvbid0IGZvcndhcmQgQ0FQUyBldmVudCBmcm9tIHN1YnRpdGxlIHBhZAoJICBNYXkgcmVzdWx0cyBpbiBub3QtbmVnb3RpYXRlZCBmbG93IGVycm9ycyBvdGhlcndpc2UuCgoyMDEzLTAyLTE2IDAyOjQ0OjE5ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZWF2ckBzb3VuZHJvcC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuaDoKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGNvbnRhY3QgaW5mb3JtYXRpb24KCjIwMTMtMDItMTYgMDI6Mzg6MzYgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlYXZyQHNvdW5kcm9wLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJICBhcHBsZW1lZGlhOiBmaXggZ3N0X2J1ZmZlcl9nZXRfY29yZV9tZWRpYV9tZXRhIG1hY3JvCgoyMDEzLTAyLTE2IDAyOjM3OjExICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZWF2ckBzb3VuZHJvcC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IHBvcnQgdnRlbmMgdG8gMS4wCgoyMDEzLTAyLTE2IDAyOjMxOjI4ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZWF2ckBzb3VuZHJvcC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiByZXBsYWNlIHVzYWdlIG9mIGRlcHJlY2F0ZWQgZ3N0X3BhZF9zZXRfY2FwcygpIGluIHZ0ZGVjCgoyMDEzLTAyLTE2IDAyOjI2OjUxICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZWF2ckBzb3VuZHJvcC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBwb3J0IHZ0YXBpIHRvIHJ1biBvbiBPUyBYIDEwLjgKCjIwMTMtMDItMTUgMDg6MjA6NTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSAgZnJlZXZlcmI6IHJlbW92ZSBjaGFubmVsLW1hc2sgZnJvbSBjYXBzCgkgIFRoZSBjaGFubmVsLW1hc2sgaXMgb25seSBuZWVkZWQgZm9yIGNoYW5uZWxzPjIgd2hpY2ggd2UgZG9uJ3QgZG8uCgoyMDEzLTAyLTE0IDEwOjQzOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogZml4IGgyNjQgY2FwcyBpbiBtcGVndHNtdXggdGVzdAoJICBOZWVkcyB0byBiZSBzdHJlYW0tZm9ybWF0PWJ5dGUtc3RyZWFtLCBub3QgZm9ybWF0PWJ5dGUtc3RyZWFtLgoKMjAxMy0wMi0xNCAxMDo0MDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkgIHRlc3RzOiBmaXggZmFhZCB1bml0IHRlc3QgZm9yIGdzdF9jYXBzX2lzX3N1YnNldCgpIGZpeCBpbiBjb3JlCgkgIE5lZWQgdG8gc3BlY2lmeSB0aGUgc3RyZWFtLWZvcm1hdC4KCjIwMTMtMDItMTQgMDk6NDA6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgUmV2ZXJ0ICJtcGVnNHZpZGVvcGFyc2U6IHNldCAwIGR1cmF0aW9uIHdoZW4gdm9wX2NvZGVkIGlzIDAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDMyMTlhMjYxYTVhN2I3MzQwYjYzYzgwMDEwMDA5YTczYjAzMjc1OS4KCSAgdm9wX2NvZGVkIDAgbWVhbnMgdGhhdCB0aGUgcHJldmlvdXMgZnJhbWUgc2hvdWxkIGJlIHJlcGVhdGVkLAoJICBzbyBpdCBzaG91bGQgaGF2ZSB2YWxpZCBkdXJhdGlvbiBhZnRlciBhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxNjkKCjIwMTMtMDItMTQgMDk6MDM6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uaDoKCSAgaW5zZXJ0YmluOiBtYXJrIGFzIHVuc3RhYmxlIEFQSQoKMjAxMy0wMi0xNCAwOTowMjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5jOgoJICBpbnNlcnRiaW46IGZpeCB1cCBndGstZG9jIGNodW5rIGFuZCBhZGQgc2luY2UgbWFya2VycwoKMjAxMy0wMi0xMyAxNTowMDowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXguYzoKCSAgdGVzdHM6IHBvcnQgdXZjaDI2NCB0ZXN0IHRvIDEuMAoJICBGaXhlcyAnbWFrZSBjaGVjaycgYnVpbGQuCgoyMDEzLTAyLTEzIDE1OjIwOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IENsb3NlIHRoZSBkaXNwbWFuIGRpc3BsYXkgb24gUlBpIGFmdGVyIHVzYWdlCgoyMDEzLTAyLTEzIDE1OjA5OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGb3IgUlBpLCBpbml0aWFsaXplIGJjbV9ob3N0IGluIHBsdWdpbl9pbml0KCkKCjIwMTMtMDItMTMgMTU6MDY6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBlZ2xnbGVzc2luazogQWxzbyBjaGVjayBmb3IgYWxsIHRoZSByZXF1aXJlZCBsaWJyYXJpZXMgYW5kIGhlYWRlcnMgZm9yIFJQaQoKMjAxMy0wMi0xMyAxMjo1MTo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjYzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogVXNlIGNvbXBsZXRlIGFuZCB2YWxpZCBjYXBzIGluIHRoZSB0ZXN0cwoKMjAxMy0wMi0xMiAxODozNjoxMCArMDEwMCAgSnVsaWFuIFNjaGVlbCA8anVsaWFuQGp1c3N0LmRlPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgYmNtL1Jhc3BiZXJyeSBQaSBzdXBwb3J0LgoJICBUaGlzIGFkZHMgYSB2aWRlbyBwbGF0Zm9ybSBiYWNrZW5kIGZvciB0aGUgZGlzcG1hbnggZGlzcGxheSBtYW5hZ2VyIHVzZWQgYnkKCSAgYnJvYWRjb20gYW5kIHRoZSBSYXNwYmVycnkgUGkuCgkgIFNpZ25lZC1vZmYtYnk6IEp1bGlhbiBTY2hlZWwgPGp1bGlhbkBqdXNzdC5kZT4KCjIwMTMtMDItMTIgMTg6MTE6MzQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkgIHBuZ3BhcnNlOiBEZWNsYXJlIHRoZSB3aWR0aC9oZWlnaHQgb3V0c2lkZSB0aGUgbG9vcAoJICBBbHNvIGluaXRpYWxpemUgdGhlbSB0byBtYWtlIGdjYyBoYXBweQoKMjAxMy0wMS0yOCAyMjo0Mjo0NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IEFkZCBwbmcgZmlsZSBwYXJzZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDYzOQoKMjAxMy0wMi0xMSAxNjozNTo0OCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgVW5yZXZlcnQ6IG1wZWd2aWRlb3BhcnNlOiBzZXQgdGltZXN0YW1wIGJhc2VkIG9uIHBpYyBvZmZzZXQKCSAgQVBJIGlzIG5vdyBpbiBiYXNlcGFyc2UgaW4gZ3N0cmVhbWVyLgoJICBUaW1lc3RhbXBzIGluIE1QRUctVFMgc3RyZWFtcyBhcmUgYmFzZWQgb24gdGhlIGxhc3QgdGltZXN0YW1wCgkgIGJlZm9yZSB0aGUgc3RhcnQgY29kZSBvZiB0aGUgcGljdHVyZS4gIEdzdEJhc2VQYXJzZSBzZXRzIHRoZQoJICB0aW1lc3RhbXAgYmFzZWQgb24gdGhlIGJlZ2lubmluZyBvZiB0aGUgc2VxdWVuY2UgaGVhZGVyLCBpZgoJICBvbmUgZXhpc3RzIGJlZm9yZSB0aGUgcGljdHVyZS4gIFRoaXMgZml4ZXMgdGhlIGNhc2Ugd2hlcmUgdGhlCgkgIHRpbWVzdGFtcCBvY2N1cnMgaW4gdGhlIE1QRUctVFMgc3RyZWFtIGJldHdlZW4gdGhlIHNlcSBoZWFkZXIKCSAgYW5kIHBpY3R1cmUgc3RhcnQgY29kZS4KCjIwMTMtMDItMDcgMTU6NDI6NTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmM6CgkqIGdzdC95YWRpZi9nc3R5YWRpZi5oOgoJICB5YWRpZjogQWRkIG1vZGUgcHJvcGVydHkKCSAgQ29weSBtb2RlIGZyb20gZGVpbnRlcmxhY2UgZWxlbWVudC4gIElzbid0IGFjdHVhbGx5IGltcGxlbWVudGVkCgkgIGluIHlhZGlmLCBldmVyeSBmcmFtZSBpcyBkZWludGVybGFjZWQsIHNvIGVmZmVjdGl2ZWx5IG1vZGU9MS4KCjIwMTMtMDItMTIgMTE6NDc6NTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3lhZGlmL3ZmX3lhZGlmLmM6CgkqIGdzdC95YWRpZi95YWRpZi5jOgoJICB5YWRpZjogRml4IG5vbi14ODZfNjQgYnVpbGRzCgoyMDEzLTAyLTEyIDExOjI0OjQ0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYWRkIHBhcnNlZD1mYWxzZSB0byBtcGVnMiBjYXBzCgoyMDEzLTAyLTEyIDEwOjM5OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkgIGdsaWItY29tcGF0LXByaXZhdGUuaDogcmVtb3ZlIG9sZCBHU3RhdGljUmVjTXV0ZXggc3R1ZmYKCSAgQnJlYWtzIHRoZSBidWlsZCB3aXRoIG5ld2VyIEdMaWJzICgidW5rbm93biB0eXBlIEdTdGF0aWNSZWNNdXRleCIpCgkgIGFuZCBpcyBub3QgbmVlZGVkIGFueSBtb3JlLgoKMjAxMy0wMi0xMiAwOTozODozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBSZXZlcnQgIm1wZWd2aWRlb3BhcnNlOiBzZXQgdGltZXN0YW1wIGJhc2VkIG9uIHBpYyBvZmZzZXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjM3MThkYTkxOWI2YTNkYWEwNGE2NmRhMWJlNGRiNTRlMDc3ODg5OC4KCSAgVGhlIHJlcXVpcmVkIGJhc2VwYXJzZSBBUEkgYWRkaXRpb24gaGFzIG5vdCBiZWVuIHB1c2hlZCB5ZXQsCgkgIHdoaWNoIGJyZWFrcyB0aGUgYnVpbGQuCgoyMDEzLTAyLTExIDE3OjU4OjMxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlcjogaW5jcmVhc2UgbWluIHNpemUgZm9yIHBpY3R1cmUgY29kaW5nIGV4dAoJICBUaGlzIGNvdWxkIHVzZSBhZGRpdGlvbmFsIHdvcmsuICBUaGUgcGFyc2luZyBjb2RlIG92ZXJydW5zIHRoZQoJICBlbmQgb2YgYnVmZmVycyBkdXJpbmcgbm9ybWFsIG9wZXJhdGlvbiwgdHJpZ2dlcmluZyBHU1RfV0FSTklOR3MuCgoyMDEzLTAyLTExIDE3OjM5OjI0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9tZmMvZ3N0bWZjLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBxdWlldCBkZWJ1Z2dpbmcgd2hlbiBtZmMgZGV2aWNlIGRvZXNuJ3QgZXhpc3QKCSAgQXZvaWQgcmVnaXN0ZXJpbmcgdGhlIGVsZW1lbnQgaWYgdGhlIG1mYyBkZXZpY2UgZG9lc24ndCB3b3JrLAoJICBidXQgYWxsb3cgcGx1Z2luIGxvYWRpbmcgdG8gc3VjY2VlZC4KCjIwMTMtMDItMTEgMTY6MzU6NDggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBzZXQgdGltZXN0YW1wIGJhc2VkIG9uIHBpYyBvZmZzZXQKCSAgVGltZXN0YW1wcyBpbiBNUEVHLVRTIHN0cmVhbXMgYXJlIGJhc2VkIG9uIHRoZSBsYXN0IHRpbWVzdGFtcAoJICBiZWZvcmUgdGhlIHN0YXJ0IGNvZGUgb2YgdGhlIHBpY3R1cmUuICBHc3RCYXNlUGFyc2Ugc2V0cyB0aGUKCSAgdGltZXN0YW1wIGJhc2VkIG9uIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHNlcXVlbmNlIGhlYWRlciwgaWYKCSAgb25lIGV4aXN0cyBiZWZvcmUgdGhlIHBpY3R1cmUuICBUaGlzIGZpeGVzIHRoZSBjYXNlIHdoZXJlIHRoZQoJICB0aW1lc3RhbXAgb2NjdXJzIGluIHRoZSBNUEVHLVRTIHN0cmVhbSBiZXR3ZWVuIHRoZSBzZXEgaGVhZGVyCgkgIGFuZCBwaWN0dXJlIHN0YXJ0IGNvZGUuCgoyMDEzLTAyLTExIDIzOjQ2OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3lhZGlmL01ha2VmaWxlLmFtOgoJICB5YWRpZjogZml4IGRpc3RjaGVjawoKMjAxMy0wMi0xMSAyMzoyOTo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBNYWtlZmlsZS5hbToKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSAgc3dmZGVjOiByZW1vdmUKCSAgVGhlIHN3ZmRlYyBwcm9qZWN0IGlzIGRlYWQsIGFuZCB0aGlzIHBsdWdpbiB3YXMKCSAgbmV2ZXIgcmVhbGx5IHVzZWZ1bCBiZWNhdXNlIG9mIHRoZSB3YXkgc3dmIHdvcmtzLgoJICBSZW1vdmUgaXQgYmVmb3JlIHNvbWVvbmUgYWNjaWRlbnRhbGx5IHBvcnRzIGl0LgoKMjAxMy0wMi0xMSAyMjo1MDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvLmdpdGlnbm9yZToKCSogZXh0L2NvZy9nc3Rjb2dvcmMub3JjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkgIEFkZCBjb2cgdG8gY3J1ZnQgbGlzdCBhbmQgcmVtb3ZlIHNvbWUgbW9yZSBsZWZ0b3ZlciBmaWxlcwoKMjAxMy0wMi0xMSAyMjo0MDozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC95YWRpZi9NYWtlZmlsZS5hbToKCSAgeWFkaWY6IGZpeCBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoKMjAxMy0wMi0wMyAxNDozMjoyNyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvd2luZG93LmdsYWRlOgoJICB1dmNoMjY0IHRlc3Q6IFVzZSBzdHJpbmcgaW5zdGVhZCBvZiBmb3VyY2MgaW4gZ2xhZGUgY2FwcwoKMjAxMy0wMi0wMyAxNDozMTo1MCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IFJlbW92ZSBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnQKCjIwMTMtMDItMDMgMTQ6MzE6MTMgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBBZGQgaW1hZ2UvanBnIHRvIHZmc3JjIGFuZCB2aWRzcmMgY2FwcwoKMjAxMy0wMi0wMyAxNDozMDozNiArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjQ6IEZpeCBOVjIxIHZzIE5WMTIgdHlwbwoKMjAxMy0wMi0wMiAxNDoxNjo0MCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IFBhc3MgdGhyb3VnaCB0aGUgZmlsdGVyIG9uIHRoZSBjYXBzIHF1ZXJ5CgoyMDEzLTAxLTE4IDIzOjIzOjU2ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXguYzoKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC90ZXN0LXV2Y2gyNjQuYzoKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC93aW5kb3cuZ2xhZGU6CgkgIHV2Y2gyNjQ6IFJlbW92ZSB0aGUgXyBmcm9tIHRoZSBlbGVtZW50IG5hbWVzCgkgIFJlbmFtZSB1dmNoMjY0X3NyYyB0byB1dmNoMjY0c3JjIGFuZCB1dmNoMjY0X21qcGdkZW11eCB0bwoJICB1dmNoMjY0bWpwZ2RlbXV4CgoyMDEzLTAxLTE4IDIzOjE2OjMxICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE1hcmsgdXZjaDI2NCBhcyBwb3J0ZWQKCjIwMTMtMDEtMTggMjM6MTQ6MjcgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3Rlc3QtdXZjaDI2NC5jOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3dpbmRvdy5nbGFkZToKCSAgdXZjaDI2NDogUG9ydCB0ZXN0IHRvIGdzdHJlYW1lciAxLjAKCjIwMTMtMDEtMTggMjI6NDk6MTkgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBQb3J0IHRvIGdzdHJlYW1lciAxLjAKCjIwMTItMDUtMDMgMjA6MzY6MjcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYWJpbnNyYzogQWRkIGF1dG8tc3RhcnQgcHJvcGVydHkgdG8gYmFzZWNhbWVyYWJpbgoKMjAxMy0wMi0xMSAxMjo1MTowNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sb2dvaW5zZXJ0LmM6CgkgIGNvZzogcmVtb3ZlIGxhc3QgcmVtbmFudHMKCjIwMTMtMDItMDcgMTU6MDk6NTEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveWFkaWYvTWFrZWZpbGUuYW06CgkqIGdzdC95YWRpZi9nc3R5YWRpZi5jOgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuaDoKCSogZ3N0L3lhZGlmL3ZmX3lhZGlmLmM6CgkqIGdzdC95YWRpZi95YWRpZi5jOgoJKiBnc3QveWFkaWYveWFkaWZfdGVtcGxhdGUuYzoKCSAgeWFkaWY6IEFkZCBZQURJRiBkZWludGVybGFjaW5nIGZpbHRlcgoJICBDb2RlIGNvcGllZCBmcm9tIExpYmF2LCBjb21taXQgMjZlNGYwYzcwLiAgV2lsbCBldmVudHVhbGx5IGJlCgkgIG1vdmVkIHRvIC11Z2x5IGJlY2F1c2UgdW5kZXJseWluZyBjb2RlIGlzIEdQTC4KCjIwMTMtMDItMDcgMTQ6MzM6MjQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJICBmaWVsZGFuYWx5c2lzOiBBZGQgWTQyQiBhbmQgWTQ0NCBmb3JtYXRzCgoyMDEzLTAyLTA3IDExOjE1OjAxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1hcHAtbWFrZXI6CgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJICBnc3QtYXBwLW1ha2VyL2dzdC1lbGVtZW50LW1ha2VyOiAxLjAgdXBkYXRlcwoKMjAxMy0wMi0xMSAxMjoyNTowNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2cuaDoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmg6CgkqIGV4dC9jb2cvY29ndGFibGVzLmM6CgkqIGV4dC9jb2cvY29ndXRpbHMuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3RjbXMuYzoKCSogZXh0L2NvZy9nc3RjbXMuaDoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5oOgoJICBjb2c6IHJlbW92ZSBjb2cgcGx1Z2luCgkgIEV2ZXJ5dGhpbmcgaGFzIGJlZW4gbWVyZ2VkIGludG8gb3RoZXIgZWxlbWVudHMuCgoyMDEzLTAyLTExIDIwOjI0OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZml4IHRhZ2xpc3QgbGVhawoJICBEb24ndCBsZWFrIGRlbXV4ZXIgdGFnIGxpc3QuCgoyMDEzLTAyLTExIDIwOjE3OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSAgdGVzdHM6IGZpeCBteGZkZW11eCBwdWxsIHVuaXQgdGVzdCBoYW5naW5nIGZvcmV2ZXIKCSAgT3VyIHRlc3Qgc291cmNlIHBhZCBuZWVkcyB0byBhbnN3ZXIgU0NIRURVTElORyBxdWVyaWVzCgkgIHByb3Blcmx5IGZvciBteGZkZW11eCB0byBhY3RpdmF0ZSBpbiBwdWxsIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE4NDMKCjIwMTMtMDItMTEgMTk6NTM6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBmaXggcHVzaCBtb2RlIHVuaXQgdGVzdCBmYWlsdXJlCgkgIEluIHRoZSBzaW5rIGV2ZW50IGhhbmRsZXIgd2UgZW5kIHVwIHNlbmRpbmcgbXVsdGlwbGUgRU9TCgkgIGV2ZW50cyBwZXIgcGFkLiBEb24ndCByZXR1cm4gRkFMU0Ugd2hlbiBzZW5kaW5nIHRoZQoJICBzZWNvbmQgRU9TIG9uIGFuIGFscmVhZHktRU9TIHBhZCBmYWlscy4gTm90IHN1cmUgaWYgdGhlcmUKCSAgd2FzIGEgcmVhc29uIGZvciBzZW5kaW5nIGEgc2Vjb25kIEVPUywgc28gbGVhdmluZyB0aGUKCSAgY29kZSBpbiB0aGVyZSBmb3Igbm93LCBidXQgYXNzdW1lIGFsbCB3ZW50IGZpbmUgaWYgdGhlcmUKCSAgYXJlIHNvdXJjZSBwYWRzLCB3aGljaCBpcyBzbGlnaHRseSBsZXNzIHdyb25nIHRoYW4gYmVmb3JlLgoJICBUaGlzIGZ1bmN0aW9uIG5lZWRzIHdvcmsuCgoyMDEzLTAyLTExIDEyOjM0OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGNvbXBpbGF0aW9uIG9mIGR0bWYgdGVzdCBpbiB1bmluc3RhbGxlZCBzZXR1cAoKMjAxMy0wMi0xMSAxMjozNDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGFjdHVhbGx5IGxvZyBnZW5lcmljIGRhdGFwcm90b2NvbCBzdHVmZiB0byBnZHAgY2F0ZWdvcnkKCjIwMTMtMDItMDkgMjA6MjI6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBHTGliIHRocmVhZGluZyBBUEkKCjIwMTMtMDItMDkgMTk6NTM6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBsaXZlYWRkZXI6IGRvbid0IHVzZSBkZXByZWNhdGVkIEdMaWIgdGhyZWFkaW5nIEFQSQoKMjAxMy0wMi0wOSAxOTo0OTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSAgc2htOiBkb24ndCB1c2UgZGVwcmVjYXRlZCB0aHJlYWRpbmcgQVBJCgoyMDEzLTAyLTExIDExOjA2OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBjbGVhciB0aGUgc3RhdGUgb2YgdGhlIGRlY29kZXIKCSAgU2V0IHRoZSBjaGFubmVscyBhbmQgcmF0ZSBiYWNrIHRvIHRoZWlyIGRlZmF1bHQgdmFsdWVzIGluIF9zdG9wIGJlY2F1c2UgdGhleQoJICBhcmUgdXNlZCB0byByZW5lZ290aWF0ZSB3aGVuIG5lZWRlZC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5NTAKCjIwMTMtMDItMDcgMTE6NTI6MjMgKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3Znb3ZlcmxheTogZGVwcmVjYXRlZCBHU3RhdGljTXV0ZXggLT4gR011dGV4CgkgIEVsZW1lbnQgbmVlZHMgcG9ydGluZyB0aG91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMjIKCjIwMTMtMDItMDkgMTg6NDY6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJICBtZmM6IGZpeCBjb21waWxhdGlvbiB3aXRoIG5ld2VyIEdMaWIgdmVyc2lvbnMKCSAgdGhhdCBkb24ndCBpbmNsdWRlIHB0aHJlYWQuaCBhbnkgbW9yZSBmcm9tIHB1YmxpYyBoZWFkZXJzLgoJICBXZSBjb3VsZCBqdXN0IGZpeCB0aGlzIGJ5IGluY2x1ZGluZyBwdGhyZWFkLmggb3Vyc2VsdmVzLAoJICBidXQgd2UgbWF5IGp1c3QgYXMgd2VsbCB1c2UgYXRvbWljIG9wcyBmb3IgdGhpcyBhbmQKCSAgc2ltcGxpZnkgdGhlIGNvZGUgYSBsaXR0bGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMjIKCjIwMTMtMDItMDcgMTE6NTQ6MzggKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IGRlcHJlY2F0ZWQgR1N0YXRpY1JXTG9jayAtPiBHUldMb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMjIKCjIwMTMtMDItMDcgMTE6NTQ6MDYgKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmg6CgkgIGNocm9tYWhvbGQ6IGRlcHJlY2F0ZWQgR1N0YXRpY011dGV4IC0+IEdNdXRleAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzIyCgoyMDEzLTAyLTA3IDEwOjUyOjU3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1hcHAtbWFrZXI6CgkgIGdzdC1hcHAtbWFrZXI6IGNvbnZlcnQgdG8gMS4wCgoyMDEzLTAyLTA4IDAwOjA2OjE2ICsxMTAwICBUaW0gJ21pdGhybycgQW5zZWxsIDxtaXRocm9AbWl0aGlzLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogZml4IGJ1ZmZlciBsZWFrIHdoZW4gbmV3IGNhcHMgYXJlIHNhbWUgYXMgb2xkIGNhcHMKCSAgVGhlIGxlYWsgb2NjdXJzIHdoZW4geW91IGdvdCBhIG1lc3NhZ2Ugd2l0aCBpZGVudGljYWwgY2FwcyB0byB0aGUgb25lcyB5b3UKCSAgYWxyZWFkeSBoYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMjQKCjIwMTItMTAtMDIgMTE6MDI6MzIgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBwcm9maWxlIGVudW1zLgoJICBBZGQgYWxsIHVzZWZ1bCBwcm9maWxlcyBmcm9tIEFWQywgTVZDIGFuZCBTVkMgc3BlY2lmaWNhdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMxNDAKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMi0wNyAyMjoyNjoxNSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkgIGR2ZHNwdTogRml4IHRoZSByZW5kZXJpbmcgb2YgUEdTIHdpbmRvd3Mgd2l0aCBsZWZ0ICE9IDAKCSAgV2hlbiByZW5kZXJpbmcgYSBQR1Mgd2luZG93IGFyZWEgd2hlcmUgdGhlIGxlZnQgZWRnZSBpcyBub3QgYXQKCSAgcGl4ZWwgMCwgdGhlIGNocm9tYSB3YXMgYmVpbmcgcmVuZGVyZWQgaW4gdGhlIHdyb25nIHBsYWNlIHNpbmNlCgkgIGNvbW1pdCA0ZGM2NDhkMzQzMGI2NzU5MmNmMTQxM2NjZWY0MTVmNzA4ODlkNzFlCgoyMDEzLTAyLTA3IDExOjMxOjEyICswMDAwICBUaW0gQW5zZWxsIDxnbm9tZSBhdCBtaXRoaXMuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJICBpbnRlcjogZml4IGxlYWtzIGluIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMwMAoKMjAxMy0wMi0wNyAwODo0MToyNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWV2ZXJiL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmg6CgkgIGZyZWV2ZXJiOiBwb3J0IHRvIDEuMAoKMjAxMy0wMS0wOSAxMzozMTo0NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSAgYXVkaW92aXN1YWxpemVyczogYWRkIGNvbW1lbnRzIGZvciBtb25vc2NvcGUgcG9ydGluZwoKMjAxMy0wMi0wNiAxNTo0ODowNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IGZpeCBuZWdvdGlhdGlvbiBmb3IgdHJ1ZSBpbnRlcmxhY2VkIG1vZGVzCgoyMDEzLTAyLTA2IDEyOjM1OjM2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2V0cmFuc2Zvcm06CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2dvYmplY3Q6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtc2ltcGxlOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogVXBkYXRlIHNvbWV3aGF0IGZvciAxLjAKCSAgT25seSBjb252ZXJ0ZWQgYmFzZXRyYW5zZm9ybSBmb3IgdGhlIG1vbWVudC4gIEl0J3MgcHJvYmFibHkgZWFzaWVyCgkgIHRvIHdyaXRlIHRlbXBsYXRlcyBmcm9tIHNjcmF0Y2ggZnJvbSB0aGUgZG9jdW1lbnRhdGlvbi4KCjIwMTMtMDItMDUgMTE6NTY6NDYgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGFkZCBoZWxwZXJzIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzLgoJICBBZGQgdXRpbGl0eSBmdW5jdGlvbnMgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMgZnJvbSB6aWd6YWcgc2NhbgoJICBvcmRlciAoYXMgZW5jb2RlZCBpbiB0aGUgYml0c3RyZWFtKSBpbnRvIHJhc3RlciBzY2FuIG9yZGVyLiBBbHNvIHByb3ZpZGUKCSAgYW5vdGhlciBmdW5jdGlvbiB0byByZXZlcnNlIHRoZSBvcGVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMwMDAKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0zMSAxNjoxMzoyMiArMDgwMCAgQ29uZyBaaG9uZyA8Y29uZ3guemhvbmdAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogc3RvcmUgcXVhbnRpemF0aW9uIG1hdHJpY2VzIGluIHppZ3phZyBzY2FuIG9yZGVyLgoJICBRdWFudGl6ZXIgbWF0cmljZXMgYXJlIGVuY29kZWQgaW4gemlnemFnIHNjYW4gb3JkZXIgaW4gdGhlIGJpdHN0cmVhbSwKCSAgYnV0IHRoZXkgYXJlIHN0b3JlZCBpbiByYXN0ZXIgc2NhbiBvcmRlciB3aGVuIHRoZXkgYXJlIHBhcnNlZC4gSG93ZXZlciwKCSAgZGVmYXVsdCBtYXRyaWNlcyB3ZXJlIGFsc28gcHJlcGFyZWQgaW4gemlnemFnIHNjYW4gb3JkZXIsIGhlbmNlIHRoZQoJICBtaXNtYXRjaC4gaS5lLiB0aGUgbWF0cmljZXMgd2VyZSBwcmVzZW50ZWQgZWl0aGVyIGluIHJhc3RlciBzY2FuIG9yZGVyCgkgIGlmIHRoZXkgYXJlIGV4cGxpY2l0bHkgcHJlc2VudCBpbiB0aGUgYml0c3RyZWFtLCBvciB0aGV5IHdlcmUgcHJlc2VudGVkCgkgIGluIHppZ3phZyBzY2FuIG9yZGVyIGlmIHRoZSBkZWZhdWx0IGRlZmluaXRpb25zIHdlcmUgdG8gYmUgdXNlZCBpbnN0ZWFkLgoJICBPbmUgd2F5IHRvIHNvbHZlIHRoaXMgcHJvYmxlbSBpcyB0byBhbHdheXMgZXhwb3NlIHRoZSBxdWFudGl6YXRpb24KCSAgbWF0cmljZXMgaW4gemlnemFnIHNjYW4gb3JkZXIsIHNpbmNlIHRoaXMgaXMgdGhlIHJvbGUgb2YgdGhlIHBhcnNlciB0bwoJICBub3QgYnVpbGQgdXAgc3RvcmllcyBmcm9tIHRoZSBzb3VyY2UgYml0c3RyZWFtIGFuZCBqdXN0IHByZXNlbnQgd2hhdAoJICBpcyBpbiB0aGVyZS4KCSAgVXRpbGl0eSBmdW5jdGlvbnMgd2lsbCBiZSBwcm92aWRlZCB0byBjb252ZXJ0IHF1YW50aXphdGlvbiBtYXRyaWNlcyBpbgoJICBlaXRoZXIgc2NhbiBvcmRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzAwMAoJICBTaWduZWQtb2ZmLWJ5OiBDb25nIFpob25nIDxjb25neC56aG9uZ0BpbnRlbC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDItMDUgMjM6MDc6MTIgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGV4cG9zZSBWQzEgc3RyZWFtcyB3aXRoIG1pc3NpbmcgZGVzY3JpcHRvci4KCSAgRml4ZXMgcGxheWJhY2sgb2YgVkMxIHN0cmVhbXMgd2hlbiB0aGUgZGVzY3JpcHRvciBpcyBtaXNzaW5nLgoKMjAxMy0wMi0wNSAxNzozNDoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogaGFuZGxlIEVJTlRSIGZyb20gcG9sbAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMjEyCgoyMDEwLTEyLTI3IDIzOjIxOjEwICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBtb3JlIHRlbGVjaW5lIHBhdHRlcm5zCgoyMDExLTAxLTEwIDEwOjM2OjQzICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCBtb3JlIHZlcmJvc2UgaGludHMgYWJvdXQgZmllbGQgcGF0dGVybnMKCjIwMTMtMDItMDQgMTg6MDc6MTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBkZXNjcmlwdG9ycyBmb3IgU01QVEUgMzAybSBhdWRpbwoKMjAxMy0wMi0wMiAxODo0NDoxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBzZXBhcmF0ZSBmaWVsZHMgZm9yIGRpc3RpbmN0IGZ1bmN0aW9uYWwgdXNlcyBvZiBjb2RlY19kYXRhIGZpZWxkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI3ODkKCjIwMTMtMDEtMzEgMTI6MzA6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXNwYXk6IGZpeCB0aW1lc3RhbXBzCgkgIENvcHkgdGltZXN0YW1wcyB0byBwYXlsb2FkZWQgYnVmZmVyLgoJICBBdm9pZCBpbnB1dCBidWZmZXIgbWVtb3J5IGxlYWsuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5MjkKCjIwMTMtMDEtMzAgMDk6MzM6NDkgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBhbGxvdyBjYWxsaW5nIGZyb20gb3V0LW9mLXRyZWUKCSAgU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI4NTkKCjIwMTMtMDEtMjggMjA6NDI6NDkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE5NDIyOTMgdG8gMmRlMjIxYwoKMjAxMy0wMS0yOCAxNDoxMjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBjcmFzaCB3aGVuIHNldHRpbmcgImNiciIgcHJvcGVydHkgd2hlbiBlbmNvZGVyIGlzIG5vdCBydW5uaW5nIHlldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNjk4CgoyMDEzLTAxLTI2IDIyOjU4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RydHBkdG1mc3JjLmM6IEluIGZ1bmN0aW9uICdnc3RfZHRtZl9zcmNfcHJlcGFyZV9tZXNzYWdlLmlzcmEuMSc6CgkgIGdzdHJ0cGR0bWZzcmMuYzo2Njk6MzogZXJyb3I6ICdzJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTMtMDEtMjUgMjE6MDY6MDUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgcnRwZHRtZmRlcGF5OiBGaXggbWlzc2luZyB3b3JrIGluIGRvYwoKMjAxMy0wMS0yNCAyMTowMDowOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3IgcnRwZHRtZmRlcGF5IGFuZCBydHBkdG1mc3JjCgoyMDEzLTAxLTI1IDIwOjM5OjMzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBQb3N0IHRoZSBtZXNzYWdlcyBhZnRlciB0aGUgY2xvY2sgd2FpdAoJICBUaGlzIHdheSwgdGhlIG1lc3NhZ2VzIHdpbGwgYmUgY2xvc2VyIGluIHRpbWUgdG8gd2hlbiB0aGUgcGFja2V0cyBhcmUgc2VudCBvdXQKCjIwMTMtMDEtMjUgMjA6Mzc6NTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IE9ubHkgc2V0IHRoZSBkdXJhdGlvbiB3aGVuIHN0YXJ0aW5nIHRvIHNlbmQKCSAgVGhlIGR1cmF0aW9uIGRlcGVuZHMgb24gdGhlIGNsb2NrIHJhdGUsIHdoaWNoIGNvdWxkIGNoYW5nZSBkdWUgdG8gcmVuZWdvdGlhdGlvbgoKMjAxMy0wMS0yNSAyMDozNzowOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogcmVtb3ZlICJzc3JjIiBmcm9tIGNhcHMKCSAgc3NyYyBpcyB1aW50IGFuZCB3ZSBkb24ndCBoYXZlIGEgdWludCByYW5nZSB0eXBlCgoyMDEzLTAxLTI1IDE1OjQ0OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IGZpeCBpbnNlcnRiaW4gYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgTWFrZSBzdXJlIHBrZy1jb25maWcgaW4gZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi8gY2FuIGZpbmQKCSAgdGhlIHVuaW5zdGFsbGVkIGNvcmUvYmFzZSBwcm9wZXJseS4gRml4ZXMgYnVpbGQgb2YKCSAgaW5zZXJ0YmluIGluIHVuaW5zdGFsbGVkIHNldHVwIGlmIHRoZXJlIGFybid0IGFueQoJICBpbnN0YWxsZWQgZ2lyIGZpbGVzIHRvIGZhbGwgYmFjayB0by4KCjIwMTMtMDEtMjUgMTI6MjQ6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgaW5zZXJ0YmluLCB0ZXN0czogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDEtMjQgMTg6MTQ6MjggKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggYml0cGxhbmVzIGRlY29kaW5nIChESUZGNiBvciBOT1JNNiByZXNpZHVhbCBieXRlcykuCgkgIEZpeCBwYXJzaW5nIG9mIHJlc2lkdWFsIGJ5dGVzLiBUaGlzIGlzIGEgdHdvLXN0ZXAgcHJvY2Vzcy4gRmlyc3QsCgkgIHJlbWFpbmluZyBjb2x1bXMgb2YgZnVsbCB2ZXJ0aWNhbCByZXNvbHV0aW9uICg8aGVpZ2h0PikgbmVlZCB0byBiZQoJICBwcm9jZXNzZWQuIE5leHQsIHJlbWFpbmluZyBieXRlcyBpbiB0aGUgZmlyc3Qgcm93IGNhbiBiZSBwcm9jZXNzZWQsCgkgIHdoaWxlIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGZhY3QgdGhhdCB3ZSBtYXkgaGF2ZSBmaWxsZWQgaW4gdGhlCgkgIGZpcnN0IGNvbHVtbnMgYWxyZWFkeS4gU28sIHRoaXMgaXMgbm90IGZ1bGwgaG9yaXpvbnRhbCByZXNvbHV0aW9uLgoJICBUaGUgZm9sbG93aW5nIGZpZ3VyZSBoZWxwcyBpbiB1bmRlcnN0YW5kaW5nIHRoZSBleHBlY3RlZCBvcmRlciBvZgoJICBvcGVyYXRpb25zLCBmb3IgYSA4eDUgTUJzIGJpdHBsYW5lLgoJICA1IDUgNiA2IDYgNiA2IDYKCSAgNSA1IDEgMSAxIDIgMiAyCgkgIDUgNSAxIDEgMSAyIDIgMgoJICA1IDUgMyAzIDMgNCA0IDQKCSAgNSA1IDMgMyAzIDQgNCA0CgkgIFNvLCBhZnRlciB0aWxlcyAxIHRvIDQgYXJlIGRlY29kZWQsIHZlcnRpY2FsIHRpbGUgNSBuZWVkcyB0byBiZQoJICBwcm9jZXNzZWQgKDJ4NSBNQnMpIGFuZCB0aGVuIHRoZSBob3Jpem9udGFsIHRpbGUgNiAoNngxIE1CcykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0NjEKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yNCAxNzoyODoyMiArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBiaXRwbGFuZXMgZGVjb2RpbmcgKERJRkY2IG9yIE5PUk02KS4KCSAgRml4IGRlY29kaW5nIG9mIERJRkY2IG9yIE5PUk02IGJpdHBsYW5lcyB3aXRoIGFuIG9kZCBudW1iZXIgb2YgbGluZXMKCSAgKDN4MiAiaG9yaXpvbnRhbCIgdGlsZXMpLiBJbiB0aGlzIGNhc2UsIHdlIGhhdmUgdG8gc2tpcCB0aGUgZmlyc3QgbGluZQoJICBvZiBtYWNyb2Jsb2NrcyBidXQgPHdpZHRoPiBudW1iZXIgb2YgYnl0ZXMgd2FzIHVzZWQgdG8gZG8gc28sIGluc3RlYWQKCSAgb2YgdGhlIGFjdHVhbCA8c3RyaWRlPiBzaXplLgoJICBUaGlzIGZpeGVzIGRlY29kaW5nIGZvciB0aGUgdmlkZW8gc2FtcGxlIGF0dGFjaGVkIHRvOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NTY1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0NjEKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0wMy0xNSAxNDoxMjoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uYzoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1pbnNlcnRiaW4tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItaW5zZXJ0YmluLnBjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzL2luc2VydGJpbi5jOgoJICBpbnNlcnRiaW46IEFkZCBiaW4gdG8gZHluYW1pY2FsbHkgaW5zZXJ0IGVsZW1lbnRzIGluIGEgcnVubmluZyBwaXBlbGluZQoJICBUaGlzIGVsZW1lbnQgYXV0b21hdGljYWxseSBsaW5rcyBpbiBhbnkgZWxlbWVudCBhZGRlZCB1c2luZyBpdCdzCgkgIGFjdGlvbiBzaWduYWxzLiBUaGVzZSBlbGVtZW50cyBtdXN0IGhhdmUgYSBzaW5nbGUgc291cmNlIHBhZCBhbmQgYSBzaW5nbGUKCSAgc2luayBwYWQuCgoyMDEzLTAxLTIzIDE0OjQ3OjU4ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogYWRkIEFQSSB0byBwYXJzZSBzbGljZSBoZWFkZXJzLgoJICBBZGQgZ3N0X3ZjMV9wYXJzZV9zbGljZV9oZWFkZXIoKSBmdW5jdGlvbiB0byBwYXJzZSBzbGljZSBoZWFkZXJzIGFzCgkgIGRlc2NyaWJlZCBpbiA3LjEuMi4gU2xpY2UgbGF5ZXJzIGFyZSBvcHRpb25hbCBhbmQgYWxsb3dlZCBpbiBhZHZhbmNlZAoJICBwcm9maWxlIG1vZGUgb25seS4gUGljdHVyZSBoZWFkZXIsIGlmIGF2YWlsYWJsZSAoUElDX0hFQURFUl9GTEFHKSwKCSAgaXMgcGFyc2VkIGJ1dCBub3QgcmVjb3JkZWQgYmVjYXVzZSBpdCBzaGFsbCBiZSB0aGUgc2FtZSBhcyB0aGF0IHdhcwoJICBwcmV2aW91c2x5IHBhcnNlZCB3aXRoIGdzdF92YzFfcGFyc2VfZnJhbWVfaGVhZGVyKCkuCgkgIFRoaXMgZml4ZXMgU0EwMDA0OS52YzEgY29uZm9ybWFuY2UgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjM4OAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTIyIDE4OjAxOjI0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGJpdHBsYW5lcyBkZWNvZGluZy4KCSAgRml4IGRlY29kaW5nIG9mIERJRkYyIG9yIE5PUk0yIGJpdHBsYW5lcyB3aXRoIGFuIG9kZCBudW1iZXIgb2YgbWFjcm9ibG9ja3MuCgkgIEluIHBhcnRpY3VsYXIsIGFjY291bnQgZm9yIHRoZSBmaXJzdCBiaXQgdGhhdCB3YXMgYWxyZWFkeSBwYXJzZWQgc28gdGhhdCB0bwoJICBhdm9pZCBhIGJ1ZmZlciBvdmVyZmxvdyBhZnRlciBhbGwgcGFpcnMgYXJlIHBhcnNlZC4KCSAgVGhpcyBmaXhlcyBTQTAwMDQwLnZjMSBjb25mb3JtYW5jZSB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzEyCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMjIgMTk6MzE6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBkaXNhYmxlIE1GQyBpZiBzb21lIHY0bDIgUElYX0ZNVCBtaXNzaW5nCgoyMDEzLTAxLTIyIDExOjQyOjQ5ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogc2ltcGxpZnkgR3N0VkMxVm9wRHF1YW50IHN0cnVjdHVyZS4KCSAgUmVuYW1lIGRxc2JlZGdlIHRvIGRxYmVkZ2UuIFRoZSBpbnRlbnQgaXMgdGhhdCB3ZSBjYW4gb25seSBoYXZlIGEgc2luZ2xlCgkgIGJvdW5kYXJ5IGVkZ2Ugc2VsZWN0b3IsIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgZHFwcm9maWxlLiBTbywgZHFiZWRnZQoJICByZXByZXNlbnRzIERRU0JFREdFIGlmIGRxcHJvZmlsZSA9PSBHU1RfVkMxX0RRUFJPRklMRV9TSU5HTEVfRURHRSwgb3IKCSAgRFFEQkVER0UgaWYgZHFwcm9maWxlID09IEdTVF9WQzFfRFFQUk9GSUxFX0RPVUJMRV9FREdFLgoJICBUaGUgZm9ybWVyIGRxYmVkZ2UgZmllbGQgaXMgbWFya2VkIGFzIHVudXNlZCBhbmQgY2FuIGJlIHJlbW92ZWQgb24gdGhlCgkgIG5leHQgZ3N0LXBsdWdpbnMtYmFkIHZlcnNpb24gdGhhdCBhbGxvd3MgQUJJIGNoYW5nZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIyNzIKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0xOCAxNDo1NTo0MCArMDEwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJICBjdXJsdGxzc2luazogc2V0IGNvcnJlY3QgbGV2ZWwgb2YgU1NMIGZvciB0aGUgdHJhbnNmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMAoKMjAxMy0wMS0yMiAxMDo0ODozOSArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBWT1BEUVVBTlQgcGFyc2VyIGZvciBEUVVBTlQgPT0gMi4KCSAgRml4IHBhcnNpbmcgb2YgVk9QRFFVQU5UIHdoZW4gRFFVQU5UID09IDIuIEluIHBhcnRpY3VsYXIsIERRVUFOVEZSTSBpcwoJICBub3QgcHJlc2VudCBpbiB0aGUgYml0c3RyZWFtIGluIHRoaXMgY2FzZSBhbmQgaXQgc2hhbGwgYmUgZGVyaXZlZCB0bwoJICB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB6ZXJvICg3LjEuMS4zMS4xKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjI3MQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTIyIDEwOjM4OjIwICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGNhbGN1bGF0aW9uIG9mIEFMVFBRVUFOVC4KCSAgRml4IGNhbGN1bGF0aW9uIG9mIEFMVFBRVUFOVCB3aGVuIERRVUFOVCA9PSAxLiBQUURJRkYgYWx0ZXJzIEFMVFBRVUFOVAoJICBpbiBhbnkgY2FzZS4gU2VlIDcuMS4xLjMxLjYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIyNzAKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yMiAxMDoxMTozNCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBwYXJzZXIgZm9yIERRUFJPRklMRSBpbiBWT1BEUVVBTlQuCgkgIEZpeCBwYXJzZV92b3BkcXVhbnQoKSB0byBjb3JyZWN0bHkgcGFyc2UgRFFQUk9GSUxFLCB3aGljaCBpcyAyIGJpdHMKCSAgaW5zdGVhZCBvZiBhIHNpbmdsZSBiaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIyNjcKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0wNiAxODo1NDo1MiArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIGluZmVycmVkIHZhbHVlIGZvciBzbGljZV9iZXRhX29mZnNldF9kaXYyLgoJICBUaGUgc3RhbmRhcmQgc3BlY2lmaWVzIHRoYXQgd2hlbiBzbGljZV9iZXRhX29mZnNldF9kaXYyIGlzIG5vdCBwcmVzZW50CgkgIGluIHRoZSBzbGljZSBoZWFkZXIsIHRoZW4gdGhlIHZhbHVlIG9mIHNsaWNlX2JldGFfb2Zmc2V0X2RpdjIgc2hhbGwgYmUKCSAgaW5mZXJyZWQgdG8gYmUgZXF1YWwgdG8gMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjI2NQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTE3IDE5OjAyOjQ4ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHJlZW5hYmxlIHVuaXQgdGVzdHMgYW5kIHVwIHJhbmsgdG8gcHJpbWFyeSBhZ2FpbgoKMjAxMy0wMS0xOCAxNjoxNDowMyArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IHVzZSBvdmVybGF5IGNvbXBvc2l0aW9uIHRvIGJsaXQgc3VidGl0bGVzIG9uIHZpZGVvIGZyYW1lcwoJICBSZS11c2VzIGV4aXN0aW5nIGJsaXR0aW5nIGNvZGUgYW5kIGFsc28gbWVhbnMgd2UgY2FuIHN1cHBvcnQKCSAgYSBsb3QgbW9yZSB2aWRlbyBmb3JtYXRzIG91dCBvZiB0aGUgYm94LCBoZW5jZSBhdm9pZCB1bm5lY2Vzc2FyeQoJICBwaXhlbCBmb3JtYXQgb3IgY29sb3VyIHNwYWNlIGNvbnZlcnNpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEyCgoyMDEzLTAxLTE3IDE4OjQ4OjEyICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogcmVuZGVyIG92ZXJsYXkgY29tcG9zaXRpb24gaWYgc3VwcG9ydGVkIGRvd25zdHJlYW0KCSAgVGhpcyBhbGxvd3MgcmVuZGVyaW5nIEFTUyBzdWJ0aXRsZXMgb24gdG9wIG9mIHZpZGVvIHdoZW4KCSAgdXNpbmcgaGFyZHdhcmUtYWNjZWxlcmF0ZWQgdmlkZW8gZGVjb2RlcnMgYmFzZWQgb24gZS5nLgoJICBWQS1BUEkgb3IgVkRQQVUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgzODkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0yMSAxMDozNTo0OSArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IGFkZCB3YWl0LXRleHQgcHJvcGVydHkKCSAgVGhpcyBpcyB0aGUgc2FtZSBwcm9wZXJ0eSBhcyBpbiB0aGUgcGFuZ28gZWxlbWVudCwgdG8gYWxsb3cgd2FpdGluZyBmb3IKCSAgdGV4dCBvbiB0aGUgdGV4dCBwYWQgYmVmb3JlIHJlbmRlcmluZyB0aGUgdmlkZW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTIKCjIwMTMtMDEtMTggMTU6MjU6NDggKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBmaXggc29tZSBzdWJ0aXRsZXMgYmVpbmcgaWdub3JlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEyCgoyMDEzLTAxLTE3IDE4OjMzOjExICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcmVmYWN0b3IgY29kZSB0byBhdm9pZCBkdXBsaWNhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEyCgoyMDEzLTAxLTE3IDE4OjI2OjA4ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcHJveHkgYWxsb2NhdGlvbnMgb24gdmlkZW8gcGFkCgkgIEZvcndhcmQgYWxsb2NhdGlvbiBxdWVyaWVzIG9uIHZpZGVvIHNpbmsgcGFkIGluc3RlYWQKCSAgb2YgZGlzY2FyZGluZyB0aGVtLgoJICBUaGlzIGFsbG93cyB0aGUgdXBzdHJlYW0gZWxlbWVudHMgdG8gdXNlIHRoZSBhbGxvY2F0aW9uCgkgIHBhcmFtZXRlcnMgb3IgcG9vbHMgZnJvbSB0aGUgZG93bnN0cmVhbSBlbGVtZW50cyBsaWtlCgkgIHZpZGVvc2luay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0yMCAxNzo0MzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IGNsZWFuIHVwIEdWYWx1ZSBoYW5kbGluZyBhIGxpdHRsZQoJICBBbGxvY2F0ZSBHVmFsdWVzIG9uIHRoZSBzdGFjaywgYW5kIHVuc2V0L2ZyZWUgdGhlbSBwcm9wZXJseSwgZml4aW5nCgkgIGEgZmV3IGxlYWtzIGluIHRoZSBwcm9jZXNzLiBBbHNvIHVzZSBnc3Rfc3RydWN0dXJlX3Rha2VfdmFsdWUoKQoJICB3aGVyZSBhcHByb3ByaWF0ZSB0byBhdm9pZCB1bm5lY2Vzc2FyeSBsaXN0IGNvcGllcy4KCjIwMTMtMDEtMjAgMTc6MTc6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogdXBkYXRlIFNCQyBjYXBzIGZvciByZW5hbWVkIGZpZWxkcwoJICBtb2RlIC0+IGNoYW5uZWwtbW9kZQoJICBhbGxvY2F0aW9uIC0+IGFsbG9jYXRpb24tbWV0aG9kCgoyMDEzLTAxLTE3IDE5OjI5OjMxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogSW5pdGlhbGl6ZSBzaG1fYXJlYV9idWYgdG8gaW52YWxpZCB2YWx1ZQoKMjAxMy0wMS0wNyAxMzozMjowNiArMDEwMCAgUm9sYW5kIEVsZWsgPHJlbGVrLmYyQGdtYWlsLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IGFwcGx5IHNobSBhcmVhIHBlcm1pc3Npb25zIHRvIHNobXBpcGUgY29udHJvbCBzb2NrZXQKCSAgQXBwbHkgc2hhcmVkIG1lbW9yeSBhcmVhIHBlcm1pc3Npb25zIHRvIHRoZSBjb250cm9sIHNvY2tldCAobW9yZQoJICBwcmVjaXNlbHksIHRoZSBwYXRoIGl0IGlzIGJvdW5kIHRvKSBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNzc1CgoyMDEzLTAxLTE2IDE0OjQwOjExIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogRGVmaW5lIExJQlVTQl9DTEFTU19WSURFTyBpZiB1c2luZyBhbiBvbGQgdmVyc2lvbiBvZiBsaWJ1c2IKCjIwMTMtMDEtMTYgMTQ6NDg6NDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBQcmV2ZW50IHRlbXBvcmFyeSBlbGVtZW50cyBmcm9tIGdvaW5nIHRvIHBsYXlpbmcKCjIwMTMtMDEtMTYgMTQ6NDI6MzggLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBkbyBub3QgZG91YmxlLXVucmVmIGlmIHRyYW5zZm9ybV9jYXBzIGZhaWxzCgoyMDEzLTAxLTE2IDE0OjQxOjA4IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogQWRkIGEgZmFrZXNpbmsgdG8gdGhlIHRyYW5zZm9ybV9jYXBzIFNvbWUgdmVyc2lvbiBvZiBiYXNldHJhbnNmb3JtIHdpbGwgcmV0dXJuIHRoZSB0ZW1wbGF0ZSBjYXBzIGlmIHRoZSBzcmMgcGFkIGlzIG5vdCBsaW5rZWQsIHNvIHRoZSBjYXBzZmlsdGVyIHdpbGwgcmV0dXJuIEFOWS4gTGlua2luZyBpdCB0byBmYWtlc2luayBhbGxvd3MgdXMgdG8gcmV0dXJuIHRoZSByaWdodCBjYXBzIGluIHRoZSBjYXBzZmlsdGVyIGFuZCBoYXZlIHRoZW0gdHJhbnNmb3JtZWQgYnkgdGhlIGNvbG9yc3BhY2UgY29udmVydGVyLgoKMjAxMy0wMS0xNSAxNTowMjozNyArMDEwMCAgTWFydGluIFBpdHQgPG1hcnRpbnBpdHRAZ25vbWUub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB1c2UgXzFfMCB2YXJpYW50cyBmb3IgdGhlIHZhcmlvdXMgcmVnaXN0cnkgdmFyaWFibGVzCgkgIFRoZXNlIG92ZXJyaWRlIHRoZSB2YXJpYW50cyB3aXRob3V0IHZlcnNpb24gc3VmZml4LiBNYWtlcyAnbWFrZSBjaGVjaycgd29yawoJICBwcm9wZXJseSBpbiBlbnZpcm9ubWVudHMgdGhhdCBzZXQgdGhlIHN1ZmZpeGVkIHZhcmlhbnQgZm9yIDEuMCwgc3VjaCBhcwoJICBqaGJ1aWxkLgoKMjAxMy0wMS0xMiAxMzoxNTowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogemVyby1pbml0aWFsaXplIFNQUyBWVUkgcGFyYW1ldGVycwoJICAuLi4gc28gYWxsICdwcmVzZW50JyBmbGFncyBpbmRpY2F0ZSBubyBwcmVzZW5jZSBvZiBvcHRpb25hbCBwYXJ0cwoJICBpbiBjYXNlIFZVSSBwYXJhbWV0ZXJzIGVuZCB1cCBub3QgYmVpbmcgcGFyc2VkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxODE4CgoyMDEzLTAxLTE1IDE1OjA1OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTcyZmFlYSB0byBhOTQyMjkzCgoyMDEzLTAxLTEyIDE4OjEwOjM1ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgQWRkIHR3byBsYXRlc3QgcGx1Z2lucyB0byBzcGVjIGZpbGUKCjIwMTMtMDEtMDkgMTk6NTk6MTYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9zcGFuZHNwL01ha2VmaWxlLmFtOgoJKiBleHQvc3BhbmRzcC9nc3RkdG1mZGV0ZWN0LmM6CgkqIGV4dC9zcGFuZHNwL2dzdGR0bWZkZXRlY3QuaDoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbmRzcC5jOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZi9zcGFuZHNwOiBNb3ZlIGR0bWZkZXRlY3QgdG8gdXNlIGxpYnNwYW5kc3AKCSAgUmVtb3ZlIG91ciBjb3B5IG9mIHRoZSB0b25lX2RldGVjdC5jIGZpbGUgYW5kIHVzZSB0aGUgb3JpZ2luYWwKCSAgZnJvbSBsaWJzcGFuZHNwLiBBbHNvIG1vdmUgdGhlIGVsZW1lbnQgdG8gdGhlIHNwYW5kc3AgcGx1Z2luLgoKMjAxMy0wMS0xMCAwMDozMToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJICBibHVlejogdXNlIEdMaWIgZGVmaW5lcyB0byBjaGVjayBmb3IgYnl0ZSBvcmRlcgoKMjAxMy0wMS0wOSAxODoxMDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJKiBzeXMvYmx1ZXovYmx1ZXotcGx1Z2luLmM6CgkgIGJsdWV6OiBhZGQgbmV3IHBsdWdpbiB0byBidWlsZCBzeXN0ZW0sIGJ1dCBkaXNhYmxlIGZvciBub3cKCSAgRGlzYWJsZSB1bnRpbCBpdCBoYXMgYmVlbiB0ZXN0ZWQgYW5kIHdvcmtzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAxLTA5IDE4OjAyOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBtYWtlIGJsdWV6IGVsZW1lbnRzIGNvbXBpbGUgd2l0aCAxLjAKCSAgQnVpbGRzLCBidXQgdmVyeSBsaWtlbHkgZG9lc24ndCB3b3JrIHlldCBhdCBhbGwuIFNvbWUKCSAgdGhpbmdzIGFyZSBzdGlsbCBjb21tZW50ZWQgb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEyLTEwLTA5IDIwOjM1OjQ1ICswOTAwICBDaGFuLXllb2wgUGFyayA8Y2hhbnllb2wucGFya0BzYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJICBibHVlejogYXZpbmZvOiBSZXBsYWNlIGRlZmluaXRpb25zIHdpdGggYTJkcC1jb2RlY3MuaCdzCgoyMDEyLTEwLTA5IDIwOjM1OjQ0ICswOTAwICBDaGFuLXllb2wgUGFyayA8Y2hhbnllb2wucGFya0BzYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJICBibHVlejogYXVkaW86IEFkZCBjaGVjayBmb3IgdmVuZG9yIHNwZWNpZmljIEEyRFAgY29kZWMKCSAgVGhpcyBwYXRjaCBhZGRzIGNoZWNrcyh2ZW5kb3IgSUQsIHZlbmRvciBzcGVjaWZpYyBjb2RlYyBJRCkgdG8gbWFrZSBzdXJlIG9mCgkgIHZlbmRvciBzcGVjaWZpYyBBMkRQIGNvZGVjIHNlbGVjdGlvbi4KCjIwMTItMDktMTQgMjE6NDA6MTAgKzA1MzAgIFN5YW0gU2lkaGFyZGhhbiA8cy5zeWFtQHNhbXN1bmcuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogZ3N0YXZkdHBzaW5rOiBGcmVlIHRoZSBELUJ1cyBlcnJvciBvbiByZXBseSBmYWlsdXJlCgkgIElmIEQtQnVzIGVycm9yIGlzIHNldCB3ZSBzaG91bGQgZnJlZSBpdC4KCjIwMTItMDgtMjEgMTE6NDk6MjQgLTA0MDAgIEFuZGVyc29uIExpemFyZG8gPGFuZGVyc29uLmxpemFyZG9Ab3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCB0cml2aWFsIGNvZGluZyBzdHlsZSBpc3N1ZXMgb24gcG9pbnRlciBkZWNsYXJhdGlvbnMgYW5kIGNhc3RpbmcKCSAgQXZvaWQgdXNpbmcgQysrIHN0eWxlIHBvaW50ZXIgZGVjbGFyYXRpb25zIGxpa2UgImNoYXIqIHB0ciIsIGFzIG1vc3QKCSAgQmx1ZVogY29kZSB1c2VzICJjaGFyICpwdHIiLgoKMjAxMi0wNi0yNSAxMjowNjoxNyArMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei52b24uZGVudHpAaW50ZWwuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBhdWRpbzogUmVtb3ZlIGludGVybmFsIGF1ZGlvIElQQwoJICBXaXRoIHVuaXggc29ja2V0IGFuZCBBTFNBIHJlbW92ZWQgdGhlcmUgaXMgbm8gbG9uZ2VyIGFueSB1c2UgZm9yIHRoZQoJICBpbnRlcm5hbCBJUEMuCgoyMDEyLTA1LTMwIDE3OjE2OjE5IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBSZW1vdmUgY29tcGF0aWJpbGl0eSBjaGVjayBmb3IgREJVU19UWVBFX1VOSVhfRkQKCSAgU2luY2UgY29tbWl0IGM4OWI1ODlhNTg2ZTk3YWQ4NzVmYmRkMWQ0MWYwMzk3OTE1N2ViYjAsIEQtQnVzID49IDEuNC4wIGlzCgkgIHJlcXVpcmVkLiBUaGlzIHZlcnNpb24gYWxyZWFkeSBjb250YWlucyBVbml4IEZEIHBhc3Npbmcgc3VwcG9ydCwKCSAgdGhlcmVmb3JlIGNvZGUgdGhhdCBjaGVja3MgZm9yIERCVVNfVFlQRV9VTklYX0ZEIGRlZmluaXRpb24gaXMKCSAgdW5uZWNlc3NhcnkuCgoyMDEyLTA1LTE4IDA5OjQ2OjI5IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBhdmR0cDogRml4IGluY29ycmVjdCBnY2hhciBidWZmZXIgYWxsb2NhdGlvbgoJICBUaGUgY29kZSB3YXMgYWxsb2NhdGluZyBhbiBhcnJheSBvZiBnY2hhciBwb2ludGVycywgd2hlcmUgYW4gYXJyYXkgb2YKCSAgZ2NoYXIgaXMgZXhwZWN0ZWQuCgoyMDEyLTA0LTE2IDExOjU5OjU5ICswOTAwICBDaGFuLXllb2wgUGFyayA8Y2hhbnllb2wucGFya0BzYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IGF1ZGlvOiBBZGQgU0JDIE5VTEwgY2hlY2sgZm9yIEdTVCBBVkRUUCBzaWduYWxpbmcKCSAgRHVlIHRvIFJGIGNvbmRpdGlvbiBvciBoZWFkc2V0IG1hbGZ1bmN0aW9uaW5nLCBnc3QgYXVkaW8gcGx1Zy1pbiBjb3VsZAoJICBub3QgZ2V0IFNCQyAobWFuZGF0b3J5IGNvZGVjKSBpbmZvcm1hdGlvbi4KCjIwMTItMDQtMTIgMjA6MzM6MDYgKzA1MzAgIFN5YW0gU2lkaGFyZGhhbiA8cy5zeWFtQHNhbXN1bmcuY29tPgoKCSAgYmx1ZXo6IGF1ZGlvOiBGaXggbmV3bGluZSBiZWZvcmUgRU9GCgoyMDEyLTA0LTEyIDIwOjMyOjU1ICswNTMwICBTeWFtIFNpZGhhcmRoYW4gPHMuc3lhbUBzYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IGdzdGF2ZHRwc2luazogRml4IEQtQnVzIG1lbW9yeSBsZWFrIGluIGF1ZGlvCgoyMDExLTExLTE3IDEzOjI5OjA2IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBBVkRUUDogRml4IGNsb3NpbmcgaW52YWxpZCBGRCBvbiBlcnJvcgoJICBJbiBnc3RfYXZkdHBfc2lua19zdGFydCgpLCBpZiBidF9hdWRpb19zZXJ2aWNlX29wZW4oKSBmYWlsZWQsIHRoZXJlIHdhcwoJICBhbiBhdHRlbXB0IHRvIGNsb3NlIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yICh0aHJvdWdoCgkgIGJ0X2F1ZGlvX3NlcnZpY2VfY2xvc2UoKSkuCgoyMDExLTExLTE2IDA5OjIwOjA0IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggcmV0dXJuIHZhbHVlIGNoZWNrIGZvciBidF9hdWRpb19zZXJ2aWNlX29wZW4oKQoJICBPbmx5IG5lZ2F0aXZlIHZhbHVlcyAobmFtZWx5IC0xKSBhcmUgZXJyb3JzIGZvciB0aGlzIGZ1bmN0aW9uLgoKMjAxMS0xMS0xNiAwOToxOTo0OSAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQVZEVFA6IEZpeCBlcnJubyBoYW5kbGluZyBjb252ZW50aW9uCgkgIFZhcmlhYmxlcyB3aGljaCBhcmUgYXNzaWduZWQgdG8gdGhlIGVycm5vIHZhcmlhYmxlICh1c3VhbGx5IGNhbGxlZAoJICAiZXJyIikgc2hvdWxkIGJlIG5lZ2F0aXZlLCBhbmQgIi1lcnIiIHNob3VsZCBiZSB1c2VkIHdoZXJlIGEgcG9zaXRpdmUKCSAgdmFsdWUgaXMgbmVlZGVkLgoKMjAxMS0wOC0yNiAxMToxODo1NCAtMDcwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2EyZHAtY29kZWNzLmg6CgkgIGJsdWV6OiBhdWRpbzogVXBkYXRlIGxpY2Vuc2UgZm9yIHNoYXJlZCBoZWFkZXIgZmlsZXMKCSAgVGhlIGhlYWRlciBmaWxlcyB3aXRoIGNvbnN0YW50cyBhbmQgc3RydWN0dXJlcyBmb3IgYXVkaW8gc3BlY2lmaWMKCSAgaW50ZXJhY3Rpb24gd2l0aCBQdWxzZWF1ZGlvIGFyZSBzdXBwb3NlIHRvIGJlIHVuZGVyIExHUEwgbGljZW5zZS4KCSAgRm9yIHNvbWUgb2RkIHJlYXNvbiBhMmRwLWNvZGVjcy5oIGVuZGVkIHVwIGJlaW5nIHVuZGVyIEdQTCBsaWNlbnNlCgkgIHdoaWNoIGlzIGFnYWluc3QgdGhlIGludGVudGlvbiBvZiB0aGlzIGJlaW5nIHNoYXJlZCBhbmQgcmUtdXNlZCBieQoJICBub24tR1BMIHByb2dyYW1zLiBGaXggdGhpcyBub3cgdG8gYXZvaWQgYW55IGZ1dHVyZSBjb25mdXNpb24uCgoyMDExLTA3LTAyIDEyOjMyOjQwIC0wMzAwICBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQHByb2Z1c2lvbi5tb2JpPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGNvbW1vbiBtaXNzcGVsbGVkIHdvcmRzCgkgIEFjY291bnRpbmcgb2YgbWlzc3BlbGxlZCB3b3JkcywgYXMgZGV0ZWN0ZWQgYnkgY29kZXNwZWxsOgoJICBhY29yZGluZyAgICAgIDIKCSAgYW5jaWxsaWFyeSAgICAxCgkgIGFwcHJvcGlhdGUgICAgMQoJICBhdHJpYnV0ZSAgICAgIDEKCSAgY2FudCAgICAgICAgICAxCgkgIGNvbW1pbmcgICAgICAgMgoJICBncmFjZWZ1bGwgICAgIDEKCSAgbGVuZ2h0ICAgICAgICAxCgkgIG1pc3BlbGxlZCAgICAgMQoJICBvY2N1cmVkICAgICAgIDEKCSAgb2NjdXJlbmNlcyAgICAxCgkgIG9jdXJyZWQgICAgICAgMwoJICBwcmVmZXJlZCAgICAgIDEKCSAgcHJlc2Vuc2UgICAgICAxCgkgIHJlcG9uc2UgICAgICAgMQoJICBzZXBlcmF0ZSAgICAgIDEKCSAgc3VjY2VzZnVsICAgICAxCgkgIHN1Y2Nlc3N1bGx5ICAgMQoJICBzdWNlc3NmdWxsICAgIDEKCSAgc3VjZXNzZnVsbHkgICAxCgoyMDExLTA1LTA5IDE1OjI2OjA3ICswMjAwICBTenltb24gSmFuYyA8c3p5bW9uLmphbmNAdGlldG8uY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGdhcmJhZ2UgcmV0dXJuIHZhbHVlIGluIGdzdF9hdmR0cF9zaW5rX2F1ZGlvc2VydmljZV9yZWN2CgoyMDExLTAyLTEzIDE3OjUxOjQ1IC0wODAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IGF1ZGlvOiBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDEtMjAgMTE6Mjk6NDEgKzAyMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHotdm9uQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IFVwZGF0ZSBhMmRwc2luayB0byB1c2UgbmV3IEFjcXVpcmUgQVBJCgoyMDExLTAxLTE5IDEwOjA0OjQ5ICswMjAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6LXZvbkBub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggdXNlIG9mIGRlcHJlY2F0ZWQgZ2xpYiBvbiBhdWRpbyBwbHVnaW4KCjIwMTAtMDUtMDYgMTc6MTQ6MTQgKzAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHotdm9uQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogQWRkIHN1cHBvcnQgZm9yIG1lZGlhIHRyYW5zcG9ydCBpbiBnc3RyZWFtZXIgcGx1Z2luCgoyMDEwLTA5LTEzIDE1OjQwOjExICswMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6LXZvbkBub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY3Jhc2ggb24gZ3N0cmVhbWVyIHBsdWdpbiBpZiBkZXZpY2UgZG9lc24ndCBzdXBwb3J0IHNiYwoKMjAxMC0wNS0xOSAxNjo1OTozMCArMDIwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBwcmFnbWEgYmFzZWQgd29ya2Fyb3VuZCBmb3IgR1N0cmVhbWVyIHdhcm5pbmdzCgoyMDEwLTA1LTE5IDE2OjEwOjI2ICswMjAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IFJldmVydCAiRml4IGJ1aWxkIGlzc3VlcyB3aXRoIGxhdGVzdCBHU3RyZWFtZXIgdXBkYXRlcyIKCjIwMTAtMDUtMTcgMjI6MzE6MjggKzAyMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogRml4IGJ1aWxkIGlzc3VlcyB3aXRoIGxhdGVzdCBHU3RyZWFtZXIgdXBkYXRlcwoKMjAxMC0wMS0wMSAxNzowODoxNyAtMDgwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDktMTAtMDUgMjI6NTE6MTQgKzAyMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAZ21haWwuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGNvZGVjIHNlbGVjdGlvbiBvbiBnc3RyZWFtIHBsdWdpbi4KCjIwMDktMTAtMDIgMTA6NTg6NTQgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MKCjIwMDktMDctMTUgMTY6NTE6MDggLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IFJlbW92ZSB1c2VsZXNzIGluc3RydWN0aW9uLgoKMjAwOS0wNy0wMSAxMzoxNTo1NyArMDIwMCAgRmlsaXBwbyBHaXVuY2hlZGkgPGZpbGlwcG9AZXNhdXJpdG8ubmV0PgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBSZWdpc3RlciB0aGUgYTJkcCBnc3Qgc2luayBhcyBtYXJnaW5hbAoJICBBdm9pZCB0YWtpbmcgb3ZlciBhcyBkZWZhdWx0IGdzdCBzaW5rIGJ5IHJlZ2lzdGVyaW5nIGFzIEdTVF9SQU5LX01BUkdJTkFMCgoyMDA5LTAzLTI1IDE4OjA1OjQzIC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgc3BlY2lmaWMgY29kZWMgdHlwZXMuCgkgIEFkZCBzcGVjaWZpYyBjb2RlYyB0eXBlcyBmb3IgYTJkcCBzb3VyY2VzIGFuZCBzaW5rcyBzbyBjbGllbnRzIGFyZSBhYmxlCgkgIHRvIGRpZmZlciBiZXR3ZWVuIHRoZW0uCgoyMDA5LTAzLTE4IDE1OjU4OjUzIC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBSZW1vdmUgdW5uZWNlc3NhcnkgbWVtc2V0LgoKMjAwOS0wMy0xOSAxNjoxNjoxOSAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQWRkIGxvY2sgZmxhZyBmb3IgY2FwYWJpbGl0aWVzLgoJICBsb2NrIGZsYWcgcGVybWl0cyB0aGUgdW5peCBjbGllbnQgdG8gZGV0ZWN0IGlmIHRoZXJlIGlzIHNvbWVvbmUgaG9sZGluZwoJICB0aGUgbG9jayBzbyBpdCBjYW4gcHJldmVudCB1c2VsZXNzIGF0dGVtcHQgb2Ygc2V0dGluZyBhIG5ldyBjb25maWd1cmF0aW9uLgoKMjAwOS0wMy0xOCAxMToyMDozMSAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogSW50cm9kdWNlIEJUX09QRU4gY29tbWFuZCB0byBhdWRpbyBpcGMuCgkgIEJUX09QRU4gbWFrZSBpdCBwb3NzaWJsZSB0byBsb2NrIGEgZ2l2ZW4gc2VpZCB3aGljaCBpcyBhdXRvbWFjYWxseQoJICByZWxlYXNlIGlmIHRoZSBjbGllbnQgZGlzY29ubmVjdHMgZnJvbSB0aGUgdW5peCBzb2NrZXQuCgoyMDA5LTAzLTE5IDExOjUwOjI2IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBmaWVsZHMgdG8gYXVkaW8gaXBjIG1lc3NhZ2VzLgoKMjAwOS0wMi0xOSAxNTo1ODoxNSAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogTWFrZSB1c2Ugb2YgZ19pb19jaGFubmVsX3NodXRkb3duIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBnX2lvX2NoYW5uZWxfY2xvc2UuCgoyMDA5LTAxLTAxIDE5OjMzOjIwICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOC0xMi0yMyAwNToyNTo1MCArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBGaXJzdCBhdHRlbXB0IGluIGZpeGluZyBjb21waWxlciB3YXJuaW5ncyAoc3RpbGwgbmVlZHMgY2xlYW51cCkKCjIwMDgtMTItMjAgMjE6NDI6NDkgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogTW9yZSBjb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMDgtMTItMjAgMjE6MDQ6NDQgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQ29kaW5nIHN0eWxlIGZpeGVzCgoyMDA4LTEyLTIwIDE4OjI3OjMwICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBsZW5ndGggaGVhZGVyIHZhbHVlcyBpbiBtZXNzYWdlcwoKMjAwOC0xMi0xNiAxNzowOTo1NyAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGdzdHJlYW1lciBwbHVnaW4gdG8gcmVmbGVjdCB0aGUgaXBjIGNoYW5nZXMuCgoyMDA4LTEwLTA3IDEyOjA3OjE0IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY2hhbm5lbCBtb2RlIHN0cmluZyBmcm9tIGR1YWwgdG8gZHVhbC1jaGFubmVsLgoKMjAwOC0xMC0wNyAxMTo1NTo1OCAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGNoYW5uZWwgbW9kZSBzdHJpbmcgdG8gam9pbnQtc3RlcmVvLgoKMjAwOC0wMi0yMCAxMzozNzowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggcnVudGltZSB3YXJuaW5ncyBvZiBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMi0xOSAxOTo0OToyNCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IFVwZGF0ZSBnc3RyZWFtZXIgcGx1Z2luIHRvIHVzZSBuZXcgc2JjIEFQSS4KCjIwMDgtMDItMTQgMjE6MjI6MzggKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IE1ha2UgdXNlIG9mIHBhcmFtZXRlcnMgc2VsZWN0ZWQgaW4gYWxzYSBwbHVnaW4gYW5kIGZpeCBhdXRvIHNlbGVjdGlvbi4KCjIwMDgtMDItMDIgMDM6Mzc6MDUgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA4LTAyLTAxIDE5OjI4OjM3ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBiaXRwb29sIHByb3BlcnR5IGFuZCBvdGhlcnMgZml4ZXMgZm9yIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAxLTMwIDE3OjMwOjI3ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogRW5hYmxlIGdzdHJlYW1lciBwbHVnaW4gdG8gdXNlIGF1dG9jb25uZWN0IGZsYWcuCgoyMDA4LTAxLTMwIDE0OjIxOjQzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBGaXhlcyBnc3RyZWFtZXIgY2FwcyBhbmQgY29kZSBjbGVhbnVwLgoKMjAwOC0wMS0yMyAxOToxNzozMyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogRml4IHVzZSBvZiBnc3RyZWFtZXIgcGx1Z2luIHdpdGggcmh5dGhtYm94IGFuZCBiYW5zaGVlIGFuZCBydHAgdGltZXN0YW1wcy4KCjIwMDgtMDEtMjMgMTU6MTg6MTUgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBSZW5hbWUgYTJkcHNlbmRlcnNpbmsgdG8gYXZkdHBzaW5rLgoKMjAwOC0wMS0yMyAxMzoyMzowMSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogQnVnIGZpeGVzIGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMS0yMyAxMzoxOTozMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogQWRkIG1wMyBzdXBwb3J0IGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMS0yMyAxMzoxNDowMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogTWFrZSBhMmRwc2luayB0byBhY3QgbGlrZSBhIGJpbiBhbmQgc3BsaXQgdGhlIHBheWxvYWRlci4KCjIwMDctMTItMDQgMTk6NDI6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogRml4IGVycm9yIG1lc3NhZ2VzLiAodGhhbmtzIHRvIGZjaGV2YWxpZXIgZm9yIHRoZSBwYXRjaCkKCjIwMDctMTItMDMgMjI6NDE6MjkgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogSGFuZGxlIG5ldyBpcGMgbWVzc2FnZXMgcHJvcGVybHkgYW5kIGFkYXB0IHRoZSBwbHVnaW5zLgoKMjAwNy0xMS0yMyAxNzowMDoxMyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBDb2RlIGNsZWFudXAuCgoyMDA3LTExLTIxIDIwOjI0OjExICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBJbnRlZ3JhdGUgbmV3IGlwYyBBUEkgaW1wbGVtZW50YXRpb24uCgoyMDA3LTExLTAxIDE5OjQ1OjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBGaXggc2JjIG5lZ290aWF0aW9uIGFuZCBpbXByb3ZlcyBidWZmZXIgaGFuZGxpbmcgYnkgdXNpbmcgR3N0QWRhcHRlci4KCjIwMDctMTAtMjkgMTU6MDI6MjYgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogQWRkIGJpdHBvb2wgY2FwYWJpbGl0eS4KCjIwMDctMTAtMjYgMTg6NDg6NDIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogUmVtb3ZlIGRlcGVuZGVuY3kgb2Ygc2JjIGxpYnJhcnkgZnJvbSBhMmRwc2luayBlbGVtZW50LgoKMjAwNy0xMC0yNSAyMTowNzo1MCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogRml4IGJ1ZmZlciB1c2FnZS4KCjIwMDctMTAtMjQgMjE6NDA6MzUgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogU29tZSBtb3JlIGNvZGluZyBzdHlsZSBmaXhlcwoKMjAwNy0xMC0yNCAyMTozMzoyMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY29kaW5nIHN0eWxlLgoKMjAwNy0xMC0yNCAyMToxMzoxMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogRml4IGEyZHBzaW5rIGNvZGluZyBzdHlsZSBwcm9ibGVtcyBhbmQgaW1wcm92ZSBjb21wYXRpYmlsaXR5IHdpdGggc29tZSBwbGF5ZXJzLgoKMjAwNy0xMC0xOCAyMzowMjoyNCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgcnRwIGhlYWRlci4KCjIwMDctMTAtMTggMjI6NDY6MTIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogRml4IGNvZGluZyBzdHlsZSBpc3N1ZXMuCgoyMDA3LTEwLTE4IDIxOjUwOjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBGaXhlcyBhMmRwc2luayBlbGVtZW50LgoKMjAwNy0wOC0yNiAxNDoxNDozNCArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogQWRkIHBvc3NpYmxlIGNhcGFiaWxpdGllcyBhbmQgY29ubmVjdCB0byBhdWRpbyBzZXJ2ZXIKCjIwMDctMDgtMjMgMTk6MTI6MjMgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEFkZCBTQkMgZW5jb2RlciBhbmQgZGVjb2RlciBza2VsZXRvbnMgZm9yIEdTdHJlYW1lcgoKMjAwNy0wOC0yMiAyMTo1MDo1OSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogQWRkIHNrZWxldG9uIGZvciBhbiBBMkRQIHNpbmsgZWxlbWVudAoKMjAxMy0wMS0wNyAxMDozNzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogaGFuZGxlIG5vbi11dGY4IGR2ZCBkaXNjIHRpdGxlcyBiZXR0ZXIKCSAgTWF5YmUgc29tZXRoaW5nIGJhc2VkIG9uIHRoZSBjb2RlIGluIGJ1ZyAjNjg4MzY3CgkgIGFuZCB0aGUgbGFuZ3VhZ2UgZW5jb2RpbmdzIHdvdWxkIHdvcmsgZXZlbiBiZXR0ZXIKCSAgdGhvdWdoIChub3cgaXQgd2lsbCB0cnkgdGhpbmdzIGJhc2VkIG9uIHRoZSBsb2NhbGUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMDk3CgoyMDEzLTAxLTA3IDEwOjM2OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9qYXNwZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmg6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBqYXNwZXI6IHJlbW92ZSBqYXNwZXIganBlZzIwMDAgcGx1Z2luLCByZXBsYWNlZCBieSBvcGVuanBlZyBwbHVnaW4KCSAgbGliamFzcGVyIGlzbid0IHJlYWxseSBtYWludGFpbmVkIGFueSBsb25nZXIsIHdlIHByb2JhYmx5CgkgIGRvbid0IHdhbnQgdG8gcG9ydCB0aGlzLgoKMjAxMy0wMS0wNyAwMDo0OToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhbGxvdyBjb21waWxhdGlvbiBhZ2FpbnN0IG9wZW5jdiAyLjQuMyBhcyB3ZWxsCgoyMDEyLTEyLTA2IDExOjU1OjQ1IC0wNTAwICBWaWN0b3IgR290dGFyZGkgPHZnb3R0YXJkaUBob3RtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBkb24ndCBmb3J3YXJkIG11bHRpZmlsZXNpbmsgbWVzc2FnZXMgdG8gYXBwbGljYXRpb24KCSAgVGhlc2UgbWVzc2FnZXMgYXJlIHVzdWFsbHkgb25seSBuZWVkZWQgaW50ZXJuYWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTgyMgoKMjAxMi0xMS0wNiAxMDoxNzoxOSAtMDUwMCAgVmljdG9yIEdvdHRhcmRpIDx2Z290dGFyZGlAaG90bWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHNzaW5rOiBtM3U4IGFkZCBFWFQtWC1BTExPVy1DQUNIRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5ODIyCgoyMDEyLTEyLTA1IDEwOjA2OjM4IC0wNTAwICBWaWN0b3IgR290dGFyZGkgPHZnb3R0YXJkaUBob3RtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsc3Npbms6IHJvdW5kIHNlZ21lbnQgZHVyYXRpb24gdG8gbmVhcmVzdCBudW1iZXIgb2Ygc2Vjb25kcwoJICBFLmcuIGZvciAxcyBwZXJpb2QsIGR1cmF0aW9uIGNhbiBiZSAwLjk5cywgcm91bmRzIGRvd24gdG8gMCwgcmVzdWx0cyBpbiBpbnZhbGlkCgkgIHBsYXlsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk4MjIKCjIwMTMtMDEtMDYgMjI6MTk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJICBobHNzaW5rOiBkb24ndCBsZWFrIG9sZCBwbGF5bGlzdCBlbnRyaWVzIHdoZW4gdXNpbmcgbWF4LWZpbGVzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBWaWN0b3IgR290dGFyZGkgPHZnb3R0YXJkaUBob3RtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTgyMgoKMjAxMy0wMS0wNSAxODo1NjoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5oOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFkZCBzdXBwb3J0IGZvciBSR0IKCjIwMTMtMDEtMDQgMTU6Mzg6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htOiBBY3R1YWxseSBnZXQgdGhlIHBlcm1pc3Npb25zIG9uIGdldF9wcm9wZXJ0eQoKMjAxMy0wMS0wNCAxNzoxOToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkgIGludGVyOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBHU3RhdGljTXV0ZXggQVBJCgoyMDEzLTAxLTAzIDE3OjI4OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCByZXR1cm4gRUdMSW1hZ2VzIHRoYXQgd2UganVzdCByZW5kZXJlZCBmcm9tIHRoZSBidWZmZXIgcG9vbAoJICBNYXBwaW5nIHRoZW0gd2lsbCBmYWlsIGJlY2F1c2UgdGhleSdyZSBzdGlsbCBpbnRlcm5hbGx5IHVzZWQuCgoyMDEzLTAxLTAzIDE1OjIyOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJICBlZ2xnbGVzc2luazogSGFuZGxlIGNvcHlpbmcgb2YgR3N0TWVtb3J5IHByb3Blcmx5CgkgIFdlIGhhdmUgdG8gdXNlIHRoZSBkZWZhdWx0IHZpZGVvIG1ldGEgbWFwcGluZyBmdW5jdGlvbnMuCgoyMDEzLTAxLTAzIDEyOjA5OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogU2V0IHZhcmlhYmxlcyB0byBOVUxMIHRvIHByZXZlbnQgdXNhZ2UgYWZ0ZXIgZnJlZS91bnJlZgoKMjAxMy0wMS0wMyAxMjowODozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHN1cmUgdG8gYWx3YXlzIHVzZSB0aGUgY29ycmVjdCBHc3RNZW1vcnkgZm9yIGJ1ZmZlcnMgZnJvbSBvdXIgcG9vbAoKMjAxMy0wMS0wMyAxMTowMzozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgZm9yZ2V0IHRvIGNhbGwgdGhlIHBsYXRmb3JtIHNwZWNpZmljIEVHTEltYWdlIGZyZWUgZnVuY3Rpb24KCjIwMTMtMDEtMDMgMTA6NTM6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IEZpeCBsZWFrIG9mIGlucHV0L291dHB1dCBidWZmZXIgc3RvcmFnZSBpbiB0aGUgTUZDIGRlY29kZXIgbGlicmFyeQoKMjAxMy0wMS0wMyAxMDo0MDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogTWFrZSBzdXJlIHRvIHdhaXQgZm9yIHRoZSByaWdodCBvYmplY3QgdG8gYmUgZGVxdWV1ZWQKCjIwMTMtMDEtMDMgMTA6MTA6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBGaXggdHlwbwoKMjAxMy0wMS0wMiAxNzoyMzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IE9ubHkgYWRkIGNyb3AgbWV0YWRhdGEgaWYgcmVxdWlyZWQKCjIwMTMtMDEtMDIgMTY6NTM6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgZmltYzogRG8gU1RSRUFNT04vU1RSRUFNT0ZGIG9ubHkgb25jZSBhbmQgbm90IG9uY2UgcGVyIGJ1ZmZlcgoKMjAxMy0wMS0wMiAxNjozODo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogUmVxdWlyZSBvbmUgbW9yZSBvdXRwdXQgYnVmZmVyIHRoYW4gcmV0dXJuZWQgYnkgdGhlIGRyaXZlcgoKMjAxMy0wMS0wMiAxNjoxMDoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHBhY2tlZCBZVVYgc3VwcG9ydAoJICBUaGlzIHdpbGwgbm90IGFsbG93IHplcm8tY29weSBiZWNhdXNlIHRoZSBzYW1lCgkgIEVHTEltYWdlIHdvdWxkIG5lZWQgdG8gYmUgdXNlZCBmb3IgdHdvIGRpZmZlcmVudAoJICB0ZXh0dXJlcyB3aXRoIGEgZGlmZmVyZW50IGZvcm1hdC4KCjIwMTMtMDEtMDIgMTY6MDk6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBQcmVmZXIgTlYxMiBvdmVyIEk0MjAvWVYxMgoKMjAxMy0wMS0wMiAxNTo0MDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogVGhlIGZpcnN0IGZyYW1lIHByb2R1Y2VzIG91dHB1dCBpbiBvdXIgY2FzZQoKMjAxMy0wMS0wMiAxNDozMjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBSZXF1ZXN0IGlucHV0IGJ1ZmZlcnMgZXhwbGljaXRlbHkKCjIwMTMtMDEtMDIgMTQ6Mjc6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IERvbid0IFNUUkVBTU9GRiBpZiBubyBTVFJFQU1PTiBoYXBwZW5lZCB5ZXQKCjIwMTMtMDEtMDIgMTQ6MjM6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmMuYzoKCSAgbWZjOiBDaGVjayBpZiB0aGUgTUZDIGhhcmR3YXJlIGV4aXN0cyBiZWZvcmUgcmVnaXN0ZXJpbmcgdGhlIGVsZW1lbnQKCjIwMTMtMDEtMDIgMTQ6MTY6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IENoZWNrIGRldmljZSBjYXBhYmlsaXRpZXMgYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UKCjIwMTMtMDEtMDIgMTI6MzM6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBJbmNsdWRlIGNvZGVjX2RhdGEgaW4gdGhlIGJ1ZmZlciB3aXRoIHRoZSBuZXh0IGZyYW1lCgoyMDEzLTAxLTAyIDExOjQ0OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogU2V0IGZvcm1hdCBmaWVsZCBvZiB0aGUgaW5zdGFuY2Ugc3RydWN0CgoyMDEzLTAxLTAyIDExOjAwOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogSW1wbGVtZW50IHN1cHBvcnQgZm9yIGNyb3AgbWV0YWRhdGEKCjIwMTMtMDEtMDIgMTA6MjY6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBDaGVjayBpZiB0aGUgaGFyZHdhcmUgaXMgYXZhaWxhYmxlIGluIEdzdFZpZGVvRGVjb2Rlcjo6b3BlbigpCgoyMDEzLTAxLTAxIDExOjU2OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSAgbXBlZ3BzbXV4OiB1c2UgRFRTIGluIGFkZGl0aW9uIHRvIFBUUwoJICBBbmQgcmVmYWN0b3IgY2hvb3NlX2Jlc3Rfc3RyZWFtKCkgYSBsaXR0bGUuCgkgIHZpZGVvdGVzdHNyYyBwYXR0ZXJuPWJhbGwgISB4MjY0ZW5jICEgbXBlZ3BzbXV4ICEgLi4uCgkgIHBsYXlzIG11Y2ggbmljZXIgbm93LgoKMjAxMy0wMS0wMSAxMjowNTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTG9nIGluIHRoZSBwZXJmb3JtYW5jZSBjYXRlZ29yeSBpZiB3ZSBtYXAvY29weSBFR0xJbWFnZXMgdG8gbm9ybWFsIG1lbW9yeQoKMjAxMy0wMS0wMSAxMTowNToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFkZCBzdXBwb3J0IGZvciBoMjYzIGFuZCBNUEVHMS8yCgoyMDEzLTAxLTAxIDEwOjQ4OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDYXRjaCBlcnJvcnMgZnJvbSBnbEVHTEltYWdlVGFyZ2V0VGV4dHVyZTJET0VTKCkKCjIwMTMtMDEtMDEgMTA6NDQ6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFVwbG9hZCB0ZXh0dXJlcyBpbiBHc3RCYXNlU2luazo6cHJlcGFyZSgpIGFscmVhZHkKCSAgVGhpcyBnaXZlcyBtb3JlIHRpbWUgZm9yIHRoZSB0ZXh0dXJlIHRvIGJlIHVwbG9hZGVkIGFzIGl0IGhhcHBlbnMKCSAgYmVmb3JlIHN5bmNpbmcgdG8gdGhlIHJ1bm5pbmcgdGltZS4gV2hlbiB0aGUgcnVubmluZyB0aW1lIGlzIHJlYWNoZWQKCSAgb25seSBlZ2xTd2FwQnVmZmVycygpIGlzIG5lY2Vzc2FyeS4KCjIwMTItMTItMzEgMTk6NDU6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5jOgoJICBtcGVncHNtdXg6IHVzZSBnc3RyZWFtZXIgZGVidWcgbG9nZ2luZyBzeXN0ZW0gZXZlcnl3aGVyZQoKMjAxMi0xMi0zMSAxOTo0MjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfYWFjLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3BzbXV4OiBwb3J0IHRvIDAuMTEKCSAgTmFpdmUgcG9ydC4gQmFyZWx5IHRlc3RlZC4KCjIwMTItMTItMzEgMTI6NDI6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBEb24ndCByZWNvbmZpZ3VyZSBpZiB3ZSBnZXQgY29tcGF0aWJsZSBjYXBzCgoyMDEyLTEyLTMxIDEyOjMzOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogT25seSBjcmVhdGUgdGhlIE1GQyBjb250ZXh0IGluIDo6c2V0X2Zvcm1hdCgpCgoyMDEyLTEyLTMxIDExOjU2OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogUmVjcmVhdGUgZmltYyBjb250ZXh0IGlmIHNldHRpbmdzIGNoYW5nZQoKMjAxMi0xMi0zMSAxMTowMjo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFNvbWUgcmVmYWN0b3JpbmcKCjIwMTItMTItMzEgMDk6NDc6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBEbyB6ZXJvY29weSBpZiB3ZSBnZXQgRUdMSW1hZ2UgYnVmZmVycwoKMjAxMi0xMi0zMCAxNjo0NTozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFNvbWUgbWlub3IgZml4ZXMKCjIwMTItMTItMjYgMTM6MzA6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBGaXggZG91YmxlLXVubWFwIG9mIHRoZSBjb2RlYyBkYXRhCgoyMDEyLTEyLTI2IDEzOjI3OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogUGFzcyBjb2RlY19kYXRhIHRvIHRoZSBjb2RlYyBpZiB0aGVyZSdzIHNvbWUKCjIwMTItMTItMjYgMTM6MTg6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSogc3lzL21mYy9maW1jL2ZpbWMuaDoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBSZWZhY3RvciBmaW1jIGNvZGUgYSBiaXQKCjIwMTItMTItMjYgMTI6Mzg6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IERvd25ncmFkZSBhbiBlcnJvciB0byBkZWJ1ZyBvdXRwdXQKCjIwMTItMTItMjYgMTE6NTE6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgbWZjOiBTb21lIGZpbWMgY2xlYW51cAoKMjAxMi0xMi0yNiAwOTo1NjoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFkZCBwcm9maWxlL2xldmVsIGFuZCB3aWR0aC9oZWlnaHQgY29uc3RyYWludHMKCjIwMTItMTItMjQgMTY6MjM6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgbWZjOiBEb24ndCBsZWFrIGJ1ZmZlcnMgd2hlbiBzZXR0aW5nIG5ldyBkZXN0IHNldHRpbmdzIGZvciBhIGRpcmVjdCBidWZmZXIKCjIwMTItMTItMjQgMTY6MDI6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgaW5pdGlhbCBNUEVHNCBzdXBwb3J0CgoyMDEyLTEyLTI0IDE1OjQ0OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTItMTItMjQgMTU6MzQ6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogSW1wbGVtZW50IHRyYWNraW5nIG9mIGZyYW1lcyB1c2luZyB0aGUgdjRsMl9idWZmZXIgdGltZXN0YW1wCgoyMDEyLTEyLTI0IDE0OjQ4OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogUmVzZXQgc29tZSBtb3JlIHZhcmlhYmxlcyBvbiA6OnJlc2V0KCkKCjIwMTItMTItMjQgMTQ6MzY6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBbHNvIGFkZCBzdXBwb3J0IGZvciBZVjEyCgoyMDEyLTEyLTI0IDEzOjQxOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogQWRkIHN1cHBvcnQgZm9yIHZpZGVvIG1ldGEKCjIwMTItMTItMjQgMTM6Mzk6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBJbXBsZW1lbnQgbmVnb3RpYXRpb24gdG8gTlYxMiBvciBJNDIwIGJhc2VkIG9uIGRvd25zdHJlYW0gY2FwcwoKMjAxMi0xMi0yNCAxMjozMTowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJICBtZmM6IFdvcmthcm91bmQgZm9yIHdyb25nbHkgcmVwb3J0ZWQgc3RyaWRlcyBieSBGSU1DCgoyMDEyLTEyLTI0IDEyOjE4OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgTUZDIGRlY29kZXIgc3RyaWRlcwoKMjAxMi0xMi0yNCAxMjoxMDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFRyeSB3aXRoIEk0MjAgZm9yIG5vdywgaXQncyBlYXNpZXIgdG8gZGVidWcKCjIwMTItMTItMjQgMTE6NTc6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxMi0xMi0yNCAxMTo1NDo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJICBtZmM6IERvbid0IHJlcXVpcmUgc3RyaWRlIHRvIGJlIHNldCBvbiBzcmMgcGFyYW1ldGVycwoKMjAxMi0xMi0yNCAxMTo0OTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBUaGUgbWZjIGRlY29kZXIgbGlicmFyeSBpcyBkdWFsIGxpY2Vuc2VkIHRvbwoJICBBcGFjaGUgTGljZW5zZSAyLjAgYW5kIExHUEwyKwoKMjAxMi0xMi0yMyAxMjoyNTowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5oOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IFVzZSBDQU1JRi9GSU1DIGZvciBoYXJkd2FyZSBjb2xvciBmb3JtYXQgY29udmVyc2lvbiBhbmQgZGUtdGlsaW5nCgoyMDEyLTEyLTIzIDEzOjQ2OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogT25seSB1bnJlZiB0aGUgb3V0YnVmIGlmIGl0IGRvZXNuJ3QgYmVsb25nIHRvIHRoZSBmcmFtZQoKMjAxMi0xMi0yMyAxMjowNDo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFBvcnQgdG8gR1N0cmVhbWVyIDEuMAoKMjAxMi0xMi0yMyAxMTo0Nzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IEFkZCBpbml0aWFsIGRlY29kZXIgZWxlbWVudCBpbXBsZW1lbnRhdGlvbgoJICBUaGlzIGRvZXMgbm90IGNvcHkgdGhlIG91dHB1dCB0byBhbnkgb3V0cHV0IGJ1ZmZlcnMgeWV0LgoJICBPdGhlciB0aGFuIHRoYXQgc2hvdWxkIGJlIGJhc2ljYWxseSBmdW5jdGlvbmFsIGFscmVhZHkuCgoyMDEyLTEyLTIzIDEwOjIzOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IEFkZCBwbHVnaW4gYW5kIGRlY29kZXIgc2tlbGV0b24KCjIwMTItMTItMjMgMTA6MDU6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogTWFrZSBtZmNfZGVjb2RlciBsaWJyYXJ5IGNvbXBpbGUgYW5kIGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTEyLTIzIDA5OjU2OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IEFkZCBtZmNfZGVjb2RlciBsaWJyYXJ5IGZyb20gRlhJCgoyMDEyLTEyLTMxIDExOjM4OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb3duZ3JhZGUgYSBHU1RfRVJST1IgdG8gYSBHU1RfREVCVUcKCjIwMTItMTItMzAgMTQ6MjI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2UgbGFzdF9mbG93IGhhbmRsaW5nIG1vcmUgdGhyZWFkc2FmZQoKMjAxMi0xMi0yOCAxMjoyNzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBhbGxvY2F0aW5nIEVHTEltYWdlcyBvbiBNYWxpCgkgIFRoaXMgYWxsb3dzIHRvIGRlY29kZXJzIGFuZCBvdGhlciB1cHN0cmVhbSBlbGVtZW50cyB0byBkbwoJICB6ZXJvLWNvcHkgdG8gdGhlIHNpbmsuCgoyMDEyLTEyLTMxIDAwOjE2OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcGxhY2UgZGVwcmVjYXRlZCBBTV9DT05GSUdfSEVBREVSIHdpdGggQUNfQ09ORklHX0hFQURFUlMKCSAgQU1fQ09ORklHX0hFQURFUiBoYXMgYmVlbiByZW1vdmVkIGluIHRoZSBqdXN0LXJlbGVhc2VkIGF1dG9tYWtlIDEuMTM6CgkgIGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYXV0b21ha2UvMjAxMi0xMi9tc2cwMDAzOC5odG1sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA4ODEKCjIwMTItMTItMzAgMTE6MzI6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogRml4IGluZGVudGlvbgoKMjAxMi0xMi0zMCAxMTozMjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmV0dXJuIHRoZSBsYXN0X2Zsb3cgaW1tZWRpYXRlbHkgaWYgaXQgd2Fzbid0IEdTVF9GTE9XX09LCgoyMDEyLTEyLTMwIDExOjI5OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29weSZwYXN0ZSBtaXN0YWtlCgoyMDEyLTEyLTMwIDEwOjQ1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBJbXByb3ZlIEVHTC9HTCBlcnJvciBoYW5kbGluZyBhIGJpdAoKMjAxMi0xMi0zMCAxMDo0MzozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgYWNjZXNzIHRoZSB2aWRlbyBmcmFtZSBkYXRhIGlmIG5vdCBuZWNlc3NhcnkKCjIwMTItMTItMzAgMTA6MTg6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvbmZpZ3VyZSBjYXBzIGZyb20gdGhlIHNldGNhcHMgZnVuY3Rpb24gYWxyZWFkeQoKMjAxMi0wNy0yNiAyMDozODoyOCArMDIwMCAgTWF0dGhpYXMgSGFyZHQgPG1oYXJkdEBiZXJsaW51eC1zb2x1dGlvbnMuZGU+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBleHRyYWN0IElTTyA2MzkgbGFuZ3VhZ2UgY29kZXMgZm9yIHN1YnRpdGxlcyBpbnRvIHRhZ2xpc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODAyMDAKCjIwMTItMTItMjggMTk6MzY6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEJpbmQgdGhlIE9wZW5HTCBFUyBBUEkgaW4gdGhlIHJlbmRlciB0aHJlYWQgdG9vCgoyMDEyLTEyLTI4IDE0OjA1OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBTb21lIHJlZmFjdG9yaW5nIGFzIHByZXBhcmF0aW9uIGZvciBwbGF0Zm9ybSBzcGVjaWZpYyByZW5kZXJpbmcKCjIwMTItMTItMjggMTM6MDg6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzb21lIG1vcmUgY29tbWVudHMKCjIwMTItMTItMjggMTI6NDA6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE9ubHkgdXNlIHRoZSBHc3RWaWRlb0ZyYW1lIGlmIHdlIGhhdmUgYSBidWZmZXIKCjIwMTItMTItMjcgMTA6NTE6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIGNvbmZpZ3VyZSBwYXJhbWV0ZXIgdG8gY2hvc2UgdGhlIEVHTCB3aW5kb3cgc3lzdGVtCgkgIE9ubHkgbmVlZGVkIGZvciBjcmVhdGluZyBuYXRpdmUgd2luZG93cy4KCjIwMTItMTItMjYgMTc6MzU6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgTWFsaSBmYmRldiBFR0wgZHJpdmVyCgoyMDEyLTEyLTI3IDE0OjA5OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJICBkM2R2aWRlb3Npbms6IEFkZCBjb21wYXRpYmlsaXR5ICNkZWZpbmVzIGZvciBvbGRlciBtaW5ndyBoZWFkZXJzCgkgIFRoZXNlIHdlcmUgcmVtb3ZlZCByZWNlbnRseSBidXQgdGhlc2UgbWluZ3cgaGVhZGVycyBhcmUgc3RpbGwKCSAgb3V0IHRoZXJlLgoKMjAxMi0xMi0yMSAwNzozNToxMyAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogcmVtb3ZlIHVzZWxlc3MgYW5kIHVuaW5pdGlhbGl6ZWQgbGlzdCBjYXVzaW5nIGEgY3Jhc2ggaW4gdGhlIGRldmljZSBwcm9iZQoKMjAxMi0xMi0yNiAxNzoyNTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIHZpZGVvIG1ldGEgYW5kIGFyYml0cmFyeSBzdHJpZGVzCgoyMDEyLTEyLTI2IDE1OjU4OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggd2lkdGgvaGVpZ2h0IHN3YXAgaW4gbGFzdCBjb21taXQKCjIwMTItMTItMjYgMTU6NDY6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSBkZWJ1ZyBmdW5jdGlvbiBjYWxsIGZyb20gcHJldmlvdXMgY29tbWl0CgoyMDEyLTEyLTI2IDE0OjM5OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBoYW5kbGluZyBvZiBHc3RWaWRlb092ZXJsYXk6OnNldF9yZW5kZXJfcmVjdCgpIGFuZCBjcm9wIG1ldGFkYXRhCgoyMDEyLTEyLTI2IDEwOjU0OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBhIGNhc3QgZnJvbSBFR0xOYXRpdmVXaW5kb3dUeXBlIHRvIFdpbmRvdyB0byBmaXggYSBjb21waWxlciB3YXJuaW5nCgoyMDEyLTEyLTI2IDEwOjM5OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggYSBjcmFzaCBvbiBHc3RWaWRlb092ZXJsYXk6OmV4cG9zZSgpCgoyMDEyLTEyLTI2IDEwOjM0OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJICBlZ2xnbGVzc2luazogRml4IGNyYXNoIHdoZW4gY2xvc2luZyBpbnRlcm5hbCBYMTEgd2luZG93CgoyMDEyLTEyLTI2IDEwOjIwOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIHByb3BlciBjaGVjayBmb3IgWDExCgoyMDEyLTEyLTE4IDA5OjUzOjE2IC0wODAwICBKb2UgS29ubm8gPGpvZS5rb25ub0BpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZG8gbm90IGRlZmF1bHQgdG8gYSBmdWxsc2NyZWVuIGNhbnZhcwoJICBEZWZlciBjZXJ0YWluIGNhbnZhcyBwYXJ0aWN1bGFycyB0byB0aGUgcGxheWVyIChvciB0aGUgV2F5bGFuZAoJICBjb21wb3NpdG9yKS4gQmVmb3JlIHRoaXMgY2hhbmdlLCBhIGZ1bGxzY3JlZW4gY2FudmFzIHdhcyBhbHdheXMKCSAgcmVxdWVzdGVkLiBUaGlzIG1heSBub3QgYmUgZGVzaXJhYmxlIGluIGFsbCBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDQ0MgoKMjAxMi0xMi0yMyAwOTo1MTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IE9ubHkgdXNlIDEwIGJpdCBZVVYgZm9ybWF0cyBmb3IgZXhhY3RseSAxMCBiaXQgaW1hZ2VzLCBub3QgPD0gMTYgYml0CgkgIEFuZCB1c2UgdGhlIGdlbmVyaWMgY29udmVydGVyIHRvIEFZVVY2NCBmb3IgZXZlcnl0aGluZyBlbHNlLgoKMjAxMi0xMi0yMiAxODo0MzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBSZW1vdmUgc2NhcnkgIndoaWxlIChvYmplY3QucmVmY291bnQgPiAwKSByZWxlYXNlIChvYmplY3QpOyIgY29kZQoJICBJZiB0aGVyZSBpcyBhIG1lbW9yeSBsZWFrLCB0aGlzIGlzbid0IHRoZSB3YXkgaG93IGl0IHNob3VsZCBiZSBmaXhlZC4KCjIwMTItMTItMjIgMTg6MTc6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBEb24ndCBmb3JnZXQgdG8gcmV0dXJuIGEgdmFsdWUgZnJvbSA6OnByb3Bvc2VfYWxsb2NhdGlvbigpCgoyMDEyLTEyLTIyIDE4OjE3OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogQWRkIHN1cHBvcnQgZm9yIHRoZSB2aWRlbyBtZXRhCgoyMDEyLTEyLTIyIDE4OjEyOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBEb24ndCB1c2UgImNsYXNzIiBhcyB2YXJpYWJsZSBuYW1lIGFuZCBkb24ndCB1c2UgQzk5IGNvbW1lbnRzCgoyMDEyLTEyLTIyIDE4OjA0OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IE9ubHkgb3BlbiBzeXN0ZW0gcmVzb3VyY2VzIGluIGluIE5VTEwtPlJFQURZLCBub3Qgb24gb2JqZWN0IGluc3RhbnRpYXRpb24KCjIwMTItMTItMjIgMTc6NTU6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IFByb3Blcmx5IGNvcHkgZnJhbWVzIHRvIEQzRCB3aXRoIHRoZSByaWdodCBzdHJpZGVzIGFuZCBldmVyeXRoaW5nCgkgIEFuZCBvbmx5IHN1cHBvcnQgY29sb3IgZm9ybWF0cyB0aGF0IGFyZSBhY3R1YWxseSBzdXBwb3J0ZWQgYnkgdGhlIGRyaXZlciwKCSAgdGhpcyBhbGxvd3MgcHJvcGVyIHplcm8tY29weSBoYW5kbGluZyBsYXRlciBhbmQgc2ltcGxpZmllcyB0aGUgY29kZSBhIGxvdC4KCSAgQWxzbyBzaW1wbGlmeSBzb21lIG90aGVyIHBsYWNlcywgbGlrZSB0aGUgZm9ybWF0IG1hcHBpbmcgY29kZS4KCjIwMTItMTItMjIgMTY6MjY6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBSZW1vdmUgbm9uLXNlbnNlIGRpc3BsYXkgUEFSIGhhbmRsaW5nCgkgIFRoaXMgaGFzIHRvIGJlIGltcGxlbWVudGVkIHByb3Blcmx5IGF0IHNvbWUgcG9pbnQKCjIwMTItMTItMjIgMTY6MTg6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBGaXggY2FwcyBsZWFrCgoyMDEyLTEyLTIyIDEyOjA5OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogRml4IGR1cGxpY2F0ZWQgZm9ybWF0IGVudHJ5IGluIHRoZSB0ZW1wbGF0ZSBjYXBzCgoyMDEyLTEyLTIyIDEyOjA1OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBGaXggbGlua2luZwoKMjAxMi0xMi0yMiAxMTo1ODoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBGaXggc29tZSBtb3JlIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTEyLTIyIDExOjUwOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogUG9ydCByZW1haW5pbmcgYml0cyB0byBuZXcgR0xpYiB0aHJlYWRpbmcgQVBJCgoyMDEyLTEyLTIyIDExOjQ1OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogQW5kIHJlbW92ZSB0aGUgcmlnaHQgZGVjbGFyYXRpb24KCjIwMTItMTItMjIgMTE6NDQ6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBSZW1vdmUgdW51c2VkIHN0YXRpYyBkZWNsYXJhdGlvbgoKMjAxMi0xMi0yMiAxMTo0MzoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDEyLTEyLTIyIDExOjQyOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogVXBkYXRlIHRvIG5ldyBHTGliIHRocmVhZGluZyBBUEkKCjIwMTItMTItMjIgMTE6Mzg6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBSZW5hbWUga2VlcF9hc3BlY3RfcmF0aW8gdG8gZm9yY2VfYXNwZWN0X3JhdGlvIGluIHRoZSBoZWFkZXIgdG9vCgoyMDEyLTEyLTIyIDExOjM1OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCjIwMTItMTItMjIgMTE6MzQ6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogUmVuYW1lIGtlZXAtYXNwZWN0LXJhdGlvIHRvIGZvcmNlLWFzcGVjdC1yYXRpbyBhbmQgZGVmYXVsdCB0byBUUlVFCgkgIEZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIHZpZGVvIHNpbmtzLgoKMjAxMi0xMi0yMiAxMTozMDowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmg6CgkgIGQzZHZpZGVvc2luazogQWRkIGZpbGVzIHRoYXQgaGFkIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBsYXN0IGNvbW1pdAoKMjAxMi0xMi0yMiAxMToyODoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICBkM2R2aWRlb3Npbms6IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSB0byBDRkxBR1MKCjIwMTItMTItMjIgMTE6MjQ6MjggKzAxMDAgIFJvbGFuZCBLcmlrYXZhIDxya3Jpa2F2YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTAuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTEuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5LmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDkuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHhfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4Lmg6CgkgIGQzZHZpZGVvc2luazogVmFyaW91cyBpbXByb3ZlbWVudHMKCSAgKiBYT3ZlcmxheSBzZXRfcmVuZGVyX3JlY3RhbmdsZSBzdXBwb3J0IChVc2VmdWwgZm9yIHJlbmRlcmluZyBpbiBRVCBRTUwpCgkgICogVmlkZW8gZm9ybWF0IG5lZ290aWF0aW9uICh3aXRoIHByZWZlcmVuY2Ugb3JkZXJpbmcpCgkgICogVXNpbmcgRGlyZWN0M0Q5IChObyBiZW5lZml0IHRvIHVzaW5nIG5ld2VyIEQzRCB2ZXJzaW9ucykKCjIwMTItMTItMjEgMTY6MTE6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBPbmx5IGluY2x1ZGUgZm9ybWF0cyB0aGF0IGFyZSBhY3R1YWxseSB3b3JraW5nCgoyMDEyLTEyLTIxIDE1OjIzOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogQWRkIHRoZSBhY3R1YWxseSBzdXBwb3J0ZWQgY29sb3IgZm9ybWF0cyB0byB0aGUgdGVtcGxhdGUgY2FwcwoKMjAxMi0xMi0xOCAyMjoyMzo0MiArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWdlbmMvLWRlYzogcHJpbnQgb3BlbmpwZWcgbG9ncyBmb3IgZGVidWcgdHJhY2luZwoKMjAxMi0xMi0xOCAxNjo1NjoyOCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1czogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE2OjUyOjI2ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNjo1MDozNyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTY6NDA6NTkgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAganBlZzogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE2OjIwOjA4ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkgIGludGVyOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTU6NDQ6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnZW5jOiBBZGQgc29tZSBwcm9wZXJ0aWVzCgoyMDEyLTEyLTE4IDE1OjQzOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogRG9uJ3QgY3Jhc2ggaWYgY29sb3JzcGFjZSBpcyBub3QgcHJvdmlkZWQgb24gdGhlIGNhcHMKCSAgZ19zdHJfZXF1YWwoKSBpcyAqbm90KiBOVUxMLXNhZmUKCjIwMTItMTItMTcgMTc6MTk6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBJbXByb3ZlIHJvYnVzdG5lc3MgYWdhaW5zdCBmb3JtYXRzIHdpdGggZGlmZmVyZW50IHNldHRpbmdzIHBlciBjb21wb25lbnQKCjIwMTItMTItMTcgMTc6MTM6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBQcm9wZXJ0aWVzIHdvbid0IGJlIG5lZWRlZCBpbiB0aGUgZGVjb2RlcgoKMjAxMi0xMi0xNyAxNzoxMTo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWdlbmM6IEZpeCBkYXRhIHBvaW50ZXIgaW5jcmVtZW50aW5nCgoyMDEyLTEyLTE3IDE3OjA2OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZ2VuYzogT3B0aW1pemUgaW1hZ2UgZmlsbGluZyBmdW5jdGlvbnMgYSBiaXQKCjIwMTItMTItMTcgMTc6MDI6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBBZGQgbWlzc2luZyBzaGlmdHMKCjIwMTItMTItMTcgMTY6NTc6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBPcHRpbWl6ZSBmcmFtZSBmaWxsaW5nIGZ1bmN0aW9ucyBhIGJpdAoKMjAxMi0xMi0xNyAxNToxNjo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IE1ha2Ugc3VyZSB0aGUgY2FwcyBhcmUgYWN0dWFsbHkgd3JpdGFibGUgYmVmb3JlIGNoYW5naW5nIHRoZW0KCjIwMTItMTItMTcgMTU6MDQ6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBVc2UgdGhlIHBlZXIgY2FwcyBmb3IgcmVzdHJpY3Rpb25zIGluc3RlYWQgb2YgdGhlIHNyY3BhZCBhbGxvd2VkIGNhcHMKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgaW50ZXJzZWN0IHdpdGggdGhlIHNyY3BhZCB0ZW1wbGF0ZSBjYXBzIGFuZCBhZGQgYWxsIHRoZSBjYXBzIGZpZWxkcwoJICB0aGF0IHRoZSBwYXJzZXIgd2lsbCBldmVyIHNldCwgbm8gbWF0dGVyIGlmIGRvd25zdHJlYW0gcmVzdHJpY3RzIHRoaXMgZmllbGQgb3Igbm90LgoJICBUaGlzIHJlcXVpcmVzIHVwc3RyZWFtIHRvIHNldCB0aGlzIGZpZWxkIG9uIHRoZSBjYXBzIHRvIHN1Y2Nlc3NmdWxseSBuZWdvdGlhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAxODQKCjIwMTItMTItMTYgMjA6MDU6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZzogQ29ycmVjdCB0ZW1wbGF0ZSBjYXBzIGEgYml0CgoyMDEyLTEyLTE2IDIwOjAyOjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnOiBIYW5kbGUgdGhlIG51bS1jb21wb25lbnRzIGZpZWxkIGluIHRoZSBjYXBzCgoyMDEyLTEyLTE1IDExOjI1OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnOiBBZGQgc3VwcG9ydCBmb3IgdGhlIGNvbG9yc3BhY2UgZmllbGQgaW4gdGhlIGNhcHMKCjIwMTItMTItMTQgMjA6MDg6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuaDoKCSAgb3BlbmpwZWc6IEFkZCBKUEVHMjAwMCBlbmNvZGVyIGVsZW1lbnQKCjIwMTItMTItMTQgMTQ6Mzg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5oOgoJICBvcGVuanBlZzogQWRkIE9wZW5KUEVHIGJhc2VkIEpQRUcyMDAwIGRlY29kZXIKCjIwMTItMTItMTYgMTc6NDQ6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCByZW1vdmVkIHJ0cG11eCBiaXRzIHRvIGNydWZ0IGNoZWNrCgoyMDEyLTEyLTE2IDE3OjM1OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4ZXIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IHJlbW92ZSBydHBtdXggcGx1Z2luLCBtb3ZlZCB0byAtZ29vZAoJICBNb3ZlIHJ0cG11eCBhbmQgcnRwZHRtZm11eCBpbnRvIHJ0cG1hbmFnZXIgcGx1Z2luIGluIC1nb29kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5MTE3CgoyMDEyLTEyLTE0IDE0OjUxOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQW5kcm9pZC5tazoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5oOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvcGx1Z2luLmM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuaDoKCSAgc2NhbGV0ZW1wbzogcmVtb3ZlIHNjYWxldGVtcG8gcGx1Z2luLCBtb3ZlZCB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjYyCgoyMDEyLTEyLTE0IDE4OjA5OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IGRvbid0IHVzZSBkZXByZWNhdGVkIHRocmVhZGluZyBBUEkKCjIwMTItMTItMTMgMTQ6MTI6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVzZSB1cHN0cmVhbSB3aWR0aC9oZWlnaHQgd2hlbiBnaXZlbgoJICBUaGUgdXBzdHJlYW0gd2lkdGggYW5kIGhlaWdodCBzaG91bGQgb3ZlcnJpZGUgdGhlIGRpbWVuc2lvbiBkZXRlY3RlZCBpbiB0aGUKCSAgZmlsZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzE0MgoKMjAxMi0xMi0xMyAxMTo0Nzo1NyArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGV4cG9ydCBudW1iZXIgb2Ygc3ByaXRlIHdhcnBpbmcgcG9pbnRzIGluIGNhcHMKCSAgVGhpcyBhbGxvd3MgZmlsdGVyaW5nIG91dCB2aWRlb3MgZm9yIGhhcmR3YXJlIGRlY29kZXJzIHRoYXQgZG8gbm90CgkgIHN1cHBvcnQgR01DIGF0IGFsbCBvciBvbmx5IHN1cHBvcnQgYSBsaW1pdGVkIG51bWJlciBvZiBzcHJpdGUgd2FycGluZwoJICBwb2ludHMgKHVzdWFsbHkgMSkuCgoyMDEyLTEyLTEzIDExOjQzOjA5ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogaGFuZGxlIGRpdnggY2FwcwoJICBEaXZYIDQvNSBhcmUgTVBFRzQgcGFydCAyIHZpZGVvcywgc28gdGhleSBjYW4gYmUgcGFyc2VkIGJ5IHRoaXMgcGx1Z2luLgoKMjAxMi0xMi0xMyAwMTo1NzoyMSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kOiBmaXggY29tcGlsYXRpb24gZXJyb3JzIGNhdXNlZCBieSBjaXJjdWxhciBpbmNsdWRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTI4CgoyMDEyLTEyLTEyIDE4OjUwOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogcHJpbnRmIGZvcm1hdCBmaXhlcyBmb3IgZGVidWcgbWVzc2FnZXMKCjIwMTItMTItMTIgMDA6NDA6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IG1pbm9yIE1ha2VmaWxlIGNsZWFuLXVwCgkgIFJlbW92ZSBzdXBlcmZsdW91cyBTT1VQX0NGTEFHUyBhbmQgU09VUF9MSUJTLgoKMjAxMi0xMi0xMSAyMTowOTowMiArMDAwMCAgTWljaGFlbCBFc2VtcGxhcmUgPG1pY2hhZWwuZXNlbXBsYXJlQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkgIGhsczogbGluayB0byB0aGUgcmlnaHQgZ3N0LXBsdWdpbnMtYmFzZSBsaWJzIGFuZCBmaXggbGlicyBvcmRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMDMwCgoyMDEyLTEyLTExIDIwOjU4OjQyICswMDAwICBNaWNoYWVsIEVzZW1wbGFyZSA8bWljaGFlbC5lc2VtcGxhcmVAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBmaXggY29tcGlsZXIgYW5kIGxpbmtlciBmbGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMDMxCgoyMDEyLTEyLTExIDE1OjAwOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgQUNfTEFOR19QUk9HUkFNIHRvIG1ha2UgYXV0b2NvbmYgaGFwcHkKCjIwMTItMTItMTEgMTQ6MTk6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvd2luc2NyZWVuY2FwL01ha2VmaWxlLmFtOgoJICB3aW5zY3JlZW5jYXA6IEZpeCBjb25maWd1cmUgY2hlY2sgYW5kIGNvbXBpbGF0aW9uCgoyMDEyLTEyLTExIDEwOjU4OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tczogRml4IGZvcm1hdCBzdHJpbmcgZm9yIG9mZl90L2dvZmZzZXQKCSAgRml4ZXMgYnVnICM2OTAwMzMuCgoyMDEyLTEyLTA2IDEwOjA2OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IERvbid0IGFsbG93IGFueSB3cmFwcGluZyBvdGhlciB0aGFuIGZyYW1lIHdyYXBwaW5nCgkgIEJhZCB0aGluZ3Mgd2lsbCBoYXBwZW4gb3RoZXJ3aXNlLCBsaWtlIHJlYWRpbmcgYSBjb21wbGV0ZSwKCSAgbXVsdGlwbGUgR0IgbGFyZ2UgdmlkZW8gdHJhY2sgaW50byBhIHNpbmdsZSBidWZmZXIuCgkgIENvbmZsaWN0czoKCSAgZ3N0L214Zi9teGZkZW11eC5jCgoyMDEyLTEyLTA1IDE1OjI3OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmZGVtdXg6IEFkZCBmdW5jdGlvbiB0byBnZXQgdGhlIGVzc2VuY2UgdHJhY2sgd3JhcHBpbmcKCjIwMTItMTItMDUgMTI6MjM6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmcXVhcmsuYzoKCSogZ3N0L214Zi9teGZxdWFyay5oOgoJICBteGY6IEFkZCBzdXBwb3J0IGZvciBwYXJzaW5nIGZpbGxlciBzdHJ1Y3R1cmFsIGNvbXBvbmVudHMKCSAgVGhpcyBkb2VzIG5vdCBhZGQgc3VwcG9ydCBmb3IgYWN0dWFsbHkgcHJvZHVjaW5nIGZpbGxlciBkYXRhCgkgIGlmIHRoZXJlJ3MgYSBmaWxsZXIgY29tcG9uZW50IGluIGEgdGltZWxpbmUuCgoyMDEyLTEyLTA1IDEyOjA4OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBJbXByb3ZlIGRlYnVnIG91dHB1dCBkdXJpbmcgbWV0YWRhdGEgcmVzb2x2YWwKCjIwMTItMTItMDEgMTc6MDU6MzggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBkaXNhYmxlIHNlZWtpbmcgaWYgdGhlIGNvbmZpZ3VyZWQgdXJsIHNwZWNpZmllcyBsaXZlPXRydWUKCSAgRGlzYWJsZSBzZWVraW5nIHdoZW4gbGl2ZT10cnVlIGlzIHNldCBpbiB0aGUgbG9jYXRpb24gVVJMIChlZzoKCSAgInJ0bXA6Ly9leGFtcGxlLm5ldC9zdHJlYW0gbGl2ZT10cnVlIikKCjIwMTItMTEtMzAgMjA6MDE6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkgIHJlc2luZHZkLCBmcmVpMHI6IGxpbmsgdG8gbGliZ21vZHVsZS0yLjAgaW4gcGx1Z2lucyB0aGF0IHVzZSBnX21vZHVsZV8qIEFQSQoJICBQcm9iYWJseSBuZWVkZWQgZm9yIG90aGVyIHBsdWdpbnMgYXMgd2VsbC4KCjIwMTItMTEtMzAgMTk6NTQ6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHNwcmlua2xlIHNvbWUgQUNfTEFOR19QUk9HUkFNIGluIHdhc2FwaSBjaGVjawoJICBTbyBhdXRvZ2VuLnNoIHN0b3BzIG1vYW5pbmcuCgoyMDEyLTExLTMwIDE1OjEwOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGY6IEFkZCBtb3JlIHN1cHBvcnQgZm9yIFJQMjAwOCAoQVZDIGluIHRoZSBNUEVHIG1hcHBpbmcpCgkgIENvbmZsaWN0czoKCSAgZ3N0L214Zi9teGZtcGVnLmMKCjIwMTItMTEtMzAgMTE6NDQ6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSAgd2FzYXBpOiBtYWtlIHRoZSBidWlsZCBoYXBweSB3aXRob3V0IHRoZSBzdGF0aWMgcGx1Z2lucyBwYXRjaAoKMjAxMi0xMS0zMCAxMTo0MDo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIHdhc2FwaSB0byB0aGUgdW5wb3J0ZWQgcGx1Z2lucwoKMjAxMi0xMS0zMCAxMTozNzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSAgd2FzYXBpOiBJbnRlZ3JhdGUgaW50byB0aGUgYXV0b3Rvb2xzIGJ1aWxkIHN5c3RlbQoJICBQYXRjaCBiYXNlZCBvbiBhIHBhdGNoIGJ5IEZhYnJpemlvIENpYXZhdHRhIDxmYWJyaXppby5jaWF2YXR0YUBnbWFpbC5jb20+CgoyMDEyLTExLTI4IDEzOjEwOjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSAgc2htOiBGaXggY29uZmlndXJlIGNoZWNrIGFuZCBjbGVhbiB1cCBNYWtlZmlsZQoKMjAxMi0xMS0yNyAxNTozNDoxOSAtMDUwMCAgRW1tYW51ZWwgRHVyYW5kIDxlbW1hbnVlbGR1cmFuZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IEZpeCBjb21waWxhdGlvbiBvZiBzaG0gb24gT1NYCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODkxODMKCjIwMTItMTEtMjYgMTk6MjE6MDMgKzAwMDAgIEtyenlzenRvZiBLb25vcGtvIDxrcnp5c3p0b2Yua29ub3Brb0B5b3V2aWV3LmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGNyYXNoZXMgd2hlbiB0cnlpbmcgdG8gcmUtdXNlIHRoZSBlbGVtZW50CgkgIEEgY3Jhc2ggb2NjdXJlZCBhZnRlciBwdXNoaW5nIGJ1ZmZlcnMgYW5kIGNoYW5naW5nIG1wZWd0c211eCBzdGF0ZSB0bwoJICBOVUxML1JFQUQgYW5kIHRoZW4gYmFjayB0byBQTEFZSU5HL1BBVVNFRC4KCSAgVGhlIGNyYXNoIHdhcyBjYXVzZWQgYnkgaG9sZGluZyBhIGRhbmdsaW5nIHBvaW50ZXIgaW4gdGhlIE1wZWdUc011eAoJICBwcm9ncmFtIHRhYmxlLgoJICBBZGRpdGlvbmFsbHkgc3RyZWFtIGhlYWRlcnMgd2VyZSBsZWFrZWQgd2hlbiByZXNldHRpbmcgdGhlIGVsZW1lbnQ6CgkgIG11eC0+c3RyZWFtaGVhZGVyIHNldCB0byBOVUxMIGluIG1wZWd0c211eF9yZXNldCgpIGJlZm9yZSBpdCdzIHJlbGVhc2VkCgkgIGxhdGVyIGluIHRoZSBzYW1lIGZ1bmN0aW9uLgoJICBBZGRlZCBhIHVuaXQgdGVzdDogdGVzdF9tdWx0aXBsZV9zdGF0ZV9jaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTEwNwoKMjAxMi0xMS0yMyAxMjoyNjo0MyArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEFkZCBsYXRlc3QgcG9ydGVkIHBsdWdpbnMgZXRjLgoKMjAxMi0xMS0yMiAxMDo1NzoyNSArMDAwMCAgS3J6eXN6dG9mIEtvbm9wa28gPGtyenlzenRvZi5rb25vcGtvQHlvdXZpZXcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogcHJvcGFnYXRlIGZsb3cgcmV0dXJucwoJICBBbmQgYWRkIGEgdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4ODcwCgoyMDEyLTExLTIxIDEwOjIxOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSAgd2luZG93czogUHV0IHRoZSBEaXJlY3RYIExERkxBR1MgaW4gdGhlIGNvcnJlY3QgcGxhY2UgYW5kIHJlb3JkZXIgbGlicmFyaWVzCgoyMDEyLTExLTIwIDIzOjIwOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IGFkZCBkb2MgY2h1bmsgd2l0aCBleGFtcGxlIGNvbW1hbmQgbGluZQoKMjAxMi0xMS0yMCAxMjowNToxNyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogZml4IHJlZGVmaW5pdGlvbiBvZiBERUNMQVJFX0lOVEVSRkFDRV9JSUQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODUxMAoKMjAxMi0xMS0xOSAxOToyOTo0OCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIEdzdFBob3RvZ3JhcGh5OiBBZGQgbmV3IGVudW0gdmFsdWVzIHRvIG1hdGNoIGFuZHJvaWQncyBwYXJhbWV0ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODg0ODYKCjIwMTItMTEtMTkgMTA6MzI6NTcgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggUFRZUEUgZm9yIGludGVybGFjZWQgZnJhbWVzLgoJICBDb3Zlcml0eSBmb3VuZCBtaXNzaW5nIGJyZWFrIGluIHBhcnNlX2ZyYW1lX2hlYWRlcl9hZHZhbmNlZCgpIHdoZW4KCSAgZGV0ZXJtaW5pbmcgUFRZUEUgZnJvbSBGUFRZUEUgZm9yIGludGVybGFjZWQgc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODYyNgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTA5LTIxIDE4OjIzOjIxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggZXJyb3IgY29kZSBmb3IgaW52YWxpZCBzaXplIHBhcnNlZCBpbiBTUFMuCgkgIGdzdF9oMjY0X3BhcnNlX3NwcygpIHJldHVybmVkIEZBTFNFIGlmIGl0IHBhcnNlZCBpbnZhbGlkIChuZWdhdGl2ZSkKCSAgc2l6ZSBjb21wb25lbnRzLiBOb3cgbWFrZSBpdCBncmFjZWZ1bGx5IHJldHVybiBHU1RfSDI2NF9QQVJTRVJfRVJST1IKCSAgaW5zdGVhZCBvZiBHU1RfSDI2NF9QQVJTRVJfT0sgKEZBTFNFKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDU2OAoKMjAxMi0xMS0xOSAxMToyNjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjQ5N2M0ZiB0byBhNzJmYWVhCgoyMDEyLTExLTE1IDExOjM3OjEyIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IEZpeCBuaXRwaWNrCgoyMDEyLTExLTE1IDEwOjE0OjM0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IE1ha2Ugc3VyZSBwYWQgdGVtcGxhdGUgY2FwcyBhcmUgbm90IGZpeGVkIGZyb20gdGhlIGJlZ2dpbmcKCSAgUmlnaHQgbm93IGRlY29kZWJpbiB3aWxsIGNvbmNpZGVyIHRoZSBwYWQgdGVtcGxhdGUgY2FwcyBhcyBmaXhlZCBhbmQgaWYgYSBkZWNvZGVyCgkgIGhhcyByZXN0cmljdGlvbiBvbiBmb3IgZXhhbXBsZSBoZWlnaHQvd2lkdGggaXQgd29uJ3QgYmUgYXV0b3BsdWdnZWQgYmVjYXVzZQoJICBnc3RfY2Fwc19pc19zdWJzZXQgZmFpbHMgYXMgdGhvc2UgZmllbGRzIGFyZSBtaXNzaW5nIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzLgoJICBXZSBmaXggdGhlIGlzc3VlIGhlcmUgbWFraW5nIHN1cmUgdGhhdCB0aGUgcGFkIGNhcHMgYXJlIGZpeGVkIHVzaW5nIGRhdGEgZnJvbQoJICB0aGUgc3RyZWFtLgoKMjAxMi0xMS0xMyAyMjo0MDoyNSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZm9yd2FyZCB1cHN0cmVhbSB0aW1lIHNlZ21lbnRzIGFmdGVyIGZsdXNoZXMKCSAgQWxzbyByZXNldCBzZWdtZW50IGluZm8gYW5kIGRyb3AgdGhlIHNlZ21lbnQgZXZlbnQgd2hlbiBkZW11eGVyIGlzCgkgIGZsdXNoZWQuCgkgIFJlc3RvcmUgZGVtdXhlciBzZWdtZW50IHdpdGggdGhlIGluZm8gc3RvcmVkIGluIGJhc2Ugd2hlbiBkZW11eGVyIGlzCgkgIGdvaW5nIHRvIHB1c2ggZGF0YSBhZ2FpbiBpZiBuZWVkZWQuCgkgIERyb3AgY29kZSB0byByZWNvdmVyIHRoZSBzZWdtZW50IGluZm8gZnJvbSBiYXNlIGluIHRoZSBpbml0aWFsIHByb2dyYW0KCSAgYmVjYXVzZXMgaXQncyBzdXBlcnNlZGVkIGJ5IHRoZSBuZXcgY29kZS4KCjIwMTItMTEtMTQgMTI6NDE6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgZ3N0X2FkYXB0ZXJfcHJldl90aW1lc3RhbXAgLT4gZ3N0X2FkYXB0ZXJfcHJldl9wdHMKCjIwMTItMTEtMTQgMTE6MzU6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IGRpc3QgYWxsIGhlYWRlciBmaWxlcyBuZWVkZWQgdG8gYnVpbGQKCjIwMTItMTEtMTQgMTA6NDY6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYWNjdXJpcC9NYWtlZmlsZS5hbToKCSAgYWNjdXJpcDogZml4IGxpbmtlciBmbGFncwoJICBTcG90dGVkIGJ5IFJpY28gVHpzY2hpY2hob2x6LgoKMjAxMi0xMS0xMSAxMjo0Njo0MyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVzZXQgdGhlIHN0cmVhbSBzb21lIG1vcmUgaW4gdGhlIGZsdXNoZXMKCSAgTm93IHRoYXQgd2UgaGFuZGxlIGZsdXNoaW5nIGluIHRoZSBGTFVTSF9TVE9QIGV2ZW50IHdlIG5lZWQgdG8gbWFrZQoJICB0aGUgc3RyZWFtcyByZWFkeSBpZiB0aGV5IHdlcmUgZmx1c2hpbmcuCgoyMDEyLTExLTExIDEyOjQ1OjAzICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBmbHVzaCBvYnNlcnZhdGlvbnMgdG9vCgkgIEZsdXNoIHRoZSBwcmV2aW91cyBvYnNlcnZhdGlvbnMgd2hlbiB0aGUgcGFja2V0aXplciBpcyBmbHVzaGVkLgoJICBBbHNvIGRvbid0IGxlYWsgdGhlbSBpbiB0aGUgZGlzcG9zZS4KCjIwMTItMTEtMTAgMjA6NDQ6NDQgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IGZpeCBkb3VibGUgdW5yZWYgb2Ygc2VlayBldmVudAoKMjAxMi0xMS0xMCAyMDozMDoxMyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogZmx1c2ggaW4gRkxVU0hfU1RPUCB0byBhdm9pZCByYWNlIGNvbmRpdGlvbnMKCSAgRW5zdXJlIHRoZSBjaGFpbiBpcyBub3QgcnVubmluZyBiZWZvcmUgcmVzZXQgdGhlIHN0YXRlIHRvIGF2b2lkIHJhY2UKCSAgY29uZGl0aW9ucyBhbmQgcmFuZG9tIGNvcnJ1cHRpb25zIGRvd25zdHJlYW0uCgkgIEFsc28gZml4ZXMgc2VnZmF1bHRzIGluIHRoZSBwYWNrZXRpemVyIGR1ZSB3cm9uZyBhdmFpbGFibGUgdmFsdWVzIHRoYXQKCSAgY2F1c2VzIGdzdF9hZGFwdGVyX21hcCB0byByZXR1cm4gYSBOVUxMIHBvaW50ZXIuCgoyMDEyLTExLTEyIDE0OjU2OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IEZpeCByZWZjb3VudCBwcm9ibGVtIHdpdGggZnJhbWVzIGJlaW5nIGRyb3BwZWQgYmVjYXVzZSBvZiBkZWNvZGVyIGJ1Z3MKCjIwMTItMTEtMTIgMTE6NDg6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBuZXcgR1R5cGUgZm9yIEdUaHJlYWQgaW5zdGVhZCBvZiBqdXN0IEdfVFlQRV9QT0lOVEVSCgoyMDEyLTExLTEyIDExOjMyOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSAgYW5kcm9pZG1lZGlhOiBVcGRhdGUgdG8gbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0xMS0xMCAxOTo1Mjo0NiArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUmV2ZXJ0ICJ0c3BhY2tldGl6ZXI6IGVuc3VyZSB0aGF0IGEgbnVsbCBwb2ludGVyIGlzbid0IGFjY2Vzc2VkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDZlZmQ2MTFiOGM2ZjQzZjY3YTJmOTNmODQ0NWMxODllMjQ5NjFhYmQuCgkgIEFsc28gdGhpcyBleHRyYSBjaGVjayB3b24ndCBiZSBuZWVkZWQgaWYgaXQncyBmaXhlZCB0aGUgcmFjZSBieSBtb3ZpbmcKCSAgZmx1c2ggYWN0aW9ucyB0byBGTFVTSF9TVE9QLgoKMjAxMi0xMS0xMCAxOTo0Njo0MCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgUmV2ZXJ0ICJ0c2Jhc2U6IGFkZCBhIGd1YXJkIHdpdGggYW4gYXRvbWljIGJvb2xlYW4gd2hlbiBmbHVzaGluZyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlMTRlMzEwZjcxNzhhYThjMDIwZjU5M2UzZjcxZWM5MmNhMjUzMWY3LgoJICBXb3VsZCBiZSBiZXR0ZXIgbW92ZSB0aGUgcGFja2V0aXplciBmbHVzaGluZyB0byBGTFVTSF9TVE9QIGFuZCBhdm9pZAoJICB0aGUgcmFjZSB0aGF0IHdheS4gV2l0aG91dCBpbnRyb2R1Y2luZyBhIG1lbW9yeSBiYXJyaWVyIHRoYXQgY291bGQKCSAgaGF2ZSBpbXBhY3QgaW4gdGhlIHBlcmZvcm1hbmNlLgoKMjAxMi0xMS0xMCAxNDo0MzoxNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzLy5nc3RobHNkZW11eC5jLnN3cDoKCSogZ3N0L2hscy8uZ3N0aGxzc2luay5jLnN3cDoKCSAgaGxzc2luazogcmVtb3ZlIHZpbSAuc3dwIGZpbGVzIHRoYXQgSSBqdXN0IGNvbW1pdHRlZCBhY2NpZGVudGFsbHkuLi4KCjIwMTItMTEtMTAgMTQ6MjY6NDYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy8uZ3N0aGxzZGVtdXguYy5zd3A6CgkqIGdzdC9obHMvLmdzdGhsc3NpbmsuYy5zd3A6CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJICBobHNzaW5rOiBwb3J0IHRvIDEuMAoKMjAxMi0xMC0yOCAyMToyOTozMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmg6CgkgIGhsc3Npbms6IGN1dCBzZWdtZW50cyB1c2luZyB0aGUgcnVubmluZy10aW1lCgoyMDEyLTA5LTA5IDIxOjU2OjQzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBkb24ndCB1bnJlZiAtPm11bHRpZmlsZXNpbmsuCgkgIFdlIGdzdF9iaW5fYWRkIGl0IHRvIG91cnNlbGYgc28gbm8gbmVlZCB0byB1bnJlZiBpbiBfZGlzcG9zZS4KCjIwMTItMDktMDkgMjE6NTY6MjIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IHJld29yayBfcmVzZXQgYSBiaXQKCjIwMTItMTEtMTAgMDA6MDg6MzUgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIHRzYmFzZTogYWRkIGEgZ3VhcmQgd2l0aCBhbiBhdG9taWMgYm9vbGVhbiB3aGVuIGZsdXNoaW5nCgoyMDEyLTExLTA5IDIyOjE3OjExICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c3BhY2tldGl6ZXI6IGVuc3VyZSB0aGF0IGEgbnVsbCBwb2ludGVyIGlzbid0IGFjY2Vzc2VkCgkgIE1pdGlnYXRlcyBzZWdmYXVsdCBkdWUgcmFjZSBjb25kaXRpb24gaW4gRkxVU0hfU1RBUlQgaGFuZGxpbmcgYW5kCgkgIG1wZWd0c19iYXNlX2NoYWluLgoKMjAxMi0xMS0wOCAxNzoxNToyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHM6IE9ubHkgdXNlIHRpbWVzdGFtcC1iYXNlZCBQQ1IvUFRTIGVzdGltYXRpb24gd2hlbiBuZWVkZWQKCSAgV2hlbiBkZWFsaW5nIHdpdGggbm9uLXRpbWUgYmFzZWQgcHVzaC1tb2RlIHN0cmVhbXMsIHdlIG5lZWQgdG8gcmV2ZXJ0CgkgIHRvIHVzaW5nIHRoZSBvZmZzZXQtYmFzZWQgUENSL1BUUyBlc3RpbWF0aW9uIGxvZ2ljIG9mIHBhY2tldGl6ZXIuCgkgIFRoaXMgc29sdmVzIHVzZXMgY2FzZXMgc3VjaCBhczoKCSAgcHVzaGZpbGU6Ly8gISB0c2RlbXV4CgkgIHNyYyAhIHF1ZXVlICEgdHNkZW11eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTc4CgoyMDEyLTExLTA4IDEyOjEyOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSAgZG9jczogQWRkIG1pc3NpbmcgcGx1Z2luIGluc3BlY3Rpb24gZmlsZXMKCSAgRml4ZXMgYnVnICM2ODc4NDAuCgoyMDEyLTExLTA3IDIwOjUwOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IHVwZGF0ZSBjb3VydGVzeSBvZiBhdXRvdXBkYXRlCgoyMDEyLTExLTA3IDIwOjQ4OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogbGV0IEFHX0dTVF9QTFVHSU5fRE9DUyBjaGVjayBmb3IgcHl0aG9uCgkgIEFuZCB1cGRhdGUgY29tbW9uIGZvciBtb3ZlIGZyb20gQVNfUEFUSF9QWVRIT04gdG8gQU1fUEFUSF9QWVRIT04sCgkgIHdoaWNoIGFzIGEgc2lkZS1lZmZlY3Qgc2hvdWxkIHBpY2sgdXAgbmV3ZXIgcHl0aG9uIHZlcnNpb25zIGFzCgkgIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjM5MDMKCjIwMTItMTEtMDYgMjA6NTE6MTAgKzAwMDAgIEtldmluIFRob3JuYmVycnkgPGdpbW1lYW1pbGtidHRmQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IERUUyB2YWx1ZSBiZWluZyB1c2VkIGZvciBQVFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzgwNgoKMjAxMi0xMS0wNiAxMjo0MDowNSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkb24ndCByZXdpbmQgdG8gdGhlIE5BTCBsZW5ndGggc2l6ZSBpbiBieXRld3JpdGVyIGlmIHRoZSBmb3JtYXQgaXMgYnl0ZXN0cmVhbQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NTQ4CgkgIFNpZ25lZC1vZmYtYnk6ICBLZXZpbiBUaG9ybmJlcnJ5CgoyMDEyLTExLTA2IDExOjU0OjM5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEFjdHVhbGx5IGFkZCBQUFMgZGF0YSB0byB0aGUgb3V0cHV0IGJ1ZmZlcgoKMjAxMi0wOS0yOCAxMjozNjo1NSAtMDQwMCAgV2lsbCBUaG9tcHNvbiA8d2lsbC50aG9tcHNvbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmg6CgkgIGhsc3Npbms6IGFkZCBhIHBsYXlsaXN0LWxlbmd0aCBwcm9wZXJ0eQoJICBQcm9iYWJseSBub3QgcGFydGljdWxhcmx5IHVzZWZ1bCBpbiBnZW5lcmFsLCBidXQgaGFuZHkKCSAgdG8gY3V0IGRvd24gdGhlIGxhdGVuY3kgb24gYSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcxMzMKCjIwMTItMTAtMjkgMTM6MjQ6MjUgKzAwMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFAZnVqaWkuZXRpLmJyPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IHJlc2V0IHdoZW4gZ29pbmcgdG8gTlVMTCBzdGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTMzCgoyMDEyLTA4LTIxIDIzOjIyOjE5IC0wMzAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBGaXggc2VnbWVudCBuYW1lcyBvbiBwbGF5bGlzdAoJICBXaGVuIHRoZSBwbGF5bGlzdC1yb290IGlzIG5vdCBzZXQsIHRoZSBzZWdtZW50IG5hbWUgbXVzdCBub3QgYmUKCSAgYXBwZW5kZWQgYnkgdGhlIHBhdGguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcxMzMKCjIwMTItMTEtMDMgMjA6Mzg6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3JhbmRvbS9MSUNFTlNFOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmg6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuaDoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZi5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJKiBleHQvYnoyL2dzdGJ6Mi5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHQuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50Lmg6CgkqIGV4dC9jb2cvZ3N0Y21zLmM6CgkqIGV4dC9jb2cvZ3N0Y21zLmg6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5oOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuaDoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuaDoKCSogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGUuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5ncy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9wbHVnaW4uYzoKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSogZXh0L2phc3Blci9nc3RqYXNwZXIuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuaDoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5oOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmg6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuaGg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuaGg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuaGg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuaGg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmhoOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5oaDoKCSogZXh0L21wbGV4L2dzdG1wbGV4aWJpdHN0cmVhbS5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4aWJpdHN0cmVhbS5oaDoKCSogZXh0L21wbGV4L2dzdG1wbGV4am9iLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuaGg6CgkqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4b3V0cHV0c3RyZWFtLmhoOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuaDoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmg6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmFzL25hc3NpbmsuaDoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWwuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5oOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5oOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguaDoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uaDoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5Lmg6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5oOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5oOgoJKiBleHQvcmVzaW5kdmQvcGx1Z2luLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuaDoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuaDoKCSogZXh0L3JzdmcvZ3N0cnN2Zy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSogZXh0L3J0bXAvZ3N0cnRtcC5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5oOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90Lmg6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuaDoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuaDoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuaGg6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5kc3AuYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmg6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmg6CgkqIGV4dC9zcGMvdGFnLmM6CgkqIGV4dC9zcGMvdGFnLmg6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuaDoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5oOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuaDoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3BhcnNlcnV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvcGFyc2VydXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dldHRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dzdC1pMThuLXBsdWdpbi5oOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5oOgoJKiBnc3QvYWNjdXJpcC9nc3RhY2N1cmlwLmM6CgkqIGdzdC9hY2N1cmlwL2dzdGFjY3VyaXAuaDoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5oOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5Lmg6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5oOgoJKiBnc3QvYXV0b2NvbnZlcnQvcGx1Z2luLmM6CgkqIGdzdC9iYXllci9nc3RiYXllci5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5oOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3AuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcF9jb21tb24uaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5Lmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1jb21tb24uaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5oOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5oOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5oOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9nYW1lcy9nc3R2aWRlb2ltYWdlLmM6CgkqIGdzdC9nYW1lcy9nc3R2aWRlb2ltYWdlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkqIGdzdC9nZHAvZ3N0Z2RwLmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmg6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5oOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmg6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmg6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmg6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguaDoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0Lmg6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuaDoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkqIGdzdC9saWJyZmIvdm5jYXV0aC5oOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvYnVmZmVyLmM6CgkqIGdzdC9tcGVnMXN5cy9idWZmZXIuaDoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvcGx1Z2luLmM6CgkqIGdzdC9tcGVncHNtdXgvY3JjLmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2FhYy5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9hYWMuaDoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfaDI2NC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9oMjY0Lmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0dHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5oOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF90dHh0LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X3R0eHQuaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkqIGdzdC9tdmUvZ3N0bXZlLmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5oOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5oOgoJKiBnc3QvbXZlL212ZS5oOgoJKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6CgkqIGdzdC9tdmUvbXZldmlkZW9lbmMxNi5jOgoJKiBnc3QvbXZlL212ZXZpZGVvZW5jOC5jOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmFsYXcuaDoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkMTAuaDoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmRtczEuaDoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmM6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5oOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm1wZWcuaDoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSogZ3N0L214Zi9teGZxdWFyay5jOgoJKiBnc3QvbXhmL214ZnF1YXJrLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJKiBnc3QvbXhmL214ZnVsLmM6CgkqIGdzdC9teGYvbXhmdWwuaDoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnVwLmg6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkqIGdzdC9teGYvbXhmdmMzLmg6CgkqIGdzdC9uc2YvZGlzNjUwMi5oOgoJKiBnc3QvbnNmL2Zkc19zbmQuYzoKCSogZ3N0L25zZi9mZHNfc25kLmg6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmg6CgkqIGdzdC9uc2YvbG9nLmM6CgkqIGdzdC9uc2YvbG9nLmg6CgkqIGdzdC9uc2YvbW1jNV9zbmQuYzoKCSogZ3N0L25zZi9tbWM1X3NuZC5oOgoJKiBnc3QvbnNmL25lczY1MDIuYzoKCSogZ3N0L25zZi9uZXM2NTAyLmg6CgkqIGdzdC9uc2YvbmVzX2FwdS5jOgoJKiBnc3QvbnNmL25lc19hcHUuaDoKCSogZ3N0L25zZi9uc2YuYzoKCSogZ3N0L25zZi9uc2YuaDoKCSogZ3N0L25zZi9vc2QuaDoKCSogZ3N0L25zZi90eXBlcy5oOgoJKiBnc3QvbnNmL3ZyYzdfc25kLmM6CgkqIGdzdC9uc2YvdnJjN19zbmQuaDoKCSogZ3N0L25zZi92cmN2aXNuZC5jOgoJKiBnc3QvbnNmL3ZyY3Zpc25kLmg6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguaDoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5Lmg6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5oOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmg6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkqIGdzdC9wY2FwcGFyc2UvcGx1Z2luLmM6CgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmg6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbC5oOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmg6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmg6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL3ZhZF9wcml2YXRlLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL3ZhZF9wcml2YXRlLmg6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmg6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXhlci5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uaDoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wb3BsdWdpbi5jOgoJKiBnc3Qvc2RpL2dzdHNkaS5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguaDoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguaDoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkqIGdzdC9zZHAvZ3N0c2RwZWxlbS5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmg6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmg6CgkqIGdzdC9zZWdtZW50Y2xpcC9wbHVnaW4uYzoKCSogZ3N0L3NpcmVuL2NvbW1vbi5jOgoJKiBnc3Qvc2lyZW4vY29tbW9uLmg6CgkqIGdzdC9zaXJlbi9kY3Q0LmM6CgkqIGdzdC9zaXJlbi9kY3Q0Lmg6CgkqIGdzdC9zaXJlbi9kZWNvZGVyLmM6CgkqIGdzdC9zaXJlbi9kZWNvZGVyLmg6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmM6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmM6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmg6CgkqIGdzdC9zaXJlbi9odWZmbWFuX2NvbnN0cy5oOgoJKiBnc3Qvc2lyZW4vcm1sdC5jOgoJKiBnc3Qvc2lyZW4vcm1sdC5oOgoJKiBnc3Qvc2lyZW4vc2lyZW43Lmg6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmg6CgkqIGdzdC9zcGVlZC9kZW1vLW1wMy5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmg6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmg6CgkqIGdzdC9zdWJlbmMvZ3N0c3ViZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmg6CgkqIGdzdC90dGEvY3JjMzIuaDoKCSogZ3N0L3R0YS9nc3R0dGEuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuaDoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkqIGdzdC90dGEvdHRhZGVjLmg6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5oOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmg6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS1pbnRlcm5hbC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5oOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bC5jOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGwuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX2JzZC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfaXJpeC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfc29sYXJpcy5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTAuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTEuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5LmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDkuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHhfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4Lmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuaDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkqIHN5cy9kdmIvY2FtLmM6CgkqIHN5cy9kdmIvY2FtLmg6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uYzoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5oOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5jOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5oOgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5jOgoJKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5oOgoJKiBzeXMvZHZiL2NhbXNlc3Npb24uYzoKCSogc3lzL2R2Yi9jYW1zZXNzaW9uLmg6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5oOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkqIHN5cy9kdmIvY2FtdXRpbHMuaDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5oOgoJKiBzeXMvZHZiL2dzdGR2Yi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmg6CgkqIHN5cy9keHIzL2FjM19wYWRkZXIuYzoKCSogc3lzL2R4cjMvYWMzX3BhZGRlci5oOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSogc3lzL2R4cjMvZHhyM2NvbW1vbi5oOgoJKiBzeXMvZHhyMy9keHIzaW5pdC5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmg6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuaDoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvcGx1Z2luLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuaDoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmg6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuYzoKCSogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuaDoKCSogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmM6CgkqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5oOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmg6CgkqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmg6CgkqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJKiBzeXMvc2htL2dzdHNobS5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmg6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguaDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuaDoKCSogc3lzL3V2Y2gyNjQvdXZjX2gyNjQuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdG1wZWc0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdG1wZWc0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvbXBlZzR1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9tcGVnNHV0aWwuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5oOgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5oOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuaDoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG92aWRlb2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGF0YXVyaXNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sb2dvaW5zZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWc0dmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25lb25odHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NjaHJvZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RpbWlkaXR5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWV3ZmluZGVyYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYWFjZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYW1yd2JlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvemJhci5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2gyNjRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21pbWljLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL0RDQ1BDbGllbnQuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL0RDQ1BTZXJ2ZXIuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9maWxlL0RDQ1BDbGllbnRTYXZlRmlsZS5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL2ZpbGUvRENDUFNlcnZlclNlbmRGaWxlLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbWljL0RDQ1BDbGllbnRQbGF5TWljLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbWljL0RDQ1BTZXJ2ZXJNaWMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDMvRENDUENsaWVudFBsYXlNUDMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDMvRENDUFNlcnZlclNlbmRNUDMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDNTcGVleC9EQ0NQQ2xpZW50UGxheVNwZWV4TVAzLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3BlZXgvRENDUFNlcnZlclNlbmRTcGVleE1QMy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1N0cmVhbS9EQ0NQQ2xpZW50UGxheU1QM1N0cmVhbS5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1N0cmVhbS9EQ0NQU2VydmVyU2VuZE1QM1N0cmVhbS5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmg6CgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZToKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJICBGaXggRlNGIGFkZHJlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzUyMAoKMjAxMi0xMS0wMyAxMzo1MToxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgb3BlbmN2OiBmaXggd2FybmluZ3MgYW5kIGJ1aWxkIGFnYWluc3Qgb3BlbmN2IDIuNC54CgkgIGdzdHB5cmFtaWRzZWdtZW50LmM6IEluIGZ1bmN0aW9uICdnc3RfcHlyYW1pZF9zZWdtZW50X2NoYWluJzoKCSAgZ3N0cHlyYW1pZHNlZ21lbnQuYzozMDc6MzogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uCgkgICdjdlB5clNlZ21lbnRhdGlvbicgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCgkgIGdzdHB5cmFtaWRzZWdtZW50LmM6MzA3OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mCgkgICdjdlB5clNlZ21lbnRhdGlvbicgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcyMzcKCjIwMTItMTEtMDIgMTM6NDQ6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgIHNjYWxldGVtcG86IFVzZSBhIGJldHRlciBwbHVnaW4gZmlsZW5hbWUKCjIwMTItMTEtMDIgMTE6Mjk6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBtb3JlIGNvbnN0YW50cyBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgdmFsdWVzCgoyMDEyLTExLTAyIDExOjI0OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IEZpeCBjb21waWxhdGlvbiB3aXRoIGRlYnVnZ2luZyBlbmFibGVkCgoyMDEyLTExLTAxIDIwOjUwOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQW5kcm9pZC5tazoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5MSUNFTlNFOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5jOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5oOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOC5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuaDoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiByZW1vdmUgYW5kIG1vdmUgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzI2MwoKMjAxMi0xMS0wMSAxNTozNjoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDEyLTExLTAxIDE1OjM1OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBNYWtlIHN1cmUgdG8gb25seSBldmVyIGNyZWF0ZSBhIHNpbmdsZSBlbmdpbmUgb2JqZWN0CgkgIFRoZSBPcGVuU0wgRVMgc3BlYyBkZWZpbmVzOgoJICBBbiBpbXBsZW1lbnRhdGlvbiBzaGFsbCBlbmFibGUgY3JlYXRpb24gb2YgYXQgbGVhc3Qgb25lIHN1Y2ggb2JqZWN0LCBidXQKCSAgYXR0ZW1wdGluZyB0byBjcmVhdGUgbW9yZSBpbnN0YW5jZXMgKGVpdGhlciBieSBhIHNpbmdsZSBhcHBsaWNhdGlvbiBvciBieQoJICBzZXZlcmFsIGRpZmZlcmVudCBhcHBsaWNhdGlvbnMpIG1heSBmYWlsLgoKMjAxMi0xMC0zMSAyMDowMDo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IFNraXAgQXJpY2VudCBjb2RlY3MgZm9yIG5vdwoJICBUaGUgSFRDIE9uZSBYIGNsYWltcyB0byBoYXZlIG9uZSAoYnV0IGRvZXNuJ3QpIGFuZCBsb2FkaW5nCgkgIHRoZSBsaWJyYXJ5IGZvciBpdCBoYW5ncyBmb3JldmVyLgoKMjAxMi0xMS0wMSAxMzo1MTowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUG9zdCBzdHJlYW0tc3RhdHVzIG1lc3NhZ2VzIGZvciBvdXIgcmVuZGVyIHRocmVhZAoKMjAxMi0xMC0zMSAxMzo1NDoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogSWYgcHVzaGluZyBhbiBpdGVtIG9uIHRoZSBxdWV1ZSBmYWlscywgZnJlZSBpdAoJICBPdGhlcndpc2Ugd2UncmUgZ29pbmcgdG8gbGVhayB0aGUgaXRlbS4KCjIwMTItMTAtMzEgMTE6Mzg6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IG9wZW5jdiBwbHVnaW4gYnVpbGRzIHdpdGggbmV3ZXIgdmVyc2lvbnMgdXAgdG8gMi40LjIgYXMgd2VsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjM3CgoyMDEyLTEwLTMwIDE5OjMwOjM4ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IE5lZ290aWF0ZSBmb3JtYXQsIGFsc28gc3VwcG9ydCBtb3JlIHJlc29sdXRpb25zCgkgIFRoaXMgc2hvdWxkIGVuYWJsZSBzdXBwcnQgZm9yIG9sZCBhbmQgbmV3IGlQaG9uZXMgd2l0aCB0aGUgc2FtZSBjb2RlLgoKMjAxMi0xMC0zMCAwOToyNzoyNCArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IHJlbW92ZWQgdW5uZWNlc3NhcnkgZmluYWxpemUgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzE3NgoKMjAxMi0xMC0zMCAxMDoyMDowOSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IEZpeCBsZWFrcyBmcm9tIG5vdCBjaGFpbmluZyB1cCBpbiB0aGUgZmluYWxpemUgZnVuY3Rpb24KCjIwMTItMTAtMjIgMTI6MzY6MjggKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIHRzbXV4OiBTbGlnaHRseSByZWZsb3cgY29sbGVjdGVkIGJ1ZmZlciBoYW5kbGVyIGZvciBjbGFyaXR5LgoKMjAxMi0xMC0yNiAxODoyOTozMiArMDIwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBGaXggbmFtZSBvZiBDQVQgR3N0U3RydWN0dXJlCgkgIFRoZSBzdHJ1Y3R1cmUgcHJldmlvdXNseSB3YXMgYXNzaWduZWQgdGhlIG5hbWUgInBhdCIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY5NDgKCjIwMTItMTAtMjggMTY6NDE6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGdzdC9hY2N1cmlwL2dzdGFjY3VyaXAuYzoKCSAgZG9jczogYWRkIG5ldyBhY2N1cmlwIGVsZW1lbnQgdG8gZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MTYzCgoyMDEyLTEwLTI4IDE2OjM2OjAxICswMDAwICBDaHJpc3RvcGhlIEZlcmdlYXUgPHRldWZAZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYWNjdXJpcC9NYWtlZmlsZS5hbToKCSogZ3N0L2FjY3VyaXAvZ3N0YWNjdXJpcC5jOgoJKiBnc3QvYWNjdXJpcC9nc3RhY2N1cmlwLmg6CgkgIGFjY3VyYXRlcmlwOiBuZXcgZWxlbWVudCBmb3IgQWNjdXJhdGVSaXAgY2FsY3VsYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTE2MwoKMjAxMi0xMC0yNiAxMzo0ODowNiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmVzc2VuY2UuaDoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGY6IFBvcnQgbXhmZGVtdXggdG8gMS4wIEFsc28gcG9ydHMgbXhmbXV4IHRvIDEuMCB0byB0aGUgZXh0ZW50IHRoYXQgaXQgY29tcGlsZXMsIGJ1dCBpcyAxMDAlIHVudGVzdGVkLCBzbyByZW1haW5zIGRpc2FibGVkLgoJICBDb25mbGljdHM6CgkgIGdzdC9teGYvbXhmZGVtdXguYwoJICBnc3QvbXhmL214Zm11eC5jCgoyMDEyLTEwLTI1IDE5OjEwOjQwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJICBkaXJlY3Rzb3VuZHNyYzogRml4IGEgbnVtYmVyIG9mIHdhcm5pbmdzL2Vycm9ycyBpbiBkaXJlY3Rzb3VuZHNyYwoJICAqIERvbid0IHVzZSBkZXByZWNhdGVkIGdsaWIgbXV0ZXggZnVuY3Rpb25zCgkgICogRG9uJ3QgZGVjbGFyZSB1c2VsZXNzIHZhcmlhYmxlcwoJICAqIERvbid0IGxpbmsgdG8gbm9uLWV4aXN0aW5nIGxpYmdzdGludGVyZmFjZXMKCSAgRml4ZXMgIzY4Njg3MQoKMjAxMi0xMC0yNSAxNzo1MDo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogdXNlIHBhcnNlZCBvciB1cHN0cmVhbSBmcHMgdG8gc2V0IHNvbWUgYmFzZXBhcnNlIHBhcmFtZXRlcnMKCjIwMTItMTAtMjUgMTg6MDI6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBleHRyYWN0IHN0cnVjdHVyZSBmcm9tIGNvcnJlY3QgY2FwcwoJICAuLi4gd2hpY2ggYXJlIGtub3duICE9IE5VTEwuCgoyMDEyLTEwLTI1IDExOjMxOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBwcmVzZXJ2ZSB1cHN0cmVhbSBmcHMgYW5kIHBhcgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwODY2CgoyMDEyLTEwLTI1IDE0OjI4OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBTdG9wIHVzaW5nIGRlcHJlY2F0ZWQgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTEwLTI1IDEyOjA2OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSGFuZGxlIEdBUCBldmVudHMKCjIwMTItMTAtMTggMTY6MjM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvb3BlbnNsZXMvTWFrZWZpbGUuYW06CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuaDoKCSAgb3BlbnNsZXM6IFBvcnQgdG8gMS4wCgoyMDEyLTEwLTIyIDExOjQxOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgY3JvcCBtZXRhZGF0YQoKMjAxMi0xMC0yMiAxMToxODozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogUG9ydCB0byAxLjAKCjIwMTItMTAtMjIgMTM6MjE6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IFJlbWVtYmVyIGFuZCB1c2UgaW5wdXQgc3RhdGUKCjIwMTItMTAtMTggMTY6NDE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIGFuZHJvaWRtZWRpYTogUG9ydCB0byAxLjAKCjIwMTItMTAtMjMgMTI6MTA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmMxcGFyc2U6IEdpdmUgdmMxcGFyc2UgYSByYW5rIG9mIE5PTkUgZm9yIG5vdwoKMjAxMi0xMC0xNSAwOToxMjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmMxcGFyc2U6IFBvcnQgdG8gMS4wCgoyMDEyLTAyLTIzIDEzOjQ4OjU3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogZGlzYWJsZSBCRFUgcGFyc2luZyB1bnRpbCBpdCdzIG1vcmUgbWF0dXJlCgkgIFBhcnNpbmcgYW5kIHNwbGl0dGluZyBCRFVzIHNlZW1zIHRvIHRyaWdnZXIgYSBmZXcgYnVncyBpbgoJICBkb3duc3RyZWFtIGRlY29kZXJzIHNvIGRpc2FibGUgaXQgZm9yIG5vdy4KCjIwMTItMTAtMTQgMTE6Mzk6NTUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmMxcGFyc2U6IHNldCBkdXJhdGlvbiBvbiBvdXRwdXQgYnVmZmVycwoJICBUaGlzIGhhcyB0aGUgbmljZSBzaWRlIGVmZmVjdCBvZiBhdm9pZGluZyBoYW5naW5nIGF0IEVPUyB3aXRoIHRydW5jYXRlZCBhc2YKCSAgY2xpcHMuCgkgIENvbmZsaWN0czoKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jCgoyMDEyLTAxLTMxIDExOjAzOjQ1ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogd29ya2Fyb3VuZCBmb3Igc2ltcGxlL21haW4gY29kZWNfZGF0YSBiZWluZyA1IGJ5dGVzIGxvbmcKCSAgU29tZXRpbWVzIHRoZSBjb2RlY19kYXRhIGJ1ZmZlciBmb3Igc2ltcGxlL21haW4gcHVzaGVkIGJ5IGFzZmRlbXV4IGlzIDUgYnl0ZXMKCSAgaW5zdGVhZCBvZiA0LiBXaGVuIHRoYXQgaGFwcGVucywgY29kZWNfZGF0YSBpcyBzdGlsbCB2YWxpZCBidXQgaXQgc2VlbXMgdG8gaGF2ZQoJICBvbmUgMHgwMCB0cmFpbGluZyBieXRlLiBNaWdodCBiZSBhIGJ1ZyBpbiB0aGUgZGVtdXhlciwgbmVlZHMgbW9yZSBpbnZlc3RpZ2F0aW9uLgoKMjAxMi0wMS0zMSAxMTowMjoxMCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IHJlbW92ZSBzdHViIHN0cmVhbSBjb252ZXJzaW9uIGNvZGUKCjIwMTItMDEtMzEgMTE6MDA6NTUgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBhZGQgc29tZSBtb3JlIGRlYnVnZ2luZyB0byBfcmVuZWdvdGlhdGUKCjIwMTItMDEtMzEgMTA6NTg6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZjMXBhcnNlOiBBZGQgVkMxIHBhcnNlciBwbHVnaW4KCjIwMTItMTAtMjUgMTI6NDY6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZmVhdHVyZSBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4wLjIgPT09CgoyMDEyLTEwLTI1IDAxOjQ0OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4wLjIKCjIwMTItMTAtMjQgMjM6NDA6MjAgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZml4ZWQgYnVmZmVyIHVubWFwcGluZyBidWcKCSAgV2hlbiB0aGUgZGVjb2RlciByZWNlaXZlZCBhIE5VTEwgYnVmZmVyLCBpdCB0cmllZCB0bwoJICB1bm1hcCBhIG5vdCBtYXBwZWQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2ODI5CgoyMDEyLTEwLTI0IDE0OjIzOjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIHdheWxhbmQgPj0gMS4wLjAKCSAgV2UgaGF2ZSBhbiBBUEkgc3RhYmxlIHJlbGVhc2Ugbm93LCByZXF1aXJlIHRoYXQuCgoyMDEyLTEwLTI0IDEzOjQxOjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCB1cCBtcGcxMjMgdGVzdCBhIGxpdHRsZQoJICAtIGRpc3QgaW5wdXQgZmlsZXMKCSAgLSBmaXggc2FtcGxlIGxlYWsKCSAgLSBzaW1wbGlmeSBjaGVjayBmb3IgZWxlbWVudHMKCSAgLSBvbmx5IHJ1biBtcGcxMjMgdGVzdCBpZiBtcGcxMjMgaXMgYXZhaWxhYmxlIGFuZCBzZWxlY3RlZAoJICAtIGZpeCBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTk1CgoyMDEyLTEwLTI0IDEyOjMwOjEwICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSogdGVzdHMvZmlsZXMvY2JyX3N0cmVhbS5tcDM6CgkqIHRlc3RzL2ZpbGVzL3N0cmVhbS5tcDI6CgkqIHRlc3RzL2ZpbGVzL3Zicl9zdHJlYW0ubXAzOgoJICB0ZXRzOiBhZGQgdW5pdCB0ZXN0IGZvciBtcGcxMjNhdWRpb2RlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTk1CgoyMDEyLTEwLTI0IDAwOjM2OjQyICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogYWRkZWQgZ3RrZG9jIHNlY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAwMDoyMjowNSArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGZpeGVkIGJ1ZyB3aXRoIGxhc3QgZnJhbWUsIGRpc2FibGVkIGludGVybmFsIHJlc2FtcGxlciAmIGNoYXR0ZXIKCSAgKiBUaGUgbGFzdCBNUDMgZnJhbWUgd2Fzbid0IGJlaW5nIHB1c2hlZCB3aGVuIGJhc2UgY2xhc3Mgd2FzIGRyYWluaW5nCgkgICogTWFkZSBzdXJlIG1wZzEyMyBjYW5ub3QgZXZlciB1c2UgaXRzIChjcnVkZSkgaW50ZXJuYWwgcmVzYW1wbGVyCgkgICogRGlzYWJsZWQgbXBnMTIzIHN0ZGVyciBvdXRwdXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAwMDoyMTo0NSArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGNsZWFuZWQgdXAgY29tbWVudHMsIGZvcm1hdHRpbmcsIGFuZCBsb2dnaW5nIGxpbmVzCgkgIGFsc28gcmVwbGFjZWQgbXBnMTIzZGVjb2Rlci0+aGFuZGxlICE9IE5VTEwgY2hlY2tzIHdpdGggYXNzZXJ0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTk1CgoyMDEyLTEwLTI0IDExOjM0OjMyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsc210cHNpbms6IGFkZCBjb21tZW50IGRlc2NyaWJpbmcgZnVuY3Rpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Njc3NAoKMjAxMC0wNy0wMiAxNToyODo0MSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogY2hlY2sgYmFzZV90aW1lIGJlZm9yZSBjYWxjdWxhdGluZyBuZXdfc3RhcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzM4NwoKMjAxMi0xMC0yMyAxNDozMzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEZpeCBldmVudCBsZWFrCgoyMDEyLTEwLTIzIDE0OjMyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRml4IHRpbWVzdGFtcCB0cmFja2luZwoKMjAxMi0xMC0yMyAxNDowNjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEltcGxlbWVudCBMQVRFTkNZIHF1ZXJ5CgoyMDEyLTEwLTIzIDEzOjM5OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5oOgoJICBzY2FsZXRlbXBvOiBTdG9yZSBpbnN0YW5jZSBwcml2YXRlIGRhdGEgaW4gdGhlIGluc3RhbmNlIHN0cnVjdAoJICBHZXR0aW5nIGl0IG92ZXIgYW5kIG92ZXIgYWdhaW4gdmlhIEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgpCgkgIGlzIHJlYWxseSBzbG93LgoKMjAxMi0xMC0yMyAxMDowNzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IExpbmsgdG8gJChMSUJNKSBmb3IgaXNmaW5pdGUoKQoKMjAxMi0xMC0yMiAyMTo0MToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBwaXRjaDogZml4IGZvciBzdGFydCB0aW1lcyA+IDAKCSAgRml4ZXMgYnVmZmVyaW5nIGFuZCBwbGF5YmFjayBvZiBzdHJlYW1zIHRoYXQgc3RhcnQgd2l0aAoJICBhIG5vbi0wIHRpbWVzdGFtcCBpbiB0b3RlbSAod2hpY2ggaGFzIGEgJ3BpdGNoJyBlbGVtZW50CgkgIGJlZm9yZSBwdWxzZXNpbmspLgoJICBFeGFtcGxlIFVSSTogaHR0cDovL2xvYm9zdHYubG9ib2Nhc3Qub3JnLmVzOjgwMDQvbG9ib3N0di5vZ2cKCSAgU3RpbGwgYnJlYWtzIHdpdGggY2hhaW5lZCBvZ2dzLCBvbiBzZWNvbmQgY2hhaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYzOTEKCjIwMTItMTAtMjIgMTI6MDg6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXNwYXk6IHJlbW92ZSBwb2ludGxlc3MgY2FwcyBzZXJpYWxpemF0aW9uCgkgIFJlbW92ZSB0aGUgY2FwcyBzZXJpYWxpemF0aW9uIGluIHRoZSBydHAgY2Fwcy4gdGhlIHNwZWMgbm9yIHRoZSByZWNlaXZlcgoJICBkb2VzIGFueXRoaW5nIHdpdGggaXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1NDcKCjIwMTItMTAtMjIgMTA6NDU6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkgIHN1YmVuYzogcG9ydCB0byAxLjAKCjIwMTItMTAtMjIgMDE6Mzk6MTMgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogRG9uJ3QgbWFrZSB0aGUgc2FtZSBidWZmZXIgd3JpdGFibGUgdHdpY2UuCgkgIEZpeGVzIEJ1ZyA2ODYzMjcgLSBtcGVndHNtdXg6IGZpeCByZWZjb3VudCBpc3N1ZSB3aXRoIGlucHV0IGJ1ZmZlcnMKCjIwMTItMTAtMjAgMTQ6NTU6NDEgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZDogdXBkYXRlIHRvIHdheWxhbmQtcHJvdG9jb2wgMC45OQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTIwCgoyMDEyLTEwLTE4IDIyOjIzOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZm9yd2FyZCBub24tcHJvY2Vzc2VkIGR2ZCBldmVudHMKCSAgLi4uIHN1Y2ggYXMgbm90YWJseSBkdmQtc3B1LWNsdXQtY2hhbmdlLgoKMjAxMi0xMC0xOCAyMjoyMjoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHNlZ21lbnQgZXZlbnQgc2hvdWxkIGJlIHNlbnQgYmVmb3JlIGdhcCBldmVudAoKMjAxMi0xMC0xOSAwOTo1OToxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgdHJ5IHRvIHJlbmRlciBleHBvc2UoKSBpZiBubyBjYXBzIGFyZSBrbm93biB5ZXQKCjIwMTItMTAtMTggMTU6MTI6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBleHBvc2UKCjIwMTItMTAtMTkgMDE6MDM6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgdHNkZW11eDogZml4IHByb2dyYW0gcGFja2V0IHNlcXVlbmNlIGNvdW50ZXIgcGFyc2luZyBpbiBQRVMgaGVhZGVyCgoyMDEyLTEwLTE5IDAwOjQ3OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHRzZGVtdXg6IGZpeCBzb21lIGluY29uc2VxdWVudGlhbCBQRVMgaGVhZGVyIHBhcnNpbmcgaXNzdWVzCgkgIGFkZGl0aW9uYWxfY29weV9pbmZvOiBuZWVkIHRvIGdldCByaWQgb2YgdGhlIGhpZ2hlc3QKCSAgYml0LCBub3QgdGhlIGxvd2VzdCBvbmUKCSAgcHJvZ3JhbV9wYWNrZXRfc2VxdWVuY2VfY291bnRlcjogYWxzbyBuZWVkIHRvIGdldCByaWQKCSAgb2YgdGhlIGhpZ2hlc3QgYml0IGluc3RlYWQgb2YgbXVsdGlwbHlpbmcgd2l0aCBhIHJhbmRvbQoJICB2YWx1ZQoJICBvcmlnaW5hbF9zdHVmZl9sZW5ndGg6IHdhbnQgdG8gQU5EIDB4M2YgdG8gZXh0cmFjdCB0aGUKCSAgbG93ZXN0IDYgYml0cywgbm90IG11bHRpcGx5IGJ5IGl0LgoJICBOb25lIG9mIHRoZXNlIGZpZWxkcyBhcmUgYWN0dWFsbHkgdXNlZCB0aG91Z2gsIHNvIHRoZXNlCgkgIHNob3VsZCBub3QgaGF2ZSBjYXVzZWQgYW55IGlzc3Vlcy4KCjIwMTItMTAtMTcgMTU6NTQ6MzIgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHRzZGVtdXg6IEZpeCBwYXJzaW5nIFAtU1REX2J1ZmZlciBpbiBQRVMgaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYyOTQKCjIwMTItMTAtMTggMTg6NTY6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHdheWxhbmQ6IGRvbid0IHRyeSB0byBidWlsZCBhZ2FpbnN0IDAuOTkgb3IgbGF0ZXIKCSAgVGhlIHBsdWdpbiBuZWVkcyB1cGRhdGluZyBmb3Igc29tZSBBUEkgY2hhbmdlcyBzaW5jZSAwLjk1LgoKMjAxMi0xMC0xOCAwMTo0Nzo1NyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCBwb3RlbnRpYWwgY3Jhc2ggZGVyZWZlcmVuY2luZyBOVUxMIHByb2dyYW0gcG9pbnRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MzU4CgoyMDEyLTEwLTE4IDE1OjA2OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbnNsZXM6IE9ubHkgY2hlY2sgZm9yIHRoZSBtYWluIG9wZW5zbGVzIGhlYWRlcgoKMjAxMi0xMC0xOCAxNDozODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGVnbGdsZXNzaW5rOiBQdXQgaW50byB0aGUgbm90LXBvcnRlZCBwbHVnaW5zIGxpc3QKCjIwMTItMTAtMTggMTQ6MjU6MDUgKzAyMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBIb29rIGVnbGdsZXNzaW5rIGRvY3VtZW50YXRpb24gaW4KCjIwMTItMTAtMTggMTQ6MDk6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2UgY29tcGlsYWJsZSBvbiBkZXNrdG9wIExpbnV4IHdpdGggTUVTQSB0b28KCjIwMTItMTAtMTggMTQ6MDc6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJICBlZ2xnbGVzc2luazogSW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoJICBDb25mbGljdHM6CgkgIGV4dC9NYWtlZmlsZS5hbQoKMjAxMi0xMC0xOCAxMDo0OTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGRlYnVnIG91dHB1dAoKMjAxMi0xMC0xOCAxMDozMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWxzbyBjbGVhciB0aGUgc3VyZmFjZSBvbmNlIHdoZW4gdGhlIGJ1ZmZlciBjb250ZW50IGlzIHByZXNlcnZlZAoKMjAxMi0xMC0xOCAxMDoyMDoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogT25seSBkcmF3IGJsYWNrIGJvcmRlcnMgaWYgdGhlIGRlZmF1bHQgc3dhcCBiZWhhdmlvdXIgb2YgdGhlIHN1cmZhY2UgaXMgdG8gZGVzdHJveSB0aGUgYnVmZmVyCgoyMDEyLTEwLTE4IDA5OjM3OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgdW51c2VkIGxhYmVsCgoyMDEyLTEwLTE4IDAyOjI2OjE3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZhY3RvciBkaXNwbGF5IHJlZ2lvbiByZXNldCB0byBpdHMgb3duIGZ1bmMKCjIwMTItMTAtMTggMDE6NDU6NTEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWx3YXlzIFJlc2V0IGRpc3BsYXlfcmVnaW9uLiogYXQgRUdML0dMRVMgY3R4IHdpcGUKCjIwMTItMTAtMTggMDE6MzY6NDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRmFjdG9yIEVMRy9HTEVTIGNvbnRleHQgY2xlYW51cCBpbnRvIGl0cyBvd24gZnVuYwoKMjAxMi0xMC0xOCAwMDozMzoyNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEcm9wIGRyYWZ0ZWQgZmFzdCByZW5kZXJpbmcgcGF0aCBsb2dpYwoKMjAxMi0xMC0xNyAxNTo1MDowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWxzbyB1cGRhdGUgaGVhZGVyIGZpbGUKCjIwMTItMTAtMTcgMTU6Mzc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByb3ZpZGUgdGhlIHRleHR1cmUgcG9zaXRpb25zIHRvIHRoZSBzaGFkZXIgb24gZXZlcnkgZnJhbWUgdG9vCgoyMDEyLTEwLTE3IDE1OjA0OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEcmF3IGJsYWNrIGJvcmRlcnMgYW5kIGFsc28gdXNlIGEgc2luZ2xlIEdMIGJ1ZmZlciBmb3IgYWxsIHZlcnRpY2VzCgkgIEZpeGVzIHdlaXJkIGFydGlmYWN0cyBvdXRzaWRlIHRoZSB2aWRlbyBmcmFtZSBvbgoJICBRdWFsY29tbSBTbmFwZHJhZ29uIGNoaXBzZXRzIGFuZCBzaG91bGQgYmUgZmFzdGVyCgkgIHRoYW4gZ2xDbGVhcigpIG9uIHRoZSBjb21wbGV0ZSBhcmVhIGFsbCB0aGUgdGltZS4KCjIwMTItMTAtMTcgMTI6NDk6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBtZW1vcnkgbGVhawoKMjAxMi0xMC0xNyAxMDo0NzoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHVzZWxlc3MgZGVidWcgb3V0cHV0IGFkZGVkIGZvciBkZWJ1Z2dpbmcgZWFybGllcgoKMjAxMi0xMC0xNyAxMDowODoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSB3aW5kb3cgc2V0dGluZy9oYW5kbGluZyBhIGJpdCBtb3JlIHRocmVhZHNhZmUKCjIwMTItMTAtMTcgMDk6NTk6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByaW50IHdpbmRvdyBoYW5kbGUgYWZ0ZXIgc2V0dGluZyBpdAoKMjAxMi0xMC0xNiAxNzo1MDowMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNb3ZlIERBUiBxdWVyeSAmIHN0b3JlIHRvIHN1cmZhY2UgaW5pdAoJICBUaGUgREFSIChkaXNwbGF5J3MgcGl4ZWwgYXNwZWN0IHJhdGlvKSBzaG91bGQgcmVtYWluIGEKCSAgY29uc3RhbnQgYXQgcnVudGltZSBzbyB0aGVyZSdzIG5vIHBvaW50IG9uIHJlcGVhdGVkbHkKCSAgcXVlcnkgYW5kIHN0b3JlIHRoaXMgdmFsdWUuIERvaW5nIGl0IGF0IHN1cmZhY2Ugc2V0dXAKCSAgc2hvdWxkIGJlIGVub3VnaC4gQXMgYW4gYWRkZWQgYm9udXMgdGhpcyBjaGFuZ2Ugc2hvdWxkCgkgIG1ha2UgcmVuZGVyaW5nIGEgYml0IGZhc3Rlci4KCjIwMTItMTAtMTYgMTc6MzU6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IHNpZ25hbCB0aGUgR0NvbmQgdG9vIG9mdGVuCgoyMDEyLTEwLTE2IDE3OjA1OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgbXlzZWxmIGFzIGF1dGhvcgoKMjAxMi0xMC0xNiAxNjoyNTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBzdXJlIHRvIGFsd2F5cyByZXNldCB0aGUgZGlzcGxheSByZWdpb24gaW4gc3RhcnQoKQoKMjAxMi0xMC0xNiAxNjoyMzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWxzbyBjb21taXQgbWlzc2luZyBjaGFuZ2VzIHRvIHRoZSBoZWFkZXIgZmlsZQoKMjAxMi0xMC0xNiAxNjoxODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSAgZWdsZ2xlc3Npbms6IEFsc28gaW5jbHVkZSAkKEdTVF9CQVNFX0NGTEFHUykKCjIwMTItMTAtMTYgMTY6MTI6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCByYWNlIGNvbmRpdGlvbgoKMjAxMi0xMC0xNiAxNTo0MDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVmYWN0b3IgcmVuZGVyaW5nIGFuZCBhbGwgY29udGV4dCBzcGVjaWZpYyBHTCB0aGluZ3MgaW50byBhIHNlcGFyYXRlIHRocmVhZAoJICBBbHNvIGZpeGVzIHNvbWUgdGhyZWFkaW5nIHJlbGF0ZWQgcHJvYmxlbXMuCgoyMDEyLTEwLTE2IDE0OjM5OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZS1hZGQgYWNjaWRlbnRpYWxseSByZXZlcnRlZCBjb21taXQKCjIwMTItMTAtMTYgMTQ6MTU6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSB1bm5lZWRlZCBmbG93X2xvY2sKCSAgVXNlIHRoZSBvYmplY3QgbG9jayBpbiB0aGUgZmV3IHBsYWNlcyBuZWNlc3NhcnksIGV2ZXJ5dGhpbmcKCSAgZWxzZSBpcyBwcm90ZWN0ZWQgYnkgb3RoZXIgdGhpbmdzIGFscmVhZHkuCgkgIEFsc28gc3RvcmUgdGhlIGNvbnRleHQgZGlyZWN0bHkgaW5zaWRlIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCSAgaW5zdGVhZCBvZiBhbGxvY2F0aW5nIHNvbWUgbWVtb3J5IGZvciBpdC4KCjIwMTItMTAtMTYgMTE6NTM6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBkZWJ1ZyBvdXRwdXQgYW5kIGNvbnN0YW50IG5hbWVzCgoyMDEyLTEwLTE2IDExOjUxOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBzdGFydCgpL3N0b3AoKSBpcyBjYWxsZWQgaW4gUkVBRFk8LT5OVUxMIGluIGJhc2VzaW5rCgkgIEJ1dCB0aGlzIHNob3VsZCBiZSBjYWxsZWQgaW4gUEFVU0VEPC0+UkVBRFkuCgoyMDEyLTEwLTE1IDEzOjQ0OjI5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBmb3Igb3V0Ym91bmQgREFSIHJlcG9ydGVkIGJ5IEVHTAoJICBTb21lIEVHTCBpbXBsZW1lbnRhdGlvbnMgZG9uJ3QgaG9ub3IgdGhlIHNwZWMKCSAgcmVxdWlyZW1lbnQgb2YgcmV0dXJuaW5nIERBUiB2YWx1ZXMgYXMgdy9oICoKCSAgRUdMX0RJU1BMQVlfU0NBTElORy4KCSAgVGhpcyBjaGFuZ2VzZXQ6CgkgIC0gRml4ZXMgcmVuZGVyaW5nIG9uIHRoZSBTYW1zdW5nIEdhbGF4eSBJSUkKCSAgLSBGaXhlcyB3cm9uZyBjaGVjayBvbiByZXF1aXJlZCAxLjIgRUdMIHZlcnNpb24KCSAgLSBSZW9yZGVycyB0aGUgY29kZSBhIGJpdC4KCjIwMTItMTAtMTUgMTM6Mzg6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjcmFzaGVzIGlmIHRoZXJlIGFyZSBubyBFR0wgb3IgR0xFUyBleHRlbnNpb25zCgoyMDEyLTEwLTEwIDEyOjQyOjQ3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjcmFzaCBhdCBlbGVtZW50IGluc3RhbnRpYXRpb24KCjIwMTItMTAtMTAgMTI6MjY6MDQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogU2F2ZSBvbmUgZXh0cmEgdGV4dHVyZSBsb29rdXAKCjIwMTItMTAtMTAgMTI6MjI6MjQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogTWlub3IgbmFtZWQgaW5kZXggYWNjZXNzIHR3ZWFrIHh5eiAtPiByZ2IKCjIwMTItMTAtMTAgMTI6MTg6MjcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogQXNzb3J0ZWQgZml4ZXMgdG8gb3B0aW1pemVkIGNvZGUKCSAgLSBEb24ndCBjb3B5IG92ZXIgb3BvcyBhcyBpdCdzIGFscmVhZHkgYSB2ZWMyCgkgIC0gRml4IGluZGV4IG9yZGVyIGFjY2VzcyBhdCBmcmFnX1lVWTJfWVZZVV9VWVZZX3Byb2cKCjIwMTItMTAtMTAgMTE6NTA6MjggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogUGxhbmFyIFlVViBjb252ZXJ0ZXJzIG9wdGltaXphdGlvbgoJICAtIFVzZSBjb25zdHMgZm9yIHRoZSB0cmFuc2Zvcm0ncyBvZmZzZXQgYW5kIGNvZmZpY2llbnRzIHZhbHVlcwoJICAtIFVzZSBkb3QgcHJvZHVjdCBpbnN0ZWFkIG9mIG11bHQgYW5kIGFkZAoJICAtIEF2b2lkIHVubmVlZGVkIHRleHR1cmUgbG9va3VwcwoKMjAxMi0xMC0xMCAxMTowNTowNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIEdlZ2xnbGVzc2luazogTFNMOiBPcHRpbWl6ZSBmcmFnX1lVWTJfWVZZVV9VWVZZX3Byb2cKCSAgLSBBdm9pZCByZXBlYXRlZGx5IHBlcmZvcm1pbmcgdGhlIHRleHR1cmUgbG9va3VwCgkgIC0gVXNlIGNvbnN0cyBmb3IgdGhlIHRyYW5zZm9ybSdzIG9mZnNldCBhbmQgY29mZmljaWVudHMgdmFsdWVzCgkgIC0gVXNlIHRoZSBkb3QgcHJvZHVjdCBpbnN0ZWFkIG9mIHRoZSBleHBsaWNpdCBtdWx0IGFuZCBhZGQKCjIwMTItMTAtMTAgMDM6MDI6MjEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogRHJvcCB1bm5lZGVkIG54eSB2ZWMyCgoyMDEyLTEwLTEwIDAyOjE2OjM1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBtaXNzaW5nIGRvdWJsZSBxdW90YXRpb24gbWFyayBpbiBHTFNMIGNvZGUKCjIwMTItMTAtMTAgMDI6MDQ6MTggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogT3B0aW1pemUgZnJhZ19BWVVWX3Byb2cKCSAgLSBBdm9pZCByZXBlYXRlZGx5IHBlcmZvcm1pbmcgdGhlIHRleHR1cmUgbG9va3VwCgkgIC0gVXNlIGNvbnN0cyBmb3IgdGhlIHRyYW5zZm9ybSdzIG9mZnNldCBhbmQgY29mZmljaWVudHMgdmFsdWVzCgkgIC0gVXNlIHRoZSBkb3QgcHJvZHVjdCBpbnN0ZWFkIG9mIHRoZSBleHBsaWNpdCBtdWx0IGFuZCBhZGQKCjIwMTItMTAtMDkgMjM6MzU6MjIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogR3N0RWdsR2xlc1Npbmsgc3RydWN0CgoyMDEyLTEwLTA5IDIzOjA0OjA1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEdzdEVnbEdsZXNCdWZmZXIgc3RydWN0IChEUkFGVCkKCjIwMTItMTAtMDkgMjI6NTQ6NDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogR3N0RWdsR2xlc0ltYWdlRm10IHN0cnVjdAoKMjAxMi0xMC0wOSAyMjo0MDoxOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBHc3RFZ2xHbGVzUmVuZGVyQ29udGV4dCBzdHJ1Y3QKCjIwMTItMTAtMDkgMTc6MDA6NTIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQXNzb3J0ZWQgZG9jIGFuZCByZW9yZGVyaW5nIGZpeGVzCgoyMDEyLTEwLTA5IDE2OjI1OjQ2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEVsZW1lbnQgcHJvcGVydGllcwoJICBCcmllZiBleHBsYW5hdG9yeSBjb21tZW50cyBwbHVzIHNvbWUgcmVvcmRlcmluZwoJICB0byBncm91cCBkZWZhdWx0IHNldHRpbmcgb2YgcHJvcGVydGllcyBhbmQgcnVudGltZQoJICBmbGFncyB2YWx1ZXMuCgoyMDEyLTEwLTA5IDE3OjIwOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgWVZZVQoKMjAxMi0xMC0wOSAxMTo0ODowOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBHTFNMIFNoYWRlcnMKCSAgQnJpZWYgZXhwbGFuYXRvcnkgY29tbWVudHMgcGx1cyBzb21lIHJlcmRlcmluZwoJICB0byBncm91cCBwYWNrZWQvcGxhbmFyIGNvbnZlcnRlcnMuCgoyMDEyLTEwLTA5IDExOjAwOjI0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEVsZW1lbnQgb3ZlcnZpZXcKCjIwMTItMTAtMDggMTI6MTA6MjUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVmYWN0b3IgUkVPUkRFUiBzaGFkZXIuCgkgIEF2b2lkIHVubmVlZGVkbHkgY2FsbGluZyB0ZXh0dXJlMkQoKSAzIGNvbnNlY3V0aXZlIHRpbWVzLgoKMjAxMi0xMC0wNCAxNTo0Nzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGhhbmRsaW5nIG9mIGNhcHMgY2hhbmdlcyBieSBvbmx5IHJlbGVhc2luZyB3aGF0IG5lZWRzIHRvIGJlIHJlbGVhc2VkCgkgIEFuZCBub3QgdGVybWluYXRpbmcgdGhlIGRpc3BsYXkgY29ubmVjdGlvbgoKMjAxMi0xMC0wNCAwMjoxNToyNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNb3ZlIGRpc3BsYXlfcmVnaW9uIHJlc2V0IHRvIGxvY2tlZCBzZWN0aW9uCgoyMDEyLTEwLTA0IDAxOjU2OjEwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlc2V0IGRpc3BsYXlfcmVnaW9uIGRpbXMgYXQgY2FwcyByZW5lZ28KCjIwMTItMTAtMDQgMDE6MzM6MzEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29zbWV0aWNzCgoyMDEyLTEwLTA0IDAxOjI5OjQwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGFjY2VzcyBsb2NhbCB2YWx1ZSBmcm9tIHN0cnVjdAoKMjAxMi0xMC0wMyAyMzo0MTo1MiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBUZXJtaW5hdGUgZGlzcGxheSBjb25uZWN0aW9uIGF0IGNhcHMgcmVuZWdvCgoyMDEyLTEwLTAyIDE3OjU2OjE0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvc21ldGljcwoKMjAxMi0xMC0wMyAxMjozMjozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogT25seSBhdHRhY2ggdGhlIGNvbnRleHQgb25jZSB0byB0aGUgc3RyZWFtaW5nIHRocmVhZAoKMjAxMi0xMC0wMyAxMDo1MzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSB0aGUgY29udGV4dCBjdXJyZW50IGZvciB0aGUgdGhyZWFkIGFuZCB1bmJpbmQgaXQgYWdhaW4gYXJvdW5kIGV2ZXJ5IHVzZQoJICBUaGlzIGZpeGVzIHNvbWUgY3Jhc2hlcyBhbmQgbGVha2luZyBvZiBvdXIgY29udGV4dCBpbnRvIG90aGVyCgkgIE9wZW5HTCBjb2RlIG9uIHRoZSBzYW1lIHRocmVhZC4KCjIwMTItMTAtMDIgMTc6Mjk6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEltcHJvdmUgY2xlYW51cAoKMjAxMi0xMC0wMiAxNTo0NjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHVudXNlZCBsYWJlbAoKMjAxMi0xMC0wMiAxNTo0MjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWxsb3cgc2V0dGluZyBhIE5VTEwgaGFuZGxlCgoyMDEyLTEwLTAyIDA5OjQ4OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZXZlcnQgIkRvIG5vdCB1cGRhdGVfc3VyZmFjZV9kaW1zKCkgb25jZSBwZXIgZnJhbWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgODIxMDMzNzZlZGUyYmM3YzYzZGQ2OTlmNTk4MjE2ODY2MGY2Nzg1Mi4KCSAgV2UgaGF2ZSB0byB1cGRhdGUgdGhlIHN1cmZhY2UgZGltZW5zaW9ucyBvbiBldmVyeSBmcmFtZSB0bwoJICBtYWtlIHN1cmUgdGhhdCB3ZSBnZXQgbm90aWZpZWQgYWJvdXQgdXBkYXRlcy4gVGhpcyBoYXBwZW5zCgkgIGZvciBleGFtcGxlIGlmIHRoZSBBbmRyb2lkIHdpbmRvdyBnZXRzIHJlLWxheW91dGVkIGJlY2F1c2UKCSAgYSB3aWRnZXQgdGFrZXMgbW9yZSBzcGFjZSB0aGFuIGJlZm9yZS4KCjIwMTItMTAtMDIgMDE6NDM6MzUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG8gbm90IHVwZGF0ZV9zdXJmYWNlX2RpbXMoKSBvbmNlIHBlciBmcmFtZQoJICBBbmQuLiBVcGdyYWRlIGRlYnVnIG1lc3NhZ2UgdG8gd2FyZ2luZyBvbiB3ZWlyZCBEQVIuCgkgIENvcnJlY3QgZml4IHRvIGF2b2lkIHNwYW1pbmcgd2l0aCB0aGlzIG1lc3NhZ2UKCSAgb25jZSBwZXIgZWFjaCBmcmFtZSBpcyBhdm9pZCBjYWxsaW5nIHVwZGF0ZV9zdXJmYWNlX2RpbXMoKQoJICBhdCByZW5kZXJfYW5kX2Rpc3BsYXkoKS4gVGhpcyBpcyBoYW5kbGVkIGF0IGVnbCBzdXJmYWNlCgkgIGluaXQuCgoyMDEyLTEwLTAxIDE2OjM2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBbmQgZG93bmdyYWRlIGFub3RoZXIgd2FybmluZyB0b28KCjIwMTItMTAtMDEgMTY6MTQ6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvd25ncmFkZSBHU1RfV0FSTklORyB0byBHU1RfREVCVUcKCjIwMTItMTAtMDEgMDk6NDQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzb21lIHt9IHRvIGlmIHN0YXRlbWVudHMgbWFrZSB0aGVtIHdvcmsgYXMgZXhwZWN0ZWQKCjIwMTItMDktMzAgMjM6MDc6NDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRHJvcCBzdGFsZSBkZWZpbmVzIGZvciBtYXggZnJhbWUgc2l6ZQoKMjAxMi0wOS0zMCAyMzowNjoxOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBTbWFsbCBjb21tZW50YXJ5IGZpeGVzIGhlcmUgYW4gdGhlcmUKCjIwMTItMDktMjggMTE6NDg6MjMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQXZvaWQgc2V0dGluZyBoZWlnaHQgb3Igd2lkdGggdHdpY2UKCjIwMTItMDktMjcgMDE6MTg6MzcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogVXNlIFBBUi9EQVIgdG8gc2V0IHZpZXdwb3J0CgoyMDEyLTA5LTI3IDE0OjI4OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb3JyZWN0bHkgcmVzaXplIGlmIHRoZSBzdXJmYWNlIGRpbWVuc2lvbnMgY2hhbmdlCgoyMDEyLTA5LTI3IDE0OjA4OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVcGRhdGUgc3VyZmFjZSBkaW1lbnNpb25zIG9uIGV2ZXJ5IGJ1ZmZlcgoKMjAxMi0wOS0yNyAxNDowMjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogTW9yZSBjb25zaXN0ZW50IG5hbWluZyBvZiBzaGFkZXIgcmVsYXRlZCB2YXJpYWJsZXMKCjIwMTItMDktMjcgMTM6NTc6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFNvbWUgdmFyaWFibGUgbmFtZSBjbGVhbnVwCgoyMDEyLTA5LTI3IDEzOjUzOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgZGVmYXVsdC13aWR0aC9oZWlnaHQgcHJvcGVydGllcwoJICBUaGVzZSBhcmUgY29tcGxldGVseSB1bm5lZWRlZAoKMjAxMi0wOS0yNSAxMzozMjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGRvdWJsZSBmcmVlKCkKCjIwMTItMDktMjUgMDk6MDY6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGxlYWsgRUdML0VTIHJlbmRlciBjb250ZXh0CgoyMDEyLTA5LTI1IDAxOjM5OjIxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFB1dCBFR0wvR0xFUyBjb250ZXh0IHZhcnMgb24gdGhlaXIgb3duIHN0cnVjdAoKMjAxMi0wOS0yNCAxMToxOTozMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL1RPRE86CgkgIGVnbGdsZXNzaW5rOiBTbWFsbCBUT0RPIHJlZm9ybWF0dGluZwoKMjAxMi0wOS0yNCAxMDoyMzoyOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL1RPRE86CgkgIGVnbGdsZXNzaW5rOiBBZGQgVE9ETyBmaWxlCgoyMDEyLTA5LTI0IDE0OjQzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb3JyZWN0bHkgaW1wbGVtZW50IDo6ZXhwb3NlKCkKCSAgV2UgZG9uJ3QgbmVlZCB0aGUgcGFzdCBidWZmZXIgZm9yIHRoaXMsIHRoZSBvbGQgb25lIGlzIHN0aWxsIGF2YWlsYWJsZQoJICBhcyB0ZXh0dXJlIGFuZCB3ZSBqdXN0IG5lZWQgdG8gZHJhdyBvdXIgcmVjdGFuZ2xlIGFnYWluLgoKMjAxMi0wOS0yNCAxMzo0ODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWxsb3cgc2V0dGluZyBhbm90aGVyIHdpbmRvdyBmb3IgdGhlIG5leHQgdGltZSB3ZSByZWNvbmZpZ3VyZSBldmVyeXRoaW5nCgoyMDEyLTA5LTI0IDEyOjM2OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBbHNvIHVucmVmIGN1cnJlbnQgY2FwcyBhZnRlciB1c2FnZQoKMjAxMi0wOS0yNCAxMjozMjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogSW1wbGVtZW50IHN1cHBvcnQgZm9yIGNhcHMgY2hhbmdlcwoKMjAxMi0wOS0yNCAxMjoyNzoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogTW9yZSBjbGVhbnVwIGFuZCBtYWtpbmcgdGhlIGVsZW1lbnQgcmV1c2FibGUKCjIwMTItMDktMjQgMTI6MDU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByb3Blcmx5IGluaXQvcmVsZWFzZSByZXNvdXJjZXMgd2hlbiBnb2luZyBmcm9tIE5VTEwtPlJFQURZIGFuZCB0aGUgb3RoZXIgd2F5IGFyb3VuZAoKMjAxMi0wOS0yNCAxMTo0ODo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogR2VuZXJhdGUgdGhlIHNpbmsgY2FwcyBleGFjdGx5IG9uY2UKCjIwMTItMDktMjQgMTE6MTc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjb2RlIHN0eWxlIGEgYml0IHRvIHN0b3AgY29uZnVzaW5nIGluZGVudAoKMjAxMi0wOS0yNCAxMToxNTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHN1cHBvcnQgZm9yIFlVWTIgYW5kIFVZVlkKCjIwMTItMDktMjQgMTE6MDE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFNvbWUgcHJvcGVydHkgY2xlYW51cAoKMjAxMi0wOS0yNCAxMDo0NTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIHRoZSByZW1haW5pbmcgUkdCIGZvcm1hdHMKCjIwMTItMDktMjQgMTA6MjM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBZNDQ0LCBZNDJCIGFuZCBZNDFCLCBqdXN0IGJlY2F1c2UgaXQncyBzbyBlYXN5CgoyMDEyLTA5LTI0IDEwOjAyOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc29tZSBzaW1wbGUgVE9ET3MKCjIwMTItMDktMjQgMDE6MDg6MjIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTG9jayB3aGlsZSBhbHRlcmluZyBkaXNwbGF5IHJlZ2lvbiBjb29yZHMKCjIwMTItMDktMjQgMDA6Mjc6MjMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IF9nZXRfY29tcGF0X2Zvcm1hdF9mcm9tX2NhcHMoKSBsb2dpYwoJICBJdCdzIGEgZ2V0dGVyIHNvIGl0IHNob3VsZG4ndCBtZXNzaW5nIHdpdGggdGhlIHNpbmsgY29udGV4dC4KCSAgQWRkaW5nIGluc3VsdCB0byBpbmp1cnkgaXQgd2FzIHNldHRpbmcgc2VsZWN0ZWRfZm10IHdpdGhvdXQKCSAgbG9ja2luZy4KCSAgVGhlIGFzc29jaWF0ZWQgY2hhbmdlcyB0byB0aGUgYnVmZmVyIGZ1bmN0aW9ucyBhcmUgbWVyZWx5CgkgIG1ha2UtaXQgYnVpbGQgZml4ZXMuIFRob3NlIGZ1bmN0aW9ucyBhcmUgYmFyZWx5IGRyYWZ0ZWQKCSAgYW5kIGluIFdJUCBzdGF0ZS4KCjIwMTItMDktMjMgMjM6MDc6MjkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRHJvcCB1bm5lZGVkIGluaXRpYWwgc2V0IHRvIE5VTEwKCjIwMTItMDktMjMgMjI6MzM6NTggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogTWlub3IgZm9ybWF0dGluZyBhbmQgY29tbWVudCBmaXhlcwoKMjAxMi0wOS0yMSAxMjoxMjoyNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBDbGVhbi11cCBnbC9lZ2wgYWxsb2NhdGlvbnMgYXQgX3N0b3AoKQoJICBBbHNvLCBjb25kaXRpb25hbHkgZGVzdHJveSB3aW5kb3cgaWYgdGhlIHNpbmsgY3JlYXRlZCBpdHMgb3duLgoKMjAxMi0wOS0yMSAxNzowODo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIE5WMTIgYW5kIE5WMjEKCSAgQWxzbyBZVVkyIGFuZCBVWVZZIGJ1dCB0aGlzIGlzIGRpc2FibGVkIGZvciBub3cgYXMgaXQKCSAgZG9lc24ndCB3b3JrIGNvbXBsZXRlbHkgeWV0LiBTb21ldGhpbmcgaXMgd3Jvbmcgd2l0aAoJICB0aGUgY2hyb21hLgoKMjAxMi0wOS0yMSAxNTo0NDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIEk0MjAgYW5kIFlWMTIgY29sb3IgZm9ybWF0cwoKMjAxMi0wOS0yMSAxNDowNTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJlcGFyYXRpb25zIGZvciBzdXBwb3J0aW5nIG11bHRpcGxlIHRleHR1cmVzIGZvciBtb3JlIFlVViBmb3JtYXRzCgoyMDEyLTA5LTIxIDEzOjQyOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBVc2UgdGhlIGF0dHJpYiBsb2NhdGlvbnMgYXMgcmVhbGx5IHVzZWQgaW5zaWRlIHRoZSBzaGFkZXIKCjIwMTItMDktMjEgMTI6NTM6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlYWxseSBkZWNvdXBsZSB2ZXJ0ZXggYW5kIHRleHR1cmUgcG9zaXRpb25zIGluIHRoZSBzaGFkZXIKCjIwMTItMDktMjEgMTI6NDU6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERlY291cGxlIHRleHR1cmUgYW5kIHZlcnRleCBwb3NpdGlvbnMKCjIwMTItMDktMjEgMTI6MTQ6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlb3JkZXIgdmVydGV4IHZhbHVlIG9yZGVyIHRvIG1ha2UgYSBiaXQgbW9yZSBzZW5zZQoKMjAxMi0wOS0yMSAwMTowOToxMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBIYW5kbGUgZnJhbWUgc2NhbGluZyB0byBmaWxsIHN1cmZhY2UKCjIwMTItMDktMjEgMDA6MDk6MDYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRHJhZnQgc2V0X3JlbmRlcl9yZWN0YW5nbGUoKSBmcm9tIHRoZSB4T3ZlcmxheSBpbnRlcmZhY2UKCjIwMTItMDktMjAgMjI6NTA6MzEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHN0YWxlIGNvbW1lbnQKCjIwMTItMDktMjAgMjI6NDE6MTAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTW92ZSBWQk8gc2V0dXAgdG8gc2V0Y2FwcwoKMjAxMi0wOS0yMCAyMjoxMTowOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBkbyBjb250ZXh0IG9wcyBhdCByZW5kZXIKCSAgV2UgZG9uJ3QgbmVlZCB0byByZXBlYXRlZGx5IGNhbGwKCSAgZWdsTWFrZUN1cnJlbnQoKSB3aGlsZSB1c2luZyB0aGUKCSAgc2FtZSBjb250ZXh0IGFueXdheS4KCjIwMTItMDktMjAgMjI6MDE6MjAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgY2xlYXIgc3VyZmFjZSBjb2xvciBhdCByZW5kZXIKCjIwMTItMDktMjAgMTc6MjI6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbmFtZSBzaGFkZXIgdmFyaWFibGVzIHRvIG1ha2UgbW9yZSBzZW5zZQoKMjAxMi0wOS0yMCAxNzoxNDoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIEFZVVYKCjIwMTItMDktMjAgMTc6MDI6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlb3JkZXIgY2FwcyBhIGJpdCB0byBtYWtlIG1vcmUgc2Vuc2UKCjIwMTItMDktMjAgMTY6NTA6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFNldCByYW5rIHRvIFBSSU1BUlkKCjIwMTItMDktMjAgMTY6MjU6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBSR0JBCgoyMDEyLTA5LTIwIDE2OjIxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb3JyZWN0bHkgZ2VuZXJhdGVkIGNhcHMgZm9yIHRoZSBzdXBwb3J0ZWQgZm9ybWF0cwoKMjAxMi0wOS0yMCAxNjowODoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIDo6Z2V0X2NhcHMoKSB2ZnVuYyB0aGF0IHJldHVybnMgdGhlIGFjdHVhbGx5IHN1cHBvcnRlZCBjYXBzCgoyMDEyLTA5LTIwIDE1OjU2OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBbHNvIHJlcXVpcmUgYSBjb25maWd1cmF0aW9uIHdpdGggRUdMX1NVUkZBQ0VfVFlQRSBjb250YWluaW5nIEVHTF9XSU5ET1dfQklUCgoyMDEyLTA5LTIwIDE0OjUwOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDktMTkgMTk6MjY6NTQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ2xlYXIgc3VyZmFjZSB0byBibGFjayBieSBkZWZhdWx0CgoyMDEyLTA5LTE5IDE5OjIzOjUwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugc3VyZSB3ZSBnZXQgYSBjb25maWcgd2UgY2FuIHVzZSB3aXRoIEdMRVMyCgoyMDEyLTA5LTE5IDE5OjEyOjMwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IHNldF93aW5kb3dfaGFuZGxlKCkgaGFzIGJlZW4gdGVzdGVkIHRvIHdvcmsgbm93CgoyMDEyLTA5LTE5IDEyOjI5OjEzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEF2b2lkIGF1dG9zY2FsaW5nIGJ5IGRlZmF1bHQKCjIwMTItMDktMTggMTQ6NTg6NDMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQXZvaWQgcmVwZWF0ZWRseSBzZXR0aW5nIDJEIHJlc2l6aW5nIHBhcmFtcwoJICBNb3ZlZCB0byBpbml0aWFsIHRleHR1cmUgc2V0dXAgc28gaXQgaGFwZW5zCgkgIGp1c3Qgb25jZSB3aGlsZSBvbiB0aGUgc2FtZSBjb250ZXh0LgoKMjAxMi0wOS0xOCAxMjowNDoyMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBdm9pZCBpbml0aWFsaXppbmcgRUdMIGF0IF9zZXRfd2luZG93X2hhbmRsZSgpCgkgIF9zdGFydCgpIHNob3VsZCB0YWtlIGNhcmUgb2YgdGhhdC4KCSAgVGhpcyBjaGFuZ2UgYXN1bWVzIF9zZXRjYXBzKCkgd2lsbAoJICBoYXBwZW4gYWx3YXlzIGFmdGVyIF9zdGFydCgpIGlzCgkgIGRvbmUuCgoyMDEyLTA5LTE4IDEwOjQzOjM4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGFzayBmb3IgYSB3aW5kb3cgaWYgd2UgYWxyZWFkeSBoYXZlIG9uZQoKMjAxMi0wOS0xOCAxMDozMToyNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBGaXggRUdMIGF0dHJpYnMgdmFyIG5hbWluZwoKMjAxMi0wOS0xOCAwMjozMjoyNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggc2xvdyBwYXRoIHJlbmRlcmluZyBvbiBBbmRyb2lkCgkgIFNwZWNpZnkgbWlzc2luZyBhbmQgbWFuZGF0b3J5IHBhcmFtcyBmb3IgbnBvdAoJICBCZWZvcmUgY2FsbGluZyBnbFRleEltYWdlMkQuCgkgIEluIHBhcnRpY3VsYXIsIF9XUkFQX1QgYW5kIF9XUkFQX1MgbmVlZCB0byBiZQoJICBzZXQgdG8gR0xfQ0xBTVBfVE9fRURHRSB0byBhdm9pZCBhbGwtYmxhY2sKCSAgcmVuZGVyaW5nIHdpdGggbnBvdCBzaXplZCBmcmFtZXMuCgoyMDEyLTA5LTE4IDAwOjUxOjM2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCB0ZXN0IG9uIHVzYWJsZSBlZ2xjb25maWdzIHJldHVybmVkCgoyMDEyLTA5LTE3IDIzOjA1OjI5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERyb3Agc3RhbGUgZXJyb3JfbG9ja2VkIGxhYmVsCgoyMDEyLTA5LTE3IDIzOjA0OjA1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENsZWFudXAgc3RhbGUgY29kZSBjb21tZW50cwoKMjAxMi0wOS0xNyAxODowMDoxNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBHbFZpZXdQb3J0KCkgc2hvdWxkIHVzZSBhY3R1YWwgc3VyZmFjZSBzaXplCgoyMDEyLTA5LTE3IDE3OjIxOjI2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEF2b2lkIHJlaW5pdGluZyBFR0wgYWZ0ZXIgdGhlIGZpcnN0IHRpbWUKCjIwMTItMDktMTcgMTM6NDQ6MDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXNlIGNvcnJlY3QgdGVtcGxhdGUgY2FwcwoKMjAxMi0wOS0xNyAxMjo1NDowNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggbWlzc2luZyB0ZXh0dXJlIHNldHVwIGJpdHMKCjIwMTItMDktMTcgMTE6NTc6MjQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIGVycm9yIGNoZWNraW5nIG9uIGVnbFN3YXBCdWZmZXJzCgoyMDEyLTA5LTE3IDExOjQwOjQ5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBzdGFsZSZ3cm9uZyAwLjUgYWxwaGEgYmxlbmQKCjIwMTItMDktMTcgMTA6NTY6MTQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIGZsb2F0IHByZWNpc2lvbiBzcGVjaWZpZXIgdG8gZnJhZ21lbnQgc2hhZGVyCgkgIFRoaXMgaXMgcmVxdWlyZWQgYnkgR0xFUyBhbmQgZml4ZXMgY29tcGlsYXRpb24gb2YgZnJhZ21lbnQKCSAgc2hhZGVyIHByb2cuCgoyMDEyLTA5LTE3IDEwOjQ3OjM5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBsb2cgcmVwb3J0aW5nIGF0IHNoYWRlciBjb21waWxhdGlvbiBmYWlsdXJlCgoyMDEyLTA5LTE2IDIyOjQzOjM4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzb21lIG1pc3NpbmcgY2hlY2tzIG9uIHNoYWRlciBvcHMKCSAgLSBDaGVjayB3aGV0aGVyIHRoZXJlIGlzIHNoYWRlciBjb21waWxlciBzdXBwb3J0CgkgIGFuZCBiYWlsIG91dCBvdGhlcndpc2UuCgkgIC0gQWRkIGNoZWNrcyBvbiBjb21waWxlIGFuZCBsaW5raW5nIG9wcwoKMjAxMi0wOS0xNCAyMDo0OTo0OCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBGaXggc2V0dXAgY2hhaW4gbG9naWMKCSAgTW9zdGx5IGEgcHJvY2VkdXJhbCByZW9yZGVyaW5nLiBJZGVhIGlzIHRvIGF2b2lkCgkgIHRyeWluZyB0byBzZXR1cCBhIHN1cmZhY2Ugd2l0aG91dCBhIGRpc3BsYXkuVGhpcwoJICBjaGFuZ2UgcmVsaWVzIG9uIHRoZSBhc3VtcHRpb24gdGhhdDoKCSAgMS4tIHNldF93aW5kb3dfaGFuZGxlKCkgY2FuIGhhcHBlbiBhdCBhbnkgdGltZQoJICAyLi0gc2V0Y2FwcyB3aWxsIG5ldmVyIGdldCBjYWxsZWQgYmVmb3JlIF9zdGFydCgpCgkgIGlzIGRvbmUuCgkgIElmIGJvdGggY29uZGl0aW9ucyBhcmUgbWVldCB0aGUgbmV3IHByb2NlZHVyZQoJICBzaG91bGQgd29yayBhcyBleHBlY3RlZC4KCjIwMTItMDktMTQgMTU6NTk6MDUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogV0lQOiBSZW9yZGVyIGxvY2tpbmcKCjIwMTItMDktMTMgMjM6MjM6MDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHhPdmVybGF5IGxvZ2ljCgkgIFNldmVyYWwgZml4ZXMgZGVhbGluZyB3aXRoIGNvcnJlY3Qgd2luZG93CgkgIGNyZWF0aW9uIGFuZCBzZXRfaGFuZGxlKCkgb3BzLiBUZXN0ZWQgb24KCSAgWDExL21lc2Egd2l0aCBpbnRlcm5hbCB3aW5kb3cgY3JlYXRpb24uCgoyMDEyLTA5LTEzIDAwOjU1OjMzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFjdHVhbGx5IHRlc3QgRUdMIGNvbmZpZ3MgYmVmb3JlIGNsYWltaW5nIHN1cHBvcnQKCjIwMTItMDktMTMgMDA6MTE6NDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ2FwcyBuZWdvIEVHTCBmaXhlcwoJICAtIEZpeCBhbGxvYyBsb2wgb24gZm9ybWF0IGxpc3Q6IEFza2VkIGZvciAyIHNsaWNlcyBhbmQgdXNlZCAzLgoJICAtIFJlb3JkZXJlZCBkaXNwbGF5ICYgY29udGV4dCBpbml0IGxvZ2ljIHRvIHByZXBhcmUgZm9yIGFjdHVhbAoJICBjb25maWcgY2hlY2tpbmcgYmVmb3JlIGNsYWltaW5nIHN1cHBvcnQgZm9yIGEgZ2l2ZW4gZm9ybWF0LgoJICBDaGFuZ2UgZGVhbHMgYmFzaWNhbGx5IHdpdGggc2V0dGluZyB1cCBFR0wgZGlzcGxheSBhdCBzdGFydCgpCgkgIGFuZCBjaG9vc2UgYW4gRUdMIGNvbmZpZyBvbmx5IGF0IHNldGNhcHMgdGltZS4KCjIwMTItMDktMTIgMjI6MTE6MzkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQ2FwcyBuZWdvLiBTdGFydCBleHRlbmRpbmcgUkdCIHN1cHBvcnQgdG8gYSBzZXQuCgoyMDEyLTA5LTEyIDE2OjE5OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGJ1aWxkIG9mIHN0YXRpYyBwbHVnaW4KCjIwMTItMDktMTIgMDk6Mjg6MjIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRHJvcCB3cm9uZyBmb3JtYXQgdGVzdCBvbiBfc2V0Y2FwcyAoZHJhZnQgbGVmdG92ZXIpCgoyMDEyLTA5LTExIDEzOjU0OjA5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFN1cHBvcnQgUkdCMjQgYnkgZGVmYXVsdAoKMjAxMi0wOS0xMSAxMzo1MToyNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBJbnN0cnVtZW50IEVHTCBlcnJvciByZXBvcnRpbmcKCjIwMTItMDktMTEgMTI6MDQ6MzAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29ycmVjdGx5IHJldHVybiBHc3RGbG93UmV0dXJuIGZyb20gcmVuZGVyX2FuZF9kaXNwbGF5KCkKCjIwMTItMDktMTEgMTE6NTE6MjggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTW92ZSBWQk8gc2V0dXAgdG8gaXQncyBvd24gZnVuY3Rpb24KCjIwMTItMDktMTEgMTA6MjA6MTYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHJlbmRlcl9hbmRfZGlzcGxheSBsb2dpYwoJICBTd2l0Y2ggcHJvY2VkdXJlIGFjY29yZGluZyB0byBlbmFibGVkIHJlbmRlcmluZyBwYXRoCgoyMDEyLTA5LTEwIDIyOjU5OjU3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBzYW1wbGUgbGF1bmNoIGxpbmUgd2l0aCBkaXNhYmxlZCB3aW5kb3cgY3JlYXRpb24KCjIwMTItMDktMTAgMjI6NDE6NTIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogUmVuYW1lIHN0YWxlIGFuZHJvaWQgbGVmdG92ZXIKCjIwMTItMDktMTAgMjA6MjI6MjIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvZ3N0dmlkcm9pZHNpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0dmlkcm9pZHNpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE1vdmUgZWdsZ2xlcyBTaW5rIHRvIGV4dC8gIzIKCjIwMTItMDktMTAgMjA6MDA6NTcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9BbmRyb2lkLm1rOgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0dmlkcm9pZHNpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0dmlkcm9pZHNpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkgIGVnbGdsZXNzaW5rOiBNb3ZlIGVnbGdsZXMgU2luayB0byBleHQvCgoyMDEyLTEwLTE4IDE0OjAzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbnNsZXM6IEFkZCB0aGUgb3BlbnNsZXMgcGx1Z2luIHRvIHRoZSBsaXN0IG9mIG5vdCBwb3J0ZWQgcGx1Z2lucwoKMjAxMi0xMC0xOCAxMzo1Njo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL29wZW5zbGVzL01ha2VmaWxlLmFtOgoJICBvcGVuc2xlczogSW50ZWdyYXRlIGludG8gYnVpbGQgc3lzdGVtCgoyMDEyLTEwLTEyIDEwOjA4OjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzc2luazogUmV0dXJuIDAgZGVsYXkgaWYgdGhlIHBsYXllciBvYmplY3QgaXMgaW4gUEFVU0VEIHN0YXRlCgoyMDEyLTEwLTAxIDEyOjU0OjE1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IGZpeGVzIG5vaXNlIG9uIHNlZWtlaW5nCgoyMDEyLTEwLTAxIDExOjQ2OjUwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBjaGFpbiB1cCBvbiBfY2xlYXJfYWxsCgoyMDEyLTEwLTAxIDExOjE0OjI0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IGltcGxlbWVudCB0aGUgcmluZ2J1ZmZlciBjbGVhcl9hbGwgdm1ldGhvZCB0b28KCjIwMTItMTAtMDEgMTA6NTk6MDggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzOiBpbml0aWFsIGF0dGVtcHQgdG8gcmVkdWNlIHRoZSBzcmMgbGF0ZW5jeQoKMjAxMi0wOS0yOSAxOTowMDoxMyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzOiBzcHJpbmtsZSBjb21tZW50cyBhbmQgY29zbWV0aWMgZml4ZXMKCjIwMTItMDktMjggMTU6MTA6MTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IGNoZWNrIGZvciBkZXZpY2Ugb3V0cHV0cyBpbiB0aGUgbWl4ZXIKCjIwMTItMDktMjggMTQ6Mzk6MDEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IGRyb3AgNDhrSHogc2FtcGxlIHJhdGUKCSAgT3BlblNMIEVTIGltcGxlbWVudGF0aW9uIGluIEFuZHJvaWQgaXMganVzdCBhICdmYWNhZGUnIEFQSSBvbiB0b3Agb2YKCSAgQXVkaW9GbGluZ2VyIHdoaWNoIHdpbGwgZG93bnNhbXBsZSA0OGtIeiBpbnRvIDQ0LjFrSHogYmVmb3JlCgkgIGRlbGl2ZXJpbmcgdGhlIGF1ZGlvIHRvIHRoZSB1bmRlcmxheWluZyBoYXJkd2FyZS4KCSAgV2UgZm91bmQgdGhhdCBpdCBzdWZmZXIgc29tZSBzb3J0IG9mIHVuZGVycnVuIHdoZW4gdGhlIGRvd25zYW1wbGUKCSAgZW50ZXJzIGluIGFjdGlvbiBzbyByZWxheSBvbiBvdXIgZ29vZCByZXNhbXBsZXIgdG8gdGFrZSBjYXJlIG9mIHRoYXQKCSAgYW5kIGZpeCB0aGUgY2xpY2tzIGlzc3VlLiBBbmQgZ2V0IGFuIGV4dHJhIGJvbnVzIG9mIGEgbG93ZXIgbGF0ZW5jeS4KCjIwMTItMDktMjcgMTk6MjQ6NTAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IGNoYW5nZSB0aGUgZGVmYXVsdHMgdG8gdXNlIDIwIG1zIHJpbmdidWZmZXIgc2VnbWVudHMKCSAgSW4gbXkgbmV4dXM3IHNlZW1zIHRoYXQgdGhlIGludGVybmFsIG1pbiBidWZmZXIgc2l6ZSBpcyAyMCBtcyBzbyBtYWtlCgkgIG91ciBzZWdtZW50cyBtYXRjaC4KCjIwMTItMDktMjcgMTg6MzM6MDkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogZW5zdXJlIHRoYXQgd2UgcmVnaXN0ZXIgdGhlIGNhbGxiYWNrIG9ubHkgaW4gU1RPUFBFRAoJICBGaXhlcyB0aGUgZXJyb3IgcmVnaXN0ZXJpbmcgdGhlIGNhbGxiYWNrIG9uIHRoZSBQTEFZSU5HIC0+IFBBVVNFIC0+CgkgIFBMQVlJTkcgc3RhdGUgY2hhbmdlIHNlcXVlbmNlLgoKMjAxMi0wOS0yNyAxNzo0NjoyNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogY2FwIHF1ZXVlIHNpemUKCSAgSnVzdCBpbiBjYXNlIHdlIHdhbnQgdG8gdHdlYWsgdGhlIHNpbmsgYmVoYXZpb3VyIHdpdGggYnVmZmVyLXRpbWUgYW5kCgkgIGxhdGVuY3ktdGltZSBwcm9wZXJ0aWVzIGNhcCB0aGUgcXVldWUgc2l6ZSB0byBzb21ldGhpbmcgcmVhc29uYWJsZS4KCjIwMTItMDktMjcgMTc6MzI6MTQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IHNpbmsgdG8gcHJvdmlkZSB0aGUgYXVkaW9jbG9jayBieSBkZWZhdWx0CgoyMDEyLTA5LTI3IDE3OjI3OjI0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBvbmx5IGRyYWluIGhhbGYgcmluZ2J1ZmZlciBvbiBzdGFydAoJICBBdCBzdGFydCBkcmFpbiBoYWxmIHJpbmdidWZmZXIgaW50byB0aGUgT3BlblNMIHNvIHRoZSB3cml0dGluZy9yZWFkaW5nCgkgIHBvaW50ZXJzIHdpbGwgc3RhcnQgYXQgaGFsZiByaW5nYnVmZmVyIGRpc3RhbmNlLgoKMjAxMi0wOS0yNyAxNDo1Mjo1OSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogbW9uaXRvciBzb21lIHBsYXllciBldmVudHMKCjIwMTItMDktMjcgMDc6MjI6NDcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogcmV3b3JrIGFyb3VuZCB0aGUgX2RlbGF5IGZ1bmN0aW9uCgoyMDEyLTA5LTI3IDA1OjQwOjQ2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IGltcGxlbWVudCBfZGVsYXkgZnVuY3Rpb24KCjIwMTItMDktMjcgMDQ6MDA6MjggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogcmVmYWN0b3IgdG8gYmVoYXZlIG1vcmUgbGlrZSBvdGhlciBzaW5rcwoJICBSZWZsZWN0IHRoZSBxdWV1ZSBpbiBvdXIgb3duIGRhdGEgYnVmZmVyLgoJICBEcm9wIHRoZSBfY29tbWl0IGhvb2sgdGhhdCB3YXNuJ3QgdXNlZnVsbC4KCSAgRG9uJ3QgbWVzcyB3aXRoIHRoZSBzZWdzaXplL3NlZ3RvdGFsLgoKMjAxMi0wOS0yNiAxNDowMToxNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogcmVhZCBwbGF5ZXIgcG9zaXRpb24gYW5kIHNob3cgaXQgaW4gdGhlIGxvZwoKMjAxMi0wOS0yNiAxMjo1MDo0MiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogZG8gbm90IHByb3ZpZGUgYSBjbG9jayBpbiB0aGUgc2luayBlbGVtZW50LgoKMjAxMi0wOS0yNiAxMjozMjo0NCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogcmV3b3JrIG9uIHN0YXJ0L3N0b3Agb3BlcmF0aW9ucyBhbmQgY2FsbGJhY2sgZnVuY3Rpb24gaGFuZGxpbmcKCjIwMTItMDktMjYgMTI6MDk6MDQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IGZpeGVzIDggYml0IGZvcm1hdCB3aGljaCBpcyB1bnNpZ25lZCBvbiBhbmRyb2lkLgoKMjAxMi0wOS0yNSAxOToyNTowMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogYXR0ZW1wdCB0byByZWR1Y2UgcGxheWJhY2sgbGF0ZW5jeQoKMjAxMi0wOS0yNSAxODowNDoyNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiBkcm9wIF9idWZmZXJfY2xlYXIgY2FsbHMgYW5kIHJlZmFjdG9yIHRvIGEgc2hhcmVkIF9lbnF1ZXVlX2NiCgoyMDEyLTA5LTIxIDE3OjA0OjE0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiB1c2UgMC4yNXMgc2VnbWVudHMgaW4gdGhlIHNpbmsgdG8gbG93ZXIgbGF0ZW5jeQoKMjAxMi0wOS0yMSAxNjoxMTo0MiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXM6IGZpbmlzaCByZW1haW5pbmcgYml0cyBmb3Igc291cmNlIGVsZW1lbnQuCgoyMDEyLTA5LTIxIDE0OjE1OjEyICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBhdHRlbXB0IHRvIHF1ZXJ5IGRldmljZSBmb3IgY2FwYWJpbGl0aWVzCgoyMDEyLTA5LTIwIDE4OjQxOjUwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlczogYWRkIHRoZSBtdXRlIHByb3BlcnR5IGFuZCBoYW5kbGUgdm9sdW1lL211dGUgY2hhbmdlcyBvbiB0aGUgZmx5CgoyMDEyLTA5LTIwIDE4OjA0OjI5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkgIG9wZW5zbGVzOiBtYWtlIHRoZSB2b2x1bWUgcHJvcGVydHkgYWN0dWFsbHkgd29yawoKMjAxMi0wOS0yMCAxNDoxNjoyNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiByZXdvcmsgb24gdGhlIHJpbmdidWZmZmVyIHRvIHByb3Blcmx5IGNsZWFyIHNlZ21lbnRzCgkgIE1ha2UgdGhlIHNlZ21lbnRzIGJpZ2dlciAoMSBzZWNvbmQpIGFzIGl0IHNlZW1zIHRvIGJlIHRoZSBtaW5pbXVtIHNpemUKCSAgd2UgbmVlZCB0byBub3QgaW50cm9kdWNlIG5vaXNlLgoJICBTaW5rIHdvcmtzIGluIG15IG5leHVzIDcgd2l0aCByYXRlcyBmcm9tIDgwMDAgdG8gNDQxMDAgYW5kIHNvbWUgbm9pc2UKCSAgY2FuIGJlIG5vdGljZWQgb24gaGlnZ2VyIHNhbXBsZSByYXRlcy4KCjIwMTItMDktMjAgMTE6NTA6NTAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuaDoKCSAgb3BlbnNsZXM6IGZpeGVzIHRoZSBsaWNlbnNlIGhlYWRlcnMKCjIwMTItMDktMjAgMTA6NDE6NTAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IHByb2R1Y2VzIGV4cGVjdGVkIG91dHB1dCB1bnRpbCByaW5nYnVmZmVyIHdyYXBzCgkgIEFkZCBzb21lIGxvZyBtZXNzYWdlcy4KCSAgRml4ZWQgYSBiaXQgdGhlIF9wbGF5ZXJfY2IgZnVuY3Rpb24gYW5kIHByb3Blcmx5IGFkdmFuY2UgcmVkaW5nIGluIHRoZQoJICByaW5nYnVmZmVyLgoJICBTdGlsbCBwcm9kdWNlcyBub2lzZSB3aGVuIHRoZSByaW5nYnVmZmVyIHdyYXBzLgoKMjAxMi0wOS0xOSAxODoxMTo1NCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmg6CgkgIG9wZW5zbGVzOiBBZGQgaW5pdGlhbCBkcmFmdCBpbXBsZW1lbnRhdGlvbiBvZiBPcGVuU0wgRVMgcGx1Z2luLgoJICBJbml0aWFsIGRyYWZ0IGltcGxlbWVudGF0aW9uIGZvciBhIE9wZW5TTCBFUyBiYXNlZCBwbHVnaW4gZm9yIEFuZHJvaWQKCSAgdGhhdCBwcm92aWRlcyBhdWRpbyBzcmMgYW5kIHNpbmsuCgoyMDEyLTEwLTE4IDA5OjI0OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZG1lZGlhOiBVc2UgY29ycmVjdCB2YXJpYWJsZSBuYW1lIGluIE1ha2VmaWxlLmFtCgoyMDEyLTEwLTE3IDIyOjU0OjI4ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzQxNAoKMjAxMi0xMC0xNyAxNzozNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvc25kaW8vc25kaW9zaW5rLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NyYy5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCSAgd2hlcmUgcG9zc2libGUuIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuIEFsc28gcmUtaW5kZW50CgkgIHNvbWUgc3R1ZmYuIEFsc28gc29tZSBpbmRlbnQgZml4ZXMgaGVyZSBhbmQgdGhlcmUuCgoyMDEyLTA0LTAzIDEyOjA5OjE5ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBwb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczNDE0CgoyMDEyLTEwLTE2IDExOjM4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMTAtMTYgMTE6MzQ6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBSZXZlcnQgImNvbmZpZ3VyZTogZml4IGJ1aWxkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDVjMWMzNTI5MGQ3ZjcyYTRiYzAxNmU4YWVmMjc2ZDhjMWJkY2YzN2IuCgoyMDEyLTEwLTE2IDExOjMxOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWRtZWRpYTogQWRkIG1pc3NpbmcgZmlsZQoKMjAxMi0xMC0xNiAxMTozMjowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggYnVpbGQKCjIwMTItMTAtMTUgMTY6MzU6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBSZW5hbWUgcGx1Z2luCgoyMDEyLTEwLTE1IDE2OjI5OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgdG8gdGhlIG5vdCB5ZXQgcG9ydGVkIHBsdWdpbnMKCjIwMTItMTAtMTUgMTY6MDU6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIGFuZHJvaWRtZWRpYTogTWFrZSBldmVyeXRoaW5nIGJ1aWxkYWJsZQoKMjAxMi0xMC0xNSAxNDozNjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBEb24ndCB0cnkgdG8gdXNlIHRoZSBOVmlkaWEgRFJNIGNvZGVjcwoKMjAxMi0xMC0wOSAxMDo1NjozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgVHJ5IHRvIGhhbmRsZSBmb3JtYXQgY2hhbmdlcyBtb3JlIGdyYWNlZnVsbHkKCSAgQW5kIG1ha2Ugc3RvcCgpIGZhc3RlciBhbmQgbW9yZSByb2J1c3QKCjIwMTItMTAtMDkgMTA6Mjc6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkgIEFkZCB3b3JrYXJvdW5kIGZvciBHb29nbGUgTVAzIGRlY29kZXIgb3V0cHV0dGluZyBnYXJiYWdlIGluIGZpcnN0IG91dHB1dCBidWZmZXIKCSAgQW5kIGFzc3VtZSBvbmUgZGVjb2RlZCBpbnB1dCBmcmFtZSBwZXIgb3V0cHV0IGJ1ZmZlciB0byBmaXggdGltZXN0YW1wCgkgIGhhbmRsaW5nIGJ5IHRoZSBiYXNlIGNsYXNzLgoKMjAxMi0xMC0wOSAxMDoxNDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEFsc28gYWRkIHNvbWUgbW9yZSBvdXRwdXQgZm9ybWF0IGNoZWNrcyB0byB0aGUgYXVkaW8gZGVjb2RlcgoKMjAxMi0xMC0wOSAxMDoxMzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIENoZWNrIG91dHB1dCBmb3JtYXQgbWV0YWRhdGEgc29tZSBtb3JlCgkgIEFuZCBpbXBsZW1lbnQgd29ya2Fyb3VuZCBmb3IgTlZpZGlhIFRlZ3JhIDMgbm90IHNldHRpbmcgdGhlIHNsaWNlX2hlaWdodC4KCSAgVGhhbmtzIHRvIEpvc2VwIFRvcnJhIGZvciBkZWJ1Z2dpbmcgdGhpcyBpc3N1ZS4KCjIwMTItMTAtMDUgMTU6MDk6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgQWRkIHNvbWUgbW9yZSBkZWZhdWx0IGNoYW5uZWwgbGF5b3V0cywgdGhlc2Ugc2hvdWxkIGJlIGdvb2QgZm9yIEFBQyBhdCBsZWFzdAoKMjAxMi0xMC0wNSAxNDo1NjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIERvbid0IHNldCB0aW1lc3RhbXBzLCB0aGUgYmFzZWNsYXNzIGhhbmRsZXMgdGhpcyBmb3IgdXMgYW55d2F5CgoyMDEyLTEwLTAzIDEwOjA2OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgTGlzdCBwcm9maWxlcyBpbiByZXZlcnNlIHRvIG1pbmltaXplIGNhcHMKCjIwMTItMTAtMDMgMDk6NTY6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJdGVyYXRlIGxldmVscyBpbiByZXZlcnNlIG9yZGVyIHRvIG1pbmltaXplIGNhcHMKCjIwMTItMTAtMDMgMDk6NTE6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIE1lcmdlIHN0cnVjdHVyZXMgaW50byBjYXBzIGluc3RlYWQgb2YgYXBwZW5kaW5nIHRoZW0KCjIwMTItMDktMjUgMTA6MzI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFVzZSBvcmNfbWVtY3B5KCkgaW5zdGVhZCBvZiBtZW1jcHkoKSBhcyBpdCBzaG91bGQgYmUgZmFzdGVyIGZvciBsYXJnZXIgbWVtb3J5IGFyZWFzCgoyMDEyLTA5LTI0IDE1OjMyOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIGF1ZGlvL21wZWctTDIgZm9yIHRoZSBOZXh1cyA3CgoyMDEyLTA5LTI0IDE1OjE0OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIE1QRUcxLzIgdmlkZW8KCjIwMTItMDktMTkgMTQ6NTI6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgSWdub3JlIHRoZSAqbGF3IGFuZCBWb3JiaXMgZGVjb2RlcnMKCSAgVGhleSBhcmUgYnJva2VuIHVuZm9ydHVuYXRlbHkuCgoyMDEyLTA5LTE5IDExOjIwOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQWRkIEZJWE1FIGNvbW1lbnQgZm9yIG5vdCBoYW5kbGluZyBvZGQgd2lkdGhzL2hlaWdodCB3aXRoIHRoZSBUSSBoYXJkd2FyZSBkZWNvZGVycwoJICBNdXN0IGxpa2VseSBhbiBpc3N1ZSB3aXRoIHRoZSBjb2RlYyBpdHNlbGYgdGhvdWdoLgoKMjAxMi0wOS0xOSAwOTo0Nzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEZpeCBoYW5kbGluZyBvZiBJNDIwIGJ1ZmZlcnMgd2l0aCBvZGQgd2lkdGgKCjIwMTItMDktMTggMTU6Mzg6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBPbmx5IG1wZWd2ZXJzaW9uPTQgaXMgc3VwcG9ydGVkIGZvciBBQUMKCjIwMTItMDktMTggMTU6Mjg6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFJlbW92ZSBzb21lIG9ic29sZXRlIEZJWE1FcwoKMjAxMi0wOS0xNyAxMzo0NjoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRml4IGZsdXNoaW5nIGxvZ2ljIHRvIHVuYnJlYWsgaGFuZGxpbmcgb2YgZmx1c2hpbmcgc2Vla3MKCjIwMTItMDktMTcgMTI6MjQ6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBGaXggY2hyb21hIHN0cmlkZSBmb3IgSTQyMCBzdHJpZGUvY3JvcCBjb252ZXJzaW9uCgoyMDEyLTA5LTE3IDExOjI4OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgRml4IFZvcmJpcyBkZWNvZGluZwoKMjAxMi0wOS0xNCAxNjoxNzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgV2FpdCBhdCBtb3N0IDEwMG1zIGZvciBkZXF1ZXVlaW5nIGEgYnVmZmVyLCBhbmQgcmV0cnkgYWZ0ZXIgdGhhdAoJICBTb21lIGNvZGVjcyBkb24ndCBmYWlsIHRoZSBkZXF1ZXVlaW5nIGlmIHRoZSBjb2RlYyBpcyBmbHVzaGVkLAoJICBjYXVzaW5nIGRlYWRsb2NrcyB3aGVuIHNodXR0aW5nIGRvd24gdGhlIGVsZW1lbnQuCgoyMDEyLTA5LTE0IDE2OjExOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBSZWxlYXNlIG91dHB1dCBidWZmZXJzIGEgYml0IGVhcmxpZXIKCjIwMTItMDktMTQgMTY6MTE6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBLZWVwIGFub3RoZXIgcmVmZXJlbmNlIG9mIHRoZSBpbnB1dCBidWZmZXIgaW4gaGFuZGxlX2ZyYW1lKCkKCSAgSXQgbWlnaHQgYmUgdW5yZWZmZWQgaW4gdGhlIG1lYW50aW1lIGJ5IHRoZSBvdGhlciB0aHJlYWQgZHVlCgkgIHRvIGZpbmlzaF9mcmFtZSgpLgoKMjAxMi0wOS0xNCAxNjoxMDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIFBhc3MgLTEgYXMgbnVtYmVyIG9mIGZyYW1lcyB0byB0aGUgYmFzZSBjbGFzcwoJICBUaGlzIHdpbGwgYXV0b21hdGljYWxseSBkbyB0aGUgcmlnaHQgdGhpbmcgaWYgdGltZXN0YW1wcyBhcmUgZ29vZCBlbm91Z2gKCjIwMTItMDktMTQgMTY6MDk6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBVc2UgY29ycmVjdCBidWZmZXIgdmFyaWFibGUKCjIwMTItMDktMTQgMTQ6NDM6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEFsd2F5cyBwYXNzIDEgYXMgbnVtYmVyIG9mIGZyYW1lcyB0byBmaW5pc2hfZnJhbWUoKQoKMjAxMi0wOS0xNCAxNDo0Mjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIENvcnJlY3RseSByZW1lbWJlciBudW1iZXIgb2YgY2hhbm5lbHMgYW5kIHNhbXBsZXJhdGUKCjIwMTItMDktMTQgMTQ6NDI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBEb24ndCB1bnJlZiBpbnB1dCBidWZmZXIgZnJvbSBoYW5kbGVfZnJhbWUoKSwgaXQncyBvd25lZCBieSB0aGUgYmFzZWNsYXNzCgoyMDEyLTA5LTE0IDEzOjMxOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgUmVtb3ZlIGludmFsaWQgR1NUX0VSUk9SKCkgY2FsbAoKMjAxMi0wOS0xNCAxMzoyNzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIE9ubHkgdHJ5IHRvIGdldCB0aGUgY2hhbm5lbC1tYXNrIGlmIGl0IGlzIHNldAoKMjAxMi0wOS0xNCAxMzoyNTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBGTEFDCgoyMDEyLTA5LTE0IDEzOjI0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgRml4IHNyYyB0ZW1wbGF0ZSBjYXBzCgoyMDEyLTA5LTE0IDEzOjE2OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgRml4IHBsdWdpbiBpbml0aWFsaXphdGlvbgoKMjAxMi0wOS0xNCAxMzowNToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBhdWRpbyBkZWNvZGVycywgY29tcGxldGVseSB1bnRlc3RlZCBzbyBmYXIKCjIwMTItMDktMTQgMTI6MDc6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBPbmx5IHNldCB0aGUgU1lOQ19GUkFNRSBmbGFnIG9uIHRoZSBmaXJzdCBidWZmZXIgaWYgd2UgbmVlZCB0byBzcGxpdCB0aGUgaW5wdXQKCjIwMTItMDktMTIgMTQ6MzA6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIElnbm9yZSBjb2RlY3Mgd2l0aCB1bmtub3duIGNvbG9yIGZvcm1hdHMgZm9yIHN0YWJpbGl0eSBwdXJwb3NlcwoJICBUaGV5IGNhbiBiZSByZWdpc3RlcmVkIG5vbmV0aGVsZXNzIGlmIGFuIGVudmlyb25tZW50IHZhcmlhYmxlCgkgIG9yIGNvbXBpbGUtdGltZSAjZGVmaW5lIGlzIHNldC4KCjIwMTItMDktMTIgMTM6NDg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXBsZW1lbnQgY3JvcHBpbmcgYW5kIGNvcnJlY3RseSBoYW5kbGUgdGhlIGRpZmZlcmVudCBjb2xvciBmb3JtYXRzCgoyMDEyLTA5LTExIDE2OjMwOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgUmVhbGx5IGltcGxlbWVudCBzdHJpZGUgY29udmVyc2lvbiBmb3IgTlYxMiB0b28KCjIwMTItMDktMTEgMTY6MjQ6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXBsZW1lbnQgc3RyaWRlLWNvbnZlcnNpb24gZm9yIEk0MjAgYW5kIE5WMTIKCjIwMTItMDktMTEgMTU6NTY6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgRml4IHR5cG8gaW4gcHJldmlvdXMgY29tbWl0CgoyMDEyLTA5LTExIDE1OjQ5OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIERvbid0IGFsbG93IHVzaW5nIG5vbi1Hb29nbGUgY29kZWNzIGlmIHdlIHN0YXJ0ZWQgdGhlIEphdmEgVk0gb3Vyc2VsdmVzCgkgIEhhcmR3YXJlIGNvZGVjcywgZS5nLiB0aGUgVEkgb25lcywgb25seSB3b3JrIGluIHByb2Nlc3NlcyB0aGF0IGhhZCB0aGVpcgoJICBKYXZhIFZNIHN0YXJ0ZWQgdmlhIHRoZSBub24tcHVibGljIEFuZHJvaWRSdW50aW1lIGNsYXNzLgoKMjAxMi0wOS0xMSAxNDozMDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBSZW5hbWUgdG8gYW1jIGZyb20gYW5kcm9pZG1lZGlhY29kZWMgZXZlcnl3aGVyZQoKMjAxMi0wOS0xMSAxMzowODo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEltcHJvdmUgZGVidWcgb3V0cHV0CgoyMDEyLTA5LTExIDEyOjM5OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgUHJpbnQgdGhlIE1lZGlhRm9ybWF0cyB3ZSBnZXQgaW4gdGhlIGRlYnVnIGxvZ3MKCjIwMTItMDktMTAgMTU6MzE6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXByb3ZlIGRlYnVnIG91dHB1dAoKMjAxMi0wOS0xMCAxNTozMDo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEltcHJvdmUgbGV2ZWwvcHJvZmlsZSBoYW5kbGluZwoKMjAxMi0wOS0xMCAxMzozOToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBBbGxvdyByZWdpc3RlcmluZyBhcyBzdGF0aWMgcGx1Z2luIHdpdGggdGhlIEdTdHJlYW1lciBTREsgQVBJCgoyMDEyLTA5LTEwIDEzOjMwOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSWYgdGhlIGJ1ZmZlciBzaXplcyBhcmUgdGhlIHNhbWUsIGp1c3QgbWVtY3B5KCkgdG8gdGhlIG91dHB1dCBidWZmZXJzCgoyMDEyLTA5LTEwIDEyOjU2OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQ29ycmVjdGx5IGNvbnZlcnQgdGltZXN0YW1wcyBiZXR3ZWVuIHVzIGFuZCBucwoKMjAxMi0wOS0wNyAxNjoxMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFNldCBTWU5DX0ZSQU1FIGZsYWcgb24gYnVmZmVycyBpZiByZXF1aXJlZAoKMjAxMi0wOS0wNyAxNDoyMjo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEltcHJvdmUgZmx1c2hpbmcKCjIwMTItMDktMDcgMTM6NDQ6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBXYWl0IGF0IG1vc3QgMC41IHNlY29uZHMgZm9yIGdldHRpbmcgYW4gaW5wdXQgYnVmZmVyIGZvciBFT1MKCjIwMTItMDktMDcgMTM6NDI6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBDb3JyZWN0bHkgY2hlY2sgZm9yIGZsdXNoaW5nCgoyMDEyLTA5LTA2IDE3OjI0OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgUmV0cnkgZm9yIG5lZ2F0aXZlIHJldHVybiB2YWx1ZXMgd2hlbiBkZXF1ZXVlaW5nIGJ1ZmZlcnMKCjIwMTItMDktMDYgMTc6MDc6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBGaXggcmVmY291bnQgYnVnCgoyMDEyLTA5LTA2IDE3OjA3OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgVGhlIE1lZGlhQ29kZWMgQVBJIGlzIGFwcGFyZW50bHkgbm90IHRocmVhZHNhZmUgYmV0d2VlbiBzdG9wKCkgYW5kIHJlbGVhc2UoKQoJICBTbyB3ZSBkb24ndCBjYWxsIHJlbGVhc2UoKSBhbmQganVzdCBob3BlIGZvciB0aGUgR0MgdG8gcmVsZWFzZSB0aGUKCSAgY29kZWMgaW4gdGltZS4KCjIwMTItMDktMDYgMTU6NDQ6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgRml4IHBsdWdpbiBjYWNoZSBjcmVhdGlvbgoKMjAxMi0wOC0yNCAwNDozNTo0NCAtMDcwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBDYWNoZSB0aGUgY29kZWMgaW5mb3JtYXRpb25zIGluc2lkZSB0aGUgcmVnaXN0cnkKCSAgT3RoZXJ3aXNlIHdlIHdvdWxkIGFsd2F5cyBsb2FkIGFsbCBjb2RlY3MgZHVyaW5nIHBsdWdpbiBpbml0aWFsaXphdGlvbgoJICB3aGljaCBjYW4gdGFrZSBxdWl0ZSBzb21lIHRpbWUgKGJlY2F1c2Ugb2YgaGFyZHdhcmUpIGFuZCBhbHNvIGxvYWRzCgkgIGxvdHMgb2Ygc2hhcmVkIGxpYnJhcmllcyAod2hpY2ggbnVtYmVyIGlzIGxpbWl0ZWQgYnkgNjQgaW4gQW5kcm9pZCkuCgoyMDEyLTA4LTI0IDA5OjIwOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIFByb3Blcmx5IGF0dGFjaCBhbmQgZGV0YWNoIHRoZSBjdXJyZW50IHRocmVhZHMgdG8gdGhlIEphdmEgVk0KCSAgQXR0YWNoaW5nIGEgdGhyZWFkIGFmdGVyIGl0IHdhcyBkZXRhY2hlZCB3aWxsIGNhdXNlIHNlZ2ZhdWx0cywKCSAgYXMgc3VjaCB3ZSB1c2UgYSBwdGhyZWFkX2tleV90IHRvIGtlZXAgdHJhY2sgb2YgdGhlIEpOSUVudiogb2YKCSAgdGhlIGF0dGFjaGVkIHRocmVhZHMgYW5kIGluIHRoZSBkZXN0cnVjdG9yIChpLmUuIHdoZW4gdGhlCgkgIHRocmVhZCBleGl0cykgd2UgZGV0YWNoIHRoZSB0aHJlYWQuCgoyMDEyLTA4LTIzIDE3OjMxOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRG9uJ3QgZ2V0IHRoZSBvdXRwdXQgZm9ybWF0IGZyb20gdGhlIGNvZGVjIGJlZm9yZSBpdCBpcyByZWFkeQoJICBBcHBhcmVudGx5IHRoaW5ncyBhcmUgY3Jhc2hpbmcgb3RoZXJ3aXNlLgoKMjAxMi0wOC0yMyAxNzozMToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEdldCB0aGUgaW5wdXQgYnVmZmVycyBmcm9tIHRoZSBjb2RlYwoKMjAxMi0wOC0yMyAxNzozMDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBGaXggSk5JIG1ldGhvZCBjYWxsIHNpZ25hdHVyZXMKCjIwMTItMDgtMjMgMTc6MzA6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgSW5pdGlhbGl6ZSB0aGUgVk0gd2lsbCBmdWxsIGRlYnVnZ2luZyBmb3Igbm93CgoyMDEyLTA4LTIzIDEzOjUzOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIFVzZSBOZXdTdHJpbmdVVEYoKSBpbnN0ZWFkIG9mIG91ciBvd24gbWV0aG9kIGZvciB0aGF0CgoyMDEyLTA4LTIzIDEyOjMwOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEFkZCB0aGUgVEkgZm9ybWF0IHRvIHRoZSBtYXBwaW5nIHRhYmxlIHRvbwoKMjAxMi0wOC0yMyAxMjoyOTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgQWRkIGFub3RoZXIgVEkgc3BlY2lmaWMgT3Blbk1BWCBjb2xvciBmb3JtYXQKCjIwMTItMDgtMjIgMTk6MzA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBGaXhlcyB0byBlbGVtZW50L2VsZW1lbnRmYWN0b3J5IGNyZWF0aW9uCgoyMDEyLTA4LTIyIDE5OjEyOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIFNvbWUgYnVnZml4ZXMgdG8gdGhlIGNvZGVjIHNjYW5uaW5nIGNvZGUKCSAgQWxzbyBpdCdzIG5vdCBwb3NzaWJsZSB0byBhdHRhY2ggYSB0aHJlYWQgYWZ0ZXIgaXQgd2FzCgkgIGRldGFjaGVkIG9uY2UuIEFzIHN1Y2ggd2Ugc2ltcGx5IG5ldmVyIGRldGFjaCBhbnkgdGhyZWFkCgkgIGF0IGFsbCBub3cuCgoyMDEyLTA4LTIyIDE4OjM1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEZpeCBzb21lIGNvbXBpbGF0aW9uIGVycm9ycwoKMjAxMi0wOC0yMCAxNDoxMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEFkZCBpbXBvcnRhbnQgRklYTUUKCjIwMTItMDgtMjAgMTM6NDU6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIEFkZCB2aWRlbyBkZWNvZGVyIGVsZW1lbnQKCjIwMTItMDgtMjAgMTM6NDU6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgQWRkIHNvbWUgbW9yZSBKTkkgd3JhcHBpbmcKCjIwMTItMDgtMjAgMTM6NDI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkgIEFkZCBzb21lIG1pc3NpbmcgY29sb3IgZm9ybWF0IGNvbnN0YW50cwoKMjAxMi0wOC0xNiAxNToxODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgSW1wbGVtZW50IGJhc2ljIHdyYXBwZXIgYXJvdW5kIE1lZGlhQ29kZWMgQVBJCgkgIElkZWFsbHkgbm90aGluZyBlbHNlIHdpbGwgYmUgbmVlZGVkIGZyb20gdGhlIGVsZW1lbnRzIGxhdGVyLgoKMjAxMi0wOC0xNSAxODoyMzozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBTb21lIG1vcmUgV0lQCgkgIFNjYW5uaW5nIGFsbCBjb2RlY3Mgbm93IGFuZCBoYXZlIGRhdGEgc3RydWN0dXJlcyBmb3IgaG9sZGluZyBjb2RlYwoJICBpbmZvcm1hdGlvbiBhbmQgY29kZWMgY29udGV4dHMuIEFsc28gZnVuY3Rpb24gZGVjbGFyYXRpb25zIGZvcgoJICB3b3JraW5nIHdpdGggdGhlbS4KCjIwMTItMDgtMTQgMTM6MjA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgSW5pdGlhbCBjb21taXQKCjIwMTItMTAtMTUgMTU6NTM6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWRtZWRpYTogQWRkIGFuZHJvaWRtZWRpYSBwbHVnaW4KCjIwMTItMTAtMTUgMTE6NDU6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQW5kIGZpeCBhbm90aGVyIGRlYWRsb2NrIGNhdXNlZCBieSB0aGUgdXBkYXRlIHRocmVhZCBub3QgY29ycmVjdGx5IHNodXR0aW5nIGRvd24KCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMTAtMTUgMTE6MDI6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGhsc2RlbXV4OiBBbHNvIGhvbGQgdGhlIG11dGV4IGJlZm9yZSBzaWduYWxsaW5nIHRoZSBjb25kaXRpb24gdmFyaWFibGUKCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYwoKMjAxMi0xMC0xNSAxMDo1Mzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbHNvIGNhbmNlbCB0aGUgZG93bmxvYWRlciBiZWZvcmUgc3RvcHBpbmcgdGhlIHBsYXlsaXN0IHVwZGF0ZSB0YXNrCgoyMDEyLTEwLTE1IDEwOjM4OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE9ubHkgbG9jayB0aGUgbXV0ZXggd2hlbiBpdCdzIG5vdCBsb2NrZWQgYWxyZWFkeQoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMi0xMC0xNSAxMDozMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggYW5vdGhlciByYWNlIGNvbmRpdGlvbiBieSBob2xkaW5nIHRoZSBtdXRleCB0aGF0IHRoZSBjb25kaXRpb24gdmFyaWFibGUgdXNlcwoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMi0xMC0xNSAwOTo0NzozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBQb3J0IHNvbWUgdGhpbmdzIGZyb20gdGhlIGxhc3QgY29tbWl0cwoKMjAxMi0xMC0xNSAwOTozNToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBOZXZlciBldmVyIHN0b3AgYSB0YXNrIGZyb20gdGhlIHRhc2sgZnVuY3Rpb24KCSAgVGhpcyB3aWxsIGRlYWRsb2NrLiBBbHNvIG1ha2Ugc3VyZSB0byBhbHdheXMgcG9zdCBhbiBlcnJvciBtZXNzYWdlCgkgIGlmIHJlcXVpcmVkIGJlZm9yZSBwYXVzaW5nIHRhc2tzIGZyb20gdGhlIHRhc2sgZnVuY3Rpb24uCgkgIFNob3VsZCBmaXggYW5vdGhlciBidW5jaCBvZiBkZWFkbG9ja3MuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDEyLTEwLTE1IDA5OjI0OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBsb3RzIG9mIGRlYWRsb2NrcyBjYXVzZWQgYnkgcmFjZSBjb25kaXRpb25zIGluIHRoZSB0YXNrIHN0YXRlIGhhbmRsaW5nCgoyMDEyLTEwLTEyIDEwOjU3OjQ0ICswNDAwICBTZXJnZXkgTi4gR29yc2hrb3YgPHNuZ0BzZXRldmlzb3IudHY+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogaGFuZGxlIFJUTVBfV3JpdGUoKSByZXR1cm4gdmFsdWUgY29ycmVjdGx5CgkgIEVycm9yIG1pZ2h0IGFsc28gYmUgbmVnYXRpdmUgKC0xKS4gVW5jbGVhciBpZiAwIHNob3VsZAoJICBiZSBmYXRhbCBhcyB3ZWxsIHRob3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTExMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MDA5CgoyMDEyLTEwLTEyIDIzOjA5OjA2ICswMTAwICBEYXZpZCBSw6lnYWRlIDxkcmVnYWRlQHZpZXdzdXJmLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBmaXggbWVtb3J5IGxlYWsgZnJvbSBVUkkgdmVyaWZpY2F0aW9uIHZpYSBSVE1QX1BhcnNlVVJMKCkKCSAgSW4gZ3N0X3J0bXBfc2lua191cmlfc2V0X3VyaSgpLCBhIHRlc3QgaXMgcGVyZm9ybWVkIGluIG9yZGVyCgkgIHRvIGJlIHN1cmUgdXJpIGlzIGNvcnJlY3QgZm9yIGxpYnJ0bXAuIFRoaXMgdGVzdCBjYWxscwoJICBSVE1QX1BhcnNlVVJMIHdpdGggMyBBVmFsIHBvaW50ZXJzIGFzIHBhcmFtZXRlcnM6IGhvc3QsCgkgIHBsYXlwYXRoIGFuZCBhcHAuCgkgIEFWYWwgaXMgYSBzdHJ1Y3Qgd2l0aCBhIGNoYXIqICsgaW50LiBBZnRlciBSVE1QX1BhcnNlVVJMIGNhbGwsCgkgIGhvc3QuYXZfdmFsIGFuZCBhcHAuYXZfdmFsIGJvdGggcmVmZXIgYSBzdWJzdHJpbmcgb2YgInVyaSIuIEJ1dAoJICBwbGF5cGF0aC5hdl92YWwgbWF5IGJlIHRoZSByZXN1bHQgb2YgYSBtYWxsb2Mgc28gaXQgbmVlZHMgdG8KCSAgYmUgZnJlZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE0NTkKCjIwMTItMTAtMTIgMjI6MzM6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBhZHZhbmNlIHN0cmVhbSB0aW1lIHdoZW4gc2VuZGluZyBHQVAgZXZlbnQKCjIwMTItMTAtMTIgMjI6MzM6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBzZW5kIGxhbmd1YWdlIGluZm8gZG93bnN0cmVhbSBpZiBhdmFpbGFibGUKCSAgLi4uIGFzIGV4dHJhY3RlZCBmcm9tIGR2ZCBldmVudC4KCjIwMTItMTAtMTIgMjI6MzE6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiByZW1vdmUgb2Jzb2xldGUgc3RydWN0IGZpZWxkCgoyMDEyLTEwLTEyIDEyOjI4OjQ0IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBTZXQgZnJhbWVzaXplIGFuZCBwcm9wZXJ0aWVzIGNvcnJlY3RseSB3aGVuIHRha2luZyBmb3JtYXQgZnJvbSBjYXBzLgoKMjAxMi0xMC0xMiAxNzo1MTo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHR3ZWFrIGZsb3cgcmV0dXJuIGFnZ3JlZ2F0aW9uCgoyMDEyLTEwLTEyIDE1OjQ0OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogaGFuZGxlIHVwc3RyZWFtIFRJTUUgc2VnbWVudHMKCjIwMTItMTAtMTIgMTU6MDc6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBoYW5kbGUgYW5kIGNvbWJpbmUgZG93bnN0cmVhbSBmbG93IHJldHVybgoKMjAxMi0xMC0xMiAxNDo1MDozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGhhbmRsZSBuZXcgc3R5bGUgZHZkIGV2ZW50CgoyMDEyLTEwLTExIDE1OjI5OjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZG8gbm90IGFkZCBwYWQgYWZ0ZXIgbm8tbW9yZS1wYWRzCgoyMDEyLTEwLTExIDE1OjI3OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogY2xlYW4gdXAgc2VnbWVudCBzZW5kaW5nCgkgIC4uLiB0byB1c2UgdGhlIHNyY19zZWdtZW50IGFzIGEgYmFzaXMgZm9yIHRoZSBzZW50IHNlZ21lbnQsCgkgIHRoZXJlYnkgcHJvcGVybHkgY29udmV5aW5nIGFjY3VtdWxhdGVkIGJhc2VfdGltZSBldGMuCgkgIEFsc28gZW5zdXJlIHNyY19zZWdtZW50IGlzIG9ubHkgYWRqdXN0ZWQgb25jZSwgc28gdGhhdAoJICBhbGwgZG93bnN0cmVhbSBzZWdtZW50cyBhcmUgaWRlbnRpY2FsIHRvIGF2b2lkIHN0cmVhbQoJICBtaXNhbGlnbm1lbnQuCgoyMDEyLTEwLTExIDEyOjA3OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogc2VuZCBHQVAgZXZlbnQgcmF0aGVyIHRoYW4gc2VnbWVudCB1cGRhdGVzCgoyMDEyLTEwLTExIDExOjUxOjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogcmVmYWN0b3Igc2VnbWVudCBzZW5kaW5nCgoyMDEyLTEwLTExIDExOjMwOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogcmVmYWN0b3IgaW5pdCBhbmQgcmVzZXQKCjIwMTItMTAtMTEgMTE6MDQ6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBubyBtb3JlIHNlZ21lbnQgY2xvc2luZyBpbiAxLjAKCjIwMTItMTAtMTEgMTE6MDM6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBjbGVhbiB1cCBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMTItMTAtMTEgMTU6MzE6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBmaXggYnVmZmVyIHBhcnNpbmcKCSAgLi4uIHRvIGF2b2lkIGZlZWRpbmcgZW1wdHkgYnVmZmVycyB0byBkZWNvZGVyLgoKMjAxMi0xMC0xMiAxNToyNjoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRmlyc3QgcHVzaCBFT1MsIHRoZW4gZGVzdHJveSBhbGwgcHJvZ3JhbXMKCSAgQW5kIGFsc28gcHJvcGVybHkgcmVtb3ZlIHRoZSBwcm9ncmFtIGZyb20gdGhlIHN1YmNsYXNzCgoyMDEyLTEwLTEyIDE1OjA5OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBpbnZhbGlkIHJlYWQKCjIwMTItMTAtMTAgMTg6MTg6MDMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHNpZ25hbCBpbnRlcmxhY2luZyBwcm9wZXJseSBpbiB2aWRlbyBjYXBzCgkgIFRoZSBmaWVsZCBpcyBjYWxsZWQgImludGVybGFjZS1tb2RlIiBtb2RlIG5vdyBhbmQgaXMgYSBzdHJpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU4OTUKCjIwMTItMTAtMTAgMTQ6MTE6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXRhdXJpc3JjLmM6CgkqIHRvb2xzL2dzdC1hcHAtbWFrZXI6CgkgIHJlcGxhY2Ugc29tZSBwbGF5YmluMiAtPiBwbGF5YmluCgoyMDEyLTEwLTEwIDA5OjU4OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogcmVzZXQgZnJhbWUgcGFyc2VyIGFmdGVyIHBhcnNpbmcgY2FwcyBjb2RlYyBkYXRhCgkgIC4uLiBzbyBhcyB0byBhcnJhbmdlIGZvciBhIHByb3BlciBmcmVzaCBzdGF0ZSB1cG9uIGZpcnN0IGZyYW1lLgoKMjAxMi0xMC0xMCAwOTo0ODo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIGNvbW1vbjogVXBkYXRlIHRvIHRoZSByaWdodCBjb21taXQgYWdhaW4KCSAgV2FzIGFjY2lkZW50aWFsbHkgcmV2ZXJ0ZWQgdG8gYW4gb2xkZXIgdmVyc2lvbiBpbiB0aGUgbGFzdCBjb21taXQuCgoyMDEyLTEwLTA5IDIzOjAwOjE0IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5oOgoJICBhdWRpb3BhcnNlOiBhZGQgYSBtb2RlIHdoZXJlIHRoZSBjYXBzIGFyZSB0YWtlbiBmcm9tIHRoZSBzaW5rIHBhZCwgYW5kIHRodXMgYXVkaW9wYXJzZSBpcyBvbmx5IHBlcmZvcm1pbmcgdGltZXN0YW1waW5nLgoKMjAxMi0xMC0wOSAyMToxOToxNSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogY29tbW9uOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiByZXNldCBmcmFtZSBwYXJzZXIgYWZ0ZXIgcGFyc2luZyBjb2RlY19kYXRhIGJ1ZmZlciBpbiBjYXBzLCB0byBhdm9pZCBub3QgY29ycmVjdGx5IHBhcnNpbmcgdGhlIGZ1bGwgZmlyc3QgZnJhbWUuCgoyMDEyLTEwLTA5IDEzOjUzOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogcHJvcGVybHkgbWFyayBjb25maWcgZGF0YSBwcmVzZW5jZQoJICAuLi4gd2hpY2ggd2UgYWxsb3cgdG8gc3RhcnQgYXQgVmlzdWFsT2JqZWN0U2VxdWVuY2Ugb3IKCSAgYXQgVmlkZW9PYmplY3QuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU3MDkKCjIwMTItMTAtMDggMTI6Mzg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJICBmaWVsZGFuYWx5c2lzOiBGaXggdW5pdGlhaWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgQW5kIGFsc28gdXNlIHRoZSBwYWQncyBkZWZhdWx0IGV2ZW50IGZ1bmN0aW9uIGluc3RlYWQKCSAgb2YganVzdCBwdXNoaW5nIHRvIHRoZSBwZWVycGFkLiBUaGlzIG1ha2VzIHN1cmUgYW55CgkgIGRlZmF1bHQgaGFuZGxpbmcgb2YgZXZlbnRzIGlzIGNhbGxlZC4KCjIwMTItMTAtMDggMTI6MjM6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBmaWVsZGFuYWx5c2lzOiBSZW1vdmUgZnJvbSB0aGUgTk9OUE9SVEVEIHBsdWdpbnMgbGlzdAoJICBJdCdzIHN1cHBvc2VkIHRvIGJlIHBvcnRlZCBpbiAxLjAuMSBhbHJlYWR5LgoKMjAxMi0xMC0wNyAxNzowNjozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGFkZCAnbWFrZSB1cGxvYWQnIHRhcmdldCBmb3IgZG9jcy8gZm9yIG5ldy1yZWxlYXNlIHNjcmlwdAoKMjAxMi0xMC0wNyAxNzowMzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgKGJ1ZyBmaXhpbmcpCgo9PT0gcmVsZWFzZSAxLjAuMSA9PT0KCjIwMTItMTAtMDcgMTU6NTc6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4xCgoyMDEyLTEwLTA2IDE0OjU3OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YzBiNTJjIHRvIDZiYjY5NTEKCjIwMTItMTAtMDMgMTE6MDU6MDYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSAgbWV0YSBpbmZvOiByZWdpc3RlciB0aHJlYWQtc2FmZWx5LgoKMjAxMi0xMC0wMyAxNzoyMzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJICBydHB2cDg6IEFsc28gY29tbWl0IHJlbWFpbmluZyB1bmNvbW1pdHRlZCBjaGFuZ2VzLi4uCgoyMDEyLTEwLTAzIDA5OjM5OjI4ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSAgcnRwdnA4OiByZWRpZmluZSB2cDhfbm9ybSB0byBhdm9pZCBkdXBsaWNhdGVkIHN5bWJvbHMgaW4gc3RhdGljIGxpbmtzIHdpdGggbGlidnB4CgoyMDEyLTEwLTAzIDA5OjQ5OjM5ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgdmlkZW9wYXJzZXJzOiBmaXggZHVwbGljYXRlZCBzeW1ib2xzIGZvciBzdGF0aWMgbGlua3Mgd2l0aCBsaWJzY2hyb2VkaW5nZXIKCjIwMTEtMTItMjYgMjI6MDQ6MDQgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IGFkZCBZVjEyIGFuZCBOVjEyIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyMAoJICBDb25mbGljdHM6CgkgIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmMKCSAgZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaAoJICBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYwoJICBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmMKCjIwMTItMTAtMDIgMjI6MjA6MjAgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5oOgoJICByZXNpbmR2ZDogUmVtb3ZlIGNhcHMgbG9jayBmcm9tIHBhcnNldHRlciBlbGVtZW50LgoJICBBbGwgdGhlIG1lbWJlcnMgaXQgdXNlZCB0byBwcm90ZWN0IGluIDAuMTAgYXJlIHByb3RlY3RlZCBieQoJICB0aGUgc3RyZWFtIGxvY2sgbm93LgoKMjAxMi0xMC0wMSAyMzo0Mzo0NyArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJICByZXNpbmR2ZDogVXBkYXRlIG92ZXJyaWRkZW4gY2FwcyB3aGVuIHRoZSBEQVIgY2hhbmdlcwoJICBTZW5kIGEgbmV3IGNhcHMgZXZlbnQgZG93bnN0cmVhbSB3aGVuIHdlIHJlY2VpdmUgbmV3IG9yZGVycwoJICBmcm9tIHRoZSBWTSwgaWYgdGhlcmUgYXJlIGV4aXN0aW5nIGNhcHMuCgoyMDEyLTEwLTAxIDIzOjIxOjEyICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuaDoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuaDoKCSAgcmVzaW5kdmQ6IFBvcnQgcGFyc2V0dGVyIGVsZW1lbnQKCSAgUG9ydCB0aGUgRFZEIGVsZW1lbnQgd2hpY2ggb3ZlcnJpZGVzIHRoZSBNUEVHIGVuY29kZWQgcGl4ZWwtYXNwZWN0LXJhdGlvCgkgIHRvIG1hdGNoIHRoYXQgcmVxdWVzdGVkIGJ5IHRoZSBEVkQgVk0uCgoyMDEyLTEwLTAxIDEzOjUyOjM1ICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIGZvciBsYXRlc3QgY2hhbmdlcwoKMjAxMi0wOS0zMCAyMDo1MjozMCArMDIwMCAgQ2hyaXN0b3BoZSBGZXJnZWF1IDxjZmVyZ2VhdUByZWRoYXQuY29tPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkgIGNocm9tYXByaW50OiBNaXNzaW5nIHVubWFwIGJ1ZmZlciBpbiB0cmFuc2Zvcm1faXAKCSAgV2hlbiBubyBzYW1wbGVzIGhhdmUgdG8gYmUgcHJvY2Vzc2VkLCB0cmFuc2Zvcm1faXAgZXhpdHMgZWFybHksIGJ1dAoJICB0aGUgYnVmZmVyIGl0IHVzZXMgd2FzIG5vdCBwcm9wZXJseSB1bm1hcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTE1OQoKMjAxMi0wOS0zMCAwMzo0OToxNyArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpZGRsZSB3aXRoIHNlZ21lbnQgaGFuZGxpbmcgZm9yIERWRC4KCSAgQ2xhcmlmeSBzb21lIG9mIHRoZSB0ZXJtcyB1c2VkLCBhbmQgbWFrZSBzdXJlIHRvIGV4dGVuZCB0aGUKCSAgc3RvcCB0aW1lIHdoZW4gdGhlIHBvc2l0aW9uIG1vdmVzIHBhc3QgdGhlIGVuZCBvZiB0aGUgY3VycmVudAoJICBzZWdtZW50IChhcyBmb3Igc3RpbGwgZnJhbWVzLCBmb3IgZXhhbXBsZSkuCgkgIEFsc28sIG1ha2Ugc3VyZSB0byByZXNldCB0aGUgcG9zaXRpb24gdmFsdWUgb2YgdGhlIHNlZ21lbnQgdGhlCgkgIGRlbXV4ZXIgb3V0cHV0cyB3aGVuIGNvbGxlY3RpbmcgYSBzZWFtbGVzcyBzZWdtZW50LgoKMjAxMi0wOS0yOSAxMzoyMToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogZml4IHBsdWdpbiBsb2FkaW5nIGZvciBmcmVpMHIgZWxlbWVudHMgdGhhdCBoYXZlIG5vIGluZm8uZXhwbGFuYXRpb24KCSAgV2UgZG9uJ3QgYWxsb3cgZW1wdHkgZGVzY3JpcHRpb25zIGZvciBlbGVtZW50cyBhbnkgbW9yZS4KCjIwMTItMDktMjkgMTI6MzY6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgc29tZSBsaWJvaWwgcmVmZXJlbmNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczMjg1CgoyMDEyLTA5LTI5IDEyOjMwOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IHJlbW92ZSBzb21lIG9sZCBlbGVtZW50cyBzbyB0aGV5IGRvbid0IGdldCBwb3J0ZWQgYWNjaWRlbnRhbGx5CgkgIFRoZXkgYXJlIHJlcGxhY2VkIGJ5IHZpZGVvY29udmVydCBhbmQgZ2RrcGl4YnVmb3ZlcmxheQoKMjAxMi0wOS0yOCAyMjozMDozOSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSAgY3VybDogZml4IGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBzZXRzb2Nrb3B0KCkgb24gd2luZG93cwoJICBUaGUgb3B0dmFsIGFyZ3VtZW50IGlzIG9mIHR5cGUgY29uc3QgY2hhciAqIG9uIHdpbmRvd3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUwNjUKCjIwMTItMDktMjggMTE6NTk6NTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmg6CgkgIGZyZWkwcjogUG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTY3OAoKMjAxMi0wOS0yNiAwODoyMDo0OSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSAgY3VybDogZml4IGJ1aWxkIG9uIHdpbjMyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ4NDcKCjIwMTItMDktMjggMDA6MDY6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBjaGFuZ2UgdmlkZW8tc291cmNlIGlmIHRoZSB1c2VyIHJlcXVlc3RlZAoJICBXaGVuIGdvaW5nIGZyb20gbnVsbCB0byByZWFkeSwgY2hlY2sgaWYgdGhlIHVzZXIgcmVxdWVzdGVkIHRvCgkgIHVzZSBhIG5ldyBzb3VyY2UgYW5kIHJlcGxhY2UgdGhlIGN1cnJlbnQgb25lLgoJICBGaXhlcyAjNjgxNTYyCgoyMDEyLTA5LTI3IDIzOjIyOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHBhZCBwcm9iZSBpZHMgYXJlIGd1bG9uZwoJICBDaGFuZ2UgdmFyaWFibGUgdG8gdGhlIGNvcnJlY3QgdHlwZQoKMjAxMi0wOS0yNyAxOTo0MDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IHVzZSBjb3JyZWN0IGVsZW1lbnQgbmFtZSB3aGVuIHJlcGxhY2luZyB0aGUgdmlkZW8gZmlsdGVyCgkgIFRoZSBuYW1lIHdhcyB1cGRhdGVkIG9uIHRoZSAwLjEwIC0+IDEuMCB0cmFuc2l0aW9uLCBidXQgdGhlCgkgIGdzdF9iaW5fcmVtb3ZlIHdhcyBzdGlsbCB1c2luZyB0aGUgb2xkIG5hbWUsIGNhdXNpbmcgYW4gYXNzZXJ0aW9uCgkgIHdoZW4gcmVwbGFjaW5nIHZpZGVvLXNvdXJjZS1maWx0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTU2NAoKMjAxMi0wOS0yNiAxNDo1MDowNCArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IFRyYW5zZm9ybSB0aW1lc3RhbXBzIHByb3Blcmx5IGFmdGVyIGEgc2Vlay4KCSAgVGhlIHNlZ21lbnQgaXMgdHJhbnNmb3JtZWQgdG8gbWF0Y2ggdGhlIHBpdGNoIGNvbnZlcnNpb24KCSAgYmVpbmcgYXBwbGllZCwgc28gbWFrZSBzdXJlIHRoZSB0aW1lc3RhbXBzIGJlaW5nIG91dHB1dAoJICBtYXRjaCB0aGUgY29uZmlndXJlZCBkb3duc3RyZWFtIHNlZ21lbnQgYWNjb3JkaW5nbHksIGFuZAoJICBhZGp1c3QgdGhlIGRvd25zdHJlYW0gc2VnbWVudCBwb3NpdGlvbiB0byBtYXRjaCB0aGUgc3RyZWFtIHRpbWUKCSAgcmF0aW8gYWxzby4KCjIwMTItMDktMTggMDE6MTM6MzYgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IERvbid0IHNlbmQgc3B1cmlvdXMgJ2Nsb3NlIHNlZ21lbnQnIGV2ZW50cy4gTWFrZSBhIHNpbmdsZSBzZWdtZW50CgkgIFdpdGggdGhlIG5ldyAxLjAgc2VnbWVudCBzZW1hbnRpY3MsIHRoZXJlJ3Mgbm8gbmVlZCB0byBjbG9zZSB0aGUKCSAgcHJldmlvdXMgc2VnbWVudCBiZWZvcmUgc2VuZGluZyBvdXQgYSBuZXcgb25lLCBzbyBkb24ndCBkbyBpdC4KCSAgQWxzbywgYWRqdXN0IHRoZSBvdXRnb2luZyBzZWdtZW50IHRvIGp1c3QgYmUgb25lIGNvbnRpZ3VvdXMKCSAgdGltZWxpbmUsIHdpdGggYSBiYXNlIG9mIDAuIEZpeGVzIHNvbWUgcmVwZWF0aW5nIHRpbWVzdGFtcHMgd2hlbgoJICBzZWdtZW50cyBjaGFuZ2UuCgoyMDEyLTA5LTI0IDE3OjI1OjI1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuaDoKCSAgZmllbGRhbmFseXNpczogUG9ydCB0byAxLjAKCSAgSSB3YXMgYWxzbyB2YWd1ZWx5IGZvcmNlZCB0byBvdmVyaGF1bCBzb21lIGJpdHMgYW5kIHBpZWNlcyBhbmQgbWVzcyB3aXRoCgkgIHRoZSBkYXRhIHN0cnVjdHVyZXMuIFRoaXMgd2FzIG1vc3RseSBkdWUgdG8gY2FwcyBub3QgYmVpbmcgcGFydCBvZgoJICBidWZmZXJzIGFuZCBzbyBJIGhhZCB0byBzd2l0Y2ggdG8gdXNpbmcgR3N0VmlkZW9GcmFtZSBhbmQgR3N0VmlkZW9JbmZvLgoKMjAxMi0wOS0yNCAxNjoxMTozMiAtMDUwMCAgWWFha292IFNlbGtvd2l0eiA8eXNlbGtvd2l0ekB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvY2hyb21hcHJpbnQvTWFrZWZpbGUuYW06CgkgIGNocm9tYXByaW50OiBsaW5rIGFnYWluc3QgbGliZ3N0YmFzZQoJICBDYWxscyB0byBnc3RfYmFzZV90cmFuc2Zvcm1fZ2V0X3R5cGUgYW5kIGdzdF9iYXNlX3RyYW5zZm9ybV9zZXRfcGFzc3Rocm91Z2gKCSAgcmVxdWlyZSBsaW5raW5nIHdpdGggbGliZ3N0YmFzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDc0MAoKMjAxMi0wOS0yNCAxNjo1OToyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgKGJ1ZyBmaXhpbmcpCgo9PT0gcmVsZWFzZSAxLjAuMCA9PT0KCjIwMTItMDktMjQgMTQ6NDI6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4wCgoyMDEyLTA5LTI0IDE0OjQyOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUKCjIwMTItMDktMjMgMTM6MTU6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogY2hhbmdlIGRldmljZSBpbnN0YW5jZSBsaWZlY3ljbGUKCSAgVGhlIGRlY2tsaW5rIGRyaXZlciBldmVudHVhbGx5IGNyYXNoZXMgYWZ0ZXIgcmVwZWF0ZWQgY3JlYXRpb24vZGVsZXRpb24KCSAgb2YgZGV2aWNlLCBpbnB1dCwgb3V0cHV0LCBhbmQgY29uZmlndXJhdGlvbiBvYmplY3RzLiAgQ2hhbmdlIHRvIGNyZWF0ZQoJICB0aGVzZSBhdCB0aGUgb3V0c2V0IGFuZCBrZWVwIHRoZW0gYXJvdW5kIGZvcmV2ZXIuCgoyMDEyLTA5LTIyIDEzOjU2OjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBGaXggbWVtb3J5IGxlYWtzCgkgIEJ1ZmZlcnMgbm93IGhvbGQgb24gdG8gYSByZWZlcmVuY2UgZm9yIHRoZSBpbnB1dCwgc28gdGhlIGlucHV0CgkgIG9iamVjdCBkb2Vzbid0IGdldCBmcmVlZCAoYW5kIGNhcnJ5IHRoZSBidWZmZXJzIHdpdGggaXQpIGJlZm9yZQoJICBhbGwgdGhlIGJ1ZmZlcnMgYXJlIGZyZWVkLgoKMjAxMi0wOS0yMyAyMTowODo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICB0ZXN0czogZGlzYWJsZSBhc3NyZW5kZXIgdW5pdCB0ZXN0CgkgIERvZXNuJ3Qgd29yaywgbmVlZHMgZml4aW5nLgoKMjAxMi0wOS0yMyAyMTowNzowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogZGlzYWJsZSBmb3IgYXV0b3BsdWdnaW5nIHVudGlsIGl0IHdvcmtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxOTIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDY4MwoKMjAxMi0wOS0yMiAxNTowMDoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBydHBkdG1mZGVwYXk6IFVzZSAxLjAtc3R5bGUgY2FwcyBuZWdvdGlhdGlvbiBhbmQgYXVkaW8veC1yYXcKCjIwMTItMDktMjAgMTg6NDI6NTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkgIG9wdXNlbmM6IFJhbmsgYXMgUHJpbWFyeQoKMjAxMi0wOS0yMCAxODo0MToyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogQWxsb2NhdGUgdGhlIHJ0cCBidWZmZXIgY29ycmVjdGx5CgkgIFVzZSB0aGUgcmlnaHQgZnVuY3Rpb25zIHRvIGFsbG9jYXRlIHRoZSBydHAgYnVmZmVyCgoyMDEyLTA5LTIyIDE2OjA4OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0Zjk2MmY3IHRvIDZjMGI1MmMKCjIwMTItMDktMjAgMDA6MDg6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSAgaW50ZXJzdWJzcmM6IGRpc2FibGUgdGltZXN0YW1waW5nIGNvZGUgdGhhdCBkb2Vzbid0IG1ha2Ugc2Vuc2UKCSAgYW5kIHdoaWNoIGJyZWFrcyB0aGUgc3RhdGVzIGNoZWNrIGJlY2F1c2Ugd2UgZW5kIHVwIHRyeWluZyB0bwoJICBkaXZpZGUgYnkgMC4KCjIwMTItMDktMTggMTM6MTc6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGluaXQgdmlkZW9pbmZvCgoyMDEyLTA5LTE4IDEzOjE3OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogaW5pdCB2aWRlb2luZm8KCjIwMTItMDktMTggMDA6MTI6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBkb2NzOiByZW1vdmUgb25lIG1vcmUgb2xkIGluY2x1ZGUKCj09PSByZWxlYXNlIDAuMTEuOTkgPT09CgoyMDEyLTA5LTE3IDE4OjA0OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjk5CgoyMDEyLTA5LTE3IDE3OjUyOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFjZW92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXZlcmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpbnN5cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhdGNoZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW8zZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAxMi0wOS0xNyAxNzoxMzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGdzdC9mcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgIGZyZWV6ZTogcmVtb3ZlIGZyZWV6ZSBlbGVtZW50LCB3YXMgcmVwbGFjZWQgYnkgaW1hZ2VmcmVlemUgaW4gLWdvb2QgeWVhcnMgYWdvCgoyMDEyLTA5LTE3IDIzOjU5OjM0ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZDogRml4IHNlZ21lbnQgaGFuZGxpbmcgaW4gdGhlIGRlbXV4ZXIuCgkgIFRyYW5zZmVyIHRoZSBpbmNvbWluZyBzZWdtZW50IGJhc2UgdGltZSB0byB0aGUgc3JjCgkgIHNlZ21lbnQgdGhlIGRlbXV4ZXIgc2VuZHMgZG93bnN0cmVhbS4gQWRkIHNvbWUKCSAgKGRpc2FibGVkKSBkZWJ1ZyB0byB0aGUgYmluIGZvciB0cmFja2luZyBvdXRnb2luZwoJICB0aW1lc3RhbXBzLgoKMjAxMi0wOS0xNyAwMDowNToxOSArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFJlbW92ZSB2cDggcGx1Z2luIGZyb20gc3BlYyBhZnRlciBtb3ZlIHRvIGdvb2QKCjIwMTItMDktMTYgMTU6NDg6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L0dzdFZQOEVuYy5wcnM6CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB2cDg6IFJlbW92ZSBwbHVnaW4sIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QKCjIwMTItMDktMTYgMTU6MjU6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBVbnJlZiBpbnB1dC9vdXRwdXQgc3RhdGVzIHdoZW4gc3RvcHBpbmcgdGhlIGRlY29kZXIKCjIwMTItMDktMTYgMTU6MTg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9Hc3RWUDhFbmMucHJzOgoJICB2cDhlbmM6IFVwZGF0ZSByZWFsdGltZSBwcm9maWxlIHRvIHRoZSBuZXcgcHJvcGVydGllcwoKMjAxMi0wOS0xNiAxMTowMDo1MyArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBhbmQgZml4IHNwZWMgd2l0aCBsYXRlc3QgY2hhbmdlcyBhbmQgRjE4IG5hbWUgc2NoZWVtZQoKMjAxMi0wOS0xNiAxMDo1NjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwODogUmVxdWlyZSBsYXRlc3QgbGlidnB4IHJlbGVhc2UgKDEuMS4wIGZyb20gTWF5IDIwMTIpCgkgIEZpeGVzIGJ1ZyAjNjg0MTE2IGFuZCBzaW1wbGlmaWVzIGNvbmZpZ3VyZSBjaGVja3MuCgoyMDEyLTA5LTE1IDIwOjIzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXNlIGEgc3RyaW5nIGZpZWxkIGZvciB0aGUgcHJvZmlsZSBpbiB0aGUgY2FwcwoJICBKdXN0IGZvciBjb25zaXN0ZW5jeSB3aXRoIGFsbCB0aGUgb3RoZXIgY29kZWNzLgoKMjAxMi0wOS0xNSAxOTowODozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkgIHVzZSBnc3RfZWxlbWVudF9mYWN0b3J5X2dldF9tZXRhZGF0YSB0byByZXBsYWNlIG9ic29sZXRlIEFQSQoKMjAxMi0wOS0xNSAwMDowNDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IENvcnJlY3RseSBzZXQgcHJvZmlsZSBpbiBjYXBzCgoyMDEyLTA5LTE0IDIzOjQxOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogVXBkYXRlIGNvcHlyaWdodCBhbmQgYXV0aG9ycwoKMjAxMi0wOS0xNCAyMzo0MDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IFVwZGF0ZSBwbHVnaW4gZG9jcwoKMjAxMi0wOS0wOCAxNTozODo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IFJld29yayBlbmNvZGVyIHByb3BlcnRpZXMgdG8gYmUgbW9yZSBpbiBsaW5lIHdpdGggdGhlIGxpYnZweCB0b29scyBhbmQgQVBJCgkgIEFsc28gYWRkIGFsbCBhdmFpbGFibGUgcHJvcGVydGllcy4KCjIwMTItMDktMTQgMTc6NTU6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICByZXBsYWNlIF9nZXRfY2Fwc19yZWZmZWQgd2l0aCBfZ2V0X2NhcHMKCjIwMTItMDktMTQgMTc6MDg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvc25kaW8vc25kaW9zaW5rLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NyYy5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICByZXBsYWNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSB3aXRoIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YQoKMjAxMi0wOS0xNCAxMjowNjoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGluaXQgcHBzIGFuZCBzcHMgc3RydWN0dXJlcyBiZWZvcmUgcGFyc2luZwoJICAuLi4gd2hpY2ggYXJyYW5nZXMgZm9yIGEgdmFsaWQgZmFsbGJhY2sgaWQsIGFuZCBhbGxvd3MgdG8gY29udGludWUgYmVzdCBlZmZvcnQKCSAgcHJvY2Vzc2luZyBldmVuIHdoZW4gc3BzL3BwcyBwYXJzaW5nIGZhaWxzLgoKMjAxMi0wOS0wMyAxMzo1ODoyMiArMDIwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgZ3N0aDI2NHBhcnNlOiBhZGQgY29tbWVudCB3aGVyZSByZXR1cm4gc2hvdWxkIGJlIGNoZWNrZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNjQKCjIwMTItMDktMDMgMTM6NDM6MDMgKzAyMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBnc3RoMjY0cGFyc2VyOiBmaXggQ292ZXJpdHkgZm91bmQgbm90IGluaXRpYWxpemVkIHNwcy9wcHMgdmFsaWQgbWVtYmVyLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjY0CgoyMDEyLTA5LTAzIDEzOjA5OjI5ICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgZ3N0aDI2NHBhcnNlcjogZml4IENvdmVyaXR5IGRldGVjdGVkIG9mZiBieSBvbmUgYXQgY2FsbCB0byBSRUFEX1VFX0FMTE9XRUQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNjMKCjIwMTItMDktMTQgMTY6NDk6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2JsdXItZXhhbXBsZS5weToKCSogZ3N0L2dhdWRpZWZmZWN0cy9idXJuLWV4YW1wbGUucHk6CgkgIHJlbmFtZSBzb21lIGNhcHMKCjIwMTItMDktMTQgMTY6NDU6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheToKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9ibHVyLWV4YW1wbGUucHk6CgkqIGdzdC9nYXVkaWVmZmVjdHMvYnVybi1leGFtcGxlLnB5OgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYXBzZmlsdGVyL2NhcHNmaWx0ZXIxLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBmZm1wZWdjb2xvcnNwYWNlIGlzIG5vIG1vcmUKCjIwMTItMDktMTQgMTY6Mjk6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcmF3cGFyc2UvUkVBRE1FOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHJlbmFtZSBzb21lIGNhcHMgYW5kIGVsZW1lbnRzIGluIGV4YW1wbGVzCgoyMDEyLTA5LTAyIDIwOjE3OjE0ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogdXNlIHByZXZpb3VzbHkgcGFyc2VkIHZpc3VhbCBvYmplY3Qgd2hlbiBwYXJzaW5nIFZPTAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjU0CgoyMDEyLTA5LTAyIDIwOjE5OjE3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgbXBlZzRwYXJzZXI6IHBhcnNlIGNvbXBsZXhpdHkgZXN0aW1hdGlvbiBoZWFkZXIgaW4gdmlkZW8gb2JqZWN0IGxheWVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNTQKCjIwMTItMDktMDIgMjA6MTg6MzIgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBtcGVnNHBhcnNlcjogZml4IHNvbWUgaXNzdWVzIHJlbGF0ZWQgdG8gdmlkZW8gb2JqZWN0IGxheWVyIHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI1NAoKMjAxMi0wOS0wMiAxODoyMToxNiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGRvIG5vdCBza2lwIHVzZXIgZGF0YQoJICBVc2VyIGRhdGEgd2FzIHNraXBwZWQgdW50aWwgbm93LCBzbyB0aGUgdXNlciBkYXRhIHdhcyBpbmNsdWRlZCB3aGVuCgkgIHBhcnNpbmcgdGhlIHByZXZpb3VzIHBhY2tldCBhbmQgaW4gdGhlIGNvbmZpZyBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNTQKCjIwMTItMDktMTQgMDI6NTk6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTQgPT09CgoyMDEyLTA5LTE0IDAyOjUwOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45NAoKMjAxMi0wOS0xNCAwMjowNjo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcwoKMjAxMi0wOS0xMyAxMzo0NDowNSAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIGNoZWNrOiBWZXJpZnkgdGhlIERUUyBlbWVyZ2luZyBmcm9tIHRoZSBwYXJzZXIsIG5vdCBQVFMKCSAgUFRTIGRvZXNuJ3QgaW5jcmVtZW50IGxpbmVhcmx5IGluIHBhcnNlcnMgd2l0aCBmcmFtZSByZS1vcmRlcmluZywgYnV0CgkgIERUUyBkb2VzLiBWZXJpZnkgdGhhdCBpbnN0ZWFkLgoKMjAxMi0wOS0xMyAxMzozNDoxNiAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSAgY2hlY2s6IEZpeCBtcGVndmlkZW9wYXJzZXIgUEFSIGV4cGVjdGF0aW9uCgkgIFRoZSBwYXJzZXIgKGNvcnJlY3RseSkgbm93IGludGVycHJldHMgdGhlIHRlc3QgaGVhZGVyIHVzaW5nCgkgIE1QRUctMSBzZW1hbnRpY3MsIHNvIGZpeCB0aGUgdGVzdCBleHBlY3RhdGlvbi4KCjIwMTItMDktMTMgMTU6NTE6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcmF1ZGlvc3JjOiBNYWtlIGNhcHMgd3JpdGFibGUgaW4gZml4YXRlCgoyMDEyLTA5LTEzIDE1OjA2OjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXI6IFBvcnQgdG8gMS4wIEFQSQoJICBBbHNvIHJlbW92ZSBhIGxvdCBvZiBlbXB0eSwgbm9uLWltcGxlbWVudGVkIG1ldGhvZHMKCjIwMTItMDktMTIgMjI6NTg6MDQgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogRGlzYWJsZSBQVFMgaW50ZXJwb2xhdGlvbiBpbiB0aGUgYmFzZSBwYXJzZSBjbGFzcwoJICBBbGwgdGhlc2UgZm9ybWF0cyBoYXZlIHJlLW9yZGVyZWQgUFRTIHdoaWNoIHRoZSBiYXNlIGNsYXNzIGdldHMKCSAgd3JvbmcuIEl0J3MgYmV0dGVyIHRvIGxlYXZlIHRoZW0gYmxhbmsgYW5kIGxldCB0aGUgZGVjb2RlciBzb3J0IGl0CgkgIG91dC4gQmV0dGVyIHlldCB3b3VsZCBiZSB0byB0cmFjayBhbmQgaW50ZXJwb2xhdGUgdGhlIHRpbWVzdGFtcHMKCSAgaW4gdGhlIHN1YmNsYXNzZXMgKEZJWE1FKQoKMjAxMi0wOS0wOSAxNjo0MDowMCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBBZHZhbmNlIHZpZGVvIHN0cmVhbSB3aXRoIGdhcCBldmVudHMuCgkgIEhhbmRsZSBHYXAgZXZlbnRzIHRoZSB3YXkgd2UgdXNlZCB0byBoYW5kbGUgc2VnbWVudCB1cGRhdGVzCgkgIGFuZCBhZHZhbmNlL2ZpbGwgaW4gdGhlIHZpZGVvIHN0cmVhbSBhY2NvcmRpbmdseS4gRml4ZXMKCSAgJ3N0aWxsJyBtZW51cyB3aGljaCBhcmVuJ3QgRFZEIHN0aWxsIGZyYW1lcywgYnV0IGFyZSBqdXN0IGEKCSAgc2luZ2xlIGZyYW1lIHdpdGggYWNjb21wYW55aW5nIGF1ZGlvLgoKMjAxMi0wOS0wOSAxNjoyOTo1MiAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICByZXNpbmR2ZDogU3RhcnQgd2l0aCBhIGxhcmdlciBzdWJwaWN0dXJlIHF1ZXVlIGZvciBwcmVyb2xsLgoJICBTaHJpbmsgdGhlIHF1ZXVlIG9uY2Ugd2UncmUgcHJlcm9sbGVkLiBGaXhlcyB0aGUgRnJpbmdlIFMxCgkgIERWRC4gQWxzbywgZW5zdXJlIHdlIG9ubHkgZmlyZSBub19tb3JlX3BhZHMgb25jZS4KCjIwMTItMDktMDggMTk6MjE6NDcgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZDogRGlzYWJsZSBpbnB1dC1zZWxlY3RvciBzeW5jaW5nCgkgIFVudGlsIHNlZ21lbnRzIGFyZSBiZXR0ZXIgd29ya2VkIG91dC4gQWxzbywgdXNlCgkgIGludGVybmFsIGlucHV0LXNlbGVjdG9yIGZvciBhdWRpbyBhcyB3ZWxsCgoyMDEyLTA5LTAzIDA5OjQ3OjMwIC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEhhbmRsZSBTZXF1ZW5jZSBEaXNwbGF5IEV4dGVuc2lvbgoJICBDaGFuZ2UgdGhlIHdheSB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGlzIGNvbXB1dGVkIGJ5CgkgIGludGVycHJldGluZyB0aGUgc2VxdWVuY2UgaGVhZGVyIGFzcGVjdCByYXRpbyBpbmZvCgkgIGFzIE1QRUctMSB2YWx1ZXMgdW50aWwgYSBzZXF1ZW5jZSBleHRlbnNpb24gb3IKCSAgc2VxdWVuY2UgZGlzcGxheSBleHRlbnNpb24gaXMgc2VlbiwgYW5kIHRoZW4gdXBkYXRpbmcKCSAgdGhlIHNlcXVlbmNlIGhlYWRlciBzdHJ1Y3QgYWNjb3JkaW5nbHkuCgkgIEZpeGVzIGluY29ycmVjdCBhbmFtb3JwaGljIGRpc3BsYXkgb24gc29tZSBNUEVHLTIgKERWRCkKCSAgc2VxdWVuY2VzLgoKMjAxMi0wOS0xMyAwMTo0MDo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSAgdGVzdHM6IGRpc2FibGUgeWV0IGFub3RoZXIgbXhmIHRlc3RzIHVudGlsIHRoZSBlbGVtZW50cyBhcmUgcG9ydGVkCgoyMDEyLTA5LTEzIDAxOjM0OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZXRlc3RzcmM6IGZpeCBjYXBzIGZpeGF0aW9uCgkgIE1ha2UgY2FwcyB3cml0YWJsZSBiZWZvcmUgY2hhbmdpbmcgdGhlbS4KCjIwMTItMDktMTMgMDE6MjY6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuYzoKCSAgc2VnbWVudGNsaXA6IGZpeCB3cm9uZyBwYWQgdGVtcGxhdGUgdW5yZWYKCSAgQmxvd3MgdXAgd2hlbiB0cnlpbmcgdG8gaW5zdGFudGlhdGUgYSBzZWNvbmQgY2xpcCBlbGVtZW50CgkgIG9mIHRoZSBzYW1lIHR5cGUsIGxpa2UgaW4gdGhlIGdlbmVyaWMvc3RhdGVzIHVuaXQgdGVzdC4KCjIwMTItMDktMTMgMDE6MDc6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZmFpbCBncmFjZWZ1bGx5IHdpdGggYW4gZXJyb3IgbWVzc2FnZSBpZiB3ZSBjYW4ndCBjb25uZWN0IHRvIHdheWxhbmQKCSAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKSBpcyBub3QgZm9yIGVycm9yIGhhbmRsaW5nLCBpdCdzIGZvcgoJICBjYXRjaGluZyBwcm9ncmFtbWluZyBlcnJvcnMgaW4gcHVibGljIEFQSS4KCSAgRml4ZXMgcHJvYmxlbSB3aXRoIGdlbmVyaWMvc3RhdGVzIHVuaXQgdGVzdC4KCjIwMTItMDktMTMgMDA6NTk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIHNpcmVuOiBpbml0IGRlYnVnIGNhdGVnb3J5IGJlZm9yZSBsb2dnaW5nIGFueXRoaW5nCgoyMDEyLTA5LTEzIDAwOjU1OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkgIHRlc3RzOiBza2lwIG14ZiB0ZXN0cyB3aGlsZSBlbGVtZW50cyBoYXZlbid0IGJlZW4gcG9ydGVkIHlldAoKMjAxMi0wOS0xMyAwMDo1MDowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHJlbW92ZSBHU1RfRVJST1Igc3RhdGVtZW50IHRoYXQgd2FzIGNvbW1pdHRlZCBieSBhY2NpZGVudAoKMjAxMi0wOS0xMyAwMDo0MDo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogZml4IGppZm11eCB0ZXN0CgkgIE5lZWQgdG8gcGFzcyBhIEdzdFNhbXBsZSBub3cgZm9yIEdTVF9UQUdfQVBQTElDQVRJT05fREFUQQoJICBpbnN0ZWFkIG9mIGEgR3N0QnVmZmVyLgoKMjAxMi0wOS0xMiAxODozNDowMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuaDoKCSAgcG5tOiBQb3J0IHRvIDEuMCBBUEkKCjIwMTItMDktMTIgMTc6MzQ6MDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICBmcmVlemU6IFVzZSBhIEdQdHJBcnJheSBpbnN0ZWFkIG9mIGEgR1F1ZXVlCgkgIFRoaXMgd2F5LCB0aGUgbW9zdCBjb21tb24gZnVuY3Rpb24gKGNoYW5naW5nIGJ1ZmZlcnMpIGJlY29tZXMgTygxKSBpbnN0ZWFkCgkgIG9mIE8obikKCjIwMTItMDktMTIgMTc6MjQ6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgIGZyZWV6ZTogUG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTEyIDE2OjIzOjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICBzcGVlZDogVmFyaW91cyAxLjAgc3R5bGUgYWRkaXRpb25zCgkgIFVzZSBHc3RBdWRpb0luZm8gZXZlcnl3aGVyZSwgZXRjCgoyMDEyLTA5LTEwIDE3OjE2OjA3ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiBwb3J0IHRvIDAuMTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzcyNwoKMjAxMi0wOS0xMiAxNjowMzowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgbGl2ZWFkZGVyOiBwb3J0IHRvIDEuMCBBUEkKCjIwMTItMDktMTIgMjE6MTM6MzUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBjb2xsZWN0cGFkczogcmVtb3ZlIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZF9mdWxsCgkgIFJlbmFtZSBnc3RfY29sbGVjdF9wYWRzX2FkZF9wYWRfZnVsbCgpIHRvIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZCgpIGFuZCBmaXggYWxsCgkgIGludm9jYXRpb25zLgoKMjAxMi0wOS0xMiAxMjoxNDo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBzaXJlbjogUG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTEyIDE1OjA4OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogVXNlIGRlZmF1bHQgcXVlcnkgaGFuZGxlcnMgd2hlcmUgbmVlZGVkCgkgIEFuZCBmaXh1cCBnZXRjYXBzIGhhbmRsZXIgd2hpbGUgSSdtIGF0IGl0CgoyMDEyLTA5LTEyIDA5OjQyOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcG9ydCB0YWdzZXR0ZXIgbW9kZSBzZXR0aW5nIGNvZGUKCSAgQ2hlY2sgZGlyZWN0bHkgd2l0aCBHU1RfSVNfVEFHX1NFVFRFUiBpbnN0ZWFkIG9mIHVzaW5nIHRoZQoJICBkZXByZWNhdGVkIEdzdEltcGxlbWVudHNJbnRlcmZhY2UKCSAgRml4ZXMgdGhlIGltYWdlIHRhZyBzZXR0aW5nIHVuaXQgdGVzdAoKMjAxMi0wOS0xMiAxMzowMzoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiBmaXggd2luMzIgYnVpbGQgZXZlbiBtb3JlCgoyMDEyLTA5LTEyIDEzOjE3OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBwb3J0IHRvIHRoZSBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTA5LTEyIDExOjA4OjI1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGFzcGVjdCByYXRpbyBjYWxjdWxhdGlvbi4KCSAgQVNQRUNUX0hPUklaX1NJWkUgYW5kIEFTUEVDVF9WRVJUX1NJWkUgYXJlIHN5bnRheCBlbGVtZW50cyB0aGF0IGhvbGQKCSAgYmluYXJ5IGVuY29kaW5ncyBvZiBzaXplcyByYW5naW5nIGZyb20gMSB0byAyNTYuIFRodXMsIHRoZSBjYWxjdWxhdGVkCgkgIHBpeGVsLWFzcGVjdC1yYXRpbyB3YXMgb2ZmIGJ5IG9uZS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzODU4CgoyMDEyLTA5LTEyIDExOjAxOjM0ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NHBhcnNlOiBkb24ndCB1c2UgYW5vbnltb3VzIHVuaW9ucy4KCSAgQW5vbnltb3VzIHVuaW9uIGlzIGFuIElTTyBDICgyMDExKSBmZWF0dXJlIHRoYXQgaXMgbm90IGV4cG9zZWQgaW4KCSAgY29tcGlsZXJzIHN0cmljdGx5IGNvbmZvcm1pbmcgdG8gdGhlIHByZXZpb3VzIHN0YW5kYXJkLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTA5LTEyIDExOjIxOjQxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogY29tcHV0ZSBwaXhlbCBhc3BlY3QgcmF0aW8uCgkgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEZhcm5zd29ydGggPHNpbW9uLmZhcm5zd29ydGhAb25lbGFuLmNvLnVrPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTA5LTEyIDA5OjQ4OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogYXR0ZW1wdCB0byBnZXQgZGlzYWJsZWQgc3RyZWFtaGVhZGVyIHRlc3QgdG8gY29tcGlsZSBvbiB3aW4zMgoJICBUaG91Z2ggaXQgcHJvYmFibHkgd29uJ3Qgd29yaywgYnV0IHRoZW4gaXQncyBkaXNhYmxlZC4KCjIwMTItMDktMTIgMDk6MTA6MzUgKzAyMDAgIFBldGVyIEtvcnNnYWFyZCA8amFjbWV0QHN1bnNpdGUuZGs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIG9wdXMgKyBqcGVnZm9ybWF0OiB1bmJyZWFrIG5vbi1kZWJ1ZyBidWlsZAoJICBvcHVzICsganBlZ2Zvcm1hdCBwbHVnaW4gYnVpbGRzIGZhaWwgd2hlbiBnc3RyZWFtZXIgaXMgY29uZmlndXJlZCB3aXRoCgkgIC0tZGlzYWJsZS1nc3QtZGVidWcgYXMgdGhleSBhcmUgY2hlY2tpbmcgdGhlIEdTVF9ESVNBQkxFX0RFQlVHIHN5bWJvbAoJICBpbnN0ZWFkIG9mIEdTVF9ESVNBQkxFX0dTVF9ERUJVRy4KCSAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgS29yc2dhYXJkIDxqYWNtZXRAc3Vuc2l0ZS5kaz4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mzg1MAoKMjAxMi0wOS0xMiAwMTozNTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJICBqcGVnZm9ybWF0OiBkb24ndCBsaW5rIHRvIGxpYmdzdGludGVyZmFjZXMgd2hpY2ggZG9lc24ndCBleGlzdCBhbnkgbG9uZ2VyCgoyMDEyLTA5LTExIDIwOjMwOjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJICBzcGFucGxjOiBEb24ndCB1bnJlZiB0b28gbXVjaCwgZG9uJ3QgZm9yd2FyZCBnYXAgZXZlbnQKCjIwMTItMDktMTEgMjA6MTk6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5oOgoJICBzcGFucGxjOiBQb3J0IHRvIDEuMCBBUEkKCjIwMTItMDktMTEgMTk6NDE6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBEb24ndCB0cnkgdG8gc3luYyBjb250cm9sbGVyIHZhbHVlcyB0byBpbnZhbGlkIHRpbWVzdGFtcAoKMjAxMi0wOS0xMSAxOTozNjoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGaW5pc2ggcG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTExIDE4OjU1OjExIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgdGVzdDogU2ltcGxpZnkgYXV0b2NvbnZlcnQgdGVzdAoKMjAxMi0wOS0xMSAxODo1Mzo0MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogTG9vayBhdCBhbGwgcG9zc2liaWxpdGllcyBmb3IgYWNjZXB0LWNhcHMgZXZlbiBpZiB0aGVyZSBpcyBhIHNlbGVjdGVkIHN1YmVsZW1lbnQKCSAgSWYgdGhlIGFjY2VwdC1jYXBzIHN1Y2NlZWRzIHdpdGggYSBkaWZmZXJlbnQgc3ViZWxlbWVudCwgdGhlbiB0aGUgc3Vic2VxdWVudAoJICBjYXBzIGV2ZW50IHdpbGwgY2hhbmdlIHRoZSBjdXJyZW50IHN1YmVsZW1lbnQuCgoyMDEyLTA5LTExIDE4OjAyOjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICB0ZXN0OiBGbHVzaCBvcHVzIGVuY29kZXIgYmV0d2VlbiB0ZXN0cwoKMjAxMi0wOS0xMSAxODowMTo1OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgdGVzdDogRmx1c2ggb3B1cyBlbmNvZGVyIGJldHdlZW4gdGVzdHMKCjIwMTItMDktMTAgMTg6MjA6NDggLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmg6CgkgIHV2Y2gyNjQ6IE1ha2UgZ3VkZXYvbGlidXNiIGEgaGFyZCBkZXBlbmRlbmN5IGFuZCByZW1vdmUgWFVfRklORF9VTklUIGlvY3RsIHN1cHBvcnQKCSAgQ29uZmxpY3RzOgoJICBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jCgoyMDEyLTA5LTExIDE3OjQ3OjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgZXh0LCBnc3Q6IG9ubHkgYWN0aXZhdGUgaW4gcHVsbCBtb2RlIGlmIHVwc3RyZWFtIGlzIHNlZWthYmxlCgoyMDEyLTA5LTExIDE1OjA3OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogdGltZWQgdGV4dCBpcyB0ZXh0L3gtcmF3IG5vdwoKMjAxMi0wOS0xMSAxNTowMjowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguYzoKCSAgZDNkdmlkZW9zaW5rOiBwb3J0IHRvIHRoZSBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTA5LTExIDE0OjMyOjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkgIHRlc3RzOiBtcGVnMmVuYywgbXBsZXg6IHBvcnQgdG8gdGhlIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMDktMTEgMTQ6MzE6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IHBvcnQgdG8gdGhlIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMDktMTEgMDE6NTI6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgZ2RwOiBtb3ZlIGdkcCBwbHVnaW4gaGVyZSBmcm9tIC1iYXNlCgkgIE5lZWRzIHNvbWUgcmV3b3JraW5nLgoKMjAxMi0wOS0wOSAxODowNTo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZHVtcCBieXRlcyBpbnRvIGRlYnVnIGxvZyB1c2luZyBHU1RfTUVNRFVNUAoJICBJbnN0ZWFkIG9mIGhvbWUtZ3Jvd24gc29sdXRpb24uCgoyMDEyLTA3LTI3IDE1OjIxOjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgdXBkYXRlIGZvciBuZXcgdmFyaWFibGUgbmFtZXMKCjIwMTItMDctMDIgMTI6NTI6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiB1c2UgbXVsdGlmZHNpbmsgZm9yIHN0cmVhbWhlYWRlciB0ZXN0CgkgIFVzZSBtdWx0aWZkc2luayBmb3IgcGlwZXMgaW5zdGVhZCBvZiBtdWx0aXNvY2tldHNpbmssCgkgIHRvIGF2b2lkICJjcmVhdGluZyBHU29ja2V0IGZyb20gZmQgOTogU29ja2V0IG9wZXJhdGlvbgoJICBvbiBub24tc29ja2V0ICJjcml0aWNhbHMgZnJvbSBHaW8uIFRlc3Qgc3RpbGwgZmFpbHMsCgkgIGJ1dCBpdCBmYWlscyBpbiBhIGRpZmZlcmVudCB3YXkgbm93LgoKMjAxMi0wNC0yNSAxODowNzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHBsdWcgYnVmZmVyIGxlYWsKCjIwMTItMDQtMTkgMTQ6NDE6NDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiBpbml0aWFsaXplIHZhcmlhYmxlcwoKMjAxMi0wNC0xMCAwMDo0NToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIFVzZSBuZXcgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgoyMDEyLTA0LTA1IDE1OjExOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwLmM6CgkgIGdzdDogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2UKCjIwMTItMDQtMDEgMTg6MTE6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBJbXByb3ZlIGJ1ZmZlciBhbGxvY2F0aW9uIG9mIHdyYXBwZWQgbWVtb3J5CgoyMDEyLTAzLTMwIDE4OjEyOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgdXBkYXRlIGZvciBidWZmZXIgYXBpIGNoYW5nZQoKMjAxMi0wMy0yOCAxMjo0ODo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGNoYW5nZXMKCjIwMTItMDMtMTUgMTM6MzI6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMi0yMiAwMjowNToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIHVwZGF0ZSBmb3IgbmV3IG1lbW9yeSBhcGkKCjIwMTItMDItMDMgMTE6Mzg6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgZ2RwOiBmaXh1cCB1bml0IHRlc3RzCgoyMDEyLTAyLTAzIDExOjM4OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBmaXh1cCBmb3IgY2hhbmdlZCBjYXBzCgkgIFRyeSB0byBzZW5kIHRoZSBzdHJlYW1oZWFkZXIgYWZ0ZXIgdGhlIGZpcnN0IGJ1ZmZlci4KCjIwMTItMDItMDMgMTE6Mzc6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBkYXRhcHJvdG9jb2w6IGRvbid0IGRlZmluZSBkZWZhdWx0IENhdGVnb3J5CgkgIFNpbmNlIHdlIG5vdyBpbmNsdWRlIHRoaXMgaW50byB0aGUgdW5pdCB0ZXN0cyBkaXJlY3RseSwgZG9uJ3QgZGVmaW5lIHRoZSBkZWZhdWx0CgkgIGNhdGVnb3J5IG1hY3JvIGJlY2F1c2UgaXQgY29uZmxpY3RzIHdpdGggY2hlY2suCgoyMDEyLTAxLTMwIDE3OjE2OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdXBkYXRlIGZvciBIRUFERVIgZmxhZyBjaGFuZ2VzCgoyMDEyLTAxLTIwIDE2OjExOjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICBwb3J0IHRvIG5ldyBtYXAgQVBJCgoyMDEyLTAxLTE5IDE1OjMyOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogZml4IHNvbWUgdGVzdHMKCjIwMTItMDEtMDQgMTY6NDE6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogcG9ydCBhbmQgZW5hYmxlIG1vcmUgdW5pdCB0ZXN0cwoKMjAxMS0xMi0yNSAyMzoxOTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSogZ3N0L2dkcC9nc3RnZHAuYzoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgZ2RwOiBtb3ZlIGRhdGFwcm90b2NvbCBsaWJyYXJ5IGludG8gZ2RwIHBsdWdpbiBhbmQgbWFrZSBwcml2YXRlCgkgIFdlIGhhdmUgcmVtb3ZlZCB0aGluZ3MgbGlrZSBwcm90b2NvbD1nZHAgaW4gdGhlIHRjcCBlbGVtZW50cwoJICBpbiBmYXZvdXIgb2YgZXhwbGljaXQgZ2RwcGF5L2RlcGF5IGVsZW1lbnRzLCBzbyB0aGVyZSdzIG5vIG5lZWQKCSAgdG8ga2VlcCBhIHB1YmxpYyBBUEkgYW5kIGxpYnJhcnkgZm9yIG5vdy4gV2UgY2FuIHN0aWxsIGFkZCBpdAoJICBiYWNrIGxhdGVyLiBTb21lb25lIG5lZWRzIHRvIHRoaW5rIGhhcmQgYWJvdXQgMC4xMSBhbmQgZ2RwCgkgIGFueXdheSBvbmUgb2YgdGhlc2UgZGF5cy4KCjIwMTEtMTEtMTEgMTc6MTc6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJICBnZHA6IGZpeCBoZWFkZXIgZmlsZXMKCSAgRW5zdXJlIGNvcnJlY3QgaW5kZW50YXRpb24gYW5kIHJldGFiCgkgIE1ha2Ugc3VyZSBhbGwgc3RydWN0dXJlIGhhdmUgcGFkZGluZwoKMjAxMS0wOC0xNiAxNzozMjoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogcmVuYW1lIGJ1ZmZlciBQUkVST0xMIC0+IExJVkUgZmxhZwoJICBSZW5hbWUgdGhlIEdTVF9CVUZGRVJfRkxBR19QUkVST0xMIHRvIEdTVF9CVUZGRVJfRkxBR19MSVZFIGFuZCBnaXZlIHRoZSBuZXcgZmxhZwoJICBhIG1lYW5pbmcuIFRoZSBvbGQgUFJFUk9MTCBmbGFnIG5ldmVyIGhhZCBhIGNsZWFyIG1lYW5pbmcuCgoyMDExLTA2LTEwIDEzOjQwOjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBtYWtlIG5ldyBfYnVmZmVyX2FsbG9jYXRlIG1ldGhvZAoJICBNYWtlIGEgbmV3IG1ldGhvZCB0byBhbGxvY2F0ZSBhIGJ1ZmZlciArIG1lbW9yeSB0aGF0IHRha2VzIHRoZSBhbGxvY2F0b3IgYW5kIHRoZQoJICBhbGlnbm1lbnQgYXMgcGFyYW1ldGVycy4gUHJvdmlkZSBhIG1hY3JvIGZvciB0aGUgb2xkIG1ldGhvZCBidXQgcHJlZmVyIHRvIHVzZQoJICB0aGUgbmV3IG1ldGhvZCB0byBlbmNvdXJhZ2UgcGx1Z2lucyB0byBuZWdvdGlhdGUgdGhlIGFsbG9jYXRvciBwcm9wZXJseS4KCjIwMTEtMDUtMTMgMTg6MDc6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IFJld29yayBHc3RTZWdtZW50IGhhbmRsaW5nCgkgIEltcHJvdmUgR3N0U2VnbWVudCwgcmVuYW1lIHNvbWUgZmllbGRzLiBUaGUgaWRlYSBpcyB0byBoYXZlIHRoZSBHc3RTZWdtZW50CgkgIHN0cnVjdHVyZSByZXByZXNlbnQgdGhlIHRpbWluZyBzdHJ1Y3R1cmUgb2YgdGhlIGJ1ZmZlcnMgYXMgdGhleSBhcmUgZ2VuZXJhdGVkIGJ5CgkgIHRoZSBzb3VyY2Ugb3IgZGVtdXhlciBlbGVtZW50LgoJICBnc3Rfc2VnbWVudF9zZXRfc2VlaygpIC0+IGdzdF9zZWdtZW50X2RvX3NlZWsoKQoJICBSZW5hbWUgdGhlIE5FV1NFR01FTlQgZXZlbnQgdG8gU0VHTUVOVC4KCSAgTWFrZSBwYXJzaW5nIG9mIHRoZSBTRUdNRU5UIGV2ZW50IGludG8gYSBHc3RTZWdtZW50IHN0cnVjdHVyZS4KCSAgUGFzcyBhIEdzdFNlZ21lbnQgc3RydWN0dXJlIHdoZW4gbWFraW5nIGEgbmV3IFNFR01FTlQgZXZlbnQuIFRoaXMgYWxsb3dzIHVzIHRvCgkgIHBhc3MgdGhlIHRpbWluZyBpbmZvIGRpcmVjdGx5IHRvIHRoZSBuZXh0IGVsZW1lbnQuIE5vIGFjY3VtdWxhdGlvbiBpcyBuZWVkZWQgaW4KCSAgdGhlIHJlY2VpdmluZyBlbGVtZW50LCBhbGwgdGhlIGluZm8gaXMgaW5zaWRlIHRoZSBlbGVtZW50LgoJICBSZW1vdmUgZ3N0X3NlZ21lbnRfc2V0X25ld3NlZ21lbnQoKTogVGhpcyBmdW5jdGlvbiBhcyB1c2VkIHRvIGFjY3VtdWxhdGUKCSAgc2VnbWVudHMgcmVjZWl2ZWQgZnJvbSB1cHN0cmVhbSwgd2hpY2ggaXMgbm93IG5vdCBuZWVkZWQgYW55bW9yZSBiZWNhdXNlIHRoZQoJICBzZWdtZW50IGV2ZW50IGNvbnRhaW5zIHRoZSBjb21wbGV0ZSB0aW1pbmcgaW5mb3JtYXRpb24uCgoyMDExLTA1LTEwIDExOjUwOjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBIaWRlIHRoZSBHc3RTdHJ1Y3R1cmUgaW4gR3N0RXZlbnQKCSAgSGlkZSB0aGUgR3N0U3RydWN0dXJlIG9mIHRoZSBldmVudCBpbiB0aGUgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMgcGFydCBzbyB0aGF0CgkgIHdlIGNhbiBjaGFuZ2UgaXQuCgkgIEFkZCBtZXRob2RzIHRvIGNoZWNrIGFuZCBtYWtlIHRoZSBldmVudCB3cml0YWJsZS4KCSAgQWRkIGEgbmV3IG1ldGhvZCB0byBnZXQgYSB3cml0YWJsZSBHc3RTdHJ1Y3R1cmUgb2YgdGhlIGVsZW1lbnQuCgkgIEF2b2lkIGRpcmVjdGx5IGFjY2lzaW5nIHRoZSBldmVudCBzdHJ1Y3R1cmUuCgoyMDExLTA1LTAyIDE2OjAwOjUyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJICBnZHA6IGFkZCBkb2NzIGZvciBHc3REUFBhY2tldGl6ZXIKCjIwMTEtMDMtMjEgMTg6MTM6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IHBvcnQgY29kZSB0byBuZXcgYnVmZmVyIGRhdGEgQVBJCgoyMDEwLTEyLTA2IDE5OjQwOjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSAgZ2RwOiByZW1vdmUgZGVwcmVjYXRlZCBjb2RlCgoyMDEwLTEwLTA4IDA5OjM0OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogbWFrZSBwdWJsaWMgZW51bSBfZ2V0X3R5cGUoKSBmdW5jdGlvbnMgdGhyZWFkLXNhZmUKCSAgTm90IHRoYXQgaXQgaXMgbGlrZWx5IHRvIG1hdHRlciBpbiBwcmFjdGljZSwgYnV0IHNpbmNlIHRoZXNlIGFyZSBwdWJsaWMKCSAgQVBJIHRoZXkgc2hvdWxkIHByb2JhYmx5IGJlIHRocmVhZC1zYWZlLgoKMjAxMC0xMC0wOCAwMDozODozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGRhdGFwcm90b2NvbCwgbGZvY29udHJvbHNvdXJjZTogZml4IGVudW0gdmFsdWUgbmFtZSBpbiBlbnVtcyB0aGF0IGFyZSBwdWJsaWMgQVBJCgkgIFNvIHJ1bi10aW1lIGJpbmRpbmdzIGNhbiBpbnRyb3NwZWN0IHRoZSBuYW1lcyBjb3JyZWN0bHkgKHdlIGFidXNlIHRoaXMKCSAgZmllbGQgYXMgZGVzY3JpcHRpb24gZmllbGQgb25seSBpbiBlbGVtZW50cywgbm90IGZvciBwdWJsaWMgQVBJCgkgICh3aGVyZSB0aGUgZGVzY3JpcHRpb24gYmVsb25ncyBpbnRvIHRoZSBndGstZG9jIGNodW5rKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTk0NgoKMjAxMC0wMy0wMiAyMjo1ODowNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBGaXhlcyBmb3IgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcwoJICBBbHNvIGFkZHMgdGhvc2UgZmxhZ3MgdG8gdGhlIGNvbmZpZ3VyZSB3YXJuaW5nIGZsYWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTE2OTIKCjIwMTAtMDMtMDIgMjM6NTE6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJICBnZHA6IE1ha2UgY29kZSBzYWZlIGZvciAtV3JlZHVuZGFudC1kZWNscwoJICBBZGRzIHRoYXQgd2FybmluZyB0byBjb25maWd1cmUuYWMKCSAgSW5jbHVkZXMgYSB0aW55IGNoYW5nZSBvZiB0aGUgR1NUX0JPSUxFUlBMQVRFX0ZVTEwoKSBtYWNybzoKCSAgVGhlIGdldF90eXBlKCkgZnVuY3Rpb24gaXMgbm8gbG9uZ2VyIGRlY2xhcmVkIGJlZm9yZSBiZWluZyBkZWZpbmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNjkyCgoyMDA5LTExLTI3IDE2OjM5OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGZpeCBicm9rZW4geHJlZnMgaW4gZG9jcwoKMjAwOC0wNi0zMCAwOTozODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ2RwOiBEb24ndCB3cml0ZSB0byB0aGUgc2FtZSByZWdpb24gb2YgbWVtb3J5IGFzIGEgdWludDY0IGFuZCB1aW50MTYgYXMgdGhpcyBicmVha3MgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgRG9uJ3Qgd3JpdGUgdG8gdGhlIHNhbWUgcmVnaW9uIG9mIG1lbW9yeSBhcyBhIHVpbnQ2NCBhbmQgdWludDE2CgkgIGFzIHRoaXMgYnJlYWtzIHN0cmljdCBhbGlhc2luZyBydWxlcyBhbmQgYXBwYXJhbnRseSBicmVha3Mgb24gUFBDCgkgIGFuZCBzMzkwLiBUaGFua3MgdG8gU2pvZXJkIFNpbW9ucyBmb3IgYW5hbHlzaW5nLiBGaXhlcyBidWcgIzM0ODExNC4KCjIwMDgtMDMtMjcgMTU6MjM6NTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdkcDogV2hlbiBjYWxjdWxhdGluZyBHRFAgYm9keSBDUkMsIHVzZSB0aGUgY29ycmVjdCBwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnRfMV8wKToKCSAgV2hlbiBjYWxjdWxhdGluZyBHRFAgYm9keSBDUkMsIHVzZSB0aGUgY29ycmVjdCBwb2ludGVyLgoJICBGaXhlcyBwYXJ0IG9mICM1MjI0MDEuCgoyMDA4LTAyLTI5IDEyOjQxOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnZHA6IENvcnJlY3QgYWxsIHJlbGV2YW50IHdhcm5pbmdzIGZvdW5kIGJ5IHRoZSBzcGFyc2Ugc2VtYW50aWMgY29kZSBhbmFseXplci4gVGhpcyBpbmNsdWRlIG1hcmtpbmcgc2V2ZXJhbCBzeW1ib2xzIHN0YXRpYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ3N0Y29uZmlnLmguaW46CgkgICogbGlicy9nc3QvYmFzZS9nc3Rjb2xsZWN0cGFkcy5jOiAoZ3N0X2NvbGxlY3RfcGFkc19yZWFkX2J1ZmZlcik6CgkgICogbGlicy9nc3QvY2hlY2svZ3N0Y2hlY2suYzogKGdzdF9jaGVja19sb2dfbWVzc2FnZV9mdW5jKSwKCSAgKGdzdF9jaGVja19sb2dfY3JpdGljYWxfZnVuYyksIChnc3RfY2hlY2tfZHJvcF9idWZmZXJzKSwKCSAgKGdzdF9jaGVja19lbGVtZW50X3B1c2hfYnVmZmVyX2xpc3QpOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0Y29udHJvbGxlci5jOiAoZ3N0X2NvbnRyb2xsZXJfZ2V0KSwKCSAgKGdzdF9jb250cm9sbGVyX2dldF90eXBlKToKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGhlbHBlci5jOiAoZ3N0X29iamVjdF9jb250cm9sX3Byb3BlcnRpZXMpLAoJICAoZ3N0X29iamVjdF9nZXRfY29udHJvbGxlciksIChnc3Rfb2JqZWN0X2dldF9jb250cm9sX3NvdXJjZSk6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RpbnRlcnBvbGF0aW9uY29udHJvbHNvdXJjZS5jOgoJICAoZ3N0X2ludGVycG9sYXRpb25fY29udHJvbF9zb3VyY2VfbmV3KToKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGxmb2NvbnRyb2xzb3VyY2UuYzoKCSAgKGdzdF9sZm9fY29udHJvbF9zb3VyY2VfbmV3KToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXRfMF8yKToKCSAgKiBwbHVnaW5zL2VsZW1lbnRzL2dzdGZkc3JjLmM6CgkgICogcGx1Z2lucy9lbGVtZW50cy9nc3RtdWx0aXF1ZXVlLmM6CgkgICogcGx1Z2lucy9lbGVtZW50cy9nc3R0ZWUuYzoKCSAgKiBwbHVnaW5zL2VsZW1lbnRzL2dzdHR5cGVmaW5kZWxlbWVudC5jOgoJICAqIHBsdWdpbnMvaW5kZXhlcnMvZ3N0ZmlsZWluZGV4LmM6IChfZmlsZV9pbmRleF9pZF9zYXZlX3htbCksCgkgIChnc3RfZmlsZV9pbmRleF9hZGRfYXNzb2NpYXRpb24pOgoJICAqIHBsdWdpbnMvaW5kZXhlcnMvZ3N0bWVtaW5kZXguYzoKCSAgKiB0ZXN0cy9iZW5jaG1hcmtzL2dzdHBvbGxzdHJlc3MuYzogKG1lc3Nfc29tZV9tb3JlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdWV1ZS5jOiAoc2V0dXBfcXVldWUpOgoJICAqIHRlc3RzL2NoZWNrL2dzdC9nc3RwaXBlbGluZS5jOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY29sbGVjdHBhZHMuYzogKHNldHVwKSwgKHRlYXJkb3duKSwKCSAgKGdzdF9jb2xsZWN0X3BhZHNfc3VpdGUpOgoJICAqIHRlc3RzL2V4YW1wbGVzL2FkYXB0ZXIvYWRhcHRlcl90ZXN0LmM6CgkgICogdGVzdHMvZXhhbXBsZXMvbWV0YWRhdGEvcmVhZC1tZXRhZGF0YS5jOiAobWFrZV9waXBlbGluZSk6CgkgICogdGVzdHMvZXhhbXBsZXMveG1sL2NyZWF0ZXhtbC5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3htbC9ydW54bWwuYzoKCSAgKiB0b29scy9nc3QtaW5zcGVjdC5jOgoJICAqIHRvb2xzL2dzdC1ydW4uYzoKCSAgQ29ycmVjdCBhbGwgcmVsZXZhbnQgd2FybmluZ3MgZm91bmQgYnkgdGhlIHNwYXJzZSBzZW1hbnRpYyBjb2RlCgkgIGFuYWx5emVyLiBUaGlzIGluY2x1ZGUgbWFya2luZyBzZXZlcmFsIHN5bWJvbHMgc3RhdGljLCB1c2luZwoJICBOVUxMIGluc3RlYWQgb2YgMCBmb3IgcG9pbnRlcnMsIG5vdCB1c2luZyB2YXJpYWJsZSBzaXplZCBhcnJheXMKCSAgb24gdGhlIHN0YWNrLCBtb3ZpbmcgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIHRoZSBiZWdpbm5pbmcgb2YKCSAgYSBibG9jayBhbmQgdXNpbmcgImZvbyAodm9pZCkiIGluc3RlYWQgb2YgImZvbyAoKSIgZm9yIGRlY2xhcmF0aW9ucy4KCjIwMDgtMDEtMDggMDI6MDc6MzggKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBnZHA6IEZpeCBlbXB0eSBwcm90b3R5cGVzLiBGaXhlcyBidWcgIzUwNzk1Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0Y29udHJvbGxlci5oOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0Y29udHJvbHNvdXJjZS5oOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0aW50ZXJwb2xhdGlvbmNvbnRyb2xzb3VyY2UuaDoKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGxmb2NvbnRyb2xzb3VyY2UuaDoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgIEZpeCBlbXB0eSBwcm90b3R5cGVzLiAgRml4ZXMgYnVnICM1MDc5NTcuCgoyMDA3LTExLTAxIDIxOjUwOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ2RwOiBnX3R5cGVfY2xhc3NfcmVmKCkgb3RoZXIgdHlwZXMgYXMgd2VsbCwgc2VlICMzNDk0MTAgYW5kICM2NDc2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dzdC5jOiAoaW5pdF9wb3N0KToKCSAgKiBnc3QvZ3N0ZXZlbnQuYzogKF9nc3RfZXZlbnRfaW5pdGlhbGl6ZSk6CgkgICogZ3N0L2dzdHF1ZXJ5LmM6IChfZ3N0X3F1ZXJ5X2luaXRpYWxpemUpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYyAoZ3N0X2RwX2luaXQpOgoJICBnX3R5cGVfY2xhc3NfcmVmKCkgb3RoZXIgdHlwZXMgYXMgd2VsbCwgc2VlICMzNDk0MTAgYW5kICM2NDc2NC4KCSAgKiBnc3QvZ3N0YnVmZmVyLmM6IChfZ3N0X2J1ZmZlcl9pbml0aWFsaXplKToKCSAgKiBnc3QvZ3N0bWVzc2FnZS5jOiAoX2dzdF9tZXNzYWdlX2luaXRpYWxpemUpOgoJICBTaW1wbGlmeSBleGlzdGluZyBnX3R5cGVfY2xhc3NfcmVmKCkuCgoyMDA2LTEwLTA1IDE0OjI2OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ2RwOiBQcmludGYgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nc3RwYWQuYzogKHByZV9hY3RpdmF0ZSk6CgkgICogZ3N0L2dzdHJlZ2lzdHJ5LmM6IChnc3RfcmVnaXN0cnlfc2Nhbl9wYXRoX2xldmVsKToKCSAgKiBnc3QvZ3N0cmVnaXN0cnl4bWwuYzogKGxvYWRfcGx1Z2luKToKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xsZXIuYzoKCSAgKGdzdF9jb250cm9sbGVkX3Byb3BlcnR5X3NldF9pbnRlcnBvbGF0aW9uX21vZGUpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudF8xXzApOgoJICAqIGxpYnMvZ3N0L25ldC9nc3RuZXRjbGllbnRjbG9jay5jOgoJICAoZ3N0X25ldF9jbGllbnRfY2xvY2tfb2JzZXJ2ZV90aW1lcyk6CgkgICogcGx1Z2lucy9lbGVtZW50cy9nc3RmZHNyYy5jOiAoZ3N0X2ZkX3NyY19jcmVhdGUpOgoJICBQcmludGYgZml4ZXMuCgoyMDA2LTA4LTExIDE1OjI2OjMzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnZHA6IEdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgaXMgb25seSBmb3IgdXNlcnMgb2YgQVBJIHRoYXQgZG9uJ3Qgd2FudCB0byBzZWUgZGVwcmVjYXRlZCBmdW5jdGlvbnMgaW4gdGhlIGhlYWRlcnM7IHBlb3BsZSB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0xMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3BhY2tldGl6ZXJfbmV3KToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2dkcC5jOiAoZ3N0X2RwX3N1aXRlKTogR1NUX0RJU0FCTEVfREVQUkVDQVRFRAoJICBpcyBvbmx5IGZvciB1c2VycyBvZiBBUEkgdGhhdCBkb24ndCB3YW50IHRvIHNlZSBkZXByZWNhdGVkCgkgIGZ1bmN0aW9ucyBpbiB0aGUgaGVhZGVyczsgcGVvcGxlIHRoYXQgd2FudCB0byBjb21waWxlIG91dAoJICBkZXByZWNhdGVkIGNvZGUgc2hvdWxkIHBhc3MgLURHU1RfUkVNT1ZFX0RFUFJFQ0FURUQgaW50byB0aGUKCSAgQ0ZMQUdTLiBGaXhlcyB0aGUgYnVpbGQgb2YgbXVsdGlmZHNpbmssIG9yIHdpbGwgc29vbi4uCgoyMDA2LTA4LTEwIDE5OjQ2OjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnZHA6IGFkZCBnc3Rfb2JqZWN0X3tzLGd9ZXRfY29udHJvbF9yYXRlKCksIGFkZCBwcml2YXRlIGRhdGEgc2VjdGlvbiwgZml4IGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9saWJzL2dzdHJlYW1lci1saWJzLXNlY3Rpb25zLnR4dDoKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xsZXIuYzoKCSAgKF9nc3RfY29udHJvbGxlcl9nZXRfcHJvcGVydHkpLCAoX2dzdF9jb250cm9sbGVyX3NldF9wcm9wZXJ0eSksCgkgIChfZ3N0X2NvbnRyb2xsZXJfaW5pdCksIChfZ3N0X2NvbnRyb2xsZXJfY2xhc3NfaW5pdCk6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3Rjb250cm9sbGVyLmg6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RoZWxwZXIuYzogKGdzdF9vYmplY3RfZ2V0X2NvbnRyb2xfcmF0ZSksCgkgIChnc3Rfb2JqZWN0X3NldF9jb250cm9sX3JhdGUpOgoJICBBUEk6IGFkZCBnc3Rfb2JqZWN0X3tzLGd9ZXRfY29udHJvbF9yYXRlKCksIGFkZCBwcml2YXRlIGRhdGEgc2VjdGlvbiwKCSAgZml4IGRvY3MKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfcGFja2V0aXplcl9uZXcpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgYWRkIGRlcHJlY2F0aW9uIGd1YXJkcyB0byBtYWtlIGd0ay1kb2MgaGFwcHkgYW5kIGFsbG93IGRpc2FibGluZyBjcnVmdAoKMjAwNi0wOC0wMiAxNToxOTozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogTWFrZSBkZWJ1ZyBjYXRlZ29yeSBzdGF0aWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlcl9hbnkpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHNfYW55KSwKCSAgKGdzdF9kcF9jcmMpLCAoZ3N0X2RwX2hlYWRlcl9wYXlsb2FkX2xlbmd0aCksCgkgIChnc3RfZHBfaGVhZGVyX3BheWxvYWRfdHlwZSksIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50XzFfMCksIChnc3RfZHBfYnVmZmVyX2Zyb21faGVhZGVyKSwKCSAgKGdzdF9kcF9jYXBzX2Zyb21fcGFja2V0KSwgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldF8wXzIpLAoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0KSwgKGdzdF9kcF92YWxpZGF0ZV9oZWFkZXIpLAoJICAoZ3N0X2RwX3ZhbGlkYXRlX3BheWxvYWQpOgoJICBNYWtlIGRlYnVnIGNhdGVnb3J5IHN0YXRpYwoJICBDb25zdGlmeSB0aGUgY3JjIHRhYmxlLgoJICBEbyBzb21lIG1vcmUgYXJnIGNoZWNraW5nIGluIHB1YmxpYyBmdW5jdGlvbnMuCgkgIEZpeCBzb21lIGRvY3MgYW5kIGRvIHNvbWUgc21hbGwgY2xlYW51cHMuCgkgICogdGVzdHMvY2hlY2svbGlicy9nZHAuYzogKEdTVF9TVEFSVF9URVNUKSwgKGdzdF9kcF9zdWl0ZSk6CgkgIEFkZCBzb21lIG1vcmUgY2hlY2tzIHRvIHNlZSBpZiBHRFAgZGVhbHMgd2l0aCBib2d1cyBpbnB1dC4KCjIwMDYtMDctMTMgMTQ6MDI6MTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBmaXggZmFpbHVyZSB0byBkZXNlcmlhbGl6ZSBldmVudCBwYWNrZXRzIHdpdGggZW1wdHkgcGF5bG9hZCAob25seSBldi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXRfMV8wKToKCSAgRml4ZXMgIzM0NzMzNzogZmFpbHVyZSB0byBkZXNlcmlhbGl6ZSBldmVudCBwYWNrZXRzIHdpdGgKCSAgZW1wdHkgcGF5bG9hZCAob25seSBldmVudCB0eXBlKQoKMjAwNi0wNi0xMyAxOToyNDozNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IGFkZCBhIGdkcCBpbWFnZSB0byB0aGUgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL1JFQURNRToKCSAgKiBkb2NzL2ltYWdlcy9nZHAtaGVhZGVyLnN2ZzoKCSAgYWRkIGEgZ2RwIGltYWdlCgkgICogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvbGlicy9nZHAtaGVhZGVyLnBuZzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIGFkZCBpdCB0byB0aGUgQVBJIGRvY3MKCSAgKiBkb2NzL21hbnVhbC9pbnRyby1tb3RpdmF0aW9uLnhtbDoKCSAgZml4IHR5cG8KCjIwMDYtMDYtMDYgMTQ6Mjk6NTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBhZGQgbm90ZSB0byBkb2NzIGFib3V0IEdEUCB2ZXJzaW9uaW5nOyByZW1vdmUgdG1wbCBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbm90ZSB0byBkb2NzIGFib3V0IEdEUCB2ZXJzaW9uaW5nOyByZW1vdmUgdG1wbCBmaWxlCgoyMDA2LTA2LTA2IDE0OjI0OjAwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogYWRkIGEgR3N0RFBQYWNrZXRpemVyIG9iamVjdCwgYW5kIGNyZWF0ZS9mcmVlIGZ1bmN0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyX2FueSksIChnc3RfZHBfcGFja2V0X2Zyb21fY2Fwc19hbnkpLAoJICAoZ3N0X2RwX3ZlcnNpb25fZ2V0X3R5cGUpLCAoZ3N0X2RwX2luaXQpLAoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlciksIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyXzFfMCksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fY2FwcyksIChnc3RfZHBfcGFja2V0X2Zyb21fY2Fwc18xXzApLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudF8xXzApLAoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0XzBfMiksIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXRfMV8wKSwKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldCksIChnc3RfZHBfcGFja2V0aXplcl9uZXcpLAoJICAoZ3N0X2RwX3BhY2tldGl6ZXJfZnJlZSk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICBBUEk6IGFkZCBhIEdzdERQUGFja2V0aXplciBvYmplY3QsIGFuZCBjcmVhdGUvZnJlZSBmdW5jdGlvbnMKCSAgQVBJOiBhZGQgR3N0RFBWZXJzaW9uIGVudW0KCSAgQWRkIDEuMCBldmVudCBmdW5jdGlvbiB0aGF0IHVzZXMgdGhlIHN0cmluZyBzZXJpYWxpemF0aW9uCgkgIFNlcmlhbGl6ZSBtb3JlIHVzZWZ1bCBidWZmZXIgZmxhZ3MKCSAgRml4ZXMgIzM0Mzk4OAoKMjAwNi0wNi0wMiAxNjo0NjoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IGZhY3RvciBvdXQgQ1JDIGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlciksIChnc3RfZHBfcGFja2V0X2Zyb21fY2FwcyksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpOgoJICBmYWN0b3Igb3V0IENSQyBjb2RlCgoyMDA2LTA2LTAyIDEwOjU4OjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogZmFjdG9yIG91dCBzb21lIGNvbW1vbiBoZWFkZXIgaW5pdCBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KToKCSAgZmFjdG9yIG91dCBzb21lIGNvbW1vbiBoZWFkZXIgaW5pdCBjb2RlCgoyMDA2LTA2LTAyIDEwOjA4OjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogbWFrZSBnc3RfZHBfY3JjKCkgcHVibGljCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvbGlicy9nc3RyZWFtZXItbGlicy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9saWJzL3RtcGwvZ3N0ZGF0YXByb3RvY29sLnNnbWw6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX2NyYyk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICBBUEk6IG1ha2UgZ3N0X2RwX2NyYygpIHB1YmxpYwoKMjAwNi0wNi0wMSAxMToxMzo0NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IG1ha2Ugc3VyZSB3ZSB6ZXJvIHRoZSB3aG9sZSBBQkktY29tcGF0aWJsZSBhcmVhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpOgoJICBtYWtlIHN1cmUgd2UgemVybyB0aGUgd2hvbGUgQUJJLWNvbXBhdGlibGUgYXJlYQoKMjAwNi0wNS0wOCAxNTo1MzoxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IHdoaXRlc3BhY2UsIGNvbW1lbnQsIGRvYyBmaXh1cAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgd2hpdGVzcGFjZSwgY29tbWVudCwgZG9jIGZpeHVwCgoyMDA2LTA0LTI4IDEzOjQwOjE1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnZHA6IEZpeGVzIGluIHJlYWRpbmcvd3JpdGluZyBldmVudHMgb3ZlciBHRFAgKG5vdCBjdXJyZW50bHkgdXNlZD8pIC0gZGVyZWZlcmVuY2luZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KSwKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldCk6CgkgIEZpeGVzIGluIHJlYWRpbmcvd3JpdGluZyBldmVudHMgb3ZlciBHRFAgKG5vdCBjdXJyZW50bHkgdXNlZD8pIC0KCSAgZGVyZWZlcmVuY2luZyBOVUxMIGV2ZW50cyBmb3IgdW5rbm93bi9pbnZhbGlkIGV2ZW50IHR5cGVzLCBtZW1vcnkKCSAgbGVhaywgYW5kIGNoYW5nZSBnX3dhcm5pbmcgdG8gR1NUX1dBUk5JTkcuCgoyMDA2LTAzLTEwIDE1OjMwOjI3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnZHA6IEZpeCBkb2NzIGZvciBkYXRhcHJvY290b2wgdG8gbm90IGdldCB0aGUgcmV0dXJuIHR5cGVzIGNvbXBsZXRlbHkgd3JvbmcgZm9yIGEgZmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICBGaXggZG9jcyBmb3IgZGF0YXByb2NvdG9sIHRvIG5vdCBnZXQgdGhlIHJldHVybiB0eXBlcyBjb21wbGV0ZWx5CgkgIHdyb25nIGZvciBhIGZldyBmdW5jdGlvbnMuCgoyMDA1LTEyLTE4IDE2OjA0OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBEb2N1bWVudGF0aW9uIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YWRhcHRlci5jOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YWRhcHRlci5oOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXNpbmsuYzogKGdzdF9iYXNlX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfYmFzZV9zaW5rX2dldF9wb3NpdGlvbik6CgkgICogbGlicy9nc3QvYmFzZS9nc3RiYXNlc2luay5oOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXNyYy5jOiAoZ3N0X2Jhc2Vfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jhc2Vfc3JjX2RlZmF1bHRfcXVlcnkpLCAoZ3N0X2Jhc2Vfc3JjX2RlZmF1bHRfZG9fc2VlayksCgkgIChnc3RfYmFzZV9zcmNfZG9fc2VlayksIChnc3RfYmFzZV9zcmNfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9iYXNlX3NyY19zZW5kX2V2ZW50KSwgKGdzdF9iYXNlX3NyY191cGRhdGVfbGVuZ3RoKSwKCSAgKGdzdF9iYXNlX3NyY19nZXRfcmFuZ2UpLCAoZ3N0X2Jhc2Vfc3JjX2xvb3ApLAoJICAoZ3N0X2Jhc2Vfc3JjX3N0YXJ0KToKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGJhc2VzcmMuaDoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGJhc2V0cmFuc2Zvcm0uaDoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGNvbGxlY3RwYWRzLmg6CgkgICogbGlicy9nc3QvYmFzZS9nc3RwdXNoc3JjLmM6CgkgICogbGlicy9nc3QvYmFzZS9nc3RwdXNoc3JjLmg6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgKiBsaWJzL2dzdC9uZXQvZ3N0bmV0Y2xpZW50Y2xvY2suaDoKCSAgKiBsaWJzL2dzdC9uZXQvZ3N0bmV0dGltZXByb3ZpZGVyLmg6CgkgIERvY3VtZW50YXRpb24gdXBkYXRlcy4KCjIwMDUtMTAtMTMgMTY6MjY6MTIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdkcDogRml4IFRpbW1la2UgV2F5bWFucyBidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTEzICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYyAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpOgoJICBGaXggVGltbWVrZSBXYXltYW5zIGJ1Zy4KCSAgKGdzdF9kcF9jYXBzX2Zyb21fcGFja2V0KTogTWFrZSBzdXJlIHdlIHBhc3MgYSBOVUwtdGVybWluYXRlZAoJICBzdHJpbmcgb2YgdGhlIHByb3BlciBsZW5ndGggdG8gZ3N0X2NhcHNfZnJvbV9zdHJpbmcuIFRoZXJlJ3MgYQoJICBwb3RlbnRpYWwgZm9yLCBiZWZvcmUgdGhpcyBmaXgsIHRoYXQgdGhpcyBjb3VsZCBjYXVzZSBzb21lb25lCgkgIGNvbm5lY3Rpbmcgb3ZlciB0aGUgbmV0d29yayB0byBjYXVzZSBhIHNlZ2ZhdWx0IGlmIHRoZSBwYXlsb2FkIGlzCgkgIG5vdCBOVUwtdGVybWluYXRlZC4KCjIwMDUtMTAtMTAgMjM6NTU6MzkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBmaXggbW9yZSB2YWxncmluZCB3YXJuaW5ncyBiZWZvcmUgdHVybmluZyB1cCB0aGUgaGVhdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IG1vcmUgdmFsZ3JpbmQgd2FybmluZ3MgYmVmb3JlIHR1cm5pbmcgdXAgdGhlIGhlYXQKCjIwMDUtMTAtMDggMTc6MTc6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IEl0J3MgYWJvdXQgdGltZSB3ZSBidW1wIHRoZSB2ZXJzaW9uIG51bWJlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlciksIChnc3RfZHBfcGFja2V0X2Zyb21fY2FwcyksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZHAtcHJpdmF0ZS5oOgoJICBJdCdzIGFib3V0IHRpbWUgd2UgYnVtcCB0aGUgdmVyc2lvbiBudW1iZXIuCgkgIFNpbmNlIGV2ZW50IHR5cGVzIGRvbid0IGZpdCBpbiB0aGUgZ3VpbnQ4IGFueW1vcmUgZGVzY3JpYmluZwoJICB0aGUgcGF5bG9hZCB0eXBlLCBtYWtlIHBheWxvYWQgdHlwZSAxNiBiaXRzIHdpZGUuCgoyMDA1LTA5LTI3IDE2OjMwOjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnZHA6IEZpeCBlcnJvci1jaGVja2luZyByZXR1cm4gdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0yNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IEZpeCBlcnJvci1jaGVja2luZyByZXR1cm4KCSAgdmFsdWVzLgoKMjAwNS0wNy0yNyAxOTowMDozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogRml4IHNlcmlhbGl6YXRpb24gb2Ygc2VlayBldmVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksCgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXQpOgoJICBGaXggc2VyaWFsaXphdGlvbiBvZiBzZWVrIGV2ZW50cy4KCjIwMDUtMDctMjcgMTg6MzM6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IFNvbWUgZG9jcyB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENIQU5HRVMtMC45OgoJICAqIGRvY3MvZGVzaWduL3BhcnQtVE9ETy50eHQ6CgkgICogZG9jcy9kZXNpZ24vcGFydC1ldmVudHMudHh0OgoJICBTb21lIGRvY3MgdXBkYXRlcwoJICAqIGdzdC9iYXNlL2dzdGJhc2VzaW5rLmM6IChnc3RfYmFzZV9zaW5rX2hhbmRsZV9vYmplY3QpLAoJICAoZ3N0X2Jhc2Vfc2lua19ldmVudCksIChnc3RfYmFzZV9zaW5rX2RvX3N5bmMpLAoJICAoZ3N0X2Jhc2Vfc2lua19hY3RpdmF0ZV9wdXNoKSwgKGdzdF9iYXNlX3NpbmtfYWN0aXZhdGVfcHVsbCk6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXNyYy5jOiAoZ3N0X2Jhc2Vfc3JjX3NlbmRfZGlzY29udCksCgkgIChnc3RfYmFzZV9zcmNfZG9fc2VlayksIChnc3RfYmFzZV9zcmNfZXZlbnRfaGFuZGxlciksCgkgIChnc3RfYmFzZV9zcmNfbG9vcCk6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXRyYW5zZm9ybS5jOiAoZ3N0X2Jhc2VfdHJhbnNmb3JtX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF9iYXNlX3RyYW5zZm9ybV9jb25maWd1cmVfY2FwcyksIChnc3RfYmFzZV90cmFuc2Zvcm1fc2V0Y2FwcyksCgkgIChnc3RfYmFzZV90cmFuc2Zvcm1fZ2V0X3NpemUpLCAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfYmFzZV90cmFuc2Zvcm1fZXZlbnQpLCAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX3NldF9wYXNzdGhyb3VnaCksCgkgIChnc3RfYmFzZV90cmFuc2Zvcm1faXNfcGFzc3Rocm91Z2gpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmYWtlc2luay5jOiAoZ3N0X2Zha2Vfc2lua19ldmVudCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZpbGVzaW5rLmM6IChnc3RfZmlsZV9zaW5rX2V2ZW50KToKCSAgRXZlbnQgdXBkYXRlcy4KCSAgKiBnc3QvZ3N0YnVmZmVyLmg6CgkgIFVzZSBmYXN0ZXIgY2FzdHMuCgkgICogZ3N0L2dzdGVsZW1lbnQuYzogKGdzdF9lbGVtZW50X3NlZWspOgoJICAqIGdzdC9nc3RlbGVtZW50Lmg6CgkgIFVwZGF0ZSBnc3RfZWxlbWVudF9zZWVrLgoJICAqIGdzdC9nc3RldmVudC5jOiAoZ3N0X2V2ZW50X2ZpbmFsaXplKSwgKF9nc3RfZXZlbnRfY29weSksCgkgIChnc3RfZXZlbnRfbmV3KSwgKGdzdF9ldmVudF9uZXdfY3VzdG9tKSwgKGdzdF9ldmVudF9nZXRfc3RydWN0dXJlKSwKCSAgKGdzdF9ldmVudF9uZXdfZmx1c2hfc3RhcnQpLCAoZ3N0X2V2ZW50X25ld19mbHVzaF9zdG9wKSwKCSAgKGdzdF9ldmVudF9uZXdfZW9zKSwgKGdzdF9ldmVudF9uZXdfbmV3c2VnbWVudCksCgkgIChnc3RfZXZlbnRfcGFyc2VfbmV3c2VnbWVudCksIChnc3RfZXZlbnRfbmV3X3RhZyksCgkgIChnc3RfZXZlbnRfcGFyc2VfdGFnKSwgKGdzdF9ldmVudF9uZXdfZmlsbGVyKSwgKGdzdF9ldmVudF9uZXdfcW9zKSwKCSAgKGdzdF9ldmVudF9wYXJzZV9xb3MpLCAoZ3N0X2V2ZW50X25ld19zZWVrKSwKCSAgKGdzdF9ldmVudF9wYXJzZV9zZWVrKSwgKGdzdF9ldmVudF9uZXdfbmF2aWdhdGlvbik6CgkgICogZ3N0L2dzdGV2ZW50Lmg6CgkgIE1ha2UgR3N0RXZlbnQgdXNlIEdzdFN0cnVjdHVyZS4gQWRkIHBhcnNpbmcgY29kZSwgbWFrZSBzdXJlIHRoZQoJICBBUEkgaXMgc3VmZmljaWVudGx5IGdlbmVyaWMuCgkgIE1hcmsgcG9zc2libGUgZGlyZWN0aW9ucyBvZiBldmVudHMgYW5kIHNlcmlhbGl6YXRpb24uCgkgICogZ3N0L2dzdG1lc3NhZ2UuYzogKGdzdF9tZXNzYWdlX2luaXQpLCAoZ3N0X21lc3NhZ2VfZmluYWxpemUpLAoJICAoX2dzdF9tZXNzYWdlX2NvcHkpLCAoZ3N0X21lc3NhZ2VfbmV3X3NlZ21lbnRfc3RhcnQpLAoJICAoZ3N0X21lc3NhZ2VfbmV3X3NlZ21lbnRfZG9uZSksIChnc3RfbWVzc2FnZV9uZXdfY3VzdG9tKSwKCSAgKGdzdF9tZXNzYWdlX3BhcnNlX3NlZ21lbnRfc3RhcnQpLAoJICAoZ3N0X21lc3NhZ2VfcGFyc2Vfc2VnbWVudF9kb25lKToKCSAgU21hbGwgY2xlYW51cHMuCgkgICogZ3N0L2dzdHBhZC5jOiAoZ3N0X3BhZF9nZXRfY2Fwc191bmxvY2tlZCksIChnc3RfcGFkX2FjY2VwdF9jYXBzKSwKCSAgKGdzdF9wYWRfc2V0X2NhcHMpLCAoZ3N0X3BhZF9zZW5kX2V2ZW50KToKCSAgVXBkYXRlIGZvciBuZXcgZXZlbnRzLgoJICBDYXRjaCBldmVudHMgc2VudCBpbiB3cm9uZyBkaXJlY3Rpb25zLgoJICAqIGdzdC9nc3RxdWV1ZS5jOiAoZ3N0X3F1ZXVlX2xpbmtfc3JjKSwKCSAgKGdzdF9xdWV1ZV9oYW5kbGVfc2lua19ldmVudCksIChnc3RfcXVldWVfY2hhaW4pLCAoZ3N0X3F1ZXVlX2xvb3ApLAoJICAoZ3N0X3F1ZXVlX2hhbmRsZV9zcmNfcXVlcnkpOgoJICBFdmVudCB1cGRhdGVzLgoJICAqIGdzdC9nc3R0YWcuYzoKCSAgKiBnc3QvZ3N0dGFnLmg6CgkgIFJlbW92ZSBldmVudCBjb2RlIGZyb20gdGhpcyBmaWxlLgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksCgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXQpOgoJICBFdmVudCB1cGRhdGVzLgoKMjAwNS0wNy0wNSAxMDoyMDoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogUG9ydGVkIGRhdGFwcm90b2wgdG8gMC45LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL01ha2VmaWxlLmFtOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF92YWxpZGF0ZV9wYWNrZXQpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgICogcGtnY29uZmlnL2dzdHJlYW1lci1kYXRhcHJvdG9jb2wtdW5pbnN0YWxsZWQucGMuaW46CgkgICogcGtnY29uZmlnL2dzdHJlYW1lci1kYXRhcHJvdG9jb2wucGMuaW46CgkgIFBvcnRlZCBkYXRhcHJvdG9sIHRvIDAuOS4KCSAgQWRkZWQgcGtnY29uZmlnIGZpbGVzLgoKMjAwNS0wNS0xNiAyMDoyMTo1NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnZHA6IHJlbW92ZSBHc3REYXRhIGNoZWNrcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9NYWtlZmlsZS5hbTogcmVtb3ZlIEdzdERhdGEgY2hlY2tzCgkgICogY2hlY2svZ3N0LWxpYnMvZ2RwLmM6IChTVEFSVF9URVNUKTogZml4IGZvciBBUEkgY2hhbmdlcwoJICAqIGdzdC9NYWtlZmlsZS5hbTogYWRkIG1pbmlvYmplY3QsIHJlbW92ZSBkYXRhCgkgICogZ3N0L2dzdC5oOiBhZGQgbWluaW9iamVjdCwgcmVtb3ZlIGRhdGEKCSAgKiBnc3QvZ3N0ZGF0YS5jOiByZW1vdmUKCSAgKiBnc3QvZ3N0ZGF0YS5oOiByZW1vdmUKCSAgKiBnc3QvZ3N0ZGF0YV9wcml2YXRlLmg6IHJlbW92ZQoJICAqIGdzdC9nc3R0eXBlcy5oOiByZW1vdmUgR3N0RXZlbnQgYW5kIEdzdE1lc3NhZ2UKCSAgKiBnc3QvZ3N0ZWxlbWVudC5jOiAoZ3N0X2VsZW1lbnRfcG9zdF9tZXNzYWdlKTogZml4IGZvciBBUEkgY2hhbmdlcwoJICAqIGdzdC9nc3RtYXJzaGFsLmxpc3Q6IGNoYW5nZSBCT1hFRCAtPiBPQkpFQ1QKCSAgSW1wbGVtZW50IEdzdE1pbmlPYmplY3QuCgkgICogZ3N0L2dzdG1pbmlvYmplY3QuYzoKCSAgKiBnc3QvZ3N0bWluaW9iamVjdC5oOgoJICBNb2RpZnkgdG8gYmUgc3ViY2xhc3NlcyBvZiBHc3RNaW5pT2JqZWN0LgoJICAqIGdzdC9nc3RidWZmZXIuYzogKF9nc3RfYnVmZmVyX2luaXRpYWxpemUpLCAoZ3N0X2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3RfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X2J1ZmZlcl9maW5hbGl6ZSksIChfZ3N0X2J1ZmZlcl9jb3B5KSwKCSAgKGdzdF9idWZmZXJfaW5pdCksIChnc3RfYnVmZmVyX25ldyksIChnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MpLAoJICAoZ3N0X3N1YmJ1ZmZlcl9nZXRfdHlwZSksIChnc3Rfc3ViYnVmZmVyX2luaXQpLAoJICAoZ3N0X2J1ZmZlcl9jcmVhdGVfc3ViKSwgKGdzdF9idWZmZXJfaXNfc3Bhbl9mYXN0KSwKCSAgKGdzdF9idWZmZXJfc3Bhbik6CgkgICogZ3N0L2dzdGJ1ZmZlci5oOgoJICAqIGdzdC9nc3RldmVudC5jOiAoX2dzdF9ldmVudF9pbml0aWFsaXplKSwgKGdzdF9ldmVudF9nZXRfdHlwZSksCgkgIChnc3RfZXZlbnRfY2xhc3NfaW5pdCksIChnc3RfZXZlbnRfaW5pdCksIChnc3RfZXZlbnRfZmluYWxpemUpLAoJICAoX2dzdF9ldmVudF9jb3B5KSwgKGdzdF9ldmVudF9uZXcpOgoJICAqIGdzdC9nc3RldmVudC5oOgoJICAqIGdzdC9nc3RtZXNzYWdlLmM6IChfZ3N0X21lc3NhZ2VfaW5pdGlhbGl6ZSksCgkgIChnc3RfbWVzc2FnZV9nZXRfdHlwZSksIChnc3RfbWVzc2FnZV9jbGFzc19pbml0KSwKCSAgKGdzdF9tZXNzYWdlX2luaXQpLCAoZ3N0X21lc3NhZ2VfZmluYWxpemUpLCAoX2dzdF9tZXNzYWdlX2NvcHkpLAoJICAoZ3N0X21lc3NhZ2VfbmV3KSwgKGdzdF9tZXNzYWdlX25ld19lcnJvciksCgkgIChnc3RfbWVzc2FnZV9uZXdfd2FybmluZyksIChnc3RfbWVzc2FnZV9uZXdfdGFnKSwKCSAgKGdzdF9tZXNzYWdlX25ld19zdGF0ZV9jaGFuZ2VkKSwgKGdzdF9tZXNzYWdlX25ld19hcHBsaWNhdGlvbik6CgkgICogZ3N0L2dzdG1lc3NhZ2UuaDoKCSAgKiBnc3QvZ3N0cHJvYmUuYzogKGdzdF9wcm9iZV9wZXJmb3JtKSwKCSAgKGdzdF9wcm9iZV9kaXNwYXRjaGVyX2Rpc3BhdGNoKToKCSAgKiBnc3QvZ3N0cHJvYmUuaDoKCSAgKiBnc3QvZ3N0cXVlcnkuYzogKF9nc3RfcXVlcnlfaW5pdGlhbGl6ZSksIChnc3RfcXVlcnlfZ2V0X3R5cGUpLAoJICAoZ3N0X3F1ZXJ5X2NsYXNzX2luaXQpLCAoZ3N0X3F1ZXJ5X2ZpbmFsaXplKSwgKGdzdF9xdWVyeV9pbml0KSwKCSAgKF9nc3RfcXVlcnlfY29weSksIChnc3RfcXVlcnlfbmV3KToKCSAgVXBkYXRlIGVsZW1lbnRzIGZvciBHc3REYXRhIC0+IEdzdE1pbmlPYmplY3QgY2hhbmdlcwoJICAqIGdzdC9nc3RxdWVyeS5oOgoJICAqIGdzdC9nc3RxdWV1ZS5jOiAoZ3N0X3F1ZXVlX2ZpbmFsaXplKSwgKGdzdF9xdWV1ZV9sb2NrZWRfZmx1c2gpLAoJICAoZ3N0X3F1ZXVlX2NoYWluKSwgKGdzdF9xdWV1ZV9sb29wKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0YnVmZmVyc3RvcmUuYzoKCSAgKGdzdF9idWZmZXJfc3RvcmVfYWRkX2J1ZmZlcl9mdW5jKSwKCSAgKGdzdF9idWZmZXJfc3RvcmVfY2xlYXJlZF9mdW5jKSwgKGdzdF9idWZmZXJfc3RvcmVfZ2V0X2J1ZmZlcik6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZha2VzaW5rLmM6IChnc3RfZmFrZXNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfZmFrZXNpbmtfcmVuZGVyKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0ZmFrZXNyYy5jOiAoZ3N0X2Zha2VzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZpbGVzcmMuYzogKGdzdF9tbWFwX2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3RfbW1hcF9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfbW1hcF9idWZmZXJfaW5pdCksCgkgIChnc3RfbW1hcF9idWZmZXJfZmluYWxpemUpLCAoZ3N0X2ZpbGVzcmNfbWFwX3JlZ2lvbiksCgkgIChnc3RfZmlsZXNyY19jcmVhdGVfcmVhZCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGlkZW50aXR5LmM6IChnc3RfaWRlbnRpdHlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdHR5cGVmaW5kZWxlbWVudC5jOgoJICAoZ3N0X3R5cGVfZmluZF9lbGVtZW50X3NyY19ldmVudCksIChmcmVlX2VudHJ5X2J1ZmZlcnMpLAoJICAoZ3N0X3R5cGVfZmluZF9lbGVtZW50X2hhbmRsZV9ldmVudCk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlcik6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kcC1wcml2YXRlLmg6CgoyMDA1LTA1LTA0IDIxOjI5OjQ0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnZHA6IEdDQyA0IGZpeGVuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wNS0wNCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoJICAqIGNoZWNrL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvZ3N0L3RtcGwvZ3N0YXRvbWljLnNnbWw6CgkgICogZG9jcy9nc3QvdG1wbC9nc3RwbHVnaW4uc2dtbDoKCSAgKiBnc3QvYmFzZS9nc3RiYXNlc2luay5jOiAoZ3N0X2Jhc2VzaW5rX2FjdGl2YXRlKToKCSAgKiBnc3QvYmFzZS9nc3RiYXNlc3JjLmM6IChnc3RfYmFzZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9iYXNlc3JjX2luaXQpLCAoZ3N0X2Jhc2VzcmNfc2V0X2RhdGFmbG93X2Z1bmNzKSwKCSAgKGdzdF9iYXNlc3JjX3F1ZXJ5KSwgKGdzdF9iYXNlc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYmFzZXNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2Jhc2VzcmNfY2hlY2tfZ2V0X3JhbmdlKSwKCSAgKGdzdF9iYXNlc3JjX2FjdGl2YXRlKToKCSAgKiBnc3QvYmFzZS9nc3RiYXNlc3JjLmg6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXRyYW5zZm9ybS5jOiAoZ3N0X2Jhc2VfdHJhbnNmb3JtX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX3NyY19hY3RpdmF0ZSk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGVsZW1lbnRzLmM6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZha2VzcmMuYzogKGdzdF9mYWtlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Zha2VzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9mYWtlc3JjX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdHRlZS5jOiAoZ3N0X3RlZV9zaW5rX2FjdGl2YXRlKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0dHlwZWZpbmRlbGVtZW50LmM6IChmaW5kX2VsZW1lbnRfZ2V0X2xlbmd0aCksCgkgIChnc3RfdHlwZV9maW5kX2VsZW1lbnRfY2hlY2tnZXRyYW5nZSksCgkgIChnc3RfdHlwZV9maW5kX2VsZW1lbnRfYWN0aXZhdGUpOgoJICAqIGdzdC9nc3RiaW4uYzogKGdzdF9iaW5fc2F2ZV90aHlzZWxmKSwgKGdzdF9iaW5fcmVzdG9yZV90aHlzZWxmKToKCSAgKiBnc3QvZ3N0Y2Fwcy5jOiAoZ3N0X2NhcHNfZG9fc2ltcGxpZnkpLCAoZ3N0X2NhcHNfc2F2ZV90aHlzZWxmKSwKCSAgKGdzdF9jYXBzX2xvYWRfdGh5c2VsZik6CgkgICogZ3N0L2dzdGVsZW1lbnQuYzogKGdzdF9lbGVtZW50X3BhZHNfYWN0aXZhdGUpLAoJICAoZ3N0X2VsZW1lbnRfc2F2ZV90aHlzZWxmKSwgKGdzdF9lbGVtZW50X3Jlc3RvcmVfdGh5c2VsZik6CgkgICogZ3N0L2dzdHBhZC5jOiAoZ3N0X3BhZF9sb2FkX2FuZF9saW5rKSwgKGdzdF9wYWRfc2F2ZV90aHlzZWxmKSwKCSAgKGdzdF9naG9zdF9wYWRfc2F2ZV90aHlzZWxmKSwgKGdzdF9wYWRfY2hlY2tfcHVsbF9yYW5nZSk6CgkgICogZ3N0L2dzdHBhZC5oOgoJICAqIGdzdC9nc3R4bWwuYzogKGdzdF94bWxfd3JpdGUpLCAoZ3N0X3htbF9wYXJzZV9kb2MpLAoJICAoZ3N0X3htbF9wYXJzZV9maWxlKSwgKGdzdF94bWxfcGFyc2VfbWVtb3J5KSwKCSAgKGdzdF94bWxfZ2V0X2VsZW1lbnQpLCAoZ3N0X3htbF9tYWtlX2VsZW1lbnQpOgoJICAqIGdzdC9pbmRleGVycy9nc3RmaWxlaW5kZXguYzogKGdzdF9maWxlX2luZGV4X2xvYWQpLAoJICAoX2ZpbGVfaW5kZXhfaWRfc2F2ZV94bWwpLCAoZ3N0X2ZpbGVfaW5kZXhfY29tbWl0KToKCSAgKiBnc3QvcmVnaXN0cmllcy9nc3RsaWJ4bWxyZWdpc3RyeS5jOiAocmVhZF9zdHJpbmcpLCAocmVhZF91aW50KSwKCSAgKHJlYWRfZW51bSksIChsb2FkX3BhZF90ZW1wbGF0ZSksIChsb2FkX2ZlYXR1cmUpLCAobG9hZF9wbHVnaW4pLAoJICAobG9hZF9wYXRocyk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KSwgKGdzdF9kcF9jYXBzX2Zyb21fcGFja2V0KToKCSAgKiB0b29scy9nc3QtY29tcGxldGUuYzogKG1haW4pOgoJICAqIHRvb2xzL2dzdC1jb21wcHJlcC5jOiAobWFpbik6CgkgICogdG9vbHMvZ3N0LWluc3BlY3QuYzogKHByaW50X2VsZW1lbnRfcHJvcGVydGllc19pbmZvKToKCSAgKiB0b29scy9nc3QtbGF1bmNoLmM6ICh4bWxsYXVuY2hfcGFyc2VfY21kbGluZSk6CgkgICogdG9vbHMvZ3N0LXhtbGluc3BlY3QuYzogKHByaW50X2VsZW1lbnRfcHJvcGVydGllcyk6CgkgIEdDQyA0IGZpeGVuLgoKMjAwNS0wMy0yMSAxNzozNDowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogTmV4dCBiaWcgbWVyZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOZXh0IGJpZyBtZXJnZS4KCSAgQWRkZWQgR3N0QnVzIGZvciBtYWlubG9vcCBpbnRlZ3JhdGlvbi4KCSAgQWRkZWQgR3N0TWVzc2FnZSBmb3Igc2VuZGluZyBub3RpZmljYXRpb25zIG9uIHRoZSBidXMuCgkgIEFkZGVkIEdzdFRhc2sgYXMgYW4gYWJzdHJhY3Rpb24gZm9yIHBpcGVsaW5lIGVudHJ5IHBvaW50cy4KCSAgUmVtb3ZlZCBHc3RUaHJlYWQuCgkgIFJlbW92ZWQgU2NoZWR1bGVycy4KCSAgU2ltcGxpZmllZCBHc3RRdWV1ZSBmb3IgbXVsdGl0aHJlYWRlZCBjb3JlLgoJICBNYWRlIF9saW5rIHRocmVhZHNhZmUsIHJlbW92ZWQgb2xkIGNhcHNuZWdvLgoJICBBZGRlZCBTVFJFQU1fTE9DSyBhbmQgUFJFUk9MTF9MT0NLIGluIEdzdFBhZC4KCSAgQWRkZWQgcGFkIGJsb2NraW5nIGZ1bmN0aW9ucy4KCSAgUmV3b3JrZWQgc2NoZWR1bGluZyBmdW5jdGlvbnMgaW4gR3N0UGFkIHRvIHByZXBhcmUgZm9yCgkgIHNjaGVkdWxpbmcgdXBkYXRlcyBzb29uLgoJICBNb3ZlZCBldmVudHMgb3V0IG9mIGRhdGEgc3RyZWFtLgoJICBTaW1wbGlmaWVkIEdzdEV2ZW50IHR5cGVzLgoJICBBZGRlZCByZXR1cm4gdmFsdWVzIHRvIHB1c2gvcHVsbC4KCSAgUmVtb3ZlZCBjbG9ja2luZyBmcm9tIEdzdEVsZW1lbnQuCgkgIEFkZGVkIHByb3RvdHlwZXMgZm9yIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBmb3IgbmV4dCBtZXJnZS4KCSAgUmVtb3ZlZCBpdGVyYXRlIGZyb20gYmlucyBhbmQgc3RhdGUgY2hhbmdlIG1hbmFnZW1lbnQuCgkgIEZpeGVkIHNvbWUgZWxlbWVudHMsIGRpc2FibGVkIG90aGVycyBmb3Igbm93LgoJICBGaXhlZCAtaW5zcGVjdCBhbmQgLWxhdW5jaC4KCSAgQWRkZWQgY2hlY2sgZm9yIEdzdEJ1cy4KCjIwMDUtMDMtMDcgMTg6Mjc6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IEZpcnN0IFRIUkVBREVEIGJhY2twb3J0IGF0dGVtcHQsIGZvY3VzaW5nIG9uIGFkZGluZyBsb2NrcyBhbmQgbWFraW5nIHN1cmUgdGhlIEFQSSBpcyB0aHJlYWRzYWZlLiBOZWVkcyBtb3JlIHdvcmsuIE1vci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRmlyc3QgVEhSRUFERUQgYmFja3BvcnQgYXR0ZW1wdCwgZm9jdXNpbmcgb24gYWRkaW5nIGxvY2tzIGFuZAoJICBtYWtpbmcgc3VyZSB0aGUgQVBJIGlzIHRocmVhZHNhZmUuIE5lZWRzIG1vcmUgd29yay4gTW9yZSBkb2NzCgkgIGZvbGxvdyB0aGlzIHdlZWsuCgoyMDA1LTAyLTE4IDEzOjU4OjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ2RwOiBBbGxvY2F0ZSB0aGUgMSBieXRlIG1vcmUgbWVtb3J5IHRoYXQgd2FzIGZvcmdvdHRlbiEhISEhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTAyLTE4ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX2R1bXBfYnl0ZV9hcnJheSk6CgkgIEFsbG9jYXRlIHRoZSAxIGJ5dGUgbW9yZSBtZW1vcnkgdGhhdCB3YXMgZm9yZ290dGVuISEhISEKCjIwMDQtMTAtMDEgMTY6NDk6MDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IEZpeCB0aHJlYWRzYWZldHkgb2YgdGhlIGNyYyBjaGVja2luZyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX2NyYyk6CgkgIEZpeCB0aHJlYWRzYWZldHkgb2YgdGhlIGNyYyBjaGVja2luZyBmdW5jdGlvbi4KCjIwMDQtMDgtMTYgMTA6MzU6MzYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBmaXggZm9yICMxNTAyNDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBmb3IgIzE1MDI0MgoKMjAwNC0wNy0yOCAxMDoyMjowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGRvYyBzdHlsZSBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jIHN0eWxlIGZpeGVzCgoyMDA0LTA2LTA5IDE2OjI0OjE5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJICBnZHA6IGJ1bXAgR0RQIHRvIDAuMSwgYWRkIGJ1ZmZlciBmbGFncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVtcCBHRFAgdG8gMC4xLCBhZGQgYnVmZmVyIGZsYWdzCgoyMDA0LTA1LTI0IDE2OjM4OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkgIGdkcDogd3JhcCBoZWFkZXIgaW4gX05FVwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgd3JhcCBoZWFkZXIgaW4gX05FVwoKMjAwNC0wNS0xOSAxNzoyMjo1MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6IHVzZSBHU1QgbWFjcm9zOyBhZGQgYXNzZXJ0cwoKMjAwNC0wNS0xOSAxNjo1OTozOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSAgZ2RwOiBwcml2YXRlIHByb3RvdHlwZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcHJpdmF0ZSBwcm90b3R5cGUKCjIwMDQtMDUtMTkgMTY6Mzc6NTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkgIGdkcDogYWRkIGRhdGFwcm90b2NvbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2xlYW4gdXAgbGlicyBkb2NzOyBhZGQgZGF0YXByb3RvY29sCgoyMDExLTExLTE3IDEyOjQ4OjI1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBhZGQgcGFyZW50IHRvIHBhZCBmdW5jdGlvbnMKCjIwMTEtMTEtMTAgMTg6MzI6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgIHVwZGF0ZSBmb3IgYWRhcHRlciBhcGkgY2hhbmdlcwoKMjAxMS0wOS0yOSAxMzo0NjozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBuZXcgYXVkaW8gY2FwcwoKMjAxMS0wNy0wOCAyMDowMjoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHBhcnNlIGNhcHMgZXZlbnQgYW5kIHBheWxvYWQgY2FwcwoJICBXaGljaCBtYWtlcyBpdCBhY3R1YWxseSBvdXRwdXQgc3R1ZmYuCgoyMDExLTA2LTEzIDE2OjMyOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgLWJhc2U6IHVwZGF0ZSBmb3IgYnVmZmVyIEFQSSBjaGFuZ2UKCjIwMTEtMDUtMTYgMTM6NDg6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIC1iYXNlOiBwb3J0IHRvIG5ldyBTRUdNRU5UIEFQSQoKMjAxMS0wNS0wOSAxODoxNjo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIHNlZ21lbnQ6IGZpeCBmb3IgbmV3IGNvcmUgQVBJCgkgIEZpeCBmb3IgZ3N0Xypfc2VnbWVudF9mdWxsIHJlbmFtZS4KCjIwMTEtMDUtMDkgMTM6MDU6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIC1iYXNlOiBkb24ndCB1c2UgYnVmZmVyIGNhcHMKCSAgUG9ydCB0byBuZXdlc3QgMC4xMSBjb3JlIEFQSSwgcmVtb3ZlIEdTVF9QQURfQ0FQUyBhbmQgR1NUX0JVRkZFUl9DQVBTLgoKMjAxMS0wNC0xOSAxMTozNTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdzdDogVXNlIEdfREVGSU5FX1RZUEUgaW5zdGVhZCBvZiBHU1RfQk9JTEVSUExBVEUKCjIwMTEtMDEtMjcgMTc6Mjg6NTEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZDogbWFrZSBpdCByZWFkeSBmb3IgYW5kcm9nZW5pemVyCgkgIFJlbW92ZSB0aGUgYW5kcm9pZC8gdG9wIGRpcgoJICBGaXhlIHRoZSBNYWtlZmlsZS5hbSB0byBiZSBhbmRyb2dlbml6ZWQKCSAgVG8gYnVpbGQgZ3N0cmVhbWVyIGZvciBhbmRyb2lkIHdlIGFyZSBub3cgdXNpbmcgYW5kcm9nZW5pemVyIHdoaWNoIGdlbmVyYXRlcyB0aGUKCSAgbmVlZGVkIEFuZHJvaWQubWsgZmlsZXMuCgkgIEFuZHJvZ2VuaXplciBjYW4gYmUgZm91bmQgaGVyZToKCSAgaHR0cDovL2dpdC5jb2xsYWJvcmEuY28udWsvP3A9dXNlci9kZXJlay9hbmRyb2dlbml6ZXIuZ2l0CgoyMDExLTAzLTMxIDE3OjQ3OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYnVmZmVybGlzdDogZml4ZXMgZm9yIG5ldyBBUEkKCjIwMTEtMDMtMjggMTc6NDY6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHVuaXQgdGVzdHMKCjIwMTEtMDMtMjggMTU6NTE6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiBmaXggcmVtYWluaW5nIHVuaXQgdGVzdHMKCjIwMTEtMDMtMjggMTQ6MTI6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IHdvcmsgb24gcG9ydGluZyB0aGUgdW5pdCB0ZXN0cwoKMjAxMS0wMy0yNyAxNjozNToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgcGx1Z2luczogcG9ydCBzb21lIHBsdWdpbnMgdG8gdGhlIG5ldyBtZW1vcnkgQVBJCgoyMDExLTAyLTA5IDEyOjQ1OjIzICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IGVuc3VyZSBidWZmZXIncyBtZXRhZGF0YSBpcyB3cml0YWJsZSBiZWZvcmUgc2V0dGluZyBjYXBzCgoyMDExLTAxLTE2IDE0OjU1OjQ2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogbWFrZSBuZXdzZWdtZW50IGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZQoKMjAxMC0wNi0xOCAxNjozNzoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiB1c2Ugb3VyIG93biBtYWNyb3MgZm9yIHRoZSB0ZXN0cyBtYWluIGZ1bmN0aW9uCgoyMDEwLTAzLTE1IDIyOjQ5OjUzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICBBZGQgLVd3cml0ZS1zdHJpbmdzIHRvIGNvbmZpZ3VyZQoJICBGaXhlcyBmb3IgdGhlIGNvZGUgaW5jbHVkZWQKCjIwMTAtMDMtMTYgMTU6NDU6MjMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgkgIEFsc28gY2hhbmdlIG15IGVtYWlsIGZyb20gdGhlIG9sZCB1bml2ZXJzaXR5IG9uZSB0byB0aGUgY3VycmVudCBvbmUuCgoyMDEwLTAzLTExIDEzOjMyOjE0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIHdhcm5pbmcgZmxhZ3MKCSAgSW5jbHVkZXMgYWxsIHRoZSBmaXhlcyBuZWNlc3NhcnkgdG8gbWFrZSBzdHVmZiBjb21waWxlIGFnYWluLgoKMjAwOS0xMS0wNSAxNTo0MjowOSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICBnZHBkZXBheTogQ2xlYXIgYWRhcHRlciBvbiBmbHVzaCBhbmQgc3RhdGUgY2hhbmdlCgkgIEZpeGVzICM2MDA0NjkKCjIwMDktMTAtMjggMDA6NTk6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBSZW1vdmUgR1NUX0RFQlVHX0ZVTkNQVFIgd2hlcmUgdGhleSdyZSBwb2ludGxlc3MKCSAgVGhlcmUncyBub3QgbXVjaCBwb2ludCBpbiB1c2luZyBHU1RfREVCVUdfRlVOQ1BUUiB3aXRoIEdPYmplY3QKCSAgdmlydHVhbCBmdW5jdGlvbnMgc3VjaCBhcyBnZXRfcHJvcGVydHksIHNldF9wcm9wZXJ5LCBmaW5hbGl6ZSBhbmQKCSAgZGlzcG9zZSwgc2luY2UgdGhleSdsbCBuZXZlciBiZSB1c2VkIGJ5IGFueW9uZSBhbnl3YXkuIFNhdmVzIGEKCSAgZmV3IGJ5dGVzIGFuZCBwb3NzaWJseSBhIHNpeHRlZW50aCBvZiBhIHBvbGFyIGJlYXIuCgoyMDA5LTA5LTIyIDExOjU4OjI2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IERvbid0IHJlcGVhdCB0YWdzIGJ1ZmZlcnMgZm9yIGV2ZXJ5IG5ldyBzZWdtZW50CgkgIE9ubHkgc2VuZCBhIHRhZyBidWZmZXIgd2hlbiBvbmUgaXMgcmVjZWl2ZWQsIG5vdCBhZnRlciBldmVyeSBuZXcgc2VnbWVudAoJICBldmVudC91cGRhdGUuCgoyMDA5LTA4LTI3IDE4OjU5OjQ5ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIEJ1ZyA1OTMwMzUgLSBzZXQgSU5fQ0FQUyBmb3Igc3RyZWFtaGVhZGVyIGJ1ZmZlcgoKMjAwOS0wOC0xMCAxNTo0MDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHN0cmVhbWhlYWRlcjogRml4IGNhcHMgbGVhayBpbiB0aGUgdm9yYmlzZW5jIHVuaXQgdGVzdAoKMjAwOS0wOC0xMCAxNDoxNDozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIGNoZWNrczogZml4IHN0cmVhbSBoZWFkZXIgdW5pdCB0ZXN0IGhhbmdpbmcgaW4gZ3N0X3Rhc2tfY2xlYW51cF9hbGwoKQoJICBTZXQgcGlwZWxpbmVzIHRvIE5VTEwgc3RhdGUgYW5kIHVucmVmIHdoZW4gZG9uZS4KCjIwMDktMDUtMjcgMTI6MTA6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycyBiZWNhdXNlIE5VTEwgY2FwcyBjb25mdXNlIGJhc2V0cmFuc2Zvcm0uCgkgIEZpeGVzICM1ODM4NjcKCjIwMDgtMTAtMTYgMTU6MDc6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIGJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZHBhcmFub2lhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2dub21ldmZzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJ2aXN1YWwvTWFrZWZpbGUuYW06CgkgICogZXh0L29nZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvcGFuZ28vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hZGRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3JhdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5YmFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3VicGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3RjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHlwZWZpbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvcmF0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zY2FsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92b2x1bWUvTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bC9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94dmltYWdlL01ha2VmaWxlLmFtOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciBiYXNlLgoKMjAwOC0wNy0xMCAyMTowNjowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2xlYW51cCBQbHVnaW4gZG9jcy4gTGluayB0byBzaWduYWxzIGFuZCBwcm9wZXJ0aWVzLiBGaXggc3ViLXNlY3Rpb24gdGl0bGVzLiBEcm9wIG1lbnRpbmluZyB0aGF0IGFsbCBvdXIgZXhhbXBsZSBwaXBlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtb3ZlcnJpZGVzLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvY29udmVydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcmF0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Rlc3RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHBhcmFub2lhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVjb2RlYmluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmZtcGVnY29sb3JzcGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdub21ldmZzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGlidmlzdWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2dnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGFuZ28ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbGF5YmFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1ZXVlMi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGhlb3JhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHlwZWZpbmRmdW5jdGlvbnMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11cmlkZWNvZGViaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcmF0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2NhbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3Rlc3RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2x1bWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b3JiaXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpbWFnZXNpbmsueG1sOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlci5jOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6CgkgICogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5LmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhcGFyc2UuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNwYXJzZS5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzdGFnLmM6CgkgICogZ3N0L2FkZGVyL2dzdGFkZGVyLmM6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9nc3RhdWRpb3Rlc3RzcmMuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9nc3RmZm1wZWdjb2xvcnNwYWNlLmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbjIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RxdWV1ZTIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0dXJpZGVjb2RlYmluLmM6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5jOgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzoKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzoKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOgoJICBDbGVhbnVwIFBsdWdpbiBkb2NzLiBMaW5rIHRvIHNpZ25hbHMgYW5kIHByb3BlcnRpZXMuIEZpeCBzdWItc2VjdGlvbgoJICB0aXRsZXMuIERyb3AgbWVudGluaW5nIHRoYXQgYWxsIG91ciBleGFtcGxlIHBpcGVsaW5lcyBhcmUgInNpbXBsZSIKCSAgcGlwZWxpbmVzLgoKMjAwOC0wNi0zMCAwOTo0NjoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBFbmFibGUgdW5pdCB0ZXN0cyBvbiBQUEMgYWdhaW4gYXMgdGhlIGJ1Z3MgYXJlIG5vdyBmaXhlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGdkcGRlcGF5X3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6IChzdHJlYW1oZWFkZXJfc3VpdGUpOgoJICBFbmFibGUgdW5pdCB0ZXN0cyBvbiBQUEMgYWdhaW4gYXMgdGhlIGJ1Z3MgYXJlIG5vdyBmaXhlZC4KCjIwMDgtMDYtMjAgMDg6NDU6MTMgKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBGaXggYSBidWZmZXIgbWVtbGVhayBhbmQgcmVtb3ZlIGEgY29uZnVzaW5nIGFuZCB3cm9uZyBkZWJ1ZyBvdXRwdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X3Jlc2V0KToKCSAgRml4IGEgYnVmZmVyIG1lbWxlYWsgYW5kIHJlbW92ZSBhIGNvbmZ1c2luZyBhbmQgd3JvbmcgZGVidWcgb3V0cHV0LgoJICBGaXhlcyBidWcgIzUzODY2My4KCjIwMDgtMDYtMDQgMTY6MDA6MjYgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOiBEbyBub3QgdHJ5IHRvIHJ1biBhIHRlc3Qgd2hpY2ggcmVxdWlyZXMgdm9yYmlzZW5jIHVubGVzcyB3ZSBoYXZlIGFjdHVhbGx5IGJ1aWx0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzogKGJ1ZmZlcl9wcm9iZV9jYiksCgkgICh0ZXN0X211bHRpZmRzaW5rX2dkcF92b3JiaXNlbmMpLCAoc3RyZWFtaGVhZGVyX3N1aXRlKToKCSAgRG8gbm90IHRyeSB0byBydW4gYSB0ZXN0IHdoaWNoIHJlcXVpcmVzIHZvcmJpc2VuYyB1bmxlc3Mgd2UgaGF2ZQoJICBhY3R1YWxseSBidWlsdCBpdC4KCjIwMDgtMDYtMDQgMDU6NTg6MzggKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBEb24ndCBzZXQgY2FwcyBvbiB0aGUgYnVmZmVycyB0aGF0IGNvbnRhaW4gYSBjb3B5IG9mIHRoZSBidWZmZXIgaW5jbHVkaW5nIHRoZSBjYXBzIG9mIHRoZW0gcmVzdWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKToKCSAgRG9uJ3Qgc2V0IGNhcHMgb24gdGhlIGJ1ZmZlcnMgdGhhdCBjb250YWluIGEgY29weSBvZiB0aGUgYnVmZmVyCgkgIGluY2x1ZGluZyB0aGUgY2FwcyBvZiB0aGVtIHJlc3VsdGluZyBpbiBhbiBhbHdheXMgaW5jcmVhc2luZyByZWZjb3VudAoJICBvZiB0aGUgY2FwcyBhbmQgaW5zYW5lbHkgbGFyZ2UgY2Fwcy4gSW5zdGVhZCBpbmNsdWRlIGEgYnVmZmVyIHdpdGhvdXQKCSAgY2FwcyBpbiB0aGUgbmV3IGNhcHMuIEZpeGVzIGJ1ZyAjNTM2NDc1LgoKMjAwOC0wNS0yMiAyMjowOToxNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBZGQgc29tZSBkb2N1bWVudGF0aW9uIGNvbW1lbnRzLCBhbmQgc29tZSBuZXcgaGVhZGVycyB0byBiZSBzY2FubmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1vdmVycmlkZXMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZGRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2NvbnZlcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Jlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RwYXJhbm9pYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZmbXBlZ2NvbG9yc3BhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1naW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbm9tZXZmcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpYnZpc3VhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9nZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhbmdvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGxheWJhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWV1ZTIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRjcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRoZW9yYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR5cGVmaW5kZnVuY3Rpb25zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXJpZGVjb2RlYmluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NjYWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9sdW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9yYmlzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aW1hZ2VzaW5rLnhtbDoKCSAgKiBleHQvY2RwYXJhbm9pYS9nc3RjZHBhcmFub2lhc3JjLmM6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguaDoKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4Lmg6CgkgICogZ3N0L2F1ZGlvY29udmVydC9hdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2F1ZGlvY29udmVydC5oOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0dXJpZGVjb2RlYmluLmM6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuaDoKCSAgKiBnc3QvdGNwL2dzdHRjcC5oOgoJICBBZGQgc29tZSBkb2N1bWVudGF0aW9uIGNvbW1lbnRzLCBhbmQgc29tZSBuZXcgaGVhZGVycyB0byBiZSBzY2FubmVkLgoJICBSZW5hbWUgc29tZSBpbnRlcm5hbCBlbnVtIGRlY2xhcmF0aW9ucyAoYXVkaW9jb252ZXJ0J3MgRGl0aGVyVHlwZSBhbmQKCSAgTm9pc2VTaGFwaW5nVHlwZSwgR3N0VW5pdFR5cGUgZnJvbSB0aGUgVENQIGVsZW1lbnRzKSB0byBtYXRjaCB0aGUKCSAgZG9jdW1lbnRlZCBHT2JqZWN0IHR5cGUgbmFtZXMgc28gdGhhdCB0aGUgZG9jcyBwaWNrIHRoZW0gdXAuCgkgIE5hbWUgdGhlIHBsYXliaW4yIGRvY3MgbWFya3VwcyBwcm9wZXJseSBzbyB0aGV5IGdldCBwaWNrZWQgdXAuIFRoZXknbGwKCSAgbmVlZCByZW5hbWluZyBiYWNrIHdoZW4vaWYgcGxheWJpbjIgYmVjb21lcyBwbGF5YmluLgoJICAxMDAlIHN5bWJvbCBjb3ZlcmFnZSBmb3IgdGhlIHBsdWdpbiBkb2NzLCBib295YS4KCjIwMDgtMDUtMjEgMTY6MzY6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb24ndCB1c2UgYmFkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOiAoZ3N0X29nZ19wYWRfdHlwZWZpbmQpOgoJICAqIGdzdC9wbGF5YmFjay9kZWNvZGV0ZXN0LmM6IChuZXdfZGVjb2RlZF9wYWRfY2IpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4uYzogKGdzdF9kZWNvZGVfYmluX2luaXQpLAoJICAodHJ5X3RvX2xpbmtfMSksIChlbGVtX2lzX2R5bmFtaWMpLCAoY2xvc2VfbGluayksICh0eXBlX2ZvdW5kKSwKCSAgKGNsZWFudXBfZGVjb2RlYmluKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOiAoZ3N0X2RlY29kZV9iaW5faW5pdCksCgkgIChjb25uZWN0X2VsZW1lbnQpLCAoZ3N0X2RlY29kZV9ncm91cF9jb250cm9sX2RlbXV4ZXJfcGFkKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJhc2ViaW4uYzogKHF1ZXVlX3JlbW92ZV9wcm9iZSksCgkgIChxdWV1ZV9vdXRfb2ZfZGF0YSksIChnZW5fcHJlcm9sbF9lbGVtZW50KSwgKHByZXJvbGxfdW5saW5rZWQpLAoJICAobXV0ZV9ncm91cF90eXBlKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOiAoZ3N0X3BsYXlfYmluX3Zpc19ibG9ja2VkKSwKCSAgKGdzdF9wbGF5X2Jpbl9zZXRfcHJvcGVydHkpLCAoaGFuZG9mZiksIChnZW5fdmlkZW9fZWxlbWVudCksCgkgIChnZW5fdGV4dF9lbGVtZW50KSwgKGdlbl9hdWRpb19lbGVtZW50KSwgKGdlbl92aXNfZWxlbWVudCksCgkgIChyZW1vdmVfc2lua3MpLCAoYWRkX3NpbmspLCAoc2V0dXBfc2lua3MpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOiAocGFkX2FkZGVkX2NiKSwgKG5vX21vcmVfcGFkc19jYik6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXlzaW5rLmM6IChnc3RfcGxheV9zaW5rX2dldF92aWRlb19zaW5rKSwKCSAgKGdzdF9wbGF5X3NpbmtfZ2V0X2F1ZGlvX3NpbmspLCAoZ3N0X3BsYXlfc2lua192aXNfdW5ibG9ja2VkKSwKCSAgKGdzdF9wbGF5X3NpbmtfdmlzX2Jsb2NrZWQpLCAoZ3N0X3BsYXlfc2lua19zZXRfdmlzX3BsdWdpbiksCgkgIChnc3RfcGxheV9zaW5rX2dldF92aXNfcGx1Z2luKSwgKGdzdF9wbGF5X3Npbmtfc2V0X211dGUpLAoJICAoZ2VuX3ZpZGVvX2NoYWluKSwgKGdlbl90ZXh0X2NoYWluKSwgKGdlbl9hdWRpb19jaGFpbiksCgkgIChnZW5fdmlzX2NoYWluKSwgKGdzdF9wbGF5X3NpbmtfcmVjb25maWd1cmUpLAoJICAoZ3N0X3BsYXlfc2lua19zZXRfZm9udF9kZXNjKSwgKGdzdF9wbGF5X3NpbmtfZ2V0X2ZvbnRfZGVzYyksCgkgIChnc3RfcGxheV9zaW5rX3JlcXVlc3RfcGFkKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0dXJpZGVjb2RlYmluLmM6ICh0eXBlX2ZvdW5kKSwgKHNldHVwX3NvdXJjZSk6CgkgICogZ3N0L3BsYXliYWNrL3Rlc3QuYzogKGdlbl92aWRlb19lbGVtZW50KSwgKGdlbl9hdWRpb19lbGVtZW50KSwKCSAgKGNiX25ld3BhZCk6CgkgICogZ3N0L3BsYXliYWNrL3Rlc3Q2LmM6IChuZXdfZGVjb2RlZF9wYWRfY2IpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY29udmVydC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmF0ZS5jOiAodGVzdF9pbmplY3Rvcl9jaGFpbiksCgkgIChkb19wZXJmZWN0X3N0cmVhbV90ZXN0KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mZm1wZWdjb2xvcnNwYWNlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nbm9tZXZmc3NpbmsuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXh0b3ZlcmxheS5jOgoJICAobm90Z3N0X2NoZWNrX3NldHVwX3NyY19wYWQyKSwgKG5vdGdzdF9jaGVja190ZWFyZG93bl9zcmNfcGFkMik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svbGlicy9jZGRhYmFzZXNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9vZ2dtdXguYzogKHRlc3RfcGlwZWxpbmUpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGhlb3JhZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2NydWJieS5jOiAobWFrZV93YXZfcGlwZWxpbmUpOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2Vlay5jOiAobWFrZV9tb2RfcGlwZWxpbmUpLAoJICAobWFrZV9kdl9waXBlbGluZSksIChtYWtlX3dhdl9waXBlbGluZSksIChtYWtlX2ZsYWNfcGlwZWxpbmUpLAoJICAobWFrZV9zaWRfcGlwZWxpbmUpLCAobWFrZV9wYXJzZV9waXBlbGluZSksIChtYWtlX3ZvcmJpc19waXBlbGluZSksCgkgIChtYWtlX3RoZW9yYV9waXBlbGluZSksIChtYWtlX3ZvcmJpc190aGVvcmFfcGlwZWxpbmUpLAoJICAobWFrZV9hdmlfbXNtcGVnNHYzX21wM19waXBlbGluZSksIChtYWtlX21wM19waXBlbGluZSksCgkgIChtYWtlX2F2aV9waXBlbGluZSksIChtYWtlX21wZWdfcGlwZWxpbmUpLCAobWFrZV9tcGVnbnRfcGlwZWxpbmUpLAoJICAodXBkYXRlX2ZpbGwpLCAobXNnX2J1ZmZlcmluZyk6CgkgIERvbid0IHVzZSBiYWQgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLgoKMjAwOC0wNS0yMSAwNjo0NToyMiArMDAwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IENsb3NlIGEgYnVmZmVyIG1lbW9yeSBsZWFrLiBGaXhlcyBidWcgIzUzNDA3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2hhaW4pOgoJICBDbG9zZSBhIGJ1ZmZlciBtZW1vcnkgbGVhay4gRml4ZXMgYnVnICM1MzQwNzEuCgoyMDA4LTA0LTE4IDE0OjU0OjAxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBEb24ndCB2YWxpZGF0ZSB0aGUgcGF5bG9hZCBpZiB0aGVyZSBpc24ndCBhbnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBEb24ndCB2YWxpZGF0ZSB0aGUgcGF5bG9hZCBpZiB0aGVyZSBpc24ndCBhbnkuCgkgIEZpeGVzICM1MjU5MTUKCjIwMDgtMDMtMjcgMTU6MjY6MzggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogQ2hlY2sgdGhlIGJvZHkgQ1JDIChpZiBzZXQpIHdoZW4gZGVwYXlsb2FkaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgQ2hlY2sgdGhlIGJvZHkgQ1JDIChpZiBzZXQpIHdoZW4gZGVwYXlsb2FkaW5nLgoJICBGaXhlcyAjNTIyNDAxLgoKMjAwOC0wMy0yMyAxMzoxMjo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IE1ha2UgdGVzdCBjb21waWxlIHdpdGhvdXQgdW51c2VkIGZ1bmN0aW9uL3ZhcmlhYmxlIHdhcm5pbmdzIG9uIFBQQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgTWFrZSB0ZXN0IGNvbXBpbGUgd2l0aG91dCB1bnVzZWQgZnVuY3Rpb24vdmFyaWFibGUgd2FybmluZ3Mgb24gUFBDLgoKMjAwOC0wMy0yMiAxNTowMDo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZXZlcnl3aGVyZSBmb3IgR1BhcmFtU3BlY3MgdGhhdCB1c2Ugc3RhdGljIHN0cmluZ3MgKGkuZS4gYWxsKS4gVGhpcyBnaXZlcyB1cyBsZXNzIG1lbW9yeSB1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJlbGVtZW50LmM6CgkgIChnc3RfYWxzYV9taXhlcl9lbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6IChnc3RfYWxzYXNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOiAoZ3N0X2Fsc2FzcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2NkcGFyYW5vaWEvZ3N0Y2RwYXJhbm9pYXNyYy5jOgoJICAoZ3N0X2NkX3BhcmFub2lhX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmM6IChnc3RfZ2lvX3N0cmVhbV9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6IChnc3RfZ2lvX3N0cmVhbV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOiAoZ3N0X2dub21lX3Zmc19zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOiAoZ3N0X2dub21lX3Zmc19zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzogKGdzdF9vZ2dfbXV4X2NsYXNzX2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9jbGFzc19pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOiAoZ3N0X3RleHRfcmVuZGVyX2NsYXNzX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IChnc3RfdGhlb3JhX2RlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWVuYy5jOiAoZ3N0X3RoZW9yYV9lbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFwYXJzZS5jOiAoZ3N0X3RoZW9yYV9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOiAoZ3N0X3ZvcmJpc19lbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvZmlsdGVydGVtcGxhdGUuYzoKCSAgKGdzdF9hdWRpb19maWx0ZXJfdGVtcGxhdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGJhc2VhdWRpb3NyYy5jOgoJICAoZ3N0X2Jhc2VfYXVkaW9fc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9jZGRhL2dzdGNkZGFiYXNlc3JjLmM6CgkgIChnc3RfY2RkYV9iYXNlX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9taXhlcnRyYWNrLmM6CgkgIChnc3RfbWl4ZXJfdHJhY2tfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwZGVwYXlsb2FkLmM6CgkgIChnc3RfYmFzZV9ydHBfZGVwYXlsb2FkX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSAgKGdzdF9iYXNlcnRwcGF5bG9hZF9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAoZ3N0X2F1ZGlvX2NvbnZlcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvcmF0ZS9nc3RhdWRpb3JhdGUuYzogKGdzdF9hdWRpb19yYXRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvZ3N0YXVkaW90ZXN0c3JjLmM6CgkgIChnc3RfYXVkaW9fdGVzdF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4yLmM6IChnc3RfZGVjb2RlX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJhc2ViaW4uYzogKGdzdF9wbGF5X2Jhc2VfYmluX2NsYXNzX2luaXQpLAoJICAocHJlcm9sbF91bmxpbmtlZCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzogKGdzdF9wbGF5X2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzogKGdzdF9wbGF5X2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheXNpbmsuYzogKGdzdF9wbGF5X3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHF1ZXVlMi5jOiAoZ3N0X3F1ZXVlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1pbmZvLmM6IChnc3Rfc3RyZWFtX2luZm9fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbXNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0dXJpZGVjb2RlYmluLmM6IChnc3RfdXJpX2RlY29kZV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N1YnBhcnNlL2dzdHN1YnBhcnNlLmM6IChnc3Rfc3ViX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdzdF9tdWx0aV9mZF9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c2luay5jOiAoZ3N0X3RjcF9jbGllbnRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNyYy5jOiAoZ3N0X3RjcF9jbGllbnRfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5jOiAoZ3N0X3RjcF9zZXJ2ZXJfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNyYy5jOiAoZ3N0X3RjcF9zZXJ2ZXJfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmM6IChnc3RfdmlkZW9fcmF0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9fc2NhbGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzoKCSAgKGdzdF92aWRlb190ZXN0X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOiAoZ3N0X3ZvbHVtZV9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bGVsZW1lbnQuYzogKGdzdF92NGxlbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzaW5rLmM6IChnc3RfdjRsbWpwZWdzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzcmMuYzogKGdzdF92NGxtanBlZ3NyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOiAoZ3N0X3Y0bHNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzogKGdzdF94aW1hZ2VzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZXNpbmtfY2xhc3NfaW5pdCk6CgkgIFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGV2ZXJ5d2hlcmUgZm9yIEdQYXJhbVNwZWNzIHRoYXQgdXNlCgkgIHN0YXRpYyBzdHJpbmdzIChpLmUuIGFsbCkuIFRoaXMgZ2l2ZXMgdXMgbGVzcyBtZW1vcnkgdXNhZ2UsCgkgIGZld2VyIGFsbG9jYXRpb25zIGFuZCB0aHVzIGxlc3MgbWVtb3J5IGRlZnJhZ21lbnRhdGlvbi4gRGVwZW5kCgkgIG9uIGNvcmUgQ1ZTIGZvciB0aGlzLiBGaXhlcyBidWcgIzUyMzgwNi4KCjIwMDgtMDMtMDMgMDY6MDQ6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIENvcnJlY3QgYWxsIHJlbGV2YW50IHdhcm5pbmdzIGZvdW5kIGJ5IHRoZSBzcGFyc2Ugc2VtYW50aWMgY29kZSBhbmFseXplci4gVGhpcyBpbmNsdWRlIG1hcmtpbmcgc2V2ZXJhbCBzeW1ib2xzIHN0YXRpYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJ0cmFjay5jOiAoZ3N0X2Fsc2FfbWl4ZXJfdHJhY2tfZ2V0X3R5cGUpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6IChzZXRfaHdwYXJhbXMpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzogKHNldF9od3BhcmFtcyk6CgkgICogZXh0L2dpby9nc3RnaW8uYzogKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3VyaSk6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguaDoKCSAgKiBleHQvb2dnL2dzdG9nbXBhcnNlLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2F1ZGlvLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2ZmdC9raXNzX2ZmdF9mNjQuYzogKGtpc3NfZmZ0X2Y2NF9hbGxvYyk6CgkgICogZ3N0LWxpYnMvZ3N0L3BidXRpbHMvbWlzc2luZy1wbHVnaW5zLmM6CgkgIChnc3RfbWlzc2luZ191cmlfc2lua19tZXNzYWdlX25ldyksCgkgIChnc3RfbWlzc2luZ19lbGVtZW50X21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9taXNzaW5nX2RlY29kZXJfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X21pc3NpbmdfZW5jb2Rlcl9tZXNzYWdlX25ldyk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0cnRjcGJ1ZmZlci5jOgoJICAoZ3N0X3J0Y3BfcGFja2V0X2J5ZV9nZXRfcmVhc29uKToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9pbWdjb252ZXJ0LmM6CgkgICogZ3N0L3BsYXliYWNrL3Rlc3QuYzogKGdlbl92aWRlb19lbGVtZW50KSwgKGdlbl9hdWRpb19lbGVtZW50KToKCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS92c180dGFwLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvdnNfNHRhcC5oOgoJICAqIHN5cy92NGwvZ3N0djRsZWxlbWVudC5jOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmM6IChnc3RfdjRsc3JjX2dldF9hbnlfY2Fwcyk6CgkgICogc3lzL3Y0bC92NGxfY2FsbHMuYzoKCSAgKiBzeXMvdjRsL3Y0bHNyY19jYWxscy5jOiAoZ3N0X3Y0bHNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bHNyY190cnlfY2FwdHVyZSk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlc2lua19jaGVja194c2htX2NhbGxzKSwKCSAgKGdzdF94aW1hZ2VzaW5rX3hpbWFnZV9uZXcpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZXNpbmtfY2hlY2tfeHNobV9jYWxscyksCgkgIChnc3RfeHZpbWFnZXNpbmtfeHZpbWFnZV9uZXcpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY29udmVydC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgKGZhaWxfdW5sZXNzX3BlcmZlY3Rfc3RyZWFtKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Rlc3RzcmMuYzogKHNldHVwX2F1ZGlvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVjb2RlYmluLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKHNldHVwX2dkcGRlcGF5X3N0cmVhbWhlYWRlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc2V0dXBfZ2RwcGF5X3N0cmVhbWhlYWRlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ25vbWV2ZnNzaW5rLmM6IChzZXR1cF9nbm9tZXZmc3NpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6IChzZXR1cF9tdWx0aWZkc2luayk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGV4dG92ZXJsYXkuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzogKHNldHVwX3ZpZGVvcmF0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChzZXR1cF92aWRlb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoc2V0dXBfdm9sdW1lKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzogKHNldHVwX3ZvcmJpc2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzdGFnLmM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9jbG9jay1zZWxlY3Rpb24uYzoKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOiAoc2V0dXApLCAodGVhcmRvd24pOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY2RkYWJhc2VzcmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9saWJzL3ZpZGVvLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9vZ2dtdXguYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICAoc2ltcGxlX2xhdW5jaF9saW5lc19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90aGVvcmFlbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdm9yYmlzZGVjLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2VuYy5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2NydWJieS5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2Vlay5jOiAocXVlcnlfcG9zaXRpb25zX2VsZW1zKSwKCSAgKHF1ZXJ5X3Bvc2l0aW9uc19wYWRzKToKCSAgKiB0ZXN0cy9pY2xlcy9zdHJlc3MteG92ZXJsYXkuYzogKG15Y2xvY2spOgoJICBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUKCSAgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMsIHVzaW5nCgkgIE5VTEwgaW5zdGVhZCBvZiAwIGZvciBwb2ludGVycyBhbmQgdXNpbmcgImZvbyAodm9pZCkiIGluc3RlYWQKCSAgb2YgImZvbyAoKSIgZm9yIGRlY2xhcmF0aW9ucy4KCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0cnRwLmRlZjoKCSAgQWRkIGdzdF9ydHBfYnVmZmVyX3NldF9leHRlbnNpb25fZGF0YSB0byB0aGUgc3ltYm9sIGRlZmluaXRpb24gZmlsZS4KCjIwMDctMDYtMTQgMTk6NTM6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6IERpc2FibGUgdGVzdF9tdWx0aWZkc2lua19nZHBfdm9yYmlzZW5jKCkgb24gcHBjNjQgc2luY2UgaXQgZmFpbHMgb24gdGhlIHA1LXBwYzYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOiAoc3RyZWFtaGVhZGVyX3N1aXRlKToKCSAgRGlzYWJsZSB0ZXN0X211bHRpZmRzaW5rX2dkcF92b3JiaXNlbmMoKSBvbiBwcGM2NCBzaW5jZSBpdAoJICBmYWlscyBvbiB0aGUgcDUtcHBjNjQgYnVpbGQgYm90IGFuZCB0aGUgZmFpbHVyZSBsb29rcyBsaWtlIGl0IGlzIGR1ZQoJICB0byB0aGUgc2FtZSBpc3N1ZSBhcyAjMzQ4MTE0LCBpZS4gYSBjb21waWxlciBidWcuCgoyMDA3LTA0LTE0IDEyOjM0OjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmMgKGdzdF9nZHBfcGF5X2NoYWluKTogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jICh0YWdfZXZlbnRfcHJvYmVfY2IsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmMgKGdzdF9nZHBfcGF5X2NoYWluKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgR1NUX1NUQVJUX1RFU1QsIGJ1ZmZlcl9wcm9iZV9jYiwgR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggYSBidWcgd2hlcmUgc2VyaWFsaXplZCBJTl9DQVBTIGJ1ZmZlcnMgbmVlZGVkIHRvIGJlIHNldCBJTl9DQVBTLgoKMjAwNy0wNC0xMyAyMTo1NTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYyAodGFnX2V2ZW50X3Byb2JlX2NiLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgR1NUX1NUQVJUX1RFU1QsIG5faW5fY2FwcywgYnVmZmVyX3Byb2JlX2NiLCBHU1RfU1RBUlRfVEVTVCwKCSAgc3RyZWFtaGVhZGVyX3N1aXRlKToKCSAgQWRkIGFub3RoZXIgdGVzdCBzZXQgdXAgZm9yIGZhaWx1cmUKCjIwMDctMDQtMTMgMjE6MDk6MDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICBkZWJ1ZyBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkZWJ1ZyBjaGFuZ2VzCgoyMDA3LTA0LTEzIDIxOjA4OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKG5fdGFncywgdGFnX2V2ZW50X3Byb2JlX2NiLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKG5fdGFncywgdGFnX2V2ZW50X3Byb2JlX2NiLAoJICBHU1RfU1RBUlRfVEVTVCwgc3RyZWFtaGVhZGVyX3N1aXRlLCBtYWluKToKCSAgQWRkIGEgdGVzdCBmb3IgdGhlIHN0cmVhbWhlYWRlciBidWcgV2ltIGZpeGVkLgoKMjAwNy0wNC0xMiAxMDowMzoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IE1ha2Ugc3VyZSB3ZSBzZXQgdGhlIElOX0NBUFMgZmxhZyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KToKCSAgTWFrZSBzdXJlIHdlIHNldCB0aGUgSU5fQ0FQUyBmbGFnIGNvcnJlY3RseS4KCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19yZW5kZXIpOgoJICBHZXQgdGhlIElOX0NBUFMgZmxhZyBiZWZvcmUgd2UgY2FsbCBmdW5jdGlvbnMgdGhhdCBtZXNzIHdpdGggdGhlIGZsYWdzLgoKMjAwNy0wNC0xMCAyMDozNzowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIsIGdzdF9nZHBfcGF5X2NoYWluLCBnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYyAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyLAoJICBnc3RfZ2RwX3BheV9jaGFpbiwgZ3N0X2dkcF9wYXlfc2lua19ldmVudCk6CgkgIE9ubHkgc3RhbXAgYnVmZmVycyB3aXRoIG9mZnNldC9vZmZzZXRfZW5kIHJpZ2h0IGJlZm9yZSB0aGV5IGdldAoJICBwdXNoZWQuICBUaGlzIGVuc3VyZXMgb2Zmc2V0IGNvbnRpbnVpdHksIHdoaWNoIHdhcyBub3QgdGhlIGNhc2UKCSAgYmVmb3JlIGFzIHNob3duIGJ5CgkgIGdzdC1sYXVuY2ggLXYgLW0gYXVkaW90ZXN0c3JjIG51bS1idWZmZXJzPTEwICEgYXVkaW9jb252ZXJ0ICEgdm9yYmlzZW5jICEgZ2RwcGF5ICEgaWRlbnRpdHkgY2hlY2staW1wZXJmZWN0LW9mZnNldD1UUlVFICEgZmFrZXNpbmsgc2lsZW50PVRSVUUKCjIwMDctMDQtMTAgMjA6MjU6MDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBhZGRpbmcgZGVidWdnaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGRpbmcgZGVidWdnaW5nCgoyMDA3LTAzLTE0IDE1OjA1OjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgYWRkIGJ1ZmZlciBsb2dnaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgYnVmZmVyIGxvZ2dpbmcKCjIwMDYtMTItMjIgMTI6MTA6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogRml4IHRoZSBkcCB0ZXN0cywgYnV0IGFjdGl2YXRpbmcgdGhlIHBhZHMgZm9yIHRoZSBzdHJlYW1oZWFkZXIgdGVzdHMgdG9vIGFuZCBjbGVhbmluZyB1cCBjb25kaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoY2xlYW51cF9nZHBkZXBheSksCgkgIChzZXR1cF9nZHBkZXBheV9zdHJlYW1oZWFkZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoY2xlYW51cF9nZHBwYXkpLAoJICAoc2V0dXBfZ2RwcGF5X3N0cmVhbWhlYWRlcik6CgkgIEZpeCB0aGUgZHAgdGVzdHMsIGJ1dCBhY3RpdmF0aW5nIHRoZSBwYWRzIGZvciB0aGUgc3RyZWFtaGVhZGVyIHRlc3RzCgkgIHRvbyBhbmQgY2xlYW5pbmcgdXAgY29uZGl0aW9uYWx5CgoyMDA2LTEyLTIxIDA4OjEyOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKGNsZWFudXBfYXVkaW9yZXNhbXBsZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW90ZXN0c3JjLmM6IChjbGVhbnVwX2F1ZGlvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKGNsZWFudXBfZ2RwZGVwYXkpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKGNsZWFudXBfZ2RwcGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zdWJwYXJzZS5jOiAodGVhcmRvd25fc3VicGFyc2UpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RleHRvdmVybGF5LmM6IChjbGVhbnVwX3RleHRvdmVybGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzogKGNsZWFudXBfdmlkZW9yYXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKGNsZWFudXBfdmlkZW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKGNsZWFudXBfdm9sdW1lKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzogKHNldHVwX3ZvcmJpc2RlYyksCgkgIChjbGVhbnVwX3ZvcmJpc2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzdGFnLmM6IChzZXR1cF92b3JiaXN0YWcpLAoJICAoY2xlYW51cF92b3JiaXN0YWcpOgoJICBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0wOS0yMSAwNTozMTowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrLzogU29tZSBtb3JlIGNvbXBpbGF0aW9uIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvYXVkaW8uYzoKCSAgU29tZSBtb3JlIGNvbXBpbGF0aW9uIGZpeGVzLgoKMjAwNi0wOS0yMCAxNzowNDo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrLzogRml4IHNvbWUgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmZHNpbmsuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2NkZGFiYXNlc3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL29nZ211eC5jOiAoZW9zX2J1ZmZlcl9wcm9iZSk6CgkgIEZpeCBzb21lIHdhcm5pbmdzLgoKMjAwNi0wOC0yNSAxNjoxOTo1NSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogRml4IG1lbW9yeSBsZWFrcyBhbmQgbWlzbGVhZGluZyBkZWJ1ZyBtZXNzYWdlcywgYWRkIGEgY291cGxlIG9mIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfcmVzZXQpLAoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKToKCSAgRml4IG1lbW9yeSBsZWFrcyBhbmQgbWlzbGVhZGluZyBkZWJ1ZyBtZXNzYWdlcywgYWRkIGEgY291cGxlIG9mCgkgIGNvbW1lbnRzLgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdzdF9tdWx0aV9mZF9zaW5rX2dldF9zdGF0cyksCgkgIChnc3RfbXVsdGlfZmRfc2lua19yZW5kZXIpOgoJICBEbyBub3QgdXNlIGdzdF9idWZmZXJfbWFrZV93cml0YWJsZSgpIGluIGEgYmFzZXNpbmsgcmVuZGVyIG1ldGhvZCwKCSAgYXMgaXQgbWF5IGluY29ycmVjdGx5IHVucmVmIHRoZSBidWZmZXIuIEluc3RlYWQsIHVzZSBjb252b2x1dGVkCgkgIGRhbmNlIHRvIGF2b2lkIGNvcHlpbmcgdGhlIGJ1ZmZlciBleGNlcHQgd2hlbiB3ZSBuZWVkIHRvLgoKMjAwNi0wOC0yMSAxOTowNDoxNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL1JFQURNRToKCSAgYWRkaW5nIGEgUkVBRE1FCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGRpbmcgYSBSRUFETUUKCjIwMDYtMDgtMjEgMTk6MDE6NDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgTW92ZSBHRFAgcGx1Z2luIHRvIC1iYXNlIGZyb20gLWJhZC4gQ2xvc2VzICMzNDc3ODMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgTW92ZSBHRFAgcGx1Z2luIHRvIC1iYXNlIGZyb20gLWJhZC4gIENsb3NlcyAjMzQ3NzgzLgoKMjAwNi0wOC0wOCAxMzo1NzoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IEkgZm9yZ290IHRvIGluY2x1ZGUgdGhlIGZpbGUgY29udGFpbmluZyB0aGUgI2RlZmluZSA6KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoZ2RwZGVwYXlfc3VpdGUpOgoJICBJIGZvcmdvdCB0byBpbmNsdWRlIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlICNkZWZpbmUgOikKCSAgTm93IGluY2x1ZGVzICJjb25maWcuaCIKCjIwMDYtMDgtMDggMTM6NDU6NDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiBJZ25vcmUgdGVzdCBrbm93biB0byBmYWlsIG9uIFBQQzY0LiBTZWUgIzM0ODExNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGdkcGRlcGF5X3N1aXRlKToKCSAgSWdub3JlIHRlc3Qga25vd24gdG8gZmFpbCBvbiBQUEM2NC4gU2VlICMzNDgxMTQuCgoyMDA2LTA4LTA0IDEzOjIwOjIzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBGaXggZXZlbnQgcGFyc2luZyBieSBnZHBkZXBheS4gRml4ZXMgIzM0OTkxNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgRml4IGV2ZW50IHBhcnNpbmcgYnkgZ2RwZGVwYXkuICBGaXhlcyAjMzQ5OTE2LgoKMjAwNi0wOC0wMiAxNjo1NjoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogRGlzYWJsZSBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9maW5hbGl6ZSksIChnc3RfZ2RwX2RlcGF5X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dkcF9kZXBheV9zcmNfZXZlbnQpLCAoZ3N0X2dkcF9kZXBheV9jaGFpbiksCgkgIChnc3RfZ2RwX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgIERpc2FibGUgc2Vla2luZy4KCSAgU21hbGwgY2xlYW51cHMuCgkgIENsZWFyIGFkYXB0ZXIgb24gZGlzY29udHMuCgkgIENsZWFyIGNhcHMgd2hlbiBnb2luZyB0byBSRUFEWSBpbnN0ZWFkIG9mIE5VTEwKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9pbml0KSwgKGdzdF9nZHBfcGF5X2ZpbmFsaXplKSwgKGdzdF9nZHBfcGF5X3Jlc2V0KSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLAoJICAoZ3N0X2dkcF9xdWV1ZV9idWZmZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksIChnc3RfZ2RwX3BheV9zcmNfZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBSZXNldCBwYXlsb2FkZXIgd2hlbiBnb2luZyB0byBSRUFEWS4KCSAgRml4IGxlYWtlZCBidWZmZXJzIGluIC0+cXVldWUgb24gcHVzaCBlcnJvcnMuCgkgIERpc2FibGUgc2Vla2luZy4KCSAgQ29kZSBjbGVhbnVwcy4KCSAgQ3JlYXRlIHBhY2tldGl6ZXIgaW4gX2luaXQsIGZyZWUgaW4gX2ZpbmFsaXplLgoKMjAwNi0wNy0zMSAwODo0ODozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogQ29uc3VtZSBhbGwgZXZlbnRzIGV4Y2VwdCBFT1MgYmVjYXVzZSB3ZSBnZW5lcmF0ZSBldmVudHMgZnJvbSB0aGUgZ2RwIHBheWxvYWQgaW5zdGVhZC4gRml4ZXMgIy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBDb25zdW1lIGFsbCBldmVudHMgZXhjZXB0IEVPUyBiZWNhdXNlIHdlIGdlbmVyYXRlIGV2ZW50cyBmcm9tCgkgIHRoZSBnZHAgcGF5bG9hZCBpbnN0ZWFkLiBGaXhlcyAjMzQ5MjA0CgoyMDA2LTA3LTI2IDEwOjUyOjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogcHJveHlpbmcgZ2V0L3NldCBjYXBzIGlzIHRoZSB3cm9uZyB0aGluZyB0byBkbywgc2luY2Ugd2UgcmVhbGx5IGRvIGNoYW5nZSBjYXBzIHF1aXRlIGZ1bmRhbWVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2luaXQpOgoJICBwcm94eWluZyBnZXQvc2V0IGNhcHMgaXMgdGhlIHdyb25nIHRoaW5nIHRvIGRvLCBzaW5jZSB3ZSByZWFsbHkKCSAgZG8gY2hhbmdlIGNhcHMgcXVpdGUgZnVuZGFtZW50YWxseQoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHJlbW92ZSBkZWNsYXJhdGlvbiBvZiBidWZmZXJzLCBpdCdzIGFscmVhZHkgZG9uZSBpbiBnc3RjaGVjay5oCgoyMDA2LTA3LTE3IDE0OjE3OjQ1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvOiByZW1vdmUgcGFyZW50X2NsYXNzIHNldHRpbmcsIEJPSUxFUlBMQVRFIGRvZXMgdGhpcyBmaXggdHlwbyBpbiBjb21tZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTE3ICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlICA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICByZW1vdmUgcGFyZW50X2NsYXNzIHNldHRpbmcsIEJPSUxFUlBMQVRFIGRvZXMgdGhpcwoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKToKCSAgZml4IHR5cG8gaW4gY29tbWVudAoKMjAwNi0wNy0xNCAxMDozNDozNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICBidWlsZCBhcyBhIHBsdWdpbiwgbm90IGEgbGliCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBidWlsZCBhcyBhIHBsdWdpbiwgbm90IGEgbGliCgoyMDA2LTA3LTEzIDE1OjI1OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IGFkZCBtb3JlIHBsdWdpbnMgYW5kIGVsZW1lbnRzIHRvIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgYWRkIG1vcmUgcGx1Z2lucyBhbmQgZWxlbWVudHMgdG8gZG9jcwoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBmaXggc2VnZmF1bHRzIGR1ZSB0byB3cm9uZyBnX2ZyZWUKCSAgYWRkIGV4YW1wbGUKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBhZGQgZXhhbXBsZQoKMjAwNi0wNi0yMyAwOTowOTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKSBhbmQgZml4IG9uZSBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykKCSAgYW5kIGZpeCBvbmUgR09iamVjdCBib2lsZXJwbGF0ZSBtYWNyby4KCjIwMDYtMDYtMDYgMTY6MjY6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRhcHQgdG8gbmV3IGFwaQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRhcHQgdG8gbmV3IGFwaQoKMjAwNi0wNi0wNiAxNDozOToxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IGVuYWJsZSBidWlsZGluZyBvZiBHRFAgZWxlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBlbmFibGUgYnVpbGRpbmcgb2YgR0RQIGVsZW1lbnRzCgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLAoJICAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9nZHBfcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIGFkZCB2ZXJzaW9uIDEuMAoKMjAwNi0wNi0wMiAxNjo0NTo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIHNtYWxsIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzbWFsbCBmaXhlcwoKMjAwNi0wNi0wMiAxMDoyODozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBhZGQgY3JjLWhlYWRlciBhbmQgY3JjLXBheWxvYWQgcHJvcGVydGllcyBkb24ndCBlcnJvciBvdXQgb24gc29tZSB0aGluZ3MgdGhhdCBhcmUgcmVjb3ZlcmFibGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLAoJICAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nZHBfcGF5X2dldF9wcm9wZXJ0eSk6CgkgIGFkZCBjcmMtaGVhZGVyIGFuZCBjcmMtcGF5bG9hZCBwcm9wZXJ0aWVzCgkgIGRvbid0IGVycm9yIG91dCBvbiBzb21lIHRoaW5ncyB0aGF0IGFyZSByZWNvdmVyYWJsZQoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoR1NUX1NUQVJUX1RFU1QpLCAoZ2RwcGF5X3N1aXRlKToKCSAgYWRkIHRlc3QgZm9yIGNyYwoKMjAwNi0wNi0wMSAyMjowMDoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmg6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmg6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmg6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2VuYy5oOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuaDoKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5oOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0Lmg6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90Lmg6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgKiBleHQveGluZS9nc3R4aW5lLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuaDoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuaDoKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuaDoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgoyMDA2LTA1LTIyIDE1OjUzOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvOiBIYW5kbGUgZXJyb3IgY2FzZXMgd2hlbiBjYWxsaW5nIGZ1bmN0aW9ucyBkbyBkb3dud2FyZHMgc3RhdGUgY2hhbmdlIGFmdGVyIHBhcmVudCdzIGNoYW5nZV9zdGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksCgkgIChnc3RfZ2RwX3BheV9jaGFpbiksIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgSGFuZGxlIGVycm9yIGNhc2VzIHdoZW4gY2FsbGluZyBmdW5jdGlvbnMKCSAgZG8gZG93bndhcmRzIHN0YXRlIGNoYW5nZSBhZnRlciBwYXJlbnQncyBjaGFuZ2Vfc3RhdGUKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBjbGVhbiB1cCBtb3JlCgoyMDA2LTA1LTIyIDEzOjI1OjUyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZGluZyBHRFAgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlci4gQnVpbGQgaW50ZWdyYXRpb24gd2lsbCBmb2xsb3cgbGF0ZXIgd2hlbiB0aGUgR0RQIGlzc3VlcyBmb3IgY29yZSBhcmUgc29ydGVkIG91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2RwL2dzdGdkcC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9maW5hbGl6ZSksIChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKSwgKGdzdF9nZHBfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X2dkcF9wYXlfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9kaXNwb3NlKSwgKGdzdF9nZHBfc3RhbXBfYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLAoJICAoZ3N0X2dkcF9xdWV1ZV9idWZmZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2dkcF9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKGNsZWFudXBfZ2RwZGVwYXkpLCAoZ2RwZGVwYXlfcHVzaF9wZXJfYnl0ZSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzZXR1cF9nZHBkZXBheV9zdHJlYW1oZWFkZXIpLCAoZ2RwZGVwYXlfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoY2xlYW51cF9nZHBwYXkpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoc2V0dXBfZ2RwcGF5X3N0cmVhbWhlYWRlciksIChnZHBwYXlfc3VpdGUpLAoJICAobWFpbik6CgkgIGFkZGluZyBHRFAgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlci4gIEJ1aWxkIGludGVncmF0aW9uIHdpbGwKCSAgZm9sbG93IGxhdGVyIHdoZW4gdGhlIEdEUCBpc3N1ZXMgZm9yIGNvcmUgYXJlIHNvcnRlZCBvdXQuCgoyMDEyLTA5LTEwIDIwOjM4OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogTWlzYyBmaXggZm9yIDAuMTEKCSAgQ29udmVydCB0aGUgaW5jb21pbmcgY2FwcyBiZWZvcmUgcHJveHlpbmcgdGhlbQoJICBDbGVhciB0aGUgbGFzdF9wYWQgd2hlbiBnb2luZyB0byByZWFkeQoJICB0ZXN0czogSW1wbGVtZW50IGFjY2VwdF9jYXBzLCBkb24ndCBsZWFrIGV2ZW50CgoyMDEyLTA5LTEwIDE2OjEyOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQtbWFyc2hhbC5saXN0OgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBVc2UgZ2VuZXJpYyBtYXJzaGFsbGVyCgoyMDEyLTA5LTEwIDE2OjA5OjI2IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0LW1hcnNoYWwubGlzdDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5oOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5oOgoJKiBzeXMvdXZjaDI2NC91dmNfaDI2NC5jOgoJKiBzeXMvdXZjaDI2NC91dmNfaDI2NC5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfanBnLmgyNjQ6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfanBnLmpwZzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4X2RhdGEvdmFsaWRfaDI2NF9qcGcubWpwZzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4X2RhdGEvdmFsaWRfaDI2NF95dXkyLmgyNjQ6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfeXV5Mi5tanBnOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXhfZGF0YS92YWxpZF9oMjY0X3l1eTIueXV5MjoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvYm9vbGVhbl9wcm9wZXJ0eS5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9lbnVtX3Byb3BlcnR5LmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L2VudW1fcHJvcGVydHlfZ3RrMi5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9pbnRfcHJvcGVydHkuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvdGVzdC11dmNoMjY0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvd2luZG93LmdsYWRlOgoJICBVVkMgSDI2NCBwbHVnaW4KCjIwMTItMDktMDkgMjM6NTI6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkgIG9wZW5jdjogZGlzYWJsZSBtb3Rpb25jZWxscyAiZGF0ZSIgcHJvcGVydHkgZm9yIG5vdwoJICBTaG91bGRuJ3QgYmUgb2YgdHlwZSBsb25nLiBOb3Qgc3VyZSBpdCdzIHVzZWZ1bCBhdCBhbGwsIHNvCgkgIGp1c3QgZGlzYWJsZSBpdCBmb3Igbm93IHRvIHNlZSBpZiBzb21lb25lIG1pc3NlcyBpdC4KCjIwMTItMDktMDkgMTQ6MzU6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVtb3ZlIG5vbi1leGlzdGFudCBobHNzaW5rIHBsdWdpbiBmcm9tIE5PTlBPUlRFRCBsaXN0CgoyMDEyLTA5LTA4IDE2OjA4OjIxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IEZpeCBtZW1vcnkgbGVhawoKMjAxMi0wOS0wOCAxNTo1Nzo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXI6IGZpeCBsZWFrcyBpbiBhdWRpb3NyYy9zaW5rCgoyMDEyLTA5LTA4IDE3OjAzOjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRG9uJ3Qgb3ZlcnJpZGUgdXBzdHJlYW0gZnJhbWVyYXRlIGFuZCBQQVIKCSAgSWYgdXBzdHJlYW0gcHJvdmlkZWQgc29tZSwgdGhlcmUncyBhIGdvb2QgY2hhbmNlIHRoZXkgYXJlIHRoZSBvbmVzIHRvIHVzZQoKMjAxMi0wOS0wOCAxNDo0MzozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJICBobHM6IGRpc2FibGUgaGxzc2luayBidXQgZG8gYnVpbGQgaGxzZGVtdXgKCjIwMTItMDktMDggMTQ6MzE6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBSZXZlcnQgImNvbmZpZ3VyZS5hYzogUHJvcGVybHkgZGlzYWJsZSBITFMgcGx1Z2luIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDNhZDM0NDVhMjVmMzFiYzBkMDE2N2E0ZjQxMzc5MWJlYTgwMDY3ODMuCgkgIFRoaXMgZGlzYWJsZWQgaGxzZGVtdXggYXMgd2VsbAoKMjAxMi0wOS0wOCAxNDowNTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogUHJvcGVybHkgZGlzYWJsZSBITFMgcGx1Z2luCgoyMDEyLTA5LTA3IDE2OjA4OjU3ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IEFkZCBtaXNzaW5nIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTCgoyMDEyLTA5LTA3IDE2OjA3OjQwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmg6CgkgIGhsc3Npbms6IEFkZCBzZWdtZW50IHRhcmdldC1kdXJhdGlvbiBwcm9wZXJ0eQoJICBUaGlzIHByb3BlcnR5IGNhdXNlcyBobHNzaW5rIHRvIHB1c2ggYSBmb3JjZSBrZXkgdW5pdCBldmVudCB1cHN0cmVhbQoJICBldmVyeSB0YXJnZXQtZHVyYXRpb24gc2Vjb25kcy4gVGhpcyBpcyBmb3Igc2ltcGxlIGF1dG9tYXRpYyBzZWdtZW50aW5nLgoJICBUbyBkaXNhYmxlIGl0LCBzZXQgdGhlIHByb3BlcnR5IHRvIDAgYW5kIHB1c2ggdGhlIGZvcmNlIGtleSB1bml0IGV2ZW50CgkgIG1hbnVhbGx5LgoKMjAxMS0wOC0yMSAxMTowMDo1MSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmg6CgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkgIGhsczogYWRkIGhsc3NpbmsgZWxlbWVudAoKMjAxMi0wOS0wNiAwMTo1MzowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB1c2UgY29ycmVjdCB2YXJpYWJsZSB3aGVuIGhhbmRsaW5nIHBhZCBwcm9iZSBidWZmZXJzCgkgIFBhZCBwcm9iZSBkYXRhIGlzIGluIHRoZSBHc3RQYWRQcm9iZUluZm8sIG5vdCBpbiB0aGUgdXNlciBkYXRhCgkgIHBhcmFtZXRlci4KCjIwMTItMDktMDMgMTk6MjU6NTIgKzAxMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdC1vbmxpbmUuZGU+CgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICBteXRodHY6IHVwZGF0ZSBmb3IgZHVyYXRpb24gbWVzc2FnZSBBUEkgY2hhbmdlCgoyMDEyLTA5LTAzIDE0OjIxOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogc2V0IGludGVybGFjZV9jb2RpbmcgYmFzZWQgb24gaW5wdXQgY2FwcwoJICBhbmQgcmVtb3ZlIHByb3BlcnR5LgoKMjAxMi0wOS0wMyAxNDowNDo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IGNvbmZpZ3VyZSBwcm9maWxlL2xldmVsIGZyb20gYWxsb3dlZCBkb3duc3RyZWFtIGNhcHMgaW5zdGVhZCBvZiBwcm9wZXJ0aWVzCgkgIFRoaXMgaXMgaG93IGl0J3MgZG9uZSBlbHNld2hlcmUgYW5kIHdvcmtzIGJldHRlciB3aXRoIGVuY29kZWJpbi4KCSAgUmVtb3ZlcyAiZm9yY2UtcHJvZmlsZSIgcHJvcGVydHksIHJlYWQtb25seSAicHJvZmlsZSIgcHJvcGVydHkgYW5kCgkgICJsZXZlbCIgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA2MDgKCjIwMTItMDktMDMgMTM6NTg6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogZml4IG1haW4gcHJvZmlsZSBtYXBwaW5nCgoyMDEyLTA5LTAzIDEzOjA0OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogcHJldHRpZnkgZW51bSBwcm9wZXJ0eSBuaWNrcwoJICBVc2UgJy0nIGluc3RlYWQgb2YgJ18nIGFzIHdvcmQgc2VwYXJhdG9yLgoKMjAxMi0wOS0wMyAxMjo0MTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiBjaGFuZ2UgImludGVybGFjZWQiIGJvb2xlYW4gaW4gY2FwcyB0byAiaW50ZXJsYWNlLW1vZGUiCgkgIE5vdCBzdHJpY3RseSBuZWVkZWQsIGJ1dCBsZXQncyBtYWtlIGl0IGNvbnNpc3RlbnQgd2l0aCB0aGUgcmF3CgkgIHZpZGVvIHdheSBvZiBkb2luZyB0aGluZ3MuCgoyMDEyLTA5LTAzIDEyOjMzOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IHVzZSBzdHJpbmdzIGZvciBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgkgIEZvciBjb25zaXN0ZW5jeSB3aXRoIG1vc3Qgb3RoZXIgZm9ybWF0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQzNgoKMjAxMi0wOS0wMiAxMjozNjozNyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBObyBuZWVkIHRvIGRlZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzE3NQoKMjAxMi0wOS0wMiAwMzo1NTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogZXh0cmFjdCB5ZWFyIHRvIHdyaXRlIGludG8gSUQzdjEgdGFnIGZyb20gR1NUX1RBR19EQVRFX1RJTUUgbm90IEdTVF9UQUdfREFURQoKMjAxMi0wOS0wMSAyMTo0NjoxOSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogc2V0IDAgZHVyYXRpb24gd2hlbiB2b3BfY29kZWQgaXMgMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMTY5CgoyMDEyLTA5LTAyIDAxOjQyOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGdzdF9tZXNzYWdlX25ld19kdXJhdGlvbiAtPiBnc3RfbWVzc2FnZV9uZXdfZHVyYXRpb25fY2hhbmdlZAoKMjAxMi0wOS0wMSAwOToxMjo1MSAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBIYW5kbGUgY2FwcyBxdWVyeSBvbiBpbnRlcm5hbCBzcmNwYWQKCSAgUmVwbHkgd2l0aCBBTlkgY2FwcyB0byBlbnN1cmUgbGlua2luZyB0aGUgaW50ZXJuYWwgc3JjIHBhZC4gVGhpcwoJICBtaWdodCBuZWVkIG1vcmUgYXR0ZW50aW9uIGxhdGVyLCB0byByZXBseSB3aXRoIHRoZSByZWFsIHVwc3RyZWFtIGNhcHMKCSAgZm9yIHRoZSBjdXJyZW50bHkgYWN0aXZlIGVsZW1lbnQuCgoyMDEyLTA4LTMxIDE1OjI4OjI5IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkL21wZWdkZW11eDogU2VuZCBib3RoIFBUUyBhbmQgRFRTIGRvd25zdHJlYW0KCSAgTm93IHRoYXQgd2UgY2FuLgoKMjAxMi0wOS0wMiAwMDowNDoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogZG9uJ3QgbGVhayBidWZmZXIgaW4gY2FzZSBvZiBhbiBpbml0IGVycm9yCgoyMDEyLTA5LTAyIDAwOjM0OjM4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zcGMvdGFnLmM6CgkqIGV4dC9zcGMvdGFnLmg6CgkgIHNwYzogcG9ydCB0byAwLjExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxNzUKCjIwMTItMDgtMzEgMTQ6MTM6NTggLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmQ6IFBsdWcgYSB2aWRlbyBwYXJzZXIgaW4gZnJvbnQgb2YgZGVjb2RlcgoJICBTZWVtcyB0byBtYWtlIHBsYXliYWNrIGJvdGggYmV0dGVyIGFuZCB3b3JzZS4gVGhlIHBhcnNlciBuZWVkcyBzb21lCgkgIGZpeGluZywgaXQgc2VlbXMgOi0vCgoyMDEyLTA4LTMxIDEyOjMxOjQ4IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IE1ha2UgR0FQIGV2ZW50IGF3YXJlCgoyMDEyLTA4LTMxIDA4OjQ2OjQ1IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5oOgoJICByZXNpbmR2ZDogQWRkIHNvbWUgR0FQIGV2ZW50IHN0dWZmIHRvIG1ha2Ugc3RpbGwtZnJhbWVzIHN0YXJ0IHRvIHdvcmsKCSAgQW5kIHJlbW92ZSB0aGUgZGVhZCBhdWRpb211bmdlIGVsZW1lbnQuIEl0IGlzbid0IG5lZWRlZCBub3csIHdlIGp1c3QKCSAgc2VuZCBHQVAgZXZlbnRzCgoyMDEyLTA2LTA5IDIyOjM2OjA2ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZWZzLmg6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuaDoKCSogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuaDoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5oOgoJICByZXNpbmR2ZDogSW5pdGlhbCBwYXJ0aWFsIHBvcnQgdG8gMC4xMQoKMjAxMi0wOC0zMCAxODozOTo1MCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBEb24ndCBkcm9wIHVwc3RyZWFtIGV2ZW50cyBkdWUgdG8gc2lsbHkgdHlwbwoKMjAxMi0wOC0zMCAxNzo1MTo1MCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBNZXJnZSBzb21lIERWRCBwaWVjZXMgYW5kIGZpeGVzCgkgIEJyaW5nIHRoZSByZXNpbmR2ZCBjb3B5IG9mIG1wZWdwc2RlbXV4IGFuZCB0aGUgbm9ybWFsIHZlcnNpb24KCSAgc2xpZ2h0bHkgY2xvc2VyIHRvZ2V0aGVyLgoJICBEb24ndCBmb3J3YXJkIGluY29taW5nIHNpbmsgY2FwcyBldmVudCB0byBkb3duc3RyZWFtIGVsZW1lbnRzLgoKMjAxMi0wNi0xMSAwODozMzozNiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBhdm9pZCBleHRyYSByZWZzL3VucmVmcyBvZiB0aGUgZGVtdXhlcgoJICBDaGFuZ2UgYWxsIHRoZSBnc3RfcGFkX2dldF9wYXJlbnQoKSBjYWxscyB0byBhIGNhc3QgdG8gdGhlCgkgIHBhc3NlZCBwYXJlbnQgdmFyaWFibGUgd2hlcmUgYXBwcm9wcmlhdGUsIGFuZCBkb24ndCB1bnJlZiwKCSAgaW5jbHVkaW5nIHRoZSBleHRyYSB1bnJlZiBpbiB0aGUKCSAgZ3N0X2ZsdXBzX2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCgpIGZ1bmN0aW9uLgoKMjAxMi0wOC0zMCAxMjoxMToyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGFkanVzdCB0byBtb2RpZmllZCB2aWRlbyBvdmVybGF5IGNvbXBvc2l0aW9uIEFQSQoJICAuLi4gYW5kIHN1cHBseSBvdmVybGF5IHJlY3RhbmdsZSBkYXRhIGluIEFZVVYgYXMgcHJvdmlkZWQgYnkgaW5wdXQKCSAgZGF0YSByYXRoZXIgdGhhbiBjb252ZXJ0aW5nIHRvIFJHQi4KCjIwMTItMDgtMjkgMjI6MDU6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBubyBuZWVkIHRvIHNldCBjbG9jay9iYXNldGltZSBhZ2FpbgoJICBUaGUgYmFzZSBhbmQgY2xvY2sgYXJlbid0IGxvc3QgYW55bW9yZSBvbiBzdGF0ZSBjaGFuZ2VzCgkgIGluIDEuMAoKMjAxMi0wOC0yOSAyMjowNTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IG5vIG5lZWQgdG8gc2VuZCBleHRyYSByZWNvbmZpZ3VyZQoJICBTZXR0aW5nIGNhcHNmaWx0ZXJzIGFscmVhZHkgc2VuZHMgcmVjb25maWd1cmUgZXZlbnRzIHdoZW4gYSBuZXcKCSAgY2FwcyBpcyBzZXQsIG5vIG5lZWQgdG8gcmVzZW5kIHRoZW0uCgoyMDEyLTA4LTI4IDIxOjAxOjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcmVxdWVzdCBfJXUgdGVtcGxhdGVzIGluc3RlYWQgb2YgXyVkCgkgIEluIDEuMCwgdGVtcGxhdGVzIGhhdmUgYmVlbiByZW5hbWVkIHRvIF8ldSBhcyBkZWZhdWx0CgoyMDEyLTA4LTI2IDE2OjQzOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogZml4IGltYWdlIGxvY2F0aW9uIHN3aXRjaGluZyB0ZXN0CgkgIFRoZSB0ZXN0IHNob3VsZCB3YWl0IHVudGlsIHRoZSBsYXN0IGltYWdlLWRvbmUgaXMgcG9zdGVkIHNvIGl0CgkgIGNhbiBjb3JyZWN0bHkgY2hlY2sgdGhhdCBhbGwgaW1hZ2VzIGhhdmUgYmVlbiBzYXZlZC4KCjIwMTItMDgtMjYgMTY6NDI6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogcmV3b3JrIHZpZGVvIHJlY29yZGluZyBlb3MgcHVzaAoJICBQdXNoIEVPUyBvdXRzaWRlIG9mIHdyYXBwZXJjYW1lcmFiaW5zcmMgc28gdGhhdCBub25lIG9mIHRoZQoJICBpbnRlcm5hbCBlbGVtZW50cyBnZXRzIGl0cyBwYWRzIGludG8gZW9zIHN0YXRlLCBwcmV2ZW50aW5nIGFueQoJICBmdXJ0aGVyIGRhdGEgZnJvbSBwYXNzaW5nCgoyMDEyLTA4LTI4IDExOjA3OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZW5zdXJlIHN1ZmZpY2llbnRseSBzaXplZCBidWZmZXIgd2hlbiB3cmFwcGluZyBOQUwKCSAgTm90ZWQgYnkgPHpoYW5neWFucGluZzIxMEB5YWhvby5jb20uY24+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI1ODkKCjIwMTItMDgtMjQgMDk6MDE6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSAgc2htOiByZW1vdmUgdW5uZWVkZWQgZ2xpYi1nZW4tbWFrIGluY2x1ZGUgaW4gTWFrZWZpbGUKCSAgTm8gZW51bXMgb3IgbWFyc2hhbGxlcnMgdG8gYmUgZ2VuZXJhdGVkIGhlcmUuIFNob3VsZCBhbHNvCgkgIGJlIGdzdC1nbGliLWdlbi5tYWsgdGhlbi4KCjIwMTItMDgtMjIgMTU6MDg6NTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiByZXZlcnQgcmVuYW1pbmcgb2YgdGhlIHR5cGUKCSAgVGhlIHNwZWNpYWwgdHlwZSBuYW1lIHdhcyBsb3N0IHdoZW4gbWVyZ2luZyBmcm9tIGJhc2UuCgoyMDEyLTA4LTIyIDEzOjMwOjQwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2NjhhY2VlIHRvIDRmOTYyZjcKCjIwMTItMDgtMjIgMTM6MTk6NTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBndGstZG9jIHJlcSB0byAxLjEyIChtYXItMjAwOSkKCSAgVGhpcyBhbGxvd3MgdXMgdG8gZS5nLiB1bmNvbmRpdGlvbmFsbHkgdXNlIGd0a2RvYy1yZWJhc2UuCgoyMDEyLTA4LTIxIDEzOjI5OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGF2b2lkIHJlZ2lzdGVyaW5nIGVudW0gdHlwZSBvZiBzYW1lIG5hbWUgYXMgbGlidmlzdWFsIHBsdWdpbiBpbiAtYmFzZQoKMjAxMi0wOC0xNyAxMToxMjoyMiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZDogdXNlIHNjYWxlIGZ1bGxzY3JlZW4gbWV0aG9kLgoJICBUaGlzIG1ha2VzIHRoZSBjb21wb3NpdG9yIHNjYWxlIHRoZSBzdXJmYWNlIHRvIGZpdCBhbmQgcHJlc2VydmVzCgkgIGFzcGVjdCByYXRpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTQ1MwoKMjAxMi0wOC0xNyAxMToxMDozOSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZDogcmVzcG9uZCB0byBwaW5nL3BvbmcgcHJvdG9jb2wgc28gd2UncmUgbm90IGRlZW1lZCB1bnJlc3BvbnNpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE0NTMKCjIwMTItMDgtMjEgMTA6Mzc6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IGNoZWNrIGZvciB3YXlsYW5kCgkgIFdlIG9ubHkgc2VlbSB0byBuZWVkIHdheWxhbmQtY2xpZW50LiBBbHNvIG1ha2Ugd29yayB3aXRoCgkgIHdheWxhbmQgYmVpbmcgaW5zdGFsbGVkIGluIGEgbm9uLWRlZmF1bHQgcHJlZml4IGJ5IG5vdAoJICBvdmVyd3JpdGluZy9jbGVhcmluZyBXQVlMQU5EX3tDRkxBR1MsTElCU30gZm9yIG5vIHJlYXNvbgoJICBhdCBhbGwuCgoyMDEyLTA4LTIxIDEwOjI5OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBmaXggYnVpbGQKCSAgU29tZSBjb2RlIHNsaXBwZWQgaW50byB0aGUgbGFzdCBjb21taXQgdGhhdCB3YXMgbWVhbnQgdG8gYmUKCSAgcHVzaGVkIHNlcGFyYXRlbHkuIFVzZSBnc3RfZGF0ZV90aW1lX3VucmVmKCkgaW5zdGVhZCBvZiBfZnJlZSgpLgoKMjAxMi0wOC0wOCAxNzoxMDoyOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZDogTW9yZSBmaXhlcyBiYXNlZCBvbiB3YXlsYW5kLTAuOTUuMCBhbmQgZ3N0cmVhbWVyLTEuMCBhcGlzCgkgIC0gYnVtcCB3YXlsYW5kIHZlcnNpb24gdG8gMC45NS4wIHdoaWNoIHdpbGwgbGVhZCB0byBzdGFibGUgMS4wIHJlbGVhc2UKCSAgLSBhdm9pZCBtZW1jb3B5IGFuZCB1c2UgcHJvcG9zZV9hbGxvY2F0aW9uIGZvciBHc3RCdWZmZXJQb29sIGFsbG9jYXRpb24KCSAgLSB1c2luZyBXYXlsYW5kQnVmZmVyUG9vbAoJICAtIHNobTogQWxsb2NhdGUgc2htIGJ1ZmZlcnMgdGhyb3VnaCBuZXcgd2xfc2htX3Bvb2wgaW50ZXJmYWNlCgkgICh0aGUgc2htIGJ1ZmZlciBhbGxvY2F0aW9uIGlzIGEgdHdvIHN0ZXAgcHJvY2VzcyBub3c6IGZpcnN0CgkgIGFsbG9jYXRlIGEgd2xfc2htX3Bvb2wsIHRoZW4gYWxsb2NhdGUgYSBidWZmZXIgZnJvbSB0aGUgcG9vbCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTQ1MwoKMjAxMi0wOC0yMSAxMDoyMjo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBwb3J0IHRvIDAuMTEKCjIwMTItMDgtMjEgMDA6MTA6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IEdTVF9UQUdfREFURSAtPiBHU1RfVEFHX0RBVEVfVElNRQoJICBJbiBjYW1lcmFiaW4yIGV4YW1wbGUuCgoyMDEyLTA4LTIwIDIzOjM3OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICB2aWRlby94LWR2ZC1zdWJwaWN0dXJlIC0+IHN1YnBpY3R1cmUveC1kdmQKCjIwMTItMDgtMTggMjA6MzE6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBnc3QvbXBlZzFzeXMvbWFpbi5oOgoJKiBnc3QvcnRqcGVnL1JUanBlZy5jOgoJKiBnc3QvcnRqcGVnL1JUanBlZy5oOgoJKiBnc3QvdHRhL2ZpbHRlcnMuaDoKCSogZ3N0L3ZiaWRlYy92YmlkYXRhLmM6CgkqIGdzdC92YmlkZWMvdmJpZGF0YS5oOgoJKiBnc3QvdmJpZGVjL3ZiaXNjcmVlbi5jOgoJKiBnc3QvdmJpZGVjL3ZiaXNjcmVlbi5oOgoJICBGaXggdXAgRlNGIGFkZHJlc3MgaW4gc29tZSBzb3VyY2UgZmlsZXMgYXMgd2VsbAoKMjAxMi0wOC0xOCAxMTowOTozOSAtMDQwMCAgQnJpYW4gUGVwcGxlIDxicGVwcGxlQGZlZG9yYXByb2plY3Qub3JnPgoKCSogQ09QWUlORzoKCSogQ09QWUlORy5MSUI6CgkgIENvcnJlY3QgaW5jb3JyZWN0IEZTRiBhZGRyZXNzIGluIGxpY2Vuc2UgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjE1OAoKMjAxMi0wOC0xNyAyMjo1NzoxMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBzeW5jIHRvIGNoYW5nZSBpbiBiYXNlIGFuZCBwb3J0CgkgIEFkZCBzdXBwb3J0IGZvciBHc3RWaWRlb01ldGEgYW5kIEdzdFZpZGVvRnJhbWUuIFJlbW92ZSBzb21lIHJlZHVuZGFudCBmaWVsZHMKCSAgdGhhdCBhcmUgYWxzbyBpbiBHc3RWaWRlb0luZm8uIERvbid0IGRpc2FibGUgdGhlIHNoYWRlciBjb2RlLCBpdCBkb2VzIG5vdAoJICBsb29rIGJyb2tlbi4KCjIwMTItMDgtMTcgMTU6MTU6MzQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkgIGF1ZGlvdmlzdWFsaXplcjogc3RhdHVzIHVwZGF0ZQoKMjAxMi0wOC0xNSAxODoyODowOSAtMDQwMCAgQnJpYW4gUGVwcGxlIDxicGVwcGxlQGZlZG9yYXByb2plY3Qub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBtaXNzaW5nIEFDX0xBTkdfUFJPR1JBTSBjYWxsIHRvIERpcmVjdFNob3cgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTk1MgoKMjAxMi0wOC0xNSAxMToyNjo1OSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICB2aXN1YWxpemVyOiBzbWFsbCBjbGVhbnVwCgkgIEFwcGx5IGNsZWFudXAgZnJvbSBjb3B5IGluIGJhc2UuCgoyMDEyLTA3LTI0IDIwOjM5OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBmbHVzaGluZy9zeW5jIGhhbmRsaW5nCgkgIFRoZXJlIHdhcyBhIHN0cmF5IGFkYXB0ZXJfZmx1c2goKSBub3cgdGhhdCB3ZSB1c2VkIGEgdGVtcG9yYXJ5IGJ1ZmZlcgoKMjAxMi0wNy0xOSAxMzozNTo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBCZXR0ZXIgZGV0ZWN0IFBDUiByZXNldHMKCSAgQXNzdW1lIHRoYXQgYW55IGRpZmZlcmVuY2VzIGluIFBDUiBncmVhdGVyIHRoYW4gMTVzIG1lYW5zIHRoZXJlIGlzCgkgIGEgcmVzZXQgaW4gdGhlIHN0cmVhbS4KCjIwMTItMDctMTkgMDk6MDU6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBDYWxsIGdzdF92aWRlb19kZWNvZGVyX25lZ290aWF0ZSgpCgoyMDEyLTA3LTE5IDA5OjA1OjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IENhbGwgZ3N0X3ZpZGVvX2RlY29kZXJfbmVnb3RpYXRlKCkKCjIwMTItMDctMTQgMTM6NTk6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogUmVtb3ZlL2RlbW90ZSBzb21lIGRlYnVnZ2luZwoKMjAxMi0wNy0xMyAxNjo1NjoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBbHdheXMgdXNlIGN1cnJlbnQgUFRTL0RUUwoJICBUaGlzIGF2b2lkcyBzZXR0aW5nIG9sZCBQVFMgYW5kL29yIERUUwoKMjAxMi0wNy0xMyAxNjoyMjoyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZW1vdmUgdW5uZWVkZWQgbWVtc2V0KDApCgoyMDEyLTA3LTEzIDE2OjIyOjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIG1wZWd0czogVXNlIEdfR05VQ19JTlRFUk5BTAoKMjAxMi0wNy0xMSAwODoxMDozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZHZiIHBsdWdpbiBpcyBwb3J0ZWQKCjIwMTItMDctMTEgMDg6MTA6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YjogTW9yZSBmaXh1cHMgdG8gMS4wCgkgIE5vdCB0ZXN0ZWQgeWV0ICEKCSAgQ29uZmxpY3RzOgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jCgoyMDEyLTA2LTI5IDE4OjA0OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkgIGNhbTogQWxsb3cgdGltZSBmb3IgQ0EgdG8gaW5pdGlhbGl6ZQoJICBTb21lIGRldmljZXMgdGFrZSBzb21lIHRpbWUgdG8gaW5pdGlhbGl6ZSwgYW5kIHVudGlsIHRoZXkgYXJlIHRoZXkKCSAgd2lsbCBlcnJvciBvdXQgd2hlbiB0cnlpbmcgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDQSBkZXZpY2UuCgoyMDEyLTA2LTI5IDE4OjAxOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSAgY2FtOiBQTVRfUkVQTFkgcGFyc2luZwoJICBOb3QgdXNlZCB5ZXQKCjIwMTItMDYtMjkgMTg6MDA6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5oOgoJICBkdmJiYXNlYmluOiBTd2l0Y2ggdG8gdXNlIHRzcGFyc2UKCjIwMTItMDYtMjkgMTc6NTM6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogVXNlIGdzdF9zdHJ1Y3R1cmVfKl90YWtlX3ZhbHVlIHdoZXJlIGFwcGxpY2FibGUKCSAgU2F2ZXMgY29weWluZy9mcmVlaW5nIGRhdGEKCjIwMTItMDYtMjkgMTY6MTQ6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogQ2FjaGUgdGhlIEdJQ29udgoJICBBdm9pZHMgaGF2aW5nIHRvIGNvbnN0YW50bHkgb3Blbi9mcmVlIHRoZW0gKHdoaWNoIHdpbGwgZW5kIHVwIGJlaW5nCgkgIHZlcnkgb2Z0ZW4gd2l0aCBFSVQvTklUKS4KCjIwMTItMDYtMjkgMTY6MDk6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiByZXNldCBlbGVtZW50IGluIFJFQURZPT5QQVVTRUQKCSAgRW5zdXJlcyBhbGwgc3ViY2xhc3MgcmVzZXQgdm1ldGhvZHMgYXJlIGNhbGxlZAoKMjAxMi0wNi0yOCAxMjoxODoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBVc2UgbW9yZSBRdWFya3MKCjIwMTItMDYtMjYgMTk6MDE6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVtb3ZlIHVzZWxlc3MgY29kZQoJICBQQ1IvT1BDUiBpcyBtZWFudCB0byBiZSBoYW5kbGVkIGJ5IHRoZSBwYWNrZXRpemVyCgoyMDEyLTA2LTI2IDE4OjU5OjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IENhbGN1bGF0ZSBwY3IvdGltZS9vZmZzZXQgc2VwYXJhdGVseSBwZXIgcHJvZ3JhbQoJICBBdm9pZHMgcXVpdGUgYSBmZXcgaXNzdWVzIHdpdGggbXVsdGktcHJvZ3JhbSBzdHJlYW1zCgoyMDEyLTA2LTI2IDE4OjU0OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICB0c3BhcnNlOiBQdXNoIG91dCBidWZmZXIgb24gbWFpbiBzb3VyY2UgcGFkCgoyMDEyLTA2LTI2IDE4OjUxOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0YmFzZTogdm1ldGhvZCB0byBub3RpZnkgd2hlbiB3ZSdyZSBkb25lIHByb2Nlc3NpbmcgaW5wdXQKCSAgVGhpcyBjYW4gYmUgdXNlZCB0byBub3RpZnkgc3ViY2xhc3NlcyBubyBtb3JlIGRhdGEgaXMgZXhwZWN0ZWQgdGhpcwoJICByb3VuZC4KCSAgdHNwYXJzZSB3aWxsIHVzZSBpdCB0byBwdXNoIHdob2xlIGJ1ZmZlcnMgKHdpdGhvdXQgY29weSkgb24gdGhlIG1haW4KCSAgc291cmNlIHBhZC4KCSAgSXQgY291bGQgYWxzbyBiZSB1c2VkIGxhdGVyIHRvIGRlY2lkZSB3aGV0aGVyIHRvIHB1c2ggcGVuZGluZyBkYXRhCgkgIGluIG9yZGVyIHRvIHJlZHVjZSBsYXRlbmN5LgoKMjAxMS0wMi0wMSAxMTozOToxNiAtMDgwMCAgRmFicml6aW8gKE1pc3RvKSBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjICsgZHZiIGFwaSBidWZmZXIgcHJvcGVydHkgdG8gb3ZlcmNvbWUgYnVmZmVyIHVuZGVyIHJlYWRzCgoyMDEyLTA4LTA4IDE1OjA2OjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiBEb24ndCBhc3N1bWUgb3V0cHV0IGJ1ZmZlciB0aW1lc3RhbXBzCgkgIFRoZXJlJ3Mgbm8gZ3VhcmFudGVlIHdoYXRzb2V2ZXIgdGhhdCB0aGUgZmlyc3QgYnVmZmVyIHRvIG91dHB1dCB3aWxsCgkgIHN0YXJ0IGF0IHRoZSBzZWdtZW50LnN0YXJ0LgoJICBJbnN0ZWFkLCB3YWl0IGZvciB0aGUgZmlyc3QgYnVmZmVyIGFmdGVyIGEgc2VnbWVudCwgYW5kIHVzZSB0aGF0IHRpbWVzdGFtcAoKMjAxMi0wOC0xNCAxMToxNzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJICB2cDhkZWM6IEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBkZWNvZGluZyB0aHJlYWRzCgoyMDEyLTA4LTE0IDExOjA5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBBZGQgc3VwcG9ydCBmb3IgdGhlIE1GUUUgcG9zdHByb2Nlc3NpbmcgZmxhZwoJICBXaGljaCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgaWYgcG9zdHByb2Nlc3NpbmcgaXMgZW5hYmxlZC4KCjIwMTItMDgtMTMgMTA6NTc6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBvbmx5IGFwcGx5IHJlcGVhdCBjb3VudCB3aGVuIHNldAoJICBXaGVuIHRoZXJlIGlzIG5vIGV4dGVuc2lvbiBoZWFkZXIsIHRoZSByZXBlYXRfY291bnQgdmFyaWFibGUgaXMgbGVmdCB0byAwIGFuZAoJICB0aGVuIHRoZSBkdXJhdGlvbiBvbiB0aGUgb3V0cHV0IGJ1ZmZlcnMgaXMgY2FsY3VsYXRlZCB3cm9uZ2x5LiBCZWNhdXNlIHRoZQoJICBkdXJhdGlvbiBpcyB1c2VkIHRvIGludGVycG9sYXRlIG91dHB1dCB0aW1lc3RhbXBzLCB0aGUgb3V0cHV0IHRpbWVzdGFtcHMgYXJlCgkgIGFsc28gd3JvbmcsIGNhdXNpbmcgYmFkIGZyYW1lcmF0ZXMuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNTM1CgoyMDEyLTA4LTA5IDEzOjM3OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgdnA4OiBVc2UgcGtnLWNvbmZpZyBmaWxlIGZvciBnZXR0aW5nIHRoZSBMSUJTIGFuZCBDRkxBR1MKCjIwMTItMDgtMDkgMTE6NDg6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IEdpdmUgTUFSR0lOQUwgcmFuayB0byB0aGUgbXBnMTIzIGRlY29kZXIgZWxlbWVudAoKMjAxMi0wOC0wOCAxNzo0MDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBnc3Q6IFNldCBhbGlnbm1lbnQgYXQgdGhlIGNvcnJlY3QgcGxhY2Ugb2YgR3N0QWxsb2NhdGlvblBhcmFtcwoKMjAxMi0wOC0wOCAxNzowNjoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSB0aGUgcGVyLWNvbXBvbmVudCBzdHJpZGVzIGZvciBldmVyeSBmcmFtZSB0b28KCSAgVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBvZiBHc3RWaWRlb0FsaWdubWVudAoKMjAxMi0wOC0wOCAxNjozNToxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MyA9PT0KCjIwMTItMDgtMDggMTU6MzI6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgUmVsZWFzZSAwLjExLjkzCgoyMDEyLTA4LTA4IDEyOjU4OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L21wZzEyMy9NYWtlZmlsZS5hbToKCSAgbXBnMTIzOiBkaXN0IGhlYWRlciBmaWxlCgoyMDEyLTA4LTA4IDEyOjEzOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGhvdG9ncmFwaHkuZGVmOgoJICB3aW4zMjogdXBkYXRlIGZvciBwaG90b2dyYXBoeSBBUEkgY2hhbmdlcwoKMjAxMi0wOC0wOCAxMTo1MzowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiAuZ2l0aWdub3JlIG5ldyBjdXJsc210cHNpbmsgdGVzdCBiaW5hcnkKCjIwMTItMDgtMDMgMTY6MjE6MDkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgbWltaWM6IFBvcnQgdG8gMC4xMQoKMjAxMi0wOC0wNyAxODoyMzozNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBhZGQgbWlzc2luZyBkZWZhdWx0IHN3aXRjaCBjYXNlCgoyMDEyLTA4LTA3IDE4OjIzOjA1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgd2lua3M6IGZpeCB0eXBlcwoKMjAxMi0wOC0wNyAxODoyMjozNiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIHdpbmtzOiBmaXggZm9ybWF0IHdhcm5pbmdzCgoyMDEyLTA4LTA3IDE4OjIxOjQ5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IGZpeCB1bnVzZWQgdmFyaWFibGVzIHdhcm5pbmdzCgoyMDEyLTA4LTA3IDE4OjIwOjUzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBkb24ndCByZWluaXRpYWxpemUgTUVESUFTVUJUWVBFX0k0MjAKCjIwMTItMDgtMDcgMTg6MTk6MjkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJICB3aW5rczogZGVmaW5lIFNUQVRJQ19LU1BST1BTRVRJRF9XYXZlX1F1ZXVlZCBpZiBub3QgZGVmaW5lZAoKMjAxMi0wOC0wNyAxNjo1MzowMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkgIHdpbmtzOiBpbnRlZ3JhdGUgYnVpbGQgd2l0aCBhdXRvdG9vbHMKCjIwMTItMDgtMDIgMTQ6MjY6MzIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGF2b2lkIGR1cGxpY2F0ZWQgc3ltYm9scyBpbiBzdGF0aWMgbGlua3MKCSAgUmVuYW1lIHRoZSBETEwgZW50cnkgcG9pbnQgdGhlIGF2b2lkIGR1cGxpY2F0ZWQgc3ltYm9scyBpbiBzdGF0aWMKCSAgbGlua3MuCgoyMDEyLTA4LTAyIDE0OjI2OjMyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBhdm9pZCBkdXBsaWNhdGVkIHN5bWJvbHMgaW4gc3RhdGljIGxpbmtzCgkgIFJlbmFtZSB0aGUgRExMIGVudHJ5IHBvaW50IHRoZSBhdm9pZCBkdXBsaWNhdGVkIHN5bWJvbHMgaW4gc3RhdGljCgkgIGxpbmtzLgoKMjAxMi0wOC0wNiAxMzo1OToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBnc3Q6IEFkZCBzdHJlYW0taWQgdG8gc3RyZWFtLXN0YXJ0IGV2ZW50cwoKMjAxMi0wNy0yNiAxOTozMToxNCArMDIwMCAgT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogaW5pdGlhdGUgZW5jb2RlciB0byBmaXggYSBjcmFzaC4KCSAgV2l0aG91dCB0aGlzIHBhdGNoIHZwOGVuYyBzZW5kIGhlYWRlciBiZWZvcmUgYW5kIGFmdGVyIGZpcnN0CgkgIGtleSBmcmFtZS4gT24gc2Vjb25kIGtleWZyYW1lIHZwOGRlYyB3aWxsIGNyYXNoIHdpdGhvdXQgZ2V0dGluZwoJICBkZWNvZGVkIGZyYW1lLiBXaXRoIHRoaXMgcGlwZSBpdCBpcyBlYXN5IHRvIHJlcHJvZHVjZSB0aGlzIGlzc3VlOgoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISB2cDhlbmMgISB2cDhkZWMgISBmYWtlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNjY3CgoyMDEyLTA4LTA1IDE2OjQwOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5NGNjZjRjIHRvIDY2OGFjZWUKCjIwMTItMDgtMDQgMTY6MzE6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBnc3RfdGFnX2xpc3RfZnJlZSAtPiBnc3RfdGFnX2xpc3RfdW5yZWYKCjIwMTItMDgtMDMgMTE6MzE6MDAgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSAgY3VybDogZml4ZWQgc29tZSBtZW1vcnkgbGVha3MgaW4gdGhlIHBsdWdpbiBhbmQgdGhlIHVuaXQgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTExNwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMTE1CgoyMDEyLTA4LTAzIDE0OjEyOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIGxpYm1wZzEyMyA+PSAxLjEzIGZvciAyNC1iaXQgZm9ybWF0cwoKMjAxMi0wOC0wMyAxMzo0MzozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogbWFwIGlucHV0IGJ1ZmZlciBpbiBSRUFEIG1vZGUsIG5vdCBXUklURSBtb2RlCgkgIE1ha2VzIHRoaW5ncyBhY3R1YWxseSB3b3JrLgoKMjAxMi0wOC0wMyAxMTo1MDoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogcXVlcnkgc3VwcG9ydGVkIG91dHB1dCBmb3JtYXRzIGF0IHJ1bi10aW1lCgkgIEZpeGVzIHN0dWZmLiBXZSB1c2UgYSBzdHJpbmcgaGVyZSBzaW5jZSB3ZSBjYW4ndCBiZSBib3RoZXJlZAoJICB3aXRoIEdWYWx1ZS4KCjIwMTItMDgtMDMgMTE6NDg6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGcxMjMvTWFrZWZpbGUuYW06CgkgIG1wZzEyMzogaG9vayB1cCB0byBidWlsZCBzeXN0ZW0KCjIwMTItMDgtMDMgMTE6MTM6NDggKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5oOgoJICBtcGcxMjM6IGFkZCBuZXcgbGlibXBnMTIzLWJhc2VkIG1wMyBkZWNvZGVyIHBsdWdpbgoJICBOZWVkcyBhIGJpdCBvZiBjbGVhbmluZyB1cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTAwMwoKMjAxMi0wOC0wMyAwMDoxMDowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm8uYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgc2Nocm9lZGluZ2VyLCBtcGVndHNtdXg6IGZpeCBwbHVnaW4gbmFtZXMKCjIwMTItMDctMzEgMDk6MzY6MzUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBTYXZlIGltYWdlL3ZpZGVvIHJlY29uZmlndXJhdGlvbiB1bnRpbCBjYXB0dXJpbmcKCSAgQWRkIGEgc3JjIHBhZCBldmVudCBoYW5kbGVyIGZ1bmN0aW9uIHRoYXQgZmlsdGVycyByZWNvbmZpZ3VyZSBldmVudHMgdG8KCSAgdHJpZ2dlciB0aGUgcmVuZWdvdGlhdGlvbiBjb2RlIHBhdGhzIGluIHRoZSBtb2RlLXNwZWNpZmljIHN0YXJ0LWNhcHR1cmUKCSAgcGhhc2UuCgkgIFRoaXMgaXMgdG8gd29yayB0b3dhcmRzIGZpeGluZyB1bml0IHRlc3RzIGJ1dCBtb3JlIHdvcmsgaXMgbmVlZGVkLgoKMjAxMi0wOC0wMiAxNDo0MDo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGRvIG5vdCBhY2Nlc3MgZnJhbWUgYnVmZmVyIGZvbGxvd2luZyBfZmluaXNoX2ZyYW1lIGNhbGwKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDQ5NAoKMjAxMi0wOC0wMSAxMTozNDowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5jYzoKCSAgbXBsZXg6IGRlZmF1bHQgdG8gRFZEIE1QRUctMiBmb3JtYXQgaW5zdGVhZCBvZiBHZW5lcmljIE1QRUctMQoKMjAxMi0wOC0wMSAxMTozMTowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5jYzoKCSAgbXBsZXhqb2I6IGFkZCBuaWNrcyBmb3IgZm9ybWF0IGVudW1zLCBhZGQgc29tZSBtb3JlIGZvcm1hdHMKCjIwMTItMDctMzAgMTc6MjE6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGZpeCBqaWZtdXggdGVzdCBmb3IgZml4ZWQgZmFpbCgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3NTUKCjIwMTItMDctMjkgMDE6MTE6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBmaXggcHJldmlldyBtZXNzYWdlIGhhbmRsaW5nCgkgIFByZXZpZXcgbWVzc2FnZXMgbm93IGNvbnRhaW4gR3N0U2FtcGxlcyBpbnN0ZWFkIG9mIEdzdEJ1ZmZlcnMKCjIwMTItMDctMjkgMDA6NTM6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSBwcmV2aWV3IGJ1ZmZlciBwdXNoaW5nCgkgIG5lZWQgdG8gcGFzcyBhIEdzdFNhbXBsZSB0byB0aGUgdXRpbGl0YXJ5IHByZXZpZXcgYnVmZmVyIHBvc3QgZnVuY3Rpb25zCgkgIGFzIGEgR3N0QnVmZmVyIGRvZXNuJ3QgaGF2ZSBjYXBzIGFueW1vcmUuIFRoZSBHc3RTYW1wbGUgaGFzIHRoZSBHc3RDYXBzCgkgIGFuZCBpdCBpcyB1c2VkIHRvIGluZm9ybSB0aGUgcHJldmlldydzIHBpcGVsaW5lIGFib3V0IHRoZSBmb3JtYXQgb2YgdGhlCgkgIGlucHV0LCBiZWZvcmUgaXQgZ2V0cyBjb252ZXJ0ZWQgdG8gdGhlIHVzZXIncyByZXF1ZXN0ZWQgb3V0cHV0IGZvcm1hdC4KCjIwMTItMDctMjkgMDA6MDQ6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIFJldmVydCAiY2FtZXJhYmluOiB1cGRhdGUgdG8gbmV3IHRhZyBldmVudCBjcmVhdGlvbiBBUEkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNWQ4OTBiM2M5MjcxNGUxZjM3MTYzMjkwYzMyOTExYmNkNzgxOGE1Ny4KCSAgVGhlIG5ldyBBUEkgaXMgdGhlIG9sZCBBUEkuCgoyMDEyLTA3LTI4IDE4OjA0OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogRml4IHJlZmVyZW5jZXMgdG8gYXZvaWQgZWxlbWVudCBsZWFraW5nCgkgIFNvbWUgcGFkIHByb2JlcyBhcmUgbmV2ZXIgZ29pbmcgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBwYWRzLCBzbwoJICB3ZSBzaG91bGRuJ3Qga2VlcCBhIGNhbWVyYWJpbiByZWZlcmVuY2Ugd2l0aCB0aGVtIG9yIGNhbWVyYWJpbiB3aWxsCgkgIG5ldmVyIGdldCByZWxlYXNlZAoKMjAxMi0wNy0yOCAxNToxNzoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSB0byBuZXcgdGFnIGV2ZW50IGNyZWF0aW9uIEFQSQoKMjAxMi0wNy0yOCAxMjowOTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IHJlbW92ZSBhc3NlcnRpb24gb24gbnVsbCBwcm9wZXJ0eQoJICBDaGVjayBpZiB0aGUgZmxhZ3MgYXJlIG5vdCBudWxsIGJlZm9yZSB0cnlpbmcgdG8gc2V0IHRoZW0gdG8KCSAgY2FtZXJhYmluIHRvIGF2b2lkIGFuIGFzc2VydGlvbgoKMjAxMi0wNy0yOCAwMDozMjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB0YWc6IFVwZGF0ZSBmb3IgdGFnbGlzdC90YWcgZXZlbnQgQVBJIGNoYW5nZXMKCjIwMTItMDctMjcgMTM6MjI6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBwcm9jZXNzIEFUVEFDSE1FTlQgdGFnIGFzIHNhbXBsZQoKMjAxMi0wNy0yNSAxNjowNToxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICBmYWFjLCB2b2FhY2VuYzogYWRqdXN0IHRvIG1vZGlmaWVkIGF1ZGlvZW5jb2RlciBnZXRjYXBzIGhlbHBlciBBUEkKCjIwMTItMDctMjQgMTI6Mjg6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBmaXhhdGUgY2FwcwoKMjAxMi0wNy0yNCAxMDo0NjozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMub3JjOgoJICBndWFkaTogcHJlZml4IG9yYyBmdW5jdGlvbnMgd2l0aCBnYXVkaV9vcmNfCgoyMDEyLTA3LTI0IDEwOjQ0OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMub3JjOgoJICBmaWVsZGFuYWx5c2lzOiBwcmVmaXggb3JjIGZ1bmN0aW9ucwoKMjAxMi0wNy0yNCAxMDozMjo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuaDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLm9yYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGJheWVyOiBwcmVmaXggb3JjIGZ1bmN0aW9ucyB3aXRoIGJheWVyX29yYwoJICBBZGQgYmF5ZXIgb3JjIHRvIHRoZSB1bml0IHRlc3QKCjIwMTItMDctMjQgMTA6MzI6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB0ZXN0czogZml4IHZpc3VhbGl6ZXIgY29tcGlsYXRpb24KCjIwMTItMDctMjMgMTE6MzY6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm86IEFkZCBzdXBwb3J0IGZvciB2aWRlbyBtZXRhZGF0YSBhbmQgYXJiaXRyYXJ5IHN0cmlkZXMKCjIwMTItMDctMjMgMTA6NTQ6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm86IE1hcCByYXcgdmlkZW8gYnVmZmVycyB3aXRoIHRoZSBjb3JyZWN0IHJlYWQvd3JpdGUgZmxhZ3MKCjIwMTItMDctMjMgMTA6MzU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBleHQ6IFVwZGF0ZSBmb3IgdmlkZW8gYmFzZSBjbGFzc2VzIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTIzIDA4OjQ1OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOThlMzg2ZiB0byA5NGNjZjRjCgoyMDEyLTA3LTIxIDE5OjU5OjIxICswMjAwICBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaXggbWVtb3J5IGxlYWsKCSAgdW5yZWYgZnJhbWUuIGkgaG9wZSBpdCBpcyBjb3JyZWN0IHBsYWNlIHRvIGRvIGl0LgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wNy0yMCAyMzoyODo0OSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBVc2UgYnVmZmVyIGZsYWdzIGFuZCBjYXBzIGNvcnJlY3RseQoJICBUaGlzIHJlcXVpcmVzIGEgcmVjZW50IGNvbW1pdCB0byAtYmFzZSB0aGF0IGFkZHMgYW4gSU5URVJMQUNFRCBidWZmZXIKCSAgZmxhZy4KCjIwMTItMDctMjAgMTY6NDM6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBvbmx5IGRpc2NhcmQgZnJhbWUgb25jZSB1cG9uIGRlY29kaW5nIGVycm9yCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk4ODYKCjIwMTItMDctMTkgMTY6MTA6NDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSAgc3BlY3RyYXNjb3BlOiBmYWJzLT5zcXJ0IHRvIGNhbGN1bGF0ZSB0aGUgbWFnbml0dWRlCgoyMDEyLTA3LTE4IDA5OjE5OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGFsc28gYWN0aXZhdGUgaW4gcHVzaCBtb2RlIGlmIHRoZSBzY2hlZHVsaW5nIHF1ZXJ5IGZhaWxlZAoJICBJbiBjYXNlIHBhZHMgYXJlIHVubGlua2VkIHNvbWV3aGVyZS4KCjIwMTItMDctMTggMDg6NDE6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZpeCBwdXNoIG1vZGUgYWN0aXZhdGlvbgoJICBFeHRyYSB1bnJlZiBvbiBwdXNoIG1vZGUgYWN0aXZhdGlvbiBjYXVzZWQgaGF2b2MuCgoyMDEyLTA3LTE2IDAwOjA1OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBleHRyYWN0IHllYXIgYXMgR3N0RGF0ZVRpbWUgaW5zdGVhZCBvZiBHRGF0ZQoKMjAxMi0wNy0xNyAxODowNToyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IG5vIG5lZWQgdG8gbWFrZSBidWZmZXIgd3JpdGFibGUgdHdpY2UKCjIwMTItMDctMTcgMTg6MDU6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBwbHVnIHNvbWUgcmVmIGxlYWtzCgoyMDEyLTA3LTE3IDE0OjAyOjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogYWRqdXN0IHRvIG1vZGlmaWVkIHZpZGVvIG92ZXJsYXkgY29tcG9zaXRpb24gQVBJCgoyMDEyLTA3LTE3IDE2OjM5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHVwZGF0ZSBmb3IgUlRQIGJ1ZmZlciBhcGkgY2hhbmdlcwoKMjAxMi0wNy0xNiAyMjowMjo0NCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkgIGF1ZGlvdmlzdWFsaXplcjogc2hvcnRlbiBiYXNlIGNsYXNzIG5hbWUKCSAgQXMgc3VnZ2VzdGVkIG9uIElSQyByZW5hbWUgdG8gQXVkaW9WaXN1YWxpemVyLiBXZSB1c2UgY3VzdG9tIHN1ZmZpeCBvbiB0aGUgdHlwZQoJICB0byBhdm9pZCBjbGFzaGluZyB3aXRoIG90aGVyIGNvcGllcyBmb3IgdGhlIHRpbWUgYmVpbmcuCgoyMDEyLTA3LTE1IDEyOjI3OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBjZWx0LCBvcGVuY3YsIHdheWxhbmQsIGR2YnN1YiwgZmVzdGl2YWwsIGhsczogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAxMi0wNy0xNCAxNTo1MTowOCArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSAgd2F5bGFuZDogZG9uJ3QgbGluayB0byBnc3RpbnRlcmZhY2VzLCB3aGljaCBkb2Vzbid0IGV4aXN0IGFueSBtb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk5MjkKCjIwMTItMDYtMzAgMDA6MjI6NDAgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJICBvcGVuY3Y6IHBvcnQgdG8gMC4xMQoJICBCYXNpYyBwb3J0IHRvIDAuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5MTY0CgoyMDEyLTA3LTEzIDEyOjMyOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBhZGFwdGl2ZWx5IGJsZW5kIG9yIGF0dGFjaCB2aWRlbyBvdmVybGF5IGNvbXBvc2l0aW9uCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jCgoyMDEyLTA3LTEzIDEyOjI3OjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiB1c2UgdmlkZW8gb3ZlcmxheSBjb21wb3NpdGlvbiBoZWxwZXIKCSAgLi4uIHJhdGhlciB0aGFuIGN1c3RvbSBob21lLW1hZGUgYmxlbmRpbmcuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jCgoyMDEyLTA3LTEyIDEwOjEzOjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IG1vcmUgY29ycmVjdGx5IGRldGVybWluZSBleHBlY3RlZCBQRVMgcGFja2V0IHBheWxvYWQgc2l6ZQoJICAuLi4gcGFydGljdWxhcmx5IGNvbnNpZGVyaW5nIHRoYXQgcGFja2V0X2xlbmd0aCA9PSAwIGlzIHBvc3NpYmxlLgoKMjAxMi0wNy0xMSAyMzoxNzoxOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBwaXRjaDogcmVnaXN0ZXIgYXMgZWZmZWN0CgoyMDEyLTA3LTExIDIwOjM0OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGNvcnJlY3RseSBkZXRlcm1pbmUgZXhwZWN0ZWQgUEVTIHBhY2tldCBwYXlsb2FkIHNpemUKCSAgQXZvaWRzIGNvbnNpc3RlbnRseSBmYWlsaW5nIHRvIGRldGVjdCB0aGF0IGEgcGFja2V0IGlzIGNvbXBsZXRlLCB3aGljaAoJICB3b3VsZCB0aGVuIG9ubHkgYmUgcHVzaGVkIHVwb24gdGhlIHN0YXJ0IG9mIGEgbmV4dCBwYWNrZXQsIHdoaWNoIGxlYWRzCgkgIHRvIHF1aXRlIGEgZGVsYXkgaW4gY2FzZSBvZiBhIHNwYXJzZSAoc3VidGl0bGUpIHN0cmVhbS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjY3NAoKMjAxMi0wNy0xMCAxNzo1ODoyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGVuc3VyZSBtaW5pbXVtIHBhZ2UgdGltZSBvdXQgb2YgMSBzZWNvbmQKCSAgLi4uIHRvIGNvbXBlbnNhdGUgZm9yIHNvbWUgYm9ndXMgc3VidGl0bGUgd2l0aCBhIDAgdGltZW91dCwgd2hpY2ggd291bGQKCSAgcmVzdWx0IGluIG9ubHkgYmVpbmcgc2hvd24gZm9yIGEgdmVyeSB1bnJlYWRhYmxlIGFtb3VudCBvZiB0aW1lLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjY3NAoKMjAxMi0wNy0xMSAxNDoyNzo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIHRlc3RzOiBmaXggYnVpbGQgb2YgcGl0Y2gtdGVzdAoJICBEb2VzIG5vdCBzb3VuZCBsaWtlIHRoZSBzYW1lIHRlc3QgaW4gMC4xMCB0aG91Z2guLgoKMjAxMi0wNy0xMSAxMzo1OToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCBjb21waWxlciB3YXJuaW5ncwoJICBnc3RkdmJzdWJvdmVybGF5LmM6NzcyOjE1OiBlcnJvcjogcG9pbnRlciB0YXJnZXRzIGluIHBhc3NpbmcgYXJndW1lbnQgNSBvZiAnZ3N0X3NlZ21lbnRfY2xpcCcgZGlmZmVyIGluIHNpZ25lZG5lc3MKCSAgL2hvbWUvdHBtL2dzdC8wLjExL2dzdHJlYW1lci9nc3QvZ3N0c2VnbWVudC5oOjE5MjoxNDogbm90ZTogZXhwZWN0ZWQgJ2d1aW50NjQgKicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ2dpbnQ2NCAqJwoJICBnc3RkdmJzdWJvdmVybGF5LmM6NzcyOjE1OiBlcnJvcjogcG9pbnRlciB0YXJnZXRzIGluIHBhc3NpbmcgYXJndW1lbnQgNiBvZiAnZ3N0X3NlZ21lbnRfY2xpcCcgZGlmZmVyIGluIHNpZ25lZG5lc3MKCjIwMTItMDctMTEgMTM6NDk6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXh1cCBlbmQtb2YtZGlzcGxheS1zZXQgZm9yY2luZwoJICBDb25mbGljdHM6CgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoKMjAxMi0wNy0xMSAxMzo0ODozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGVuc3VyZSB2YWxpZCBzdWJ0aXRsZSBydW5uaW5nIHRpbWUgYnkgcHJvcGVyIGNsaXBwaW5nCgkgIEluIHBhcnRpY3VsYXIsIHBhc3MgYnVmZmVyIHRpbWVzdGFtcCAocHRzKSB0byBkdmJfc3ViLCBhbmQgdGhlbiBjbGlwCgkgIGFuZCBjb252ZXJ0IHRvIHJ1bm5pbmcgdGltZSB3aGVuIHRoZSBkdXJhdGlvbiAodGltZW91dCkgaXMga25vd24gYWZ0ZXIKCSAgZGVjb2RpbmcgaXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAyMzMKCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmMKCjIwMTItMDctMTEgMTM6NDU6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogcHJvcGVybHkgZm9yY2UgZW5kLW9mLWRpc3BsYXktc2V0CgkgIC4uLiB3aGljaCBpcyB1cG9uIHJlY2VpdmluZyBuZXcgZGF0YSB3aXRoIGRpZmZlcmVudCBQVFMgc3BlYy13aXNlLAoJICBvciBvcHRpb25hbGx5IHVwb24gZWFjaCBwYWNrZXQgb2Ygc3VidGl0bGUgZGF0YSBpZiBkZXNpcmVkIGJ5IHByb3BlcnR5LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5MzEwCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jCgoyMDExLTEyLTIxIDEzOjAwOjI3ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEhhbmRsZSBub25fbW9kaWZ5aW5nX2NvbG91cl9mbGFnIGNvcnJlY3RseSBpbiB0aGUgUkxFIGhhbmRsZXJzCgkgIFRoZSBjaGVjayBmb3Igd2hlbiB0byBub3QgbWVtc2V0IHdhcyBjaGVja2luZyBvbiBhbiB1bmRldGVybWluaXN0aWMgJ2JpdHMnIHZhcmlhYmxlIHZhbHVlLAoJICB3aGljaCBpcyBvbmx5IG1lYW50IHRvIGJlIHVzZWQgaW5zaWRlIHRoZSBsb29wIGVhcmxpZXIgd2hlbiBpdCBpcyBzdXBwb3NlZCB0byBjaGVjayBpZgoJICBjbHV0X2luZGV4IGlzIDEgdG9nZXRoZXIgd2l0aCBub25fbW9kIHNldCwgYXMgcGVyIHNwZWM6CgkgICJub25fbW9kaWZ5aW5nX2NvbG91cl9mbGFnOiAgSWYgc2V0IHRvICcxJyB0aGlzIGluZGljYXRlcyB0aGF0IHRoZSBDTFVUIGVudHJ5IHZhbHVlICcxJwoJICBpcyBhIG5vbiBtb2RpZnlpbmcgY29sb3VyLiBXaGVuIHRoZSBub24gbW9kaWZ5aW5nIGNvbG91ciBpcyBhc3NpZ25lZCB0byBhbiBvYmplY3QgcGl4ZWwsCgkgIHRoZW4gdGhlIHBpeGVsIG9mIHRoZSB1bmRlcmx5aW5nIHJlZ2lvbiBiYWNrZ3JvdW5kIG9yIG9iamVjdCBzaGFsbCBub3QgYmUgbW9kaWZpZWQuIFRoaXMKCSAgY2FuIGJlIHVzZWQgdG8gY3JlYXRlICJ0cmFuc3BhcmVudCBob2xlcyIgaW4gb2JqZWN0cy4iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjYzNTIKCjIwMTAtMTAtMTMgMTA6NTU6MTcgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiB1cGRhdGUgZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyNDgyCgoyMDEwLTEwLTE0IDEwOjQ5OjU1ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogQWRkIG1hbnVhbCBjb250cm9sIG9mIGV4cG9zdXJlLCBmb2N1cyBhbmQgd2hpdGUgYmFsYW5jZQoJICBBZGQgbmV3IGludGVyZmFjZSBwcm9wZXJ0aWVzIGFuZCBtb2RlIGZvciBiZXR0ZXIgbWFudWFsIGNvbnRyb2wgb2YKCSAgZXhwb3N1cmUsIGZvY3VzIGFuZCB3aGl0ZSBiYWxhbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyNDgyCgoyMDEwLTEwLTA4IDExOjMzOjMxICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHBob3RvZ3JhcGh5OiBBZGQgR3N0UGhvdG9ncmFwaHkgcHJlZml4IGFuZCBmaXggc3BlbGxpbmcgY29sb3VyLT5jb2xvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyNDgyCgoyMDEyLTA3LTEwIDIzOjI3OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtaW5vciBoZWFkZXIgaW5kZW50YXRpb24gY2xlYW4tdXAgZm9yIG1wZWd2aWRlb3BhcnNlcgoKMjAxMi0wNy0xMCAxNzo0NzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogcG9ydCB0byAwLjExCgoyMDEyLTA3LTEwIDEyOjEwOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiB1bm1hcCBpbnB1dCBidWZmZXIKCjIwMTItMDctMDQgMTA6MTQ6MzUgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgcG9ydCBmZXN0aXZhbCB0byAwLjExCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzkzNzMKCjIwMTItMDctMTAgMTE6MTQ6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBmaXggc29tZSBwYWQgdGVtcGxhdGUtcmVsYXRlZCBjcml0aWNhbHMgaW4gY2FtZXJhYmluIHRlc3QKCjIwMTItMDctMTAgMDA6NTk6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IGNvcHkgaW50byBwcm92aWRlZCBidWZmZXIgaWYgYSBidWZmZXIgaXMgcHJvdmlkZWQKCjIwMTItMDctMDkgMjI6MDg6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy96YmFyLmM6CgkgIHRlc3RzOiBmaXggemJhciB0ZXN0CgoyMDEyLTA3LTA5IDEyOjIyOjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogdXBkYXRlIGZvciByaWZmIGZpZWxkIHJlbmFtZQoKMjAxMi0wNy0wOCAxOToyMzozMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiB1cGRhdGUgYmFzZWNsYXNzIGZyb20gbGlidmlzdWFsIHBvcnRpbmcKCjIwMTItMDctMDggMDA6MDg6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IHBhc3MgdW5oYW5kbGVkIG5vbi1jdXN0b20gZXZlbnRzIHRvIHRoZSBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2MjYKCjIwMTItMDctMDYgMTQ6NTM6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiByZW1vdmUgZGVwcmVjYXRlZCAiaXMtbGl2ZSIgcHJvcGVydHkKCSAgVXNlIHRoZSAic3RyZWFtYWJsZSIgcHJvcGVydHkgaW5zdGVhZC4KCjIwMTItMDctMDYgMTE6NTA6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkgIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MjY6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB1cGRhdGUgZm9yIHF1ZXJ5IGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTA2IDExOjAzOjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdXBkYXRlIGZvciBhbGxvY2F0aW9uIHF1ZXJ5IGNoYW5nZXMKCjIwMTItMDctMDQgMTE6Mzg6NTEgKzAyMDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htc3JjOiBtZW1vcnkgY29ycnVwdGlvbiB3aGVuIGEgY2xpZW50IGRpc2Nvbm5lY3RzIChmaXhlcyAjNjc5Mzg1KQoKMjAxMi0wNy0wNSAxMzoxODo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIGdzdDogSW1wbGVtZW50IHNlZ21lbnQtZG9uZSBldmVudAoKMjAxMi0wNy0wMyAxMjo1Nzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IENoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MnIGZpbmFsaXplIGltcGxlbWVudGF0aW9uCgoyMDEyLTA3LTAyIDE3OjU1OjM3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkgIGRlY2tsaW5rc2luazogQmV0dGVyIGhhbmRsaW5nIG9mIGF1ZGlvIG91dHB1dAoJICBDb25mbGljdHM6CgkgIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwCgoyMDEyLTA3LTAyIDE3OjUyOjE1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGlua3NyYzogU2VuZCBuZXdzZWdtZW50IGV2ZW50cwoKMjAxMi0wNy0wMiAxNzo1MToxOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBNYXJrIGVsZW1lbnQgYXMgc2luayBlbGVtZW50CgoyMDEyLTA3LTAyIDE3OjQ5OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiB1c2UgR09uY2UgaW4gdHlwZSByZWdpc3RyYXRpb24KCjIwMTItMDctMDIgMTc6MzI6MTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyOiBJbmNyZWFzZSB0aGUgaW50ZXIgYXVkaW8gc3VyZmFjZSBidWZmZXJpbmcKCjIwMTItMDctMDIgMTI6MDQ6MTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkgIGludGVyYXVkaW9zaW5rOiByZWVuYWJsZSBjaGFubmVsIHByb3BlcnR5CgoyMDEyLTA3LTAyIDEyOjAzOjQ0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW9zcmM6IFNldCBmb3JtYXQgdG8gdGltZQoKMjAxMi0wNi0yOSAxMjowMzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHN5czogbWFrZSB2aWRlbyBzaW5rcyBkZWZhdWx0IHRvIGZvcmNlLWFzcGVjdC1yYXRpbz10cnVlCgoyMDEyLTA2LTI4IDE4OjA0OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNiYXNlOiBNb3ZlIGtub3duIFBTSSBQSURzIHRvIHdoZXJlIHRoZXkgYmVsb25nCgkgIFRoaXMgYXZvaWRzIHRzZGVtdXggcGFyc2luZyBkYXRhIGlzIGRvZXNuJ3QgcmVhbGx5IGNhcmUgYWJvdXQKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYwoKMjAxMi0wNi0wMiAwODowNTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEFkZCBtb3JlIGtub3duIGRlZmF1bHQgU0kgUElEcwoKMjAxMi0wNi0yOCAxNzo0MDoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggQUFDIExBVE0gY2FwcwoKMjAxMi0wNi0yMiAxNjo0Nzo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogYWRkIGJhc2ljIG91dHB1dCB1bml0IHRlc3QgdmVyaWZpY2F0aW9uCgoyMDEyLTA2LTIyIDE3OjUxOjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBhcHBseSBzb21lIG1vcmUgQ0xPQ0tfQkFTRSB0byBlbnN1cmUgc2xhY2sgZm9yIFBDUiBvZmZzZXQKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmMKCjIwMTItMDYtMjcgMTE6MjM6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBmaXggeC13bXYgZm9ybWF0IHN0cmluZwoKMjAxMi0wNi0yNiAxNjozMzo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDYtMjUgMTY6MTg6NDEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IHJlbGVhc2UgdGhlIG9mZnNjcmVlbiBzdXJmYWNlIGJlZm9yZSB0aGUgZDNkIGRldmljZQoJICBUaGUgb2Zmc2NyZWVuIHN1cmZhY2Uga2VlcHMgYSByZWZlcmVuY2Ugb24gdGhlIGQzZCBkZXZpY2UsIHNvIGlmIHRoZQoJICBkZXZpY2UgaXMgcmVsZWFzZWQgZmlyc3Qgd2UgZG9uJ3Qgc2VlIHRoZSByZWZlcmVuY2UgY291bnQgZGVidWcgbWVzc2FnZQoJICBnb2luZyB0byAwIGFzIGl0IHNob3VsZCBiZS4KCjIwMTItMDYtMTkgMjA6MTY6NDAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGNsZWFuIHVwIGVsZW1lbnQKCSAgUmVtb3ZlIG9sZCBjb21tZW50ZWQgY29kZSBhbmQgdW5lZWRlZCBleHRyYSBpbmRlbnRhdGlvbgoKMjAxMi0wNi0xOSAyMDowMzowMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogcmV3b3JrIGxvY2tpbmcgZm9yIGRldmljZXMgbG9zdAoKMjAxMi0wNi0xOSAyMDoxOToyNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogcmVsZWFzZSBhbmQgcmVjcmVhdGUgdGhlIGRldmljZSBpbiBwcmVwYXJlX3dpbmRvdwoKMjAxMi0wNi0yNCAyMToxMTozOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJICBzcGVjdHJhc2NvcGU6IGF2b2lkIGRhcmsgcGl4ZWxzIGluIGZhZGUtYW5kLW1vdmUtdXAgbW9kZQoKMjAxMi0wNi0yNCAyMDo1NDoyNCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBmaXggaW5wdXQgYnVmZmVyIGhhbmRsaW5nCgkgIFVzZSBfcmVwbGFjZSBpbnN0ZWFkIG9mIF9hcHBlbmQgdG8gZml4IGdyb3dpbmcgYnVmZmVycy4KCjIwMTItMDYtMjMgMTU6MDI6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBobHMsIHNkcDogdXBkYXRlIGZvciBnc3RfZWxlbWVudF9tYWtlX2Zyb21fdXJpKCkgY2hhbmdlcwoKMjAxMi0wNi0yMSAxMjoxNzowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9SRUFETUU6CgkgIHN5czogcmVtb3ZlIGxlZnQtb3ZlciB2NGwyIGRpciB3aGljaCBoYXMgbW92ZWQgdG8gZ29vZAoJICBsZXQncyBub3Qga2VlcCBhIFJFQURNRSBhcm91bmQgdG8gYW5ub3VuY2UgaXQncyBtb3ZlZCB0byAtZ29vZCwKCSAgdGhhdCdzIGp1c3QgY2x1dHRlci4KCjIwMTItMDYtMjEgMTE6NDM6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlYWxseSBhbHdheXMgZGVmaW5lIERFQ0tMSU5LX09TWCBjb25kaXRpb25hbAoKMjAxMS0wNy0xMyAxOToyNTowOCArMDEwMCAgVG9ueSBIb3VnaHRvbiA8aEByZWFsaC5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBDb3JyZWN0IHNhdGVsbGl0ZSBkZWxpdmVyeSBkZXNjcmlwdG9yIHBhcnNpbmcuCgkgIE9yaWdpbmFsIGNvZGUgdG8gcGFyc2Ugc2F0ZWxsaXRlIGRlbGl2ZXJ5IGRlc2NyaXB0b3JzIHRvIGdlbmVyYXRlCgkgICJzYXRlbGxpdGUiIHN0cnVjdHVyZXMgYXBwZWFyZWQgdG8gYmUgY29weSAmIHBhc3RlZCBmcm9tIGNhYmxlJ3MgY29kZQoJICB3aXRob3V0IGFtZW5kaW5nIGZvciBzYXRlbGxpdGUuCgkgIEFsc28gYWRkZWQgOFBTSyB0byBkdmJzcmMncyBlbnVtIGZvciBtb2R1bGF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NDg1CgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jCgoyMDEyLTA2LTIwIDE4OjE0OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgdHNwYXJzZTogUmV3b3JrIGhhbmRsaW5nIGFuZCBjbGVhbnVwcwoJICB0c3BhZCBhbHdheXMgaGFzIGEgc3RhdGljIHNvdXJjZSBwYWQgd2hpY2ggb3V0cHV0IGV2ZXJ5dGhpbmcgcmVjZWl2ZWQKCSAgKG5vdCBmdW5jdGlvbmFsIHlldCkuCgkgIFByb2dyYW0gcGFkcyBhcmUgbm93IHJlcXVlc3QgcGFkcy4KCSAgUmVtb3ZlIGFsbCBjcnVmdCB0aGF0IHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBzd2l0Y2ggb3ZlcgoJICB0byBtcGVndHNiYXNlLgoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jCgoyMDEyLTA2LTIwIDE4OjEwOjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogQWx3YXlzIHNlbmQgRU9TCgkgIHN1YmNsYXNzIHdpbGwgdGFrZSBjYXJlIG9mIGhhbmRsaW5nIGl0IG1vcmUgaWYgbmVlZGVkCgoyMDEyLTA2LTIwIDE3OjUyOjEzIC0wNTAwICBNaWtlIFJ1cHJlY2h0IDxtaWtlLnJ1cHJlY2h0QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogRml4IGVsZW1lbnQgbG9zaW5nIGRhdGEgYXQgdGhlIGVuZCBvZiBidWZmZXJzCgkgIHJ0bXBzcmMgb3V0cHV0cyB0cnVuY2F0ZWQgYnVmZmVycyBiZWNhdXNlLCB3aGVuIGVub3VnaCBkYXRhIGlzCgkgIHJlYWQgdG8gZmlsbCB0aGUgYnVmZmVyLCB0aGUgYW1vdW50IHJlYWQgdGhhdCB0aW1lICh0b2RvKSBpcyBzZXQKCSAgdG8gemVybyBiZWZvcmUgaXQncyBhZGRlZCB0byB0aGUgY3VtdWxhdGl2ZSBidWZmZXIgc2l6ZSAoYnNpemUpLgoJICBUaGUgYnVmZmVyIGlzIHRoZW4gdHJ1bmNhdGVkIHRvIGJzaXplIHJlc3VsdGluZyBpbiBsb3N0IGRhdGEuCgkgIFRoaXMgcGF0Y2ggYWRkcyB0b2RvIHRvIGJzaXplIGJlZm9yZSBzZXR0aW5nIHRvZG8gdG8gemVyby4KCSAgRml4ZXMgIzY3ODUwOQoKMjAxMi0wNi0yMCAxMTowMjowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgdGltaWRpdHk6IEZpeCBmbGFnIGNoZWNraW5nCgoyMDEyLTA2LTIwIDEwOjU5OjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dDogI2lmMCBjb2RlIHRoYXQgbmV2ZXIgaGFwcGVucwoJICBUaGUgb25seSBwbGFjZSB0aGlzIG1ldGhvZCBpcyBjYWxsZWQgaXMgd2l0aCBsb2ZwIGJlaW5nIGEgZ3VpbnQ4IChmcm9tCgkgIGEgZGF0YSBibG9jaykuCgoyMDEyLTA2LTIwIDEwOjU4OjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogVXNlIHByb3BlciB2YXJpYWJsZSB0eXBlCgoyMDEyLTA2LTIwIDEyOjMxOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5jOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgdXBkYXRlIGZvciBidXMgYXBpIGNoYW5nZXMKCjIwMTItMDYtMjAgMTI6MTk6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IHBvcnQgdGVzdCB0byAwLjExCgoyMDEyLTA2LTIwIDEyOjE3OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHZhbHVlIGhhbmRsaW5nIGluIHBhZCBpdGVyYXRpb24KCjIwMTItMDYtMjAgMTA6MzQ6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJICB1cGRhdGUgZm9yIHRhc2sgYXBpIGNoYW5nZQoKMjAxMi0wNi0xOSAyMjo0NToyNyAtMDQwMCAgTWF0ZWogS25vcHAgPE1hdGVqQG5ldy1ob3N0LTUuaG9tZT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgxMzAKCjIwMTItMDYtMTkgMTA6MzU6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YjogRGV0ZWN0IG1vcmUgaXNzdWVzIHdpdGggY29uZmlndXJhdGlvbiBmaWxlCgkgIFJlcG9ydCB1c2VmdWwgZXJyb3JzIHdoZW46CgkgICogZmlsZSBpcyBwcmVzZW50IGJ1dCBlbXB0eQoJICAqIHJlcXVlc3RlZCBjaGFubmVsIGlzIG5vdCBwcmVzZW50CgoyMDEyLTA2LTE5IDEwOjIyOjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmg6CgkgIGR2YmJhc2ViaW46IEVtaXQgYW4gZXJyb3Igd2hlbiB3ZSBmYWlsIHJlYWRpbmcgdGhlIGNoYW5uZWxzIGZpbGUKCSAgQ29uZmxpY3RzOgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYwoKMjAxMS0wMi0wMSAxMDoyMzowNCAtMDgwMCAgRmFicml6aW8gKE1pc3RvKSBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBzcGVsbC1jaGVjawoKMjAxMS0wMS0xNCAxOTozMDowOCAtMDgwMCAgRmFicml6aW8gKE1pc3RvKSBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZiOiBiZXR0ZXIgZHZzcmMgcG9sYXJpdHkgaW5mbwoKMjAxMi0wNi0xOCAxMTozNjoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHQ6IEZpeCBpbml0aWFsaXphdGlvbgoJICBXZSBhbHdheXMgZW5kZWQgdXAgZXJyb3Jpbmcgb24gdGhlIGZpcnN0IHBhZ2Ugb3RoZXJ3aXNlCgkgIENvbmZsaWN0czoKCSAgZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmMKCjIwMTItMDYtMTAgMTE6MzY6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRG9uJ3QgdXNlIEdCeXRlQXJyYXkKCSAgVXNpbmcgYSBzaW1wbGUgYXJyYXkgY29tZXMgdG8gdGhlIHNhbWUgcmVzdWx0IGZvciBhIGZyYWN0aW9uIG9mIHRoZSBjb3N0CgoyMDEyLTA2LTEwIDExOjIxOjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogQXZvaWQgY29weWluZyBHc3RTdHJ1Y3R1cmUKCjIwMTItMDYtMDggMTU6MTI6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVnZGVzYzogRG9uJ3QgYWxsb2NhdGUvZnJlZSBHc3RNUEVHRGVzY3JpcHRvcgoJICBKdXN0IHVzZSBzdGF0aWMgdmFyaWFibGVzCgoyMDEyLTA2LTE2IDE2OjQ5OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvcGx1Z2luLmM6CgkgIG1wZWdkZW11eDogcmVuYW1lIHBsdWdpbiB0byBtcGVncHNkZW11eAoKMjAxMi0wNi0xNiAxNjozMDoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgbXBlZ2RlbXV4OiByZW1vdmUgdW51c2VkIFRTIGRlbXV4ZXIgYml0cyB0aGF0IGhhdmUgbW92ZWQgdG8gdHNkZW11eAoKMjAxMi0wNi0xNiAxOToyMDoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHJlbW92ZSBvYnNvbGV0ZSBzdHJ1Y3QgZmllbGQKCjIwMTItMDYtMTYgMTY6NTA6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfdHR4dC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF90dHh0Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IGFkZCBzdXBwb3J0IGZvciBEVkIgc3VidGl0bGUgYW5kIHRlbGV0ZXh0IHN0cmVhbXMKCSAgU2VlIGJ1ZyAjNjczNTgyLgoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW0KCjIwMTItMDYtMTYgMTY6NTA6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogb3B0aW9uYWxseSB1c2UgZml4ZWQtc2l6ZSBQRVMgaGVhZGVyCgoyMDEyLTA2LTE2IDE2OjUwOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBvbmx5IHdyaXRlIFBUUyBhbmQgRFRTIGlmIGRpZmZlcmVudAoKMjAxMi0wNi0xNiAxNjo1MDozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBvcHRpb25hbGx5IHNldCBkYXRhX2FsaWdubWVudCBmbGFnIGluIFBFUyBoZWFkZXIKCjIwMTItMDYtMTYgMTY6NTA6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IHJlLWVuYWJsZSBpbmFkdmVydGVudCBkaXNhYmxlZCBjb2RlCgoyMDEyLTA2LTE2IDE2OjQ0OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBhZGp1c3QgYWdhaW4gdG8gbW9kaWZpZWQgYnVmZmVyIGNvbGxlY3QgYmVoYXZpb3VyCgkgIC4uLiBieSBlZmZlY3RpdmVseSByZXZlcnRpbmcgcHJldmlvdXMgYWRqdXN0bWVudC4KCjIwMTItMDYtMTYgMTY6NDk6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiB1c2UgZGVmYXVsdCBDb2xsZWN0UGFkcyBjb2xsZWN0IGhldXJpc3RpYwoJICAuLi4gd2l0aCBhbiBhcHByb3ByaWF0ZWx5IGN1c3RvbSBidWZmZXIgY2xpcCBmdW5jdGlvbiB0byBhcnJhbmdlIGZvcgoJICBidWZmZXIgcHJvY2Vzc2luZy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmgKCjIwMTItMDYtMTYgMTU6NTQ6NDkgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJICBtcGVndHNtdXg6IEZpeCBjb21waWxlciB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MjExCgoyMDEyLTA2LTE2IDE5OjE3OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHBvcnRlZCBzZWdtZW50IGluaXQKCjIwMTItMDYtMTQgMTQ6NDk6NTUgLTA3MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuaDoKCSogZ3N0L21wZWd0c211eC90c211eC9jcmMuaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBtcGVndHNtdXg6IHBvcnQgdG8gMC4xMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MTMwCgoyMDEyLTA2LTE1IDEzOjAwOjM3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBkb24ndCByZWNyZWF0ZSB0aGUgZDNkIGRldmljZSBpZiBpdCBhbHJlYWR5IGV4aXN0cwoKMjAxMi0wNi0xNSAxMTo0MToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2phc3Blci9NYWtlZmlsZS5hbToKCSogZXh0L2phc3Blci9nc3RqYXNwZXIuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuaDoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuaDoKCSogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuaDoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5oOgoJKiBleHQvanAyay9nc3RqcDJrLmM6CgkgIGphc3BlcjogUmVuYW1lIGZyb20ganAyayB0byBqYXNwZXIKCSAgSmFzcGVyIGlzIG5vdCB0aGUgb25seSBKUEVHMjAwMCBsaWJyYXJ5IG91dCB0aGVyZSBhbmQgd2UKCSAgbWlnaHQgd2FudCB0byBhZGQgZW5jb2RlcnMvZGVjb2RlcnMgYmFzZWQgb24gT3BlbkpQRUcgZm9yIGV4YW1wbGUuCgoyMDEyLTA2LTE1IDEwOjMyOjM5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogYWRkIG1pc3NpbmcgbXV0ZXggdW5sb2NrIG9uIGVycm9yIHBhdGgKCjIwMTItMDYtMTUgMTA6MjQ6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1czogc2V0IGF1dGhvciB0byBteXNlbGYsIGFuZCB1cGRhdGUgY29weXJpZ2h0IG5vdGljZXMKCSAgYmVjYXVzZSBhcyBzbG9tbyBub3RlZCwgaW4gZmFjdCBwcmV0dHkgbXVjaCBhbGwgdGhlIGNvZGUgaW4gdGhlcmUgaXMgbWluZS4KCjIwMTItMDYtMTUgMDA6NTg6NDMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGRvbid0IGNyZWF0ZSBuZXcgaW50ZXJuYWwgd2luZG93cyBpZiB3ZSBhbHJlYWR5IGhhdmUgb25lCgoyMDEyLTA2LTA4IDIzOjAxOjI2ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIHJmYnNyYzogRml4IGNvbXBpbGluZyBpbiBXaW5kb3dzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc3MjQKCjIwMTItMDYtMTEgMTM6MTA6NDMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICByZXNpbmR2ZDogcmVuYW1lIHRoZSBsaWIgZnJvbSBsaWJyZXNpbmR2ZCB0byBsaWJnc3RyZXNpbmR2ZAoJICBGb3IgY29uc2lzdGVuY3kuCgoyMDEyLTA2LTA3IDE1OjA2OjM0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogZ3VhcmQgYWdhaW5zdCBub3QgZmluZGluZyBzb21lIGRhdGEgb24gYSBEVkQKCSAgTWF5IHBvc3NpYmx5IGhlbHAgd2l0aCBhIHBhcnRpY3VsYXIgRFZELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczMTE4CgoyMDEyLTA2LTE0IDAyOjQ3OjEwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJICBjdXJsZmlsZXNpbms6IFJlbW92ZSBzdHJheSBkZWJ1ZyBwcmludHMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODA2MAoKMjAxMi0wNi0xMiAyMTozNToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgbGNzOiByZW1vdmUgb2xkIExDUyBjb2xvcnNwYWNlIGNvbnZlcnNpb24gcGx1Z2luCgkgIFdhc24ndCBldmVuIHBvcnRlZCB0byAwLjEwLCBhbmQgZXZlbiBiYWNrIGluIHRoZSBkYXkKCSAgbm8gb25lIGtuZXcgd2hlcmUgdGhlIGNvcnJlc3BvbmRpbmcgbGliIHdhcyBmcm9tLgoKMjAxMi0wNi0xMiAyMToyOToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2hhcnQvLmdpdGlnbm9yZToKCSogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvY2hhcnQvY2hhcnQudmNwcm9qOgoJKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgY2hhcnQ6IHJlbW92ZSBvbGQgcGx1Z2luIHRoYXQgaGFzIG5ldmVyIGJlZW4gcG9ydGVkIHRvIDAuMTAKCjIwMTItMDYtMTIgMjE6MjA6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuaDoKCSogZ3N0L3ZpZGVvZHJvcC92aWRlb2Ryb3AudmNwcm9qOgoJICB2aWRlb2Ryb3A6IGRyb3AgdmlkZW9kcm9wCgkgIEl0IHdhcyBuZXZlciBldmVuIHBvcnRlZCB0byAwLjEwLCBhbmQgdmlkZW9yYXRlIGRvZXMgaXRzIGpvYiBub3cuCgoyMDEyLTA2LTEyIDIxOjE2OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBSRVFVSVJFTUVOVFM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2FydHMvLmdpdGlnbm9yZToKCSogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkqIGV4dC9hcnRzL2dzdF9hcnRzLmg6CgkqIGV4dC9hcnRzL2dzdF9hcnRzaW8uaWRsOgoJKiBleHQvYXJ0cy9nc3RfYXJ0c2lvX2ltcGwuY2M6CgkqIGV4dC9hcnRzL2dzdF9hcnRzaW9faW1wbC5oOgoJKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkqIGV4dC9hcnRzZC9SRVFVSVJFTUVOVFM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvYXMtYXJ0cy5tNDoKCSogbTQvZ3N0LWFydHNjLm00OgoJICBhcnRzOiByZW1vdmUgYVJ0cy1yZWxhdGVkIHBsdWdpbnMKCSAgYVJ0cyBkZXZlbG9wbWVudCBzdG9wcGVkIGluIDIwMDQsIGl0J3MgdW5saWtlbHkgZXZlciBpcwoJICBzdGlsbCB1c2luZyBpdC4gQmVzaWRlcywgdGhlc2UgZWxlbWVudHMgd2VyZSBuZXZlciBldmVuCgkgIHBvcnRlZCB0byAwLjEwLgoKMjAxMi0wNi0xMiAyMTowMjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuaDoKCSAgc2hvdXQ6IHJlbW92ZSBvbGQgc2hvdXQgcGx1Z2luIHRoYXQgaGFzIG5ldmVyIGJlZW4gcG9ydGVkIHRvIDAuMTAKCSAgVGhlcmUncyBzaG91dDIgaW4gLWdvb2Qgbm93LgoKMjAxMi0wNi0xMiAyMDozNTo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgaGVybWVzOiByZW1vdmUgaGVybWVzIGNvbG9yc3BhY2UgY29udmVydGVyIHRoYXQgd2FzIG5ldmVyIHBvcnRlZCB0byAwLjEwCgoyMDEyLTA2LTEyIDE5OjA2OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvYnVmZmVyLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9idWZmZXIuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2RlYnVnLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9kZWJ1Zy5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9mdW5jdGFibGUuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGVnYWN5cmVzYW1wbGUuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IHJlbW92ZSBsZWdhY3kgcGx1Z2luCgoyMDEyLTA2LTEyIDE5OjAyOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICBhdWRpb3Jlc2FtcGxlOiByZW1vdmUgb2xkIGF1ZGlvcmVzYW1wbGUgcGx1Z2luIHRoYXQgd2FzIG5ldmVyIGV2ZW4gcG9ydGVkIHRvIDAuMTAKCjIwMTItMDYtMTIgMTg6NTM6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkgIGNocm9tYXByaW50OiB1cGRhdGUgZm9yIG5ldyB0YWcgZXZlbnQgQVBJCgoyMDEyLTA2LTEyIDE4OjQ3OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXZ4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpdnhlbmMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuaDoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmg6CgkgIGRpdng6IHJlbW92ZSBwbHVnaW4gdGhhdCB0aGUgd29ybGQgZG9lc24ndCBuZWVkIGFueSBtb3JlCgkgIDIwMDIgY2FsbGVkLgoKMjAxMi0wNi0xMiAxMDo1OTozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEZpeCBhcnJheSB0eXBlCgkgIFdlIHdhbnRlZCBhbiBhcnJheSBvZiBndWludDggKGFuZCBub3QgYW4gYXJyYXkgb2YgcG9pbnRlcnMpIHRvIHN0b3JlCgkgIHRoZSBkYXRhIGZyb20gZ3N0X2J1ZmZlcl9leHRyYWN0KCkgYW5kIHJlYWQgaXQuCgoyMDEyLTA2LTEyIDA5OjEwOjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBkb24ndCBhY2Nlc3MgYnVmZmVyIGFmdGVyIF9maW5pc2hfZnJhbWUKCSAgVW5tYXAgdGhlIGJ1ZmZlciBiZWZvcmUgY2FsbGluZyBfZmluaXNoX2ZyYW1lIGJlY2F1c2Ugd2UgYXJlIG5vdCBhbGxvd2VkIHRvCgkgIGFjY2VzcyBpdCBhZnRlci4KCjIwMTItMDYtMTEgMTY6NDU6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBzcHJpbmtsZSBzb21lIG1vcmUgZGVidWcgY2F0ZXJpbmcKCjIwMTItMDYtMTEgMTY6NDQ6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBhZGQgU1BOL1BUUyBpbmRleGluZyBjYXBhYmlsaXRpZXMKCSAgQmFzZWQgb24gcGF0Y2ggYnkgQW5kcmVhcyBGcmlzY2ggPGZyYXhpbmFzQG9wZW5kcmVhbWJveC5vcmc+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ4OTAKCjIwMTItMDYtMTEgMTQ6MDM6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogYXZvaWQgbWVtY3B5IGR1ZSB0byB0ZW1wb3JhcnkgcGFja2V0IGJ1ZmZlcgoJICAuLi4gYnkgd3JpdGluZyBkaXJlY3RseSBpbnRvIHRoZSBvdXRwdXQgYnVmZmVyIGluc3RlYWQuCgoyMDEyLTA2LTExIDEwOjQ5OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBkbyBub3QgYXNzZXJ0IG9uIGRhdGEgaW5wdXQsIGp1c3QgcmV0dXJuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQwNjkKCjIwMTItMDYtMTAgMTQ6Mjk6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzcHU6IGFsbG93IGRlYnVnZ2luZyBvZiByZW5kZXIgYW5kIGhpZ2hsaWdodCByZWN0YW5nbGVzIHZpYSBlbnZpcm9ubWVudCB2YXJpYWJsZQoJICBFbmFibGUgZGVidWdnaW5nIG9mIHJlY3RhbmdsZXMgdmlhIEdTVF9EVkRfU1BVX0RFQlVHLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjIzCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jCgoyMDExLTEyLTMxIDE4OjM1OjQwIC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHNwdTogY2xlYW51cCBkZWJ1ZyBjb2RlCgkgIENsZWFuIHVwIGRlYnVnIGNvZGUgZm9yIGRyYXdpbmcgaGlnaGxpZ2h0IHJlY3RzIHdoaWNoIHdhc24ndCBldmVuCgkgIGNvbXBpbGluZyBwcmV2aW91c2x5LgoJICBUT0RPOiBtaWdodCBiZSBuaWNlIGlmIHRoaXMgY291bGQgYmUgY29udHJvbGxlZCBieSBwcm9wZXJ0aWVzIG9yCgkgIGVudiB2YXJpYWJsZXMgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBlbmFibGUgdGhlIGRlYnVnIGNvZGUgYXQKCSAgcnVudGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyMwoJICBDb25mbGljdHM6CgkgIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYwoKMjAxMi0wNi0wOCAxNzoxNDowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogcGx1ZyBsZWFrcyB3aGVuIGZyZWVpbmcgc3RyZWFtCgoyMDEyLTA2LTA4IDE3OjEzOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBwbHVnIHNvbWUgbGVha3MKCjIwMTItMDYtMDggMTU6NTg6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGVsZW1lbnRzOiBVc2UgZ3N0X3BhZF9zZXRfY2FwcygpIGluc3RlYWQgb2YgbWFudWFsIGV2ZW50IGZpZGRsaW5nCgoyMDEyLTA2LTA4IDE1OjA1OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDNhMGU1NyB0byA5OGUzODZmCgoyMDEyLTA2LTA4IDExOjU1OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBhZGp1c3QgdG8gbW9kaWZpZWQgYnVmZmVyIGNvbGxlY3QgYmVoYXZpb3VyCgoyMDEyLTA2LTA4IDExOjEyOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIHRlc3RzOiBtcGVndmlkZW9wYXJzZXI6IGFkanVzdCB0byBtb2RpZmllZCBBUEkKCjIwMTItMDYtMDcgMTc6NDM6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBkcmFpbiBjYWNoZWQgZGF0YSB1cG9uIEVPUwoKMjAxMi0wNi0wNyAxNzozODo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IGFsbG93IGZvciBhbGlnbmVkIG91dHB1dAoJICAuLi4gYW5kIHJlZmFjdG9yIHBhY2tldCBoYW5kbGluZyBzb21lIG1vcmUgaW4gdGhlIHByb2Nlc3MuCgkgIEZpeGVzICM2NTE4MDUuCgoyMDEyLTA2LTA3IDE0OjM4OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IGltcHJvdmUgbTJ0cyB0aW1lc3RhbXAgaW50ZXJwb2xhdGlvbgoJICAqIGEga25vd24gUENSIHNob3VsZCByZWFsbHkgYmVsb25nIHRvIGEgcGFja2V0IGhvbGRpbmcgdGhhdCBQQ1IKCSAgKiBpbnRlcnBvbGF0aW9uIGNhbiBiZSBleHRlbmRlZCBiYWNrd2FyZCBmb3IgaW5pdGlhbCBwYWNrZXRzIChQQVQsIFBNVCkKCjIwMTItMDYtMDcgMTI6MTc6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiB0d2VhayBvdXRwdXQgYnVmZmVyIHRpbWVzdGFtcGluZwoKMjAxMi0wNi0wNyAxNjoyMzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTIgPT09CgoyMDEyLTA2LTA3IDE2OjIzOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkyCgoyMDEyLTA2LTA3IDE2OjIyOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDYtMDcgMTI6MzM6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBmaXggY29kZWMgc3RhdGUgbGVha3MKCSAgSSBvbmx5IHRlc3RlZCB0aGF0IHZwOGVuYyAhIHZwOGRlYyBkb2VzIG5vdCBjcmFzaCwgYXMgdmFsZ3JpbmQgZG9lcyBub3QgZ3JvawoJICBhdCBsZWFzdCBvbmUgb2YgdGhlIGluc3RydWN0aW9ucyB1c2VkIGJ5IHZwOGVuYywgcHJldmVudGluZyBtZSBmcm9tIGNoZWNraW5nCgkgIGEgbGVhaywgYW5kIHRoZSBsYWNrIG9mIG9uZSBhZnRlciB0aGUgcGF0Y2guCgoyMDEyLTA2LTA3IDEyOjI1OjAzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IGZpeCBidWZmZXIgbGVhawoKMjAxMi0wNi0wNyAxMjoxNjoyMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBmaXggZnJhbWUgbGVha3MKCjIwMTItMDYtMDcgMTI6MDE6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogZml4IGNvZGVjIHN0YXRlIGxlYWsKCjIwMTItMDYtMDcgMTE6NTg6NTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogZml4IHN0cmF5IHVucmVmIGNhdXNpbmcgYWNjZXNzIHRvIGZyZWVkIG1lbW9yeQoKMjAxMi0wNi0wNyAxMTo1MjoxMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lZGluZ2VyOiBmaXggdmlkZW8gY29kZWMgc3RhdGUgbGVha3MKCjIwMTItMDYtMDYgMTg6MTg6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxZmFiMzU5IHRvIDAzYTBlNTcKCjIwMTItMDYtMDYgMTY6MDA6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IHVwZGF0ZSBmb3IgdGFnIGV2ZW50IGNoYW5nZQoKMjAxMi0wNi0wMyAwMTo1ODoxMiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCB0aGUgd2F5bGFuZCB2ZXJzaW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzczNjIKCjIwMTItMDYtMDYgMTM6MDI6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdXBkYXRlIGZvciB0YWcgZXZlbnQgY2hhbmdlCgoyMDEyLTA2LTA2IDExOjE0OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjogZml4IG91dHB1dCBmcmFtZSBtYXAKCjIwMTItMDYtMDUgMTc6NTc6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IFJlbW92ZSB1bi1uZWVkZWQgY2hlY2tzIGFuZCBpbmxpbmUgc29tZSBmdW5jdGlvbnMKCSAgdmFsIGFuZCBuciBhbHdheXMgZXhpc3QgKCZuciwgJnZhbHVlKQoJICBiaXRzIGlzIGFsd2F5cyBjYWxsZWQgc21hbGxlciB0aGFuIHRoZSB3aWR0aAoJICBNYWtlcyBwYXJzaW5nIDMwJSBmYXN0ZXIKCjIwMTItMDYtMDUgMTg6MDM6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogbW9yZSBoZWFkZXIgY2xhcmlmaWNhdGlvbnMgYW5kIHJlbW92ZSBzb21lIHJlZHVuZGFudCBmaWVsZHMKCjIwMTItMDYtMDUgMTQ6MTg6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBtcGVndHNtdXg6IGF2b2lkIFBJRCBjb2xsaXNpb24gZm9yIGF1dG8tZ2VuZXJhdGVkIFBJRAoKMjAxMi0wNi0wNSAxNjo1OTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIHRzbXV4OiBpbmxpbmUgbW9yZSBjb2RlCgkgIFdpdGggdGhlIHByZXZpb3VzIGNvbW1pdCwgbWFrZXMgbXBlZ3RzbXV4IDEwIHRvIDE1JSBmYXN0ZXIKCjIwMTItMDYtMDUgMTY6NTg6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogRG9uJ3QgdXNlIGdfbGlzdF9maXJzdCAoKQoJICBTZXJpb3VzbHkgLi4uCgoyMDEyLTA2LTA1IDEyOjE3OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogYWxzbyBwcm9wZXJseSByZXNldCBhbmQgZnJlZSBwYWQgZGF0YQoKMjAxMi0wNi0wNSAxMTo1MjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHJlZmFjdG9yIGluaXQgdXNpbmcgX3Jlc2V0IHRvIGNhdGVyIGZvciBwcm9wZXIgcmV1c2UKCjIwMTItMDYtMDQgMTY6MjQ6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBoZWFkZXIgY2xlYW51cHMgYW5kIGNsYXJpZmljYXRpb25zCgoyMDEyLTA2LTA0IDE2OjA1OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogdHdlYWsgYnVmZmVyIGhhbmRsaW5nCgkgIC4uLiBmb3IgY2xhcml0eSBhbmQgdG8gYXZvaWQgbWl4aW5nIF9wZWVrL19wb3AKCjIwMTItMDYtMDQgMTY6MDM6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBtaXNjIGNvZGUgY2xlYW51cHMgYW5kIHJlZmFjdG9yaW5nCgoyMDEyLTA2LTA0IDE0OjU0OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogYXZvaWQgc2VwYXJhdGUgYWxsb2NhdGlvbiBmb3IgbGlzdCBvZiBwcm9ncmFtcwoKMjAxMi0wNi0wNCAxNDo1NDowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHJlYXJyYW5nZSBkZWZpbmUncwoKMjAxMi0wNi0wNCAxNDo0ODoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHJlbW92ZWQgaGFja2VkIGV2ZW50IGhhbmRsaW5nCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYwoJICBSZXZlcnRlZCBiYWNrIHRvIDAuMTAgc3RhdGUgYXMgaXQgd2Fzbid0IHJlYWxseSBwb3J0ZWQKCSAgeWV0IGFueXdheS4KCjIwMTItMDYtMDUgMDk6NTQ6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzZGVtdXg6IEFsc28gcGFyc2UgVE9UIChUaW1lIE9mZnNldCBTZWN0aW9uKQoJICBJdCdzIHRoZSBzYW1lIGFzIFREVCwgZXhjZXB0IHdpdGggZGVzY3JpcHRvcnMgYXQgdGhlIGVuZAoKMjAxMi0wNi0wNSAwOTo1Mjo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogRklYTUUvQ29tbWVudCBhYm91dCBpc3N1ZXMvZXJyb3JzCgoyMDEyLTA2LTA1IDA5OjQ4OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBsZWFrCgoyMDEyLTA2LTA1IDA5OjQ0OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFJlZHVjZSB1c2FnZSBvZiBHc3RBZGFwdGVyCgkgIFBlZWsgYXMgbXVjaCBhcyBwb3NzaWJsZSBpbiBvbmUgZ28uIElkZWFsbHkgd2Ugc2hvdWxkIHJlbW92ZSB1c2FnZSBvZgoJICBhZGFwdGVyIGFsdG9nZXRoZXIsIGJ1dCBmb3IgdGhlIHRpbWUgYmVpbmcgaXQgcHJvdmlkZXMgYSBiaWcgZW5vdWdoCgkgIHNwZWVkdXAgKGFyb3VuZCAyIHRpbWVzIGZhc3RlciBwZXIgcGFja2V0IHByb2Nlc3NlZCkuCgoyMDEyLTA2LTA0IDA4OjM5OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEF2b2lkIGFsbG9jL2ZyZWUgd2hlcmUgcG9zc2libGUKCSAgSGVscHMgZm9yIHN0cmVhbXMgd2l0aCBhIGxvdCBvZiBzZWN0aW9ucywgbGlrZSBFSVQKCjIwMTItMDYtMDQgMDg6Mzc6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBBZGQgbW9yZSBzZWN0aW9ucyB0aGF0IGRvbid0IGhhdmUgYSBDUkMKCjIwMTItMDYtMDQgMDg6MzI6NTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWdkZWZzOiBBZGQgbGlzdCBvZiBrbm93biB0YWJsZV9pZAoJICBBbG9uZyB3aXRoIHRoZSBzcGVjaWZpY2F0aW9ucyBmcm9tIHdoaWNoIHRoZXkgY29tZS4gQXZvaWRzIGhhdmluZwoJICB0byBzZWFyY2ggZm9yIHdoaWNoIHNwZWMgYSB0YWJsZV9pZCBiZWxvbmdzIHRvCgoyMDEyLTA2LTAzIDEwOjU4OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IENsYXJpZnkgZGVidWcgc3RhdGVtZW50cwoJICBVc2UgaGV4IHZhbHVlcyBpbiBtb3JlIGNhc2VzIChzaW5jZSB0aGF0J3MgaG93IFBJRC90YWJsZV9pZC8uLi4gYXJlCgkgIHJlcHJlc2VudGVkIGluIHRoZSB2YXJpb3VzIHNwZWNzKS4KCjIwMTItMDYtMDMgMTA6NTY6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzYmFzZS9wYWNrZXRpemVyOiBBZGQgQ0FUIHNlY3Rpb24gaGFuZGxpbmcKCSAgQWxsb3dzIHJlcG9ydGluZyB0aGUgZ2xvYmFsIEVNTQoKMjAxMi0wNi0wMyAxMDo1Mzo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEFkZCBtb3JlIGRlYnVnIGluIFBTSSBoYW5kbGluZwoJICBBbGxvd3MgdXMgdG8gaWRlbnRpZnkgd2hpY2ggU0kgd2UgZG9uJ3QgaGFuZGxlCgoyMDEyLTA2LTAzIDEwOjUzOjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogQWRkIG1vcmUgZGVmYXVsdCBrbm93biBQU0kgdGFibGVfaWQKCjIwMTItMDYtMDIgMDg6MDY6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBSZWZhY3RvciBQU0kgZGV0ZWN0aW9uCgoyMDEyLTA2LTA1IDA5OjMwOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IFVwZGF0ZSBjb25maWcuaAoKMjAxMi0wNi0wNSAwOTozMDowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IEZpeCBHc3RCYXNlUGFyc2U6OmdldF9zaW5rX2NhcHMoKSBpbXBsZW1lbnRhdGlvbnMKCSAgVGhleSBzaG91bGQgdGFrZSB0aGUgZmlsdGVyIGNhcHMgaW50byBhY2NvdW50IGFuZCBhbHdheXMgcmV0dXJuCgkgIHRoZSB0ZW1wbGF0ZSBjYXBzIGFwcGVuZGVkIHRvIHRoZSBhY3R1YWwgY2Fwcy4gT3RoZXJ3aXNlIHRoZQoJICBwYXJzZXJzIHN0b3AgdG8gYWNjZXB0IHVucGFyc2VkIHN0cmVhbXMgd2hlcmUgdXBzdHJlYW0gZG9lcyBub3QKCSAga25vdyBhYm91dCB3aWR0aCwgaGVpZ2h0LCBldGMuCgkgIEZpeGVzIGJ1ZyAjNjc3NDAxLgoKMjAxMi0wNi0wMSAxNjoyOTowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEVDTS9DQSBzZWN0aW9ucyBkb24ndCBoYXZlIGEgQ1JDCgkgIFNvIGRvbid0IGNoZWNrIGZvciBpdCA6KQoJICBBbHNvIGFkZCBhIGJpdCBtb3JlIGluZm8gaW4gdGhlIHdhcm5pbmcgbWVzc2FnZSB0byBzcGVlZCB1cCBkZXRlY3RpbmcKCSAgd2hldGhlciBpdCdzIGEgZmFsc2UtcG9zaXRpdmUgb3Igbm90LgoKMjAxMi0wNi0wMSAxMDo1OToyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc6IHJlbGF4IGVudHJ5IGNvbnN0cmFpbnQKCSAgLi4uIHNpbmNlIGl0IGlzIGFjY2VwdGFibGUgYW5kIHByb3Blcmx5IGhhbmRsZWQgZnVydGhlciBvbi4KCjIwMTItMDYtMDEgMTA6Mjk6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmMWI1YTk2IHRvIDFmYWIzNTkKCjIwMTItMDUtMzEgMTM6MDg6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5MmI3MjY2IHRvIGYxYjVhOTYKCjIwMTItMDUtMjkgMTA6NDg6NTQgLTA3MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogYWRkIHN1cHBvcnQgZm9yIFZDMSBhbmQgZml4IHBsdWdpbnMgcmFua3MKCjIwMTItMDUtMjkgMTA6NDg6MDMgLTA3MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBpbml0aWFsaXplIGRlYnVnIHByb3Blcmx5CgoyMDEyLTA1LTI5IDEwOjQzOjQzIC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBmaXggb2JqZWN0IGRpc3Bvc2FsIGFuZCBmaW5hbGl6YXRpb24KCjIwMTItMDUtMzAgMTA6MzQ6NDQgLTA3MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGRvbid0IGZsdXNoIGFmdGVyIGEgZGV2aWNlIGxvc3QKCjIwMTItMDUtMzAgMTM6NTQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IFB1dCB0aGUgcmlnaHQgZmxhZ3MgaW50byB0aGUgcmlnaHQgdmFyaWFibGUKCjIwMTItMDUtMzAgMTI6NDU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlYzFjNGE4IHRvIDkyYjcyNjYKCjIwMTItMDUtMzAgMTE6MzI6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJldmVydCBhY2NpZGVudGlhbGx5IGNvbW1pdHRlZCBzdHVmZiBpbiBsYXN0IGNvbW1pdAoKMjAxMi0wNS0zMCAxMToyNDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBjb25maWd1cmU6IEFkZCBPQkpDIHNwZWNpZmljIGNvbXBpbGVyIGZsYWdzCgkgIFNlZSBidWcgIzY0MzkzOS4KCjIwMTItMDUtMzAgMTE6MjM6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNDI5YmE2IHRvIGVjMWM0YTgKCjIwMTItMDUtMjkgMTc6MjQ6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiByZWFkIGdhaW4gZnJvbSB0aGUgcmlnaHQgcGxhY2UgaW4gdGhlIGhlYWRlcgoJICBJdCdzIGF0IGJ5dGUgb2Zmc2V0IDE2LCBub3QgMTQuCgoyMDEyLTA1LTI0IDExOjExOjAwIC0wMzAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBSZWZhY3RvcmluZyBhbmQgbWFrZSBjb3JlIG1vcmUgc2ltaWxhciB0byB0ZXh0b3ZlcmxheQoJICBFc3BlY2lhbGx5IHRoZSBjb21iaW5pbmcgb2YgdGhlIHRleHQgYW5kIHZpZGVvIGJ1ZmZlcnMgaXMgbm93CgkgIGFsbW9zdCB0aGUgc2FtZSBhcyBpbiB0ZXh0b3ZlcmxheS4KCSAgV2Ugc2hvdWxkIHJlYWxseSBnZXQgYSBiYXNlIGNsYXNzIGZvciB0aGlzLgoJICBDb25mbGljdHM6CgkgIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmMKCSAgZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaAoKMjAxMi0wNS0yOCAxNTo0ODozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSAgZHZiOiBBZGQgbW9yZSBkZWJ1Z2dpbmcgdG8gY2FtIHN1cHBvcnQKCjIwMTItMDQtMjQgMTE6MDk6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhYzogUG9ydCB0byAtYmFzZSB2aWRlbyBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L2RpcmFjL01ha2VmaWxlLmFtCgoyMDEyLTA1LTI4IDE2OjQyOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogUmVtb3ZlIG9sZCB2aWRlbyBiYXNlIGNsYXNzZXMKCjIwMTItMDUtMjggMTY6NDI6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm9lZGluZ2VyOiBQb3J0IHRvIDAuMTEgYWdhaW4KCjIwMTItMDUtMjggMDc6NTg6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogV2UgZG9uJ3QgYXNzdW1lIHBhY2tldGl6ZWQgaW5wdXQKCSAgT3RoZXJ3aXNlIHRoZSBwYXJzZSB2bWV0aG9kIG5ldmVycyBnZXRzIGNhbGxlZAoKMjAxMi0wNC0yNCAxMTowODo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvZWRpbmdlcjogUG9ydCB0byAtYmFzZSB2aWRlbyBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbQoJICBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmMKCSAgZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jCgkgIEJhY2sgdG8gMC4xMCBzdGF0ZSwgbmVlZHMgcG9ydGluZyBhZ2Fpbi4KCjIwMTItMDUtMjggMTY6MDU6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBQb3J0IHRvIDAuMTEgYWdhaW4KCjIwMTItMDUtMTggMTI6NDY6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaXggdGFyZ2V0IGJpdHJhdGUgY29uZmlnIHdpdGggbGlidnB4IDEuMS4wCgkgIGxpYnZweCAxLjEuMCBkaXNhbGxvd3MgYSBiaXRyYXRlIG9mIDAsIHdoaWNoIHdhcyB1c2VkIGJ5CgkgIHZwOGVuYyBhcyBhIGRlZmF1bHQgdmFsdWUuCgkgIEluc3RlYWQsIHdlIHVzZSB0aGUgZGVmYXVsdCBsaWJ2cHggYml0cmF0ZSwgc2NhbGVkIHRvIG91cgoJICB2aWRlbyBzaXplLCBpZiBubyBiaXRyYXRlIHdhcyBzcGVjaWZpZWQuCgkgIFRoaXMgZml4ZXMgZW5jb2RpbmcgVlA4IHZpZGVvIHdpdGggbGlidnB4IDEuMS4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MjQ1CgoyMDEyLTA1LTE2IDE0OjA0OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIGZvciBHc3RWaWRlb0NvZGVjRnJhbWUgQVBJIGNoYW5nZXMKCjIwMTItMDQtMjcgMTg6MjI6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkgIHZwOGRlYzogSW1wcm92ZSBvdXRwdXRfc3RhdGUgaGFuZGxpbmcKCSAgQXZvaWQgZ2V0dGluZyBvdXRwdXRfc3RhdGUgZm9yIGV2ZXJ5IGJ1ZmZlciBhcyB0aGF0IHJlcXVpcmVzCgkgIGdldHRpbmcgdGhlIG9iamVjdGxvY2sgYW5kIGRvaW5nIHJlZmVyZW5jZSBjb3VudGluZy4gU3RvcmUgaXQgbG9jYWxseQoJICB3aGVuIGl0IGlzIGNyZWF0ZWQgYW5kIHVzZSBpdC4KCjIwMTItMDQtMjcgMDk6MDU6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogVXNlIG91dHB1dHN0YXRlIHdoZW4gY29weWluZyBvdXRwdXQgYnVmZmVyIGRhdGEKCSAgVXNpbmcgdGhlIGlucHV0IHN0YXRlIHdhcyBjYXVzaW5nIGEgY3Jhc2ggYmVjYXVzZSB0aGUgc3RyaWRlcy9vZmZzZXRzCgkgIHdvdWxkIGJlIHdyb25nLiBGaXggaXQgYnkgdXNpbmcgdGhlIG91dHB1dCBhcyB3ZSBhcmUgZGVhbGluZyB3aXRoCgkgIHRoZSBkZWNvZGVkIGZyYW1lLgoKMjAxMi0wNC0yNCAxMTowODo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDg6IFBvcnQgdG8gLWJhc2UgdmlkZW8gYmFzZSBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L3ZwOC9NYWtlZmlsZS5hbQoJICBleHQvdnA4L2dzdHZwOGRlYy5jCgkgIGV4dC92cDgvZ3N0dnA4ZW5jLmMKCSAgQmFjayB0byAwLjEwIHN0YXRlIGZvciBub3csIG5lZWQgdG8gYmUgcG9ydGVkIGFnYWluLgoKMjAxMi0wNS0yNyAyMzo0MToyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGRvIG5vdCBhc3NlcnQgb24gYmFkIGhlYWRlciwgZXJyb3Igb3V0IGluc3RlYWQKCjIwMTItMDUtMjcgMDA6MDA6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBkb24ndCB1c2UgR3N0U3RydWN0dXJlIEFQSSBvbiB0YWcgbGlzdHMKCjIwMTItMDUtMjYgMTQ6NTc6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIG1wZWdkZXNjOiBBZGQgbW9yZSBjb21tZW50cy9pbmZvCgkgIE5hbWVseSB3aGVyZSB0aGV5IGJlbG9uZyB0bwoKMjAxMi0wNS0yNiAxNDo1NzoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBNYWtlIHN1cmUgd2UgaGF2ZSBhIGxhbmd1YWdlIGNvZGUgYmVmb3JlIHVzaW5nIGl0CgoyMDEyLTA1LTI2IDE0OjExOjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IENoZWNrIGJlZm9yZSBnZXR0aW5nIGRlc2NyaXB0b3JzIGZyb20gc3RydWN0dXJlCgkgIEF2b2lkcyBzcHVyaW91cyB3YXJuaW5ncy4gTm90IGhhdmluZyB0aG9zZSBkZXNjcmlwdG9ycyBpcyBub3RoaW5nCgkgIGZhdGFsLCBzbyBjaGVjayB0aGVpciBwcmVzZW5jZSBiZWZvcmUgdHJ5aW5nIHRvIGdldCB0aGVtLgoKMjAxMi0wNS0yNiAxNDowODo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgcGVzcGFyc2U6IEJlIGEgYml0IG1vcmUgcGVybWlzc2l2ZSB3aXRoIFBUUy9EVFMgcGFyc2luZwoJICBBY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmljYXRpb25zIGEgUFRTX0RUU19mbGFncyB2YWx1ZSBvZiAweDAxIGlzIGZvcmJpZGRlbi4KCSAgLi4uIGJ1dCB0aGVyZSBhcmUgc29tZSByYXJlIGZpbGVzIG91dCB0aGVyZSB0aGF0IGRvIHRoYXQuCgkgIEluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LCBsZXQncyB3YXJuLCBjYXJyeSBvbiBwYXJzaW5nIGFjY29yZGluZ2x5LgoJICBJZiB0aGUgcGFja2V0IGlzIHJlYWxseSBjb3JydXB0ZWQgdGhlcmUgYXJlIGVub3VnaCBjaGVja3MgYWZ0ZXJ3YXJkIHRvCgkgIGRldGVjdCB0aGF0LgoKMjAxMi0wNS0yNSAyMjoyMDowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBoZWVkIHRlc3QgdmVjdG9yIGZyYW1pbmcgdG8gZWF0IGFueSBwYWRkaW5nCgkgIFRoaXMgZml4ZXMgcGFyc2luZyBvbiBvbmUgcGFydGljdWxhciB0ZXN0IHZlY3RvciB3aGVyZSBwYXlsb2FkCgkgIGRhdGEgaXMgc21hbGxlciB0aGFuIHRoZSBhY3R1YWwgYXVkaW8gcGF5bG9hZC4KCjIwMTItMDUtMjUgMTQ6MTU6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogRml4IGJpdCBvcGVyYXRpb24KCSAgImEgJSA4IiBjb3JyZXNwb25kcyB0byAiYSAmIDB4NyIgKGFuZCBub3QgMHhmKS4KCSAgc3BvdHRlZCBieSBKdWxpYW4gU2NoZWVsCgoyMDEyLTA1LTI0IDE2OjIyOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IFNpbXBsaWZ5IGNoZWNrCgkgIEF2b2lkcyBhIHVuc2V0IHZhcmlhYmxlIHdhcm5pbmcgKGZvciBuZnJhbWVzKSB3aXRoIGdjYyA0LjcuMAoKMjAxMi0wNS0yNCAyMjoxMjo1NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXM6IHJlamVjdCBtYWpvciB2ZXJzaW9uIG51bWJlciBhYm92ZSB3aGF0IHdlIGdyb2sKCjIwMTItMDUtMjQgMjE6NTg6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiBidW1wIHdyaXR0ZW4gdmVyc2lvbiBmcm9tIDAgdG8gMHgwMQoJICBhcyBwZXIgdGhlIHNwZWMgdXBkYXRlIGF0IGh0dHBzOi8vd2lraS54aXBoLm9yZy9PZ2dPcHVzI0lEX0hlYWRlcgoKMjAxMi0wNC0zMCAxNDo0MDowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeCBsb3N0IHBhY2tldCBoYW5kbGluZyBmb3IgRkVDL1BMQwoJICBUaGUgYmFzZSBhdWRpbyBkZWNvZGVyIHNlbmRzIHplcm8gc2l6ZSBwYWNrZXRzLCBub3QgTlVMTCBidWZmZXJzLAoJICB0byBzaWduYWwgZHJvcHBlZCBwYWNrZXRzLgoKMjAxMi0wNS0yNCAxMjozMjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRjNzAyMDMgdG8gMzQyOWJhNgoKMjAxMi0wNS0yMyAxODoxOTo1MiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc3VwcHJlc3Mgc29tZSB3YXJuaW5ncyB3aGVuIGRlYnVnIGlzIGRpc2FibGVkCgkgIFdhcm5pbmdzIGFib3V0IHVudXNlZCB2YXJpYWJsZXMgc2hvdWxkIGJlIHN1cHByZXNzZWQgaWYgY29yZSBoYXMgdGhlCgkgIGRlYnVnIHN5c3RlbSBkaXNhYmxlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjY3MgoKMjAxMi0wNC0yNSAyMToyMTo0MyArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHhfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5oOgoJICBQb3J0IGQzZHZpZGVvc2luayB0byAwLjExCgkgIEZpeGVzICM2NzQ4MTcKCjIwMTItMDUtMjMgMTI6MDc6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kOiBwb3J0IHRvIDAuMTEKCjIwMTItMDUtMjIgMTg6NTU6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IEVtaXQgbm8tbW9yZS1wYWRzIHdoZW4gcGFkIGlzIGFkZGVkCgkgIFRoaXMgYXZvaWRzIGFuIGVuZGxlc3MgaGFuZyB3aXRoIHBsYXliaW4yLCB3aGljaCBzZWVzIGR2YmJhc2VzYmluIGFzCgkgIGhhdmluZyBkeW5hbWljIHBhZHMgLi4uIGJ1dCBuZXZlciBlbWl0dGVkIG5vLW1vcmUtcGFkcy4KCjIwMTItMDUtMjIgMTg6NTM6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJICBjYW11dGlsczogRml4IFBNVCBtZXNzYWdlIGNvbnN0cnVjdGlvbgoJICBUaGUgc2l6ZSBvZiB0aGUgbWVzc2FnZSBlbmRlZCB1cCBiZWluZyBiaWdnZXIgdGhhbiBpdHMgY29udGVudC4KCSAgVGhhdCBjYXVzZSBzb21lIENBIG1vZHVsZXMgdG8ganVzdCBoYW5nLgoKMjAxMi0wNS0yMiAxODo1MTozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJICBjYW10cmFuc3BvcnQ6IEFsbG93IGRlbGF5IHdoZW4gc2V0dGluZyB1cCBjYW0gZGV2aWNlCgkgIFNvbWUgQ0EgZGV2aWNlcyB0YWtlIGEgbG9uZyB0aW1lIHRvIHNldCB0aGVtc2VsdmVzIHVwLAoJICB0aGVyZWZvcmUgcmV0cnkgZXZlcnkgMjUwbXMgKGZvciBhIG1heGltdW0gb2YgMi41cykKCjIwMTItMDUtMjIgMTg6NDk6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBGaXh1cC9hZGQgZGVidWcgc3RhdGVtZW50cwoKMjAxMi0wNS0yMiAxODo0ODowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IE9ubHkgb3BlbiBkZXZpY2UgcmVhZC93cml0ZSB3aGVuIG5lZWRlZAoJICBBdm9pZCBzdGFydGluZyB1cCBrZXJuZWwgdGhyZWFkIHdoZW4gbm90IG5lZWRlZAoKMjAxMi0wNS0yMiAxODo0NjowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBBZGQgd2FybmluZyB3aGVuIGR2YiBjaGFubmVscyBmaWxlIGlzbid0IHByZXNlbnQKCjIwMTItMDUtMjMgMDg6Mzk6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogU3BlZWQgdXAgX2lzX3BzaSgpCgkgIEJ5IG1ha2luZyBpdCBpbmxpbmUgYW5kIHNpbXBsaWZ5aW5nIHRoZSBiaXQgbWFjcm9zCgoyMDEyLTA1LTIyIDIxOjAwOjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGF2b2lkIHNjYW5uaW5nIGZvciBzdGFydCBjb2RlcyB0d2ljZQoJICAuLi4gc2luY2UgYSBwcmV2aW91cyB0ZXJtaW5hdGluZyBzdGFydCBjb2RlIHNlcnZlcyBhcyBzdWJzZXF1ZW50IHN0YXJ0IGNvZGUuCgoyMDEyLTA1LTIyIDE5OjExOjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmI6IEZpeHVwcyBmb3IgbGF0ZXN0IEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTEwIDEyOjM2OjE1ICswMjAwICBKdWxpYW4gU2NoZWVsIDxqdWxpYW5AanVzc3QuZGU+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgbGFuZ3VhZ2UgY29kZSB0byB0YWdsaXN0LgoJICBSZWFkIHRoZSBsYW5ndWFnZSBjb2RlcyBmb3IgdHJhY2tzIGZyb20gdGhlIG1wZWd0cyBkZXNjcmlwdG9ycyBhbmQgYWRkIGl0IGludG8KCSAgdGhlIHBhZHMgdGFnbGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mzg5NgoKMjAxMi0wNS0yMSAxNzo1MzozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGFwdCB0byBuZXcgcGFja2V0aXplciBBUEkKCSAgV2Ugbm8gbG9uZ2VyIHVzZSBHc3RCdWZmZXJMaXN0IGFuZCBpbnN0ZWFkIGNvcHkgdGhlIGluY29taW5nIGRhdGEKCSAgaW50byBuZXdseSBhbGxvY2F0ZWQgbWVtb3J5LgoJICBUaGlzIG1ha2VzIHRzZGVtdXggYmVoYXZpb3VyIDMgdG8gNCB0aW1lcyBmYXN0ZXIuCgoyMDEyLTA1LTIxIDE3OjUzOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICB0c3BhcnNlOiBBZGFwdCB0byBuZXcgcGFja2V0aXplciBBUEkKCjIwMTItMDUtMjEgMTc6NTI6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogQWRhcHQgdG8gbmV3IHBhY2tldGl6ZXIgYmVoYXZpb3VyCgoyMDEyLTA1LTIxIDE3OjQ4OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEF2b2lkIHVzYWdlIG9mIEdzdEJ1ZmZlciBpbnRlcm5hbGx5CgkgIFRoZSBvdmVyaGVhZCBvZiBjcmVhdGluZy91c2luZyAxODggYnl0ZSBHc3RCdWZmZXIgZnJvbSBHc3RBZGFwdGVyCgkgIGlzIHRvbyBleHBlbnNpdmUuCgkgIFdlIG5vdyBwZWVrIHRoZSBuZXh0IHBhY2tldCwgYW5kIHByb3ZpZGUgYSBkYXRhL3NpemUgd2hpY2ggaXMgb25seQoJICB2YWxpZCB1bnRpbCB0aGUgcGFja2V0aXplcnBhY2tldCBpcyBjbGVhcmVkLgoJICBJbiBhZGRpdGlvbiwgY2xlYW51cCBhbGwgdGhlIGludGVybmFsIGNvZGUgdG8gZGVhbCB3aXRoIHRoYXQgbmV3CgkgIGJlaGF2aW91ciBhbmQgcmVtb3ZlIGRvdWJsZS1jaGVja3Mgd2hpY2ggYXJlIG5vIGxvbmdlciBuZWVkZWQuCgkgIFRoZSBzZWN0aW9uX2xlbmd0aCBpcyBub3cgdGhlIGNvcnJlY3RlZCBzZWN0aW9uX2xlbmd0aCAoaS5lLiB3aXRoCgkgIHRoZSBhZGRpdGlvbmFsIDMgYnl0ZXMpLgoJICBBdm9pZCB1c2luZyBnc3RfYWRhcHRlcl9wcmV2X3RpbWVzdGFtcCBhbmQgaW5zdGVhZCB0cmFjawoJICB0aGUgdGltZXN0YW1wIG91cnNlbGYuCgoyMDEyLTA1LTIwIDEzOjI3OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IERldGVjdCBQQ1Igd3JhcGFyb3VuZCBpbiBza2V3IGNvZGUKCSAgSWYgdGhlIHJlY2VpdmVkIFBDUiBpcyBnb2luZyBiYWNrd2FyZHMgKGJ5IGEgc2FmZSBtYXJnaW4pLCBpbmNsdWRlCgkgIHRoYXQgd3JhcGFyb3VuZCBmb3IgZnVydGhlciBjYWxjdWxhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDUzNgoKMjAxMi0wNS0yMiAxNDo0ODo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogYXZvaWQgcmVwZWF0ZWQgY2FwcyBzZXR0aW5nCgoyMDEyLTA1LTIyIDE0OjAwOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogdHdlYWsgY29kZWMgcGFyc2VyIEFQSSBhbmQgYWRqdXN0IHBhcnNlciBlbGVtZW50CgkgIC4uLiB0byBhbGxvdyBmb3IgbW9yZSBlZmZpY2llbnQgcGFyc2luZyBhbmQgKG1vcmUpIGNvbnNpc3RlbnQgcGFyc2luZyBBUEkKCSAgYW1vbmcgdmFyaW91cyBjb2RlYyBwYXJzZXJzLgoJICBGaXhlcyAjNjcyNzAxLgoJICBDb25mbGljdHM6CgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYwoKMjAxMi0wNS0yMiAxMjozMDowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzQ6IGZpeHVwIGRvY3VtZW50YXRpb24gc3BlbGxpbmcKCjIwMTItMDUtMDggMTY6NTE6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlcjogT3B0aW1pemUgc2Nhbm5pbmcgZm9yIHN0YXJ0IGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjcwMQoKMjAxMi0wNS0xOCAxMjo0Njo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGZpeCB0YXJnZXQgYml0cmF0ZSBjb25maWcgd2l0aCBsaWJ2cHggMS4xLjAKCSAgbGlidnB4IDEuMS4wIGRpc2FsbG93cyBhIGJpdHJhdGUgb2YgMCwgd2hpY2ggd2FzIHVzZWQgYnkKCSAgdnA4ZW5jIGFzIGEgZGVmYXVsdCB2YWx1ZS4KCSAgSW5zdGVhZCwgd2UgdXNlIHRoZSBkZWZhdWx0IGxpYnZweCBiaXRyYXRlLCBzY2FsZWQgdG8gb3VyCgkgIHZpZGVvIHNpemUsIGlmIG5vIGJpdHJhdGUgd2FzIHNwZWNpZmllZC4KCSAgVGhpcyBmaXhlcyBlbmNvZGluZyBWUDggdmlkZW8gd2l0aCBsaWJ2cHggMS4xLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYyNDUKCjIwMTItMDUtMjIgMTE6MTA6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBEb3VibGUgcHJvcGVydGllcyBhcmUgc3VwcG9zZWQgaW4gdGhlIHJhbmdlIFswLjAsIDEuMF0KCSAgRml4ZXMgYnVnICM2NzYxMzcuCgoyMDEyLTA1LTIxIDE5OjIyOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogdW5vYmZ1c2NhdGUgZnJhbWUgcGFyc2luZwoJICAuLi4gYW5kIGFkZCBjb21tZW50cyBhbmQgZGVidWcgc3RhdGVtZW50cy4KCSAgRml4ZXMgIzY3NDIwMi4KCSAgQ29uZmxpY3RzOgoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmMKCjIwMTItMDUtMjEgMTY6Mzc6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogUmV2ZXJ0ICJmaXggY3Jhc2giCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOTEyMTA4MzFlZTY3MjM0M2EyOTZmMzEzNTcxNDQzNTlkNWMyZTc2OC4KCSAgU3VjaCBleHBsaWNpdCByZXNldCBzaG91bGQgbm90IGJlIG5lZWRlZCBhcyBpdCBpcyBhcnJhbmdlZCBmb3IgYnkKCSAgdGhlIGJhc2VjbGFzcyBpbiB1bmlzb24gd2l0aCBtb25pdG9yaW5nIGZvciBhIG5ldyBmcmFtZSBieSBzdWJjbGFzcy4KCSAgQXMgc3VjaCBpdCBtaWdodCB3cm9uZ2Z1bGx5IGhpZGUgc29tZXRoaW5nIGVsc2UgZ29pbmcgb24gLi4uCgkgIFNlZSAjNjc0MDczLgoKMjAxMi0wNS0yMSAxNToyNDoyNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlb3BhcnNlcjogZml4IGJ1ZmZlciBzaXplIGNoZWNrCgkgIC4uLiB0byBtaW5kIHVuc2lnbmVkIGludGVnZXIgd3JhcAoJICBCYXNlZCBvbiBwYXRjaCBieSBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzQzNgoKMjAxMi0wNS0yMSAxNTowOTowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJICB0ZXN0czogbXBlZ3ZpZGVvcGFyc2U6IGZpeCB1bml0IHRlc3QgcmVncmVzc2lvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MDk3CgkgIENvbmZsaWN0czoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYwoKMjAxMi0wNS0xOSAxNTozNDoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IGRvbid0IGFjY2VzcyBHc3RFbGVtZW50RmFjdG9yeSBzdHJ1Y3R1cmUgZGlyZWN0bHkKCjIwMTItMDUtMTggMTY6MTc6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc0OiBkbyBub3QgZXhwZWN0IGEgbWFya2VyIGJpdCB3aGVyZSBub3Qgc3BlY2lmaWVkCgkgIEZpeGVzICM2NzI0NDcuCgoyMDEyLTA1LTE2IDE2OjE1OjU4ICswMjAwICBKdWxpYW4gU2NoZWVsIDxqdWxpYW5AanVzc3QuZGU+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmbHVzaCBvbiBwdXNpIG9ubHkgZm9yIHBheWxvYWQgcGFja2V0cwoJICBEYXRhIHNob3VsZCBub3QgYmUgZmx1c2hlZCBvdXQgb2YgdGhlIHRzZGVtdXggYmVjYXVzZSBhIHBheWxvYWQgdW5pdCBzdGFydAoJICBpbmRpY2F0b3IgKHB1c2kpIGlzIHNlZW4gaW4gYSBhZGFwdGF0aW9uIG9ubHkgdHMgcGFja2V0LiBJZiB0aGUgcGFja2FnZSBjb250YWlucyBubwoJICBwYXlsb2FkIGEgcHVzaSBkb2VzIG5vdCBpbmRpY2F0ZSBhIG5ldyBQRVMgcGFja2V0LCBidXQgUFNJIGluZm9ybWF0aW9uLCBldGMuCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgb2Ygc2V2ZXJhbCBUUyBmaWxlcyB3aGljaCBjb250YWluIHRzIHBhY2tldHMgd2l0aG91dAoJICBwYXlsb2FkIGJ1dCB3aXRoIHB1c2kgc2V0IHRvIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYxNjgKCjIwMTItMDUtMTggMTA6MTU6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgcXVldWUgZGF0YSBmb3Igc3RyZWFtcyB0aGF0IGRvbid0IGhhdmUgYSBwYWQKCSAgVGhpcyB3b3VsZCByZXN1bHQgaW4gYW4gZXJyb3IgZnVydGhlciBkb3duLCBhbmQgaXQgYWxzbyBhdm9pZHMgcHJvY2Vzc2luZwoJICBmb3IgdGhhdCBkYXRhIHdoaWNoIHdlIHdvdWxkbid0IGJlIHVzaW5nIGFueXdheS4KCjIwMTItMDUtMTggMTA6MTM6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogRGV0ZWN0IGFuZCBoYW5kbGUgc2NyYW1ibGVkIHBhY2tldHMKCSAgVXNlcnMgKHRzZGVtdXgvbXBlZ3RzcGFyc2UpIGNhbiBkZWNpZGUgd2hhdCB0byBkbyB3aXRoIHRoYXQKCjIwMTItMDUtMTggMTA6MDc6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRW1pdCBuby1tb3JlLXBhZHMgd2hlbiBhbGwgcGFkcyBhcmUgYWN0aXZhdGVkCgkgIEZpeGVzICM2NzA5MjEgYWdhaW4KCjIwMTItMDUtMTcgMTE6MTU6MjIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuaDoKCSAgZ2F1ZGllZmZlY3RzOiBhZGQgZmFsbGJhY2sgY29kZSBmb3Igb3JjCgkgIHRoaXMgaW5jbHVkZXMgYW4gaW1wcm92ZWQgdmVyc2lvbiBvZiB0aGUgYnVybiBmaWx0ZXIsIHdpdGggYSB+NDAlIHNwZWVkCgkgIGltcHJvdmVtZW50LgoKMjAxMi0wNS0xNyAxMDo0OToxMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIHRoZSBvcmMgdmVyc2lvbiByZXF1aXJlZCB0byAwLjQuMTYKCSAgU29tZSBvcGNvZGVzIGhhdmUgY2hhbmdlZCBzbyB0aGV5IHdvdWxkIGZhaWwgdG8gYnVpbGQgd2l0aCAwLjQuMTQKCjIwMTItMDUtMTcgMDk6NDc6MDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpZWZmZWN0czogdXNlIENMQU1QIGluIHNvbGFyaXplCgkgIE5vIG5lZWQgdG8gaGF2ZSBhIGdhdGVfaW50ICgpIGZ1bmN0aW9uIGR1cGxpY2F0aW5nIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGFuZAoJICBlc3RhYmxpc2hlZCBDTEFNUCAoKSBmdW5jdGlvbi4KCjIwMTItMDUtMTcgMDk6NDY6MzcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJICBnYXVkaWVmZmVjdHM6IHVzZSBDTEFNUCBpbiBleGNsdXNpb24KCSAgTm8gbmVlZCB0byBoYXZlIGEgZ2F0ZV9pbnQgKCkgZnVuY3Rpb24gZHVwbGljYXRpbmcgdGhlIGFscmVhZHkgZXhpc3RpbmcgYW5kCgkgIGVzdGFibGlzaGVkIENMQU1QICgpIGZ1bmN0aW9uLgoKMjAxMi0wNS0xNyAwOTo0NTo1MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSAgZ2F1ZGllZmZlY3RzOiB1c2UgQ0xBTVAgaW4gZG9kZ2UKCSAgTm8gbmVlZCB0byBoYXZlIGEgZ2F0ZV9pbnQgKCkgZnVuY3Rpb24gZHVwbGljYXRpbmcgdGhlIGFscmVhZHkgZXhpc3RpbmcgYW5kCgkgIGVzdGFibGlzaGVkIENMQU1QICgpIGZ1bmN0aW9uLgoKMjAxMi0wNS0xNyAwOTo0NDoyOSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSAgZ2F1ZGllZmZlY3RzOiB1c2UgQ0xBTVAgaW4gY2hyb21pdW0KCSAgTm8gbmVlZCB0byBoYXZlIGEgZ2F0ZV9pbnQgKCkgZnVuY3Rpb24gZHVwbGljYXRpbmcgdGhlIGFscmVhZHkgZXhpc3RpbmcgYW5kCgkgIGVzdGFibGlzaGVkIENMQU1QICgpIGZ1bmN0aW9uLgoKMjAxMi0wNS0xNyAxMTo0NzoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFsc28gY29uc2lkZXIgbmFsX2xlbmd0aF9zaXplIHdoZW4gaW5zZXJ0aW5nIGNvZGVjIGRhdGEKCSAgU2VlICM2NzYxNzQuCgoyMDEyLTA1LTE2IDIxOjUwOjQ4ICswMTAwICBKb2huIEhlaW4gPG40a2RsbXgwMkBzbmVha2VtYWlsLmNvbT4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIHk0bTogbGluayBhZ2FpbnN0IHRoZSByaWdodCBsaWJnc3R2aWRlbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MTg5CgoyMDEyLTA1LTE2IDE3OjUwOjQzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpZWZmZWN0czogZXhhbXBsZSBwaXBlbGluZXMgd2l0aCB2aWRlb2NvbnZlcnQKCjIwMTItMDUtMTYgMTc6NDk6MTIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMub3JjOgoJICBnYXVkaWVmZmVjdHM6IG9yYy1pZnkgYnVybiBmaWx0ZXIKCjIwMTItMDUtMTYgMDk6MTI6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgY29yZS9iYXNlIDAuMTEuOTEKCjIwMTItMDEtMTMgMTg6NTc6MjAgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBhZGQgdmlzdWFsIHN0dWRpbyBJREUgZmlsZXMgYW5kIE9TIFggLkRTX1N0b3JlIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4OTkKCjIwMTItMDUtMTUgMTU6NDY6MjggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBobHM6IHVzZSBnc3QgYXBpIGZvciB0aW1lc3RhbXBzIGluc3RlYWQgb2YgdGhlICh3cm9uZykgYXBpIGZyb20gYSB0b28gbmV3IGdsaWIKCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGZyYWdtZW50LmMKCjIwMTItMDUtMTQgMTE6Mzg6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBvcHRpbWl6ZSBvdXRwdXQgYnkgYWdncmVnYXRpbmcgcGFja2V0cwoJICAuLi4gcmF0aGVyIHRoYW4gcHVzaGluZyBlYWNoIChzbWFsbCkgcGFja2V0IGluIGEgc2VwYXJhdGUgYnVmZmVyLgoJICBtMnRzIG1vZGUgbm90IHlldCBvcHRpbWl6ZWQgdGhvdWdoLgoKMjAxMi0wNS0xMSAxMTo0Njo1OCArMDIwMCAgQWxiZXJ0IEFzdHJhbHMgQ2lkIDxhbGJlcnQuYXN0YWxzIGF0IGNhbm9uaWNhbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHM6IHN1cHBvcnQgaXRlbXMgaW4gZXh0ZW5kZWQgZXZlbnQgZGVzY3JpcHRvcgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyNDc4CgoyMDEyLTA1LTE0IDA5OjE1OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmg6CgkgIGN1cmw6IGZpeCBjb21waWxhdGlvbgoJICBEb24ndCB1c2UgZGVwcmVjYXRlZCB0aHJlYWQgQVBJCgoyMDEyLTA1LTEzIDE3OjAwOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MSA9PT0KCjIwMTItMDUtMTMgMTY6NDM6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkxCgoyMDEyLTA1LTEzIDE2OjQzOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDUtMTMgMTU6NTY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYzcwMjAzIHRvIDM0MjliYTYKCjIwMTItMDUtMTMgMTU6MjQ6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkgIGN1cmw6IEZpeCBlcXVhbGl0eSBjb21wYXJpc29uIHdpdGggZXh0cmFuZW91cyBwYXJhbnRoZXNlcyBjb21waWxlciB3YXJuaW5nCgkgIGdzdGN1cmxodHRwc2luay5jOjQxMToyNzogZXJyb3I6IGVxdWFsaXR5IGNvbXBhcmlzb24gd2l0aCBleHRyYW5lb3VzIHBhcmVudGhlc2VzCgoyMDEyLTA1LTEyIDEyOjA4OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGNoZWNrOiBtYWtlIGdpdCBpZ25vcmUgbmV3IHVuaXQgdGVzdCBiaW5hcmllcwoKMjAxMi0wNC0yNSAxOTo0Njo1MyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxzbXRwc2luay5jOgoJICBjdXJsOiBuZXcgY3VybHNtdHBzaW5rIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mzc0MQoKMjAxMi0wMS0yMyAwOTo0NToyNCArMDEwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZ0cHNpbmsuYzoKCSAgY3VybDogbmV3IGN1cmxmdHBzaW5rIGVsZW1lbnQKCSAgaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUzNzQxCgoyMDEyLTAxLTIzIDA5OjI4OjEwICswMTAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJICBjdXJsOiBuZXcgY3VybGZpbGVzaW5rIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mzc0MQoKMjAxMi0wMS0yMyAwOTowMDo0NyArMDEwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsaHR0cHNpbmsuYzoKCSAgY3VybDogcmVmYWN0b3IgY3VybHNpbmssIHJlbmFtZSB0byBjdXJsaHR0cHNpbmsKCSAgU3BsaXQgaW50byBiYXNlLCB0bHMgYW5kIGh0dHAgY2xhc3Nlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mzc0MQoKMjAxMi0wNS0xMCAyMToxNTo0MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IGNvbnNpc3RlbmN5IGluIHRlbXBsYXRlcyBuYW1lCgoyMDEyLTA1LTEwIDEwOjExOjE4IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEFkZCBhIGNvbm5lY3Rpb24tc3BlZWQgcHJvcGVydHkKCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMDUtMTAgMTA6MTA6MTQgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHM6IEFkZCBhIHdheSB0byBnZXQgYmVzdCBwbGF5bGlzdCBmb3IgYSBzcGVjaWZpYyBiaXRyYXRlIGluIE0zVThDbGllbnQKCSAgTWFrZSB1c2Ugb2YgaXQgaW4gaGxzZGVtdXgKCjIwMTItMDUtMDggMTM6Mjc6MTUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBZGQgZmFpbG92ZXIgcHJvdGVjdGlvbi4KCSAgTXVsdGlwbGUgc3RyZWFtcyB3aXRoIHNhbWUgYmFuZHdpZHRoIGdldCByZXRyaWVkCgoyMDEyLTA1LTA4IDEzOjA0OjM1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBDYWxjdWxhdGUgdGhlIHJlYWwgYml0cmF0ZSBhbmQgc3dpdGNoIHRvIHRoZSBjb3JyZWN0IHZhcmlhbnQKCSAgV2Ugbm93IGNhbGN1bGF0ZSB0aGUgYWN0dWFsIGJpdHJhdGUgdXNpbmcgdGhlIGRvd25sb2FkIHNwZWVkL3NpemUgYW5kCgkgIHRoZW4gc3dpdGNoIGRpcmVjdGx5IHRvIHRoZSB2YXJpYW50IHRoYXQgbWF0Y2hlcyBvdXIgYmFuZHdpZHRoIHRoZQoJICBtb3N0LgoJICBJdCB3aWxsIGFsc28gYmUgYWJsZSB0byBoYW5kbGUgYW55IHVzZSBjYXNlIHdoZXJlIHNvbWUgb2YgdGhlCgkgIHZhcmlhbnRzIGFyZSBub3QgYXZhaWxhYmxlLCBhbmQgd291bGQgc2tpcCB0aGVtIGFuZCBnbyB0byB0aGUgbmV4dAoJICBwb3NzaWJsZSB2YXJpYW50LgoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMi0wNS0wOCAxMTozNDo0NyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCByZXNldCB0aGUgc2VxdWVuY2UgbnVtYmVyIGluIGEgbGl2ZSBzdHJlYW0gZm9yIGEgbm9ybWFsIHBsYXlsaXN0IHVwZGF0ZS4KCSAgT25seSBmb3Igc3RyZWFtIHN3aXRjaGluZwoKMjAxMi0wNS0wOCAxMTozMzo1MCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSWYgd2UgdXBkYXRlIHRoZSBwbGF5bGlzdCwgbWFrZSBzdXJlIHRoZSBzZXF1ZW5jZSBudW1iZXIgaXMgbmV2ZXIgbW9yZSB0aGFuIDMgZnJhZ21lbnRzIGJlZm9yZSB0aGUgZW5kCgoyMDEyLTA1LTA4IDExOjEzOjI2IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW4gYSBsaXZlIHN0cmVhbSwgZG8gbm90IHN0YXJ0IGZyb20gMyBmcmFnbWVudHMgYmVmb3JlIHRoZSBlbmQuCgoyMDEyLTA1LTA4IDExOjA5OjI4IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBObyBuZWVkIHRvIHN0b3JlIHBvc2l0aW9uIHNpbmNlIGl0J3MgdGhlIGJ1ZmZlcidzIHRpbWVzdGFtcAoJICBUaGlzIGFsc28gd2lsbCBmaXggdGhlIGlzc3VlIG9mIGhhdmluZyB0aGUgY3VycmVudCBwb3NpdGlvbiBkaWZmZXJlbnQKCSAgZnJvbSB0aGUgYWN0dWFsIHBvc2l0aW9uIG9mIHRoZSBmaXJzdCBidWZmZXIgaW4gdGhlIHF1ZXVlIGluIGNhc2UKCSAgdGhlIGNhY2hpbmcgY2F1c2VkIGEgcmVzeW5jIG9mIHRoZSBzZXF1ZW5jZSBudW1iZXIuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDExLTA5LTE1IDIwOjQ3OjU0IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRmFsbGJhY2sgdG8gcHJldmlvdXMgcGxheWxpc3Qgd2hlbiBzd2l0Y2hpbmcgaWYgdGhlIG5ldyBwbGF5bGlzdCBjYW4ndCBiZSBmZXRjaGVkCgoyMDEyLTA1LTEwIDEzOjQ2OjI3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSAgZ2F1ZGllZmZlY3RzOiBjb25zaXN0ZW5jeSBmaXhlcyBpbiBnc3RnYXVzc2JsdXIKCjIwMTItMDUtMTAgMTA6NDc6MjcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZ2F1c3NpYW5ibHVyIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE3OjIxOjMwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBzb2xhcml6ZSB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNzowNjoyMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBleGNsdXNpb24gdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTY6NTU6MTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGRvZGdlIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE2OjMwOjQwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGRpbGF0ZSB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNjoxMDoxOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGJ1cm4gdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTU6NDQ6MDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGNocm9taXVtIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE0OjI4OjA5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSAgZ2F1ZGllZmZlY3RzOiB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgaW4gYmx1cgoKMjAxMi0wNS0wOSAxMzozNTo0NiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IHRvIDAuMTEKCjIwMTItMDUtMDkgMDk6NDk6MTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZ2F1c3NibHVyIHRvIDAuMTEKCjIwMTItMDUtMDggMTg6MDk6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IHNvbGFyaXplIHRvIDAuMTEKCjIwMTItMDUtMDggMTg6MDk6MDkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZXhjbHVzaW9uIHRvIDAuMTEKCjIwMTItMDUtMDggMTc6Mzg6MjIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGRvZGdlIHRvIDAuMTEKCjIwMTItMDUtMDggMTc6MTc6MTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZGlsYXRlIHRvIDAuMTEKCjIwMTItMDUtMDggMTY6NTA6MDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJICBnYXVkaWVmZmVjdHM6IGFkZCBoZWFkZXIgdG8gZ2F1c3NibHVyCgoyMDEyLTA1LTA4IDE2OjM5OjAyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBjaHJvbWl1bSB0byAwLjExCgoyMDEyLTA1LTA4IDE2OjM4OjQ4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgYnVybiB0byAwLjExCgoyMDEyLTA1LTA4IDE0OjE3OjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGNvbnRyb2xsZXIgbG9jYXRpb24gYW5kIGFwaQoKMjAxMi0wNS0wOCAxNzo1ODo1OCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZml4IGRlYWRsb2NrIHdoZW4gdGhlIGRldmljZSBpcyBsb3N0CgoyMDEyLTA1LTA4IDE4OjEwOjMwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiByZW1vdmUgdHJhaWxpbmcgJzsnIGZyb20gbG9ja3MgZGVmaW5lcyB0byBtYWtlIGdzdC1pbmRlbnQgaGFwcHkKCjIwMTItMDUtMDcgMTM6MTM6MzQgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htc2luazogZml4IG1lbW9yeSBjb3JydXB0aW9uIHdoZW4gYSBjbGllbnQgZGlzY29ubmVjdHMgKGZpeGVzICM2NzU2NDApCgkgIEFsc28sIGFkZCBhIGNoZWNrIHRvIG1ha2Ugc3VyZSBhIGNsaWVudCBpc24ndCBkdW1wZWQgdHdpY2UKCjIwMTItMDUtMDcgMjM6NTc6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgcmZic3JjOiBjYWxsIFdTQVN0YXJ0dXAvQ2xlYW51cCBvbiB3aW4zMgoJICBJZiB3ZSBsaW5rIGFnYWluc3QgbGlid2luc29jazIsIHdlIHNob3VsZCBwcm9iYWJseSBjYWxsCgkgIFN0YXJ0dXAvQ2xlYW51cCBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NDE1CgoyMDEyLTA1LTAzIDIzOjQyOjEzICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAZ21haWwuY29tPgoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgcmZic3JjOiBmaXggbGlicmZiIGxpbmtpbmcgb24gd2luMzIKCSAgbGlidG9vbDogbGluazogIGk2ODYtdzY0LW1pbmd3MzItZ2NjIC1zaGFyZWQgLmxpYnMvbGliZ3N0cmZic3JjLmRsbC5kZWYKCSAgLmxpYnMvbGliZ3N0cmZic3JjX2xhLWdzdHJmYnNyYy5vICAtV2wsLS13aG9sZS1hcmNoaXZlIC4vLmxpYnMvbGlicmZiLmEKCSAgLVdsLC0tbm8td2hvbGUtYXJjaGl2ZSAgLUwvdXNyL2k2ODYtdzY0LW1pbmd3MzIvc3lzLXJvb3QvbWluZ3cvbGliCgkgIC1sZ3N0YmFzZS0wLjEwIC1sZ3N0cmVhbWVyLTAuMTAgLWx4bWwyIC1sZ29iamVjdC0yLjAgLWxndGhyZWFkLTIuMAoJICAtbGdtb2R1bGUtMi4wIC1sZ2xpYi0yLjAgLWxpbnRsICAtbW1zLWJpdGZpZWxkcyAtbW1zLWJpdGZpZWxkcyAtTzIgICAtbwoJICAubGlicy9saWJnc3RyZmJzcmMuZGxsIC1XbCwtLWVuYWJsZS1hdXRvLWltYWdlLWJhc2UgLVhsaW5rZXIKCSAgLS1vdXQtaW1wbGliIC1YbGlua2VyIC5saWJzL2xpYmdzdHJmYnNyYy5kbGwuYQoJICBDcmVhdGluZyBsaWJyYXJ5IGZpbGU6IC5saWJzL2xpYmdzdHJmYnNyYy5kbGwuYQoJICAuLy5saWJzL2xpYnJmYi5hKGxpYnJmYl9sYS1yZmJkZWNvZGVyLm8pOiBJbiBmdW5jdGlvbgoJICBgcmZiX2RlY29kZXJfcmVhZCc6CgkgIC9ob21lL2VsbWFyY28vcGtnL3JoZWwvbWluZ3ctZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLWZyZWUvZ3N0LXBsdWdpbnMtYmFkLTAuMTAuMjMvYnVpbGRfd2luMzIvZ3N0L2xpYnJmYi8uLi8uLi8uLi9nc3QvbGlicmZiL3JmYmRlY29kZXIuYzoxNjQ6CgkgIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX3JlY3ZAMTYnCgkgIC4vLmxpYnMvbGlicmZiLmEobGlicmZiX2xhLXJmYmRlY29kZXIubyk6IEluIGZ1bmN0aW9uCgkgIGByZmJfZGVjb2Rlcl9jb25uZWN0X3RjcCc6CgkgIC9ob21lL2VsbWFyY28vcGtnL3JoZWwvbWluZ3ctZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLWZyZWUvZ3N0LXBsdWdpbnMtYmFkLTAuMTAuMjMvYnVpbGRfd2luMzIvZ3N0L2xpYnJmYi8uLi8uLi8uLi9nc3QvbGlicmZiL3JmYmRlY29kZXIuYzoxMTI6CgkgIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX3NvY2tldEAxMicKCSAgL2hvbWUvZWxtYXJjby9wa2cvcmhlbC9taW5ndy1nc3RyZWFtZXItcGx1Z2lucy1iYWQtZnJlZS9nc3QtcGx1Z2lucy1iYWQtMC4xMC4yMy9idWlsZF93aW4zMi9nc3QvbGlicmZiLy4uLy4uLy4uL2dzdC9saWJyZmIvcmZiZGVjb2Rlci5jOjExOToKCSAgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2ltcF9faHRvbnNANCcKCSAgL2hvbWUvZWxtYXJjby9wa2cvcmhlbC9taW5ndy1nc3RyZWFtZXItcGx1Z2lucy1iYWQtZnJlZS9nc3QtcGx1Z2lucy1iYWQtMC4xMC4yMy9idWlsZF93aW4zMi9nc3QvbGlicmZiLy4uLy4uLy4uL2dzdC9saWJyZmIvcmZiZGVjb2Rlci5jOjEyMzoKCSAgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2ltcF9faW5ldF9hZGRyQDQnCgkgIC9ob21lL2VsbWFyY28vcGtnL3JoZWwvbWluZ3ctZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLWZyZWUvZ3N0LXBsdWdpbnMtYmFkLTAuMTAuMjMvYnVpbGRfd2luMzIvZ3N0L2xpYnJmYi8uLi8uLi8uLi9nc3QvbGlicmZiL3JmYmRlY29kZXIuYzoxMjU6CgkgIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX2Nvbm5lY3RAMTInCgkgIEl0IG5lZWRzIC1sd3MyXzMyIHdoaWNoIGlzIGFscmVhZHkgaW4gJChXSU5TT0NLMl9MSUJTKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NDE1CgoyMDEyLTA1LTAyIDA4OjAzOjQ2IC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IGFkZCBtaXNzaW5nIGNhc3RzIHRvIExQQ1NUUgoKMjAxMi0wNS0wMyAyMzo1MToxNCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBsb3dlciByYW5rIG9mIHRoZSBEaXJlY3RTaG93IHZpZGVvIHNpbmsgcGx1Z2luCgkgIGQzZHZpZGVvc2luayBzaG91bGQgaGF2ZSBhIGhpZ2hlciByYW5rIGFzIGl0IHdvcmtzIGJldHRlci4KCjIwMTItMDUtMDIgMDc6NTY6MDAgLTA3MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogRml4IGNvbXBpbGF0aW9uIG9uIHg2NCBwbGF0Zm9ybXMKCjIwMTItMDUtMDUgMjA6MDE6NDYgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIEZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzIG9uIG1pbmd3LXc2NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NTIwCgoyMDEyLTA1LTA1IDE4OjIwOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3J0bXAvTWFrZWZpbGUuYW06CgkqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgIEFkZCBXSU5TT0NLMl9MSUJTLCByZW1vdmUgV0lOMzJfTElCUywgZml4IHJ0bXAgYnVpbGQgb24gV2luZG93cyBzb21lIG1vcmUKCSAgT25lIHdheSBvZiBwYXNzaW5nIC1sd3MyXzMyIHRvIHBsdWdpbnMgc2hvdWxkIGJlIGVub3VnaC4uCgoyMDEyLTA0LTE3IDExOjQ0OjE4ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcnRtcDogbGluayB0byB3aW5zb2NrIGxpYnJhcnkgb24gV2luZG93cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjQzCgoyMDEyLTA1LTA0IDE0OjAxOjEzICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBtYXJrIHVucG9ydGVkIFdpbmRvd3MgcGx1Z2lucyBhcyBzdWNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU0NDAKCjIwMTItMDUtMDQgMTc6MDk6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiByZW1vdmUgdW5uZWNlc3NhcnkgY29kZQoKMjAxMi0wNS0wNCAxNzoxMDoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IGltcHJvdmUgaW1hZ2UgY2FwdHVyZSBkZWJ1ZwoKMjAxMi0wNS0wNCAxNzowNTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IGFsd2F5cyBmb3JjZSBpbWFnZS1wcm9maWxlIHRvIGhhdmUgdmFyaWFibGUgZnJhbWVyYXRlCgkgIGltYWdlLWVuY29kZWJpbiBjYW4ndCB1c2UgdmlkZW9yYXRlIGFzIGl0IGFsd2F5cyBzdG9yZSBvbmUgYnVmZmVyCgkgIHRvIGJlIGFibGUgdG8gZG8gaXRzIHRpbWVzdGFtcHMvZHVyYXRpb24gbWF0aC4gQXMgaW1hZ2UgY2FwdHVyZXMKCSAgb25seSBwdXNoIG9uZSBidWZmZXIgYXQgYSB0aW1lLCB0aGlzIHZpZGVvcmF0ZSBiZWhhdmlvciBicmVha3MKCSAgY2FtZXJhYmluIHVzYWdlLgoKMjAxMi0wNS0wMyAxOToxMTo1NyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBiYXNlY2FtZXJhYmluOiBEbyBub3Qgc2V0IHRoZSBwYWQgdGVtcGxhdGVzIGluIHRoZSBiYXNlIGNsYXNzLgoJICBJdCBpcyBiZXN0IHRvIGxldCB0aGUgc3ViY2xhc3MgZGVmaW5lIHRoZSBwYWQgdGVtcGxhdGVzLCB0aGlzIHdvdWxkCgkgIGFsbG93IHRoZSBzdWJjbGFzcyB0byBkZWNpZGUgd2hpY2ggY2FwcyB0aGUgcGFkcyBzaG91bGQgaGF2ZS4KCjIwMTItMDUtMDEgMTc6NTU6MDIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSAgdmlkZW9jb250ZXh0OiBSZW1vdmUgdGhlIGV4cGxpY2l0IHVucmVmaW5nIG9mIHBhZCBvYmplY3QgZ2V0dGluZyBmcm9tIGl0ZXJhdG9yLgoKMjAxMi0wNS0wMiAxNTozNTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBhdm9pZCBhc3NlcnRpb24gYnkgdXNpbmcgbnVsbCBjYXBzIGFzIGFueQoJICBOVUxMIGNhcHMgYXJlbid0IHZhbGlkIGNhcHMsIHVzZSBhIHJlZmVyZW5jZSB0byAnYW55JyBjYXBzCgoyMDEyLTA1LTAyIDE1OjI0OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogRml4IGdldC9zZXRfcHJvcGVydHkgZm9yIGVuY29kaW5nIHByb2ZpbGVzCgkgIEVuY29kaW5nIHByb2ZpbGVzIGFyZSBvYmplY3RzLCBub3QgYm94ZWQgdHlwZXMKCjIwMTItMDUtMDIgMDk6NDM6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogbnVsbCBjYXBzIGFyZSBub3QgdmFsaWQgaW4gMS4wCgkgIFVzZSBhbnkgY2FwcyBmb3IgdGhlIHByZXZpZXctY2FwcyBwcm9wZXJ0eSwgYXMgTlVMTCBjYXBzIGFyZQoJICBub3QgdmFsaWQgY2FwcyBpbiAxLjAgYW55bW9yZQoKMjAxMi0wNS0wMSAxNToyOTozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluMi1zcmMudHh0OgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIGN1c3RvbSByZW5lZ290aWF0ZSBldmVudAoJICBJbiAxLjAgdGhlcmUgaXMgYSBjb3JlIHJlY29uZmlndXJlIGV2ZW50LCBjYW1lcmFiaW4gZG9lc24ndCBuZWVkCgkgIGl0cyBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnQgYW55bW9yZQoKMjAxMi0wNS0wMSAxNTowODo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IFVzZSBwbGFpbiB2aWRlbyBlbmNvZGluZyBwcm9maWxlIGZvciBpbWFnZXMKCSAgRG8gbm90IHVzZSBqcGVnIGFzIGEgY29udGFpbmVyIGZvcm1hdCBmb3IgaW1hZ2UgY2FwdHVyZXMsIHVzZQoJICB0aGUgcGxhaW4gdmlkZW8gZW5jb2RpbmcgZm9ybWF0LiBJdCB3YXMgdXNlZCBhcyBhIGNvbnRhaW5lciBpbgoJICAwLjEwIHRvIGZvcmNlIHRoZSBhZGRpdGlvbiBvZiB0YWdzIHRvIHRoZSBpbWFnZS4KCjIwMTItMDUtMDEgMTQ6MzE6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogY2hhbmdlIG91dHB1dC1zZWxlY3RvciBuZWdvdGlhdGlvbiBtb2RlCgkgIEluIDAuMTAgY2FtZXJhYmluMiBjb250cm9sbGVkIHRoZSBuZWdvdGlhdGlvbiBzdHJpY3RseSBhbmQgdGhlIG91dHB1dC1zZWxlY3RvcgoJICB3b3VsZG4ndCBmb3J3YXJkIHNldGNhcHMgY2FsbHMuIEluIDAuMTEgdGhlIHJlbmVnb3RpYXRpb24gZXZlbnRzIGFyZSBhbHJlYWR5IGluCgkgIGNvcmUgYW5kIHdlIGNhbiBhbGxvdyB0aGUgcGlwZWxpbmUgdG8gaGFuZGxlIGl0IHdpdGhvdXQgbXVjaCBjb250cm9sIGZyb20gY2FtZXJhYmluCgkgIHBhcnQgKEkgaG9wZSksIHNvIHRoaXMgcGF0Y2ggbWFrZXMgb3V0cHV0LXNlbGVjdG9yIGZvcndhcmQgY2FwcyBuZWdvdGlhdGlvbiBldmVudHMKCSAgdG8gdGhlIGFjdGl2ZSBwYWQuCgoyMDEyLTA1LTAxIDE0OjMxOjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHJlbW92aW5nIHJlbmVnb3RpYXRlIGhhbmRsZXJzCgkgIGdzdHJlYW1lciAxLjAgYWxyZWFkeSBoYXMgdGhlIHJlY29uZmlndXJlIGV2ZW50LCByZW1vdmUgdGhlCgkgIGN1c3RvbSBldmVudCBoYW5kbGluZyBmcm9tIHdyYXBwZXJjYW1lcmFiaW5zcmMKCjIwMTItMDUtMDEgMTM6Mjg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogcHJldmVudCBjYXBzIHJlbmVnb3RpYXRpb24gbG9vcAoJICBPbmx5IHNldCB0aGUgem9vbSBjYXBzZmlsdGVyIGNhcHMgd2hlbiB0aGUgbmV3IGNhcHMgYXJlIGRpZmZlcmVudCwKCSAgcHJldmVudGluZyBhIGNhcHMgcmVuZWdvdGlhdGlvbiBsb29wLgoKMjAxMi0wNS0wMSAxMzoxNToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBjYW1lcmFiaW46IGV4YW1wbGU6IFVwZGF0ZSBwcmVwYXJlLXdpbmRvdy1oYW5kbGUgbWVzc2FnZQoJICBNZXNzYWdlIG5hbWUgY2hhbmdlZCBmcm9tIHByZXBhcmUteHdpbmRvdy1pZCB0byBwcmVwYXJlLXdpbmRvdy1oYW5kbGUKCjIwMTItMDUtMDEgMTM6MDA6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjogZXhhbXBsZXM6IFJlbmFtaW5nIGNhbWVyYWJpbjIgdG8gY2FtZXJhYmluCgoyMDEyLTA1LTAxIDEwOjI2OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IHVwZGF0aW5nIHByb3BlcnR5IHRvIG5ldyBuYW1lCgkgIGVuYWJsZS1sYXN0LWJ1ZmZlciBpcyBub3cgZW5hYmxlLWxhc3Qtc2FtcGxlCgoyMDEyLTA1LTAxIDEwOjE4OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IFJlcGxhY2luZyBmZm1wZWdjb2xvcnNwYWNlIHdpdGggdmlkZW9jb252ZXJ0CgoyMDEyLTA0LTMwIDEyOjM2OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNiYXNlOiB1bnJlZiBiYWQgcGFja2V0cyB0b28KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jCgoyMDEyLTA0LTMwIDEyOjI4OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVzZXQgdGhlIHN0YXRlIG9mIHRoZSBzdHJlYW0gd2hlbiBmbHVzaGluZwoJICBXZSBuZWVkIHRvIHJlc2V0IHRoZSBzdHJlYW0gb24gYSBmbHVzaCBvciBlbHNlIG9sZCBwYWNrZXRzIGNvdWxkIGJlIGFkZGVkIHRvIHRoZQoJICBsaXN0IGFuZCBsZWFrLgoKMjAxMi0wNC0zMCAxMTowNToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IGRvbid0IHB1c2ggZXZlbnRzIHVwc3RyZWFtIGluIHB1bGwgbW9kZQoJICBJbiBwdWxsIG1vZGUsIGRvbid0IHB1c2ggdGhlIHNlZWsgZXZlbnQgdXBzdHJlYW0uCgoyMDEyLTA0LTI2IDIyOjQ5OjA3IC0wNDAwICBXaW5kIFl1YW4gPGZlbmcueXVhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBtcGVnNCB0eXBlIGVycm9yCgoyMDEyLTA1LTAxIDA5OjQxOjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzOiBkb24ndCBwb2tlIGludG8gcHJpdmF0ZSBhZGFwdGVyIGZpZWxkcwoKMjAxMi0wNC0zMCAxODowNTowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IHVwZGF0ZSBjYW1lcmFiaW4oMikgdW5pdCB0ZXN0IGZvciByZW5hbWUKCjIwMTItMDQtMzAgMTc6NTY6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJICBjYW1lcmFiaW4yOiByZW5hbWUgdG8gImNhbWVyYWJpbiIKCSAgQnV0IGxlYXZlIHNvdXJjZSBjb2RlIGludGFjdCBmb3Igbm93LCBmb3IgZWFzaWVyIHBhdGNoIG1lcmdpbmcuCgoyMDEyLTA0LTMwIDE3OjQ0OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBnc3QvY2FtZXJhYmluLy5naXRpZ25vcmU6CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vVE9ETzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5kZWJ1Zy5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLnVpOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS51aToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBSZW1vdmUgb2xkIGNhbWVyYWJpbgoKMjAxMi0wNC0yNSAxMzozMTozNiArMDIwMCAgR2lsIFBlZGVyc2VuIDxnaXRAZ3Bvc3QuZGs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzdGFydCBwYXVzZWQgdGFzayBvbiBuZXcgZGF0YQoKMjAxMi0wNC0yMSAxMTozNjowOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZDogQWRkIHN1cHBvcnQgZm9yIHRoZSBmYWFjIHBsdWdpbgoKMjAxMi0wNC0xNiAxMDowNzo1MSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkgIFJlZW5hYmxlIGZhYWQgcGx1Z2luIGZvciB0aGUgQW5kcm9pZCBOREsgYnVpbGRzCgoyMDEyLTA0LTI1IDExOjUwOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3JzdmcvZ3N0cnN2Zy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSAgcnN2ZzogU3RvcCB1c2luZyBkZXByZWNhdGVkIEFQSSB3aGVuIGNvbXBpbGluZyB3aXRoIFJTVkcgMi4zNS4wIG9yIG5ld2VyCgoyMDEyLTAzLTI5IDE1OjU3OjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMTItMDQtMDQgMTE6NTE6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiBIYW5kbGUgR3N0Qnl0ZVdyaXRlciByZXR1cm4gdmFsdWVzCgoyMDEyLTA0LTI1IDEwOjI3OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzbmRpbyBwbHVnaW4gaXMgbm90IHBvcnRlZCB5ZXQKCjIwMTItMDQtMjUgMTA6MjU6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NuZGlvL2dzdHNuZGlvLmM6CgkgIHNuZGlvOiBGaXggaTE4biBpbml0aWFsaXphdGlvbgoKMjAxMi0wNC0xMSAyMTowNToyNiAtMDQwMCAgSmFjb2IgTWV1c2VyIDxqYWtlbXNyQHNkZi5sb25lc3Rhci5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NuZGlvL01ha2VmaWxlLmFtOgoJKiBleHQvc25kaW8vZ3N0c25kaW8uYzoKCSogZXh0L3NuZGlvL3NuZGlvc2luay5jOgoJKiBleHQvc25kaW8vc25kaW9zaW5rLmg6CgkqIGV4dC9zbmRpby9zbmRpb3NyYy5jOgoJKiBleHQvc25kaW8vc25kaW9zcmMuaDoKCSAgc25kaW86IGFkZCBzbmRpbyBwbHVnaW4gZm9yIE9wZW5CU0QKCjIwMTItMDQtMjQgMTc6MDA6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkgIGNvbG9yZWZmZWN0czogcG9ydCB0byAwLjExCgoyMDEyLTA0LTI0IDE1OjIwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZiLXN1YjogVXNlIHVuY2hlY2tlZCBieXRlIHJlYWRlciBmdW5jdGlvbnMKCjIwMTItMDQtMjQgMTQ6NTc6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBVc2UgY29ycmVjdCBlbnVtIHR5cGUKCjIwMTItMDQtMjQgMTE6MDI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXU6IFN3aXRjaCBmcm9tIGRlcHJlY2F0ZWQgWEtleWNvZGVUb0tleXN5bSgpIHRvIFhrYktleWNvZGVUb0tleXN5bSgpCgkgIENvbmZsaWN0czoKCSAgc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYwoKMjAxMi0wNC0yMyAxNzoxMTozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTItMDQtMjMgMTY6NTU6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuaDoKCSAgYXNmbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMTIgMTQ6MTc6MTQgKzAyMDAgIEdpbCBQZWRlcnNlbiA8Z2l0QGdwb3N0LmRrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50Lmg6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgaGxzZGVtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNC0yMCAxNTowNTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcGFzcyB0aGUgcmVhc29uIGZvciBmYWlsZWQgcmVhZCBhcyBHc3RGbG93UmV0dXJuCgkgIE1ha2UgdGhlIF9yZWFkX2RldmljZSBmdW5jdGlvbiByZXR1cm4gYSBHc3RGbG93UmV0dXJuIHNvIHRoYXQgd2UgY2FuIHByb3BhZ2F0ZQoJICB0aGlzIHRvIHRoZSBjYWxsZXIuIFRoaXMgYWxsb3dzIHVzIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBwb2xsIGVycm9ycyBhbmQKCSAgZmx1c2hpbmcgc3RhdGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQyMTkKCjIwMTItMDQtMTcgMTE6NDQ6MDAgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIEZpeCBmb3JtYXQgKHR5cGUgaXMgZXhwbGljaXRseSB1bnNpZ25lZCBsb25nKQoJICBGaXhlcyAjNjc0MjQ0CgoyMDEyLTA0LTIwIDEyOjA5OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkgIG5hczogUmV3b3JrIG5hc3NpbmsgYSBsaXR0bGUKCSAgQmFzZWQgb24gcGF0Y2ggZnJvbSA8b2xlLmhlbGxxdmlzdCBhdCBzcHJheS5zZT4KCSAgQ3JlYXRlIGFuZCBkZXN0cm95IGZsb3cgaW4gcHJlcGFyZS91bnByZXBhcmUKCSAgUmVtb3ZlIHNvbWUgZHVwbGljYXRlIGNvZGUgZnJvbSBjbG9zZSBhbmQgcHJlcGFyZSB0aGF0IGlzIG5vdyBpbiB1bnByZXBhcmUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQxMzAKCjIwMTItMDQtMTggMTI6MDI6NTIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuaDoKCSAgRG9jIGZpeGVzIChnc3RzdXJmYWNlY29udmVydGVyLCBnc3RzdXJmYWNlbWV0YSkuCgoyMDEyLTA0LTIwIDExOjIzOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJICBtcGVndHNkZW11eDogd2UgaWdub3JlIHdhcm5pbmdzIGRpZmZlcmVudGx5CgkgIFdlIHN1cHByZXNzIHRoZSB3YXJuaW5ncyBpbiB0aGUgLmMgZmlsZSBpbnN0ZWFkLgoKMjAxMi0wNC0xOSAxNDoyMDo1MiArMDIwMCAgR2lsIFBlZGVyc2VuIDxnaXRAZ3Bvc3QuZGs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBwb3J0IHRvIDAuMTEKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDM5NwoKMjAxMi0wNC0yMCAxMDo1MDoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IGNsYXJpZnkgZXZlbnQgb3duZXJzaGlwCgoyMDEyLTA0LTE5IDEzOjU5OjM3ICswMjAwICBHaWwgUGVkZXJzZW4gPGdpdEBncG9zdC5kaz4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IG1lbW9yeSBsZWFrcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MzkzCgoyMDEyLTA0LTIwIDExOjEyOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL01ha2VmaWxlLmFtOgoJICBmaWVsZGFuYWx5c2lzOiBEb2VzIG5vdCBuZWVkIHRvIGxpbmsgdG8gbGliZ3N0YmFzZXZpZGVvIGF0IGFsbAoJICBDb25mbGljdHM6CgkgIGdzdC9maWVsZGFuYWx5c2lzL01ha2VmaWxlLmFtCgoyMDEyLTA0LTE5IDE0OjI0OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkgIGZpeCBmb3IgdmlkZW8gYXBpIHVwZGF0ZQoKMjAxMi0wNC0xOSAxMjoyOTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSAgdmlkZW86IFVwZGF0ZSBmb3IgbGliZ3N0dmlkZW8gQVBJIGNoYW5nZXMKCjIwMTItMDQtMTcgMjI6NDY6MTIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBEbyBub3Qgc2V0IHRoZSBkdXJhdGlvbiB0byB0aGUgaW5wdXQgYnVmZmVyJ3MgZHVyYXRpb24gdW5sZXNzIHZhbGlkIFRoaXMgY2F1c2VzIGEgYnVnIHdoZXJlIHRoZSBmaXJzdCBidWZmZXIgaGFzIHRzID0gMCwgZHVyPVgsIHRoZSBzZWNvbmQgYnVmZmVyIGhhcyB0cz1YIChiZWNhdXNlIG9mIHRzICs9IGR1cmF0aW9uKSwgZHVyPS0xLCB0aGVuIHRoZSBmb2xsb3dpbmcgYnVmZmVycyB3aWxsIHN0YXJ0IGhhdmluZyBhIG5vbiB2YWxpZCB0aW1lc3RhbXAuIFRoZSByZWFsIGR1cmF0aW9uIGlzIG9ubHkgY2FsY3VsYXRlZCBkdXJpbmcgdGhlIGNhcHMgbmVnb2NpYXRpb24gd2hlbiB0aGVyZSBpcyBhIGZyYW1lcmF0ZSBhdmFpbGFibGUgYW5kIHRoZSBidWZmZXIncyBkdXJhdGlvbiBpcyBpbnZhbGlkLgoKMjAxMi0wNC0xNyAxNTo0NDowNyArMDIwMCAgSnVsaWFuIFNjaGVlbCA8anVsaWFuQGp1c3N0LmRlPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogU2V0IGN1cnJlbnRsaXN0IHRvIE5VTEwgYWZ0ZXIgZnJlZS4KCSAgVGhpcyBwcmV2ZW50cyBkb3VibGUgZnJlZSBvZiBjdXJyZW50bGlzdCBpcyBzb21lIGNpcmN1bXN0YW5jZXMuCgoyMDEyLTA0LTE3IDE4OjU2OjUwIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRml4IGR1cmF0aW9uIGluIGJ1ZmZlcnMuIEl0J3MgZnJhbWVzIHBlciBzZWNvbmQsIG5vdCBzZWNvbmRzIHBlciBmcmFtZQoKMjAxMi0wNC0xNyAxNToyMjo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uaDoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgY29sbGVjdHBhZHMyOiByZW5hbWUgdG8gY29sbGVjdHBhZHMKCjIwMTItMDQtMTYgMTE6MDA6NDQgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogZG8gbm90IGxpbmsgZ3N0aW50ZXJmYWNlcwoKMjAxMi0wNC0xNiAwOTowOToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZkYjI1YmUgdG8gZGM3MDIwMwoKMjAxMi0wNC0xMyAwMDoxMzozOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHBhZCBpdGVyYXRvciBsZWFrCgoyMDEyLTA0LTEzIDAwOjE0OjI3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZG9uJ3QgbGVhayBmb3JjZSBrZXkgdW5pdCBldmVudHMKCjIwMTItMDQtMTQgMjE6MDk6MjUgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBtcGVndmlkZW9wYXJzZTogRG8gbm90IGlnbm9yZSBzdGFydCBjb2RlIGF0IHRoZSBlbmQgb2YgYnVmZmVyCgoyMDEyLTA0LTE0IDIxOjAyOjA2ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogUGFyc2VyIGZhaWxzIHRvIHNwbGl0IHNvbWUgZnJhbWVzCgoyMDEyLTA0LTE0IDIwOjUzOjQ3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRml4IEZQUyBhbmQgZnJhbWUgZHVyYXRpb24gZm9yIHRlbGVjaW5lIGZpbGVzCgoyMDEyLTA0LTE0IDIwOjQ2OjI0ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRG8gbm90IHVwZGF0ZSBjb2RlYy1kYXRhIHdoZW4gb25seSBxdWFudGlzZXIgbWF0cml4IGNoYW5nZXMKCjIwMTItMDQtMTQgMTU6Mjk6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBkb24ndCBsaW5rIGFnYWluc3QgbGliZ3N0aW50ZXJmYWNlcyB3aGljaCB3YXMgcmVtb3ZlZAoJICBUaGUgR3N0TmF2aWdhdGlvbiBpbnRlcmZhY2UgaXMgbm93IGluIGxpYmdzdHZpZGVvLgoKMjAxMi0wNC0xMyAyMjowNDozOCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgZml4IGNyYXNoCgkgIGxhc3Rfc2MgaXMgbm90IHJlc2V0IGV2ZXJ5IHRpbWUgYSBmcmFtZSBpcyBiZWluZyBvdXRwdXQsIHdoaWNoIGNhbiBjYXVzZQoJICBsYXN0X3NjID4gYnVmX3NpemUgaW4gc3Vic2VxdWVudCBmcmFtZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDA3MwoKMjAxMi0wNC0xMyAxNToxMjoxMiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIFNldCBzeW5jX3BvaW5yID0gMSBmb3Iga2V5ZnJhbWUKCjIwMTItMDQtMTMgMTQ6MDc6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogdXNlIDEuMCB2aWRlb2ZpbHRlciBiYXNlY2xhc3MgZnVuY3Rpb25zCgkgIFBvcnQgdG8gdGhlIG5ldyBmdW5jdGlvbnMgb2YgdGhlIHZpZGVvZmlsdGVyIGNsYXNzCgoyMDEyLTA0LTEzIDEwOjE2OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBwb3J0IHRvIDEuMAoJICBTdHJhaWdodGZvcndhcmQgcG9ydCBvZiBnZW9tZXRyaWN0cmFuc2Zvcm0gcGx1Z2luCgoyMDEyLTA0LTEzIDEzOjQ0OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBNb2Rlcm5pemUgYXV0b3Rvb2xzIHNldHVwIGEgYml0CgkgIEFsc28gd2Ugbm93IG9ubHkgY3JlYXRlIHRhci5iejIgYW5kIHRhci54eiB0YXJiYWxscy4KCjIwMTItMDQtMTMgMTM6Mzc6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NjRmZTE1IHRvIDZkYjI1YmUKCjIwMTItMDQtMTMgMTM6MTA6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFVwZGF0ZSBmb3IgdGhlIHJlbW92YWwgb2YgdGhlIGludGVyZmFjZXMgbGlicmFyeSBhbmQgdGhlIHR1bmVyL21peGVyIGludGVyZmFjZXMKCjIwMTItMDQtMTIgMTg6MjU6MDkgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBBbmRyb2lkLm1rOgoJICBTeW5jIEFuZHJvaWQubWsgZW50cmllcyB0byB0aGUgbmV3IG1ham9yIHZlcnNpb24KCSAgQ2hhbmdlIG5hbWluZyBvbiB0aGUgcGtnY29uZmlnIGZpbGVzIHRvIHJlZmxlY3QKCSAgdGhlIDAuMTAgLT4gMS4wIGJ1bXAuCgoyMDEyLTA0LTEyIDExOjE5OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MCA9PT0KCjIwMTItMDQtMTIgMTA6NTA6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTAKCjIwMTItMDQtMTIgMTA6NDc6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMi0wNC0xMSAyMTo0Nzo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmZHNpbmsuYzoKCSAgdGVzdHM6IHJlbW92ZSBvYnNvbGV0ZSBtdWx0aWZkc2luayB0ZXN0CgkgIC4uLiB3aGljaCBpcyBpbiAtYmFzZSBub3dhZGF5cy4KCjIwMTItMDQtMTAgMTc6MzU6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveDI2NGVuYy5jOgoJICB0ZXN0czogcmVtb3ZlIG9ic29sZXRlIHgyNjRlbmMgdW5pdCB0ZXN0CgkgIC4uLiB3aGljaCBpcyBpbiAtdWdseSBub3dhZGF5cy4KCjIwMTItMDQtMTAgMTc6MjQ6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FhY2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FtcndiZW5jLmM6CgkgIHRlc3RzOiBwb3J0IHNvbWUgbW9yZSB0byAxLjAKCjIwMTItMDQtMTAgMTc6MjI6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBwbHVnIGNhcHMgbGVhawoKMjAxMi0wNC0xMCAxNzoyMjo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IHR3ZWFrIGNhcHMgbmVnb3RpYXRpb24KCSAgLi4uIHNvIGFzIHRvIGF2b2lkIGxlYWtpbmcgY2FwcyBvciBtYW5pcHVsYXRpbmcgTlVMTCBjYXBzLgoKMjAxMi0wNC0xMCAxNzoyMjowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIG1wbGV4OiBhdm9pZCBsZWFraW5nIHBhZCB0ZW1wbGF0ZSBjYXBzIGFuZCBzdXBlcmZsdW91cyBjb3B5CgoyMDEyLTA0LTEwIDE3OjIxOjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgbXBsZXg6IGZpeCBwYWQgcmVsZWFzZSBhbmQgY2xlYW51cAoKMjAxMi0wNC0wNiAxNDo1MjoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKCjIwMTItMDQtMDYgMTQ6Mjc6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB0d2VhayBkZWZhdWx0IHNldHRpbmcgb2YgZm9ybWF0IGFuZCBhbGlnbm1lbnQgaW4gY29kZWNfZGF0YSBjYXNlCgkgIC4uLiB3aGljaCBzaG91bGQgcHJvbW90ZSBlbmRpbmcgdXAgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMTItMDQtMDYgMTQ6MjM6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkbyBub3QgdXNlIF91bmNoZWNrZWQgYnl0ZXdyaXRlciB2YXJpYW50cyB0byBpbnNlcnQgY29uZmlnCgkgIC4uIHNpbmNlIHRoZSBieXRld3JpdGVyIGlzIGV4cGxpY2l0bHkgY3JlYXRlZCB3aXRoIG5vbi1maXhlZCBzaXplIHRvCgkgIGFsbG93ICh2ZXJ5IG11Y2ggc28gZXhwZWN0ZWQpIGdyb3d0aC4KCSAgUGFydGlhbGx5IHJldmVydHMgY29tbWl0IDIwNjY5ZDQ2MWE0OTUzZWI1ZWQwMTM3NGQ1YWI2MjhiNGRjNzNiNjQgd2hpbGUKCSAgdHJ5aW5nIHRvIGtlZXAgKHNvbWU/KSBjb21waWxlcnMgaGFwcHkuCgkgIElJUkMsIHRoZSBwdXJwb3NlIG9mIEdzdEJ5dGVXcml0ZXIgaW4gdGhlIGZpcnN0IHBsYWNlIHdhcyAoYXQgbGVhc3QpCgkgIGJlaW5nIGFibGUgdG8gZHVtcCBkYXRhIHdpdGhvdXQgaGF2aW5nIHRvIGZ1c3Mgd2l0aCBtZW1vcnkgZXhwYW5zaW9uCgkgIGFuZCBzaXplIGlzc3VlcyAuLi4KCSAgRml4ZXMgIzY3MzQ4NS4KCjIwMTItMDQtMDUgMTc6MTU6MTEgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoKMjAxMi0wNC0wNSAxODo0MzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdmZGE1MjQgdG8gNDY0ZmUxNQoKMjAxMi0wNC0wNSAxODowMjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWYuYzoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvYnoyL2dzdGJ6Mi5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHQuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRlLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nc2V0dGluZ3MvcGx1Z2luLmM6CgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJKiBleHQvanAyay9nc3RqcDJrLmM6CgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWwuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvcmVzaW5kdmQvcGx1Z2luLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcC5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvLmM6CgkqIGV4dC9zZGwvZ3N0c2RsLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSogZXh0L3NvdW5kdG91Y2gvcGx1Z2luLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5kc3AuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL3RlbGV0ZXh0LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2IuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZi5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZi5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL3BsdWdpbi5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvcGx1Z2luLmM6CgkqIGdzdC9iYXllci9nc3RiYXllci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXIuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3R0c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlLmM6CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGNhcHBhcnNlL3BsdWdpbi5jOgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJKiBnc3QvcmF3cGFyc2UvcGx1Z2luLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZy5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG9wbHVnaW4uYzoKCSogZ3N0L3NkaS9nc3RzZGkuYzoKCSogZ3N0L3NkcC9nc3RzZHBlbGVtLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9wbHVnaW4uYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3ViZW5jL2dzdHN1YmVuYy5jOgoJKiBnc3QvdHRhL2dzdHR0YS5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyc2JhZC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2F2Yy9nc3RhdmNwbHVnaW4uY3BwOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kdmIvZ3N0ZHZiLmM6CgkqIHN5cy9keHIzL2R4cjNpbml0LmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvcGx1Z2luLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnIuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5jOgoJKiBzeXMvc2htL2dzdHNobS5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5jOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ3N0LXByb2plY3QtbWFrZXI6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgZ3N0OiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDQtMDUgMTE6NTE6NDAgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBobHM6IFNvbWUgbW9yZSBkZWJ1Z2dpbmcKCjIwMTItMDMtMTUgMTQ6NDI6NDQgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogUmVwbGFjZSB0aGUgZmV0Y2hlciBjb2RlIHdpdGggYSBHc3RVUklEb3dubG9hZGVyIG9iamVjdAoKMjAxMi0wMy0xNCAxNzowMToxNyAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGhsczogTWlub3IgY2xlYW51cCBpbiBHc3RVcmlEb3dubG9hZGVyCgoyMDEyLTAzLTE0IDE3OjA2OjIyIC0wNDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5oOgoJICBobHNkZW11eDogRmFjdG9yIG91dCBhbGwgdGhlIGZldGNoZXIgY29kZSBpbiBhIEdzdFVSSURvd25sb2FkZXIgY2xhc3MKCSAgVGhpcyBjbGFzcyBpcyBtZWFudCB0byBiZSByZXVzYWJsZSBieSBvdGhlciBjb21wb25lbnRzCgoyMDEyLTA0LTA1IDEwOjIyOjI5IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkgIGhsczogRG8gbm90IGFkZCByZWZlcmVuY2UgdG8gYnVmZmVycyBwYXNzZWQgaW4gR3N0RnJhZ21lbnQKCSAgV2UganVzdCBzdGVhbCB0aGUgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXIsIHdoaWNoIG1lYW5zIHdlIGNhbiBrZWVwIHdyaXRpbmcgbWV0YWRhdGFzCgkgIG9uIHRoZSBidWZmZXJzLgoKMjAxMi0wMy0xMyAxNToxODoyMiAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJICBobHM6IE1pbm9yIEdzdEZyYWdtZW50IGNsZWFudXAKCjIwMTEtMDctMDggMDE6MDk6MDAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuaDoKCSAgaGxzOiBBZGQgYSBHc3RGcmFnbWVudCBjbGFzcyB0aGF0IHJlcHJlc2VudHMgYSBmcmFnbWVudCBpbiBhIG0zdSBwbGF5bGlzdAoKMjAxMi0wMy0xNSAxODoyMTo1OCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsczogTWFrZSB0aGUgdXBkYXRlcyB0aHJlYWQgYSBHc3RUYXNrCgoyMDEyLTA0LTA1IDEzOjI4OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVcGRhdGUgdmVyc2lvbiB0byAwLjExLjg5LjEKCjIwMTItMDQtMDUgMDk6MTY6MjcgKzAxMDAgIHVyYWV1cyA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlCgoyMDEyLTA0LTA1IDA2OjE4OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHNldCBjb3JyZWN0IG5ld3NlZ21lbnQgZmllbGRzIG9uIF9USU1FIHNlZWtzCgkgIEZvcndhcmQgdGhlIHNlZWsgcmF0ZSBhbmQgc2V0IE5TLnN0YXJ0IHRvIHRoZSBzZWVrIHRhcmdldCBzbyB0aGF0IGRlY29kZXJzIGNhbgoJICBhcHBseSBjbGlwcGluZyB3aGVyZSBuZWNlc3NhcnkuCgoyMDEyLTA0LTA1IDA4OjU0OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGNvcmV2aWRlb2J1ZmZlciBhZnRlciBidWZmZXIgbWV0YSBBUEkgY2hhbmdlCgoyMDEyLTA0LTA1IDA4OjUzOjQxICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGNvcmVtZWRpYWJ1ZmZlciBhZnRlciBidWZmZXIgbWV0YSBBUEkgY2hhbmdlCgoyMDEyLTA0LTA1IDA4OjUyOjQ5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogdXBkYXRlIGFmdGVyIEJhc2VTcmM6OmZpeGF0ZSBBUEkgY2hhbmdlCgoyMDEyLTA0LTA1IDA4OjI0OjMxICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogZml4IGNvbXBpbGUgd2FybmluZwoKMjAxMi0wNC0wNSAwNjoxODoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBzZXQgY29ycmVjdCBuZXdzZWdtZW50IGZpZWxkcyBvbiBfVElNRSBzZWVrcwoJICBGb3J3YXJkIHRoZSBzZWVrIHJhdGUgYW5kIHNldCBOUy5zdGFydCB0byB0aGUgc2VlayB0YXJnZXQgc28gdGhhdCBkZWNvZGVycyBjYW4KCSAgYXBwbHkgY2xpcHBpbmcgd2hlcmUgbmVjZXNzYXJ5LgoKMjAxMi0wNC0wNCAxNDo0MToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2NvbXBpbGluZy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvdmVyc2lvbi5lbnRpdGllcy5pbjoKCSogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJKiBleHQvYXNzcmVuZGVyL01ha2VmaWxlLmFtOgoJKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSogZXh0L2Nocm9tYXByaW50L01ha2VmaWxlLmFtOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJKiBleHQvZmxpdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3Mvb3JnLmZyZWVkZXNrdG9wLmdzdHJlYW1lci5kZWZhdWx0LWVsZW1lbnRzLmdzY2hlbWEueG1sLmluOgoJKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuYWwvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yc3ZnL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hbXJ3YmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC96YmFyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZhY2VvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZmllbGRhbmFseXNpcy9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VnbWVudGNsaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1jb2RlY3BhcnNlcnMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItY29kZWNwYXJzZXJzLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2F2Yy9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9wdnIyZC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBnc3Q6IFVwZGF0ZSB2ZXJzaW9uaW5nCgoyMDEyLTA0LTA0IDEyOjA2OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoKMjAxMi0wNC0wNCAwNzoyNDoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZXNldCBpdGVyYXRvciB0byBOVUxMIGFmdGVyIGl0J3MgZnJlZQoJICBGaXhlcyBwb3NzaWJsZSBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgaW4gZ3N0X3RzX2RlbXV4X3N0cmVhbV9mbHVzaAoKMjAxMi0wNC0wMiAxNTozMTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jCgoyMDEyLTA0LTAyIDE1OjI2OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IENsZWFyIGJ1ZmZlcmxpc3QvaXRlcmF0b3Igd2hlbiByZW1vdmluZyBzdHJlYW1zCgoyMDEyLTA0LTAyIDE1OjI1OjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IERvbid0IGxlYWsgYnVmZmVyIGluIGZhc3QgdmFyaWFudAoKMjAxMi0wNC0wMiAxNToyNToxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBEb24ndCBsZWFrIGNvcnJ1cHQgc2VjdGlvbiBwYWNrZXQgYnVmZmVyCgoyMDEyLTA0LTAyIDExOjEzOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB1c2UgdHJhbnNmb3JtX2lwX29uX3Bhc3N0aHJvdWdoCgoyMDEyLTA0LTAyIDExOjA3OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBmaXggY29tcGlsYXRpb24KCjIwMTItMDMtMzAgMTk6MTk6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IHNldmVyYWwgbGVha3MKCSAgKiBkb250JyBsZWFrIGJ1ZmZlcnMgd2hlbiBhIHN0cmVhbSBpcyBpbiBkaXNjb250IHN0YXRlCgkgICogZG9uJ3QgbGVhayBidWZmZXJzIHdoZW4gYSBwcm9ncmFtIGlzIHJlbW92ZWQvZGVhY3RpdmF0ZWQKCSAgKiByZW1vdmUgYWxsIHByb2dyYW1zIHdoZW4gZGlzcG9zaW5nCgoyMDEyLTAzLTMwIDE5OjE5OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBzZXZlcmFsIGxlYWtzCgkgICogZG9udCcgbGVhayBidWZmZXJzIHdoZW4gYSBzdHJlYW0gaXMgaW4gZGlzY29udCBzdGF0ZQoJICAqIGRvbid0IGxlYWsgYnVmZmVycyB3aGVuIGEgcHJvZ3JhbSBpcyByZW1vdmVkL2RlYWN0aXZhdGVkCgkgICogcmVtb3ZlIGFsbCBwcm9ncmFtcyB3aGVuIGRpc3Bvc2luZwoKMjAxMi0wMy0zMCAxODoxMzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSAgdXBkYXRlIGZvciBidWZmZXIgYXBpIGNoYW5nZQoKMjAxMi0wMy0zMCAxNzowOTozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeHVwIG1lcmdlCgoyMDEyLTAzLTMwIDEzOjIzOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogRml4IGNvbXBpbGF0aW9uCgoyMDEyLTAzLTMwIDEyOjU1OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0ZW5jOiBVc2UgbmV3IGdzdF9hdWRpb19lbmNvZGVyX3NldF9oZWFkZXJzKCkgQVBJCgoyMDEyLTAzLTMwIDEyOjIyOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBleHQ6IFVwZGF0ZSBmb3IgR3N0QXVkaW9FbmNvZGVyIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTMwIDEyOjAyOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogVXBkYXRlIGZvciBiYXNlcGFyc2UgQVBJIGNoYW5nZXMKCjIwMTItMDMtMzAgMTE6NTM6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBleHQ6IFVwZGF0ZSBmb3IgYXVkaW8gZGVjb2RlciBBUEkgY2hhbmdlcwoKMjAxMi0wMy0yOSAxODowNDozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAxMi0wMy0yOSAxODowMzowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEZpeCBhIG1lcmdlIG1pc3Rha2UKCjIwMTItMDMtMjkgMTc6NTU6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFJldmVydCB0byAwLjEwIHN0YXRlIGFzIHRoaXMgaXMgdW5tZXJnZWFibGUsIGFsc28gcHV0IGl0IGludG8gdGhlIG5vbi1wb3J0ZWQgcGx1Z2lucyBhZ2FpbgoKMjAxMi0wMy0yOSAxNzo1MTo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IG1lcmdlIG1pc3Rha2UKCjIwMTItMDMtMjkgMTc6NDE6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgkgIENvbmZsaWN0czoKCSAgTkVXUwoJICBSRUxFQVNFCgkgIGNvbW1vbgoJICBjb25maWd1cmUuYWMKCSAgZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dAoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJncwoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5CgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbAoJICBleHQvY2VsdC9nc3RjZWx0ZGVjLmMKCSAgZXh0L2R0cy9nc3RkdHNkZWMuYwoJICBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjCgkgIGV4dC9vcHVzL2dzdG9wdXNlbmMuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaAoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmgKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oCgkgIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbQoJICBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmMKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYwoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmMKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYwoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jCgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jCgkgIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmMKCSAgZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaAoJICBnc3QvbXhmL214ZmRlbXV4LmMKCSAgZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKCSAgc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYwoJICBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcAoJICBzeXMvZHZiL2dzdGR2YnNyYy5jCgkgIHN5cy9zaG0vZ3N0c2htc3JjLmMKCSAgc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jCgkgIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYwoJICB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jCgkgIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAxMi0wMy0yOSAxNjowODozNCArMDEwMCAgdXJhZXVzIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEFkZCBsYXRlc3QgcG9ydGVkIHBsdWdpbnMgdG8gc3BlYyBmaWxlCgoyMDEyLTAzLTI4IDEyOjQ5OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUgZm9yIGJ1ZmZlciBjaGFuZ2VzCgoyMDEyLTAzLTI3IDE1OjEzOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJICBvcHVzOiBSYW5rIHJ0cCBwYXkvZGVwYXkKCSAgVGhpcyB3YXkgdGhleSBjYW4gYmUgYXV0by1wbHVnZ2VkLgoKMjAxMi0wMy0yNyAwOTozNjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSAgYmFzZWNhbWVyYWJpbnNyYzogQWRkICQoR1NUX1BMVUdJTlNfQkFTRV9MSUJTKSB0byB0aGUgbGlua2VyIGZsYWdzCgoyMDEyLTAzLTI2IDEyOjEzOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgUmVwbGFjZSBtYXN0ZXIgd2l0aCAwLjExCgoyMDEyLTAzLTIzIDE4OjM2OjIxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogbWVtb3J5IGhhbmRsaW5nIGNsZWFudXAKCSAgRG9uJ3QgbGVhayB0aGUgQ1NvdW5kRmlsZS4gVXNlIGRlZmluZSBmb3IgY29tbWVudCBidWZmZXIgc2l6ZSBhbmQgZW5zdXJlIGl0IGlzIDAKCSAgdGVybWluYXRlZC4KCjIwMTItMDMtMjMgMTg6MTg6MDYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGUuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbHRlOiBjb21tZW50IGNsZWFudXAKCSAgUmVtb3ZlIGNvbW1lbnRlZCBvdXQgY29kZSBmb3IgYSBmbGl0ZXN5bnRoIHRoYXQgd2UgZG9uJ3QgaGF2ZSBpbiBnaXQgYW55d2F5LiBBZGQKCSAgYSBjb21tZW50IHJlZ2FyZGluZyB0aGUgZmxpdGUgdm9pY2VzLgoKMjAxMi0wMy0yMyAxODoxNjowOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IHdvcmsgYXJvdW5kIG1lbW9yeSB0cmFzaGluZyBpbiBsaWJtb2RwbHVnICgwLjguNykKCSAgQWxsb2NhdGUgZG91YmxlIHNpemVkIGJ1ZmZlcnMuIEFsc28gYWRkIG1vcmUgZGVidWcgbG9nZ2luZy4KCjIwMTItMDMtMjMgMTM6MDY6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkgIHNobXNpbms6IE1ha2UgYnVmZmVyLXRpbWUgc2lnbmVkIHRvIGRlYWwgd2l0aCBiYWNrd2FyZCBqdW1wcyBpbiB0aW1lc3RhbXBzCgoyMDEyLTAzLTIzIDEzOjA2OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJICBzaG1zaW5rOiBNYWtlIGJ1ZmZlci10aW1lIHNpZ25lZCB0byBkZWFsIHdpdGggYmFja3dhcmQganVtcHMgaW4gdGltZXN0YW1wcwoKMjAxMi0wMy0yMiAxNTo1NTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS4yID09PQoKMjAxMi0wMy0yMiAxNTo1MjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjIKCjIwMTItMDMtMjEgMjM6MDQ6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSUNvbmZpZ3VyYXRpb24uaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURlY2tDb250cm9sLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEaXNjb3ZlcnkuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURpc3BhdGNoLW9zeC5jcHA6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElNb2Rlcy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJU3RyZWFtaW5nLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElUeXBlcy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJVmVyc2lvbi5oOgoJICBkZWNrbGluazogQWRkIGRlY2tsaW5rIGRpc3BhdGNoIGNvZGUgZm9yIE9TL1gKCjIwMTItMDMtMjEgMTM6MjM6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0yMSAwOTo0MTowOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBmaXggYmF5ZXIgY2FwcwoKMjAxMi0wMy0yMCAyMDowNzoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBQcmV2ZW50IGFjY2VzcyB0byB0aGUgdHJhbnNmb3JtIG1hcCB3aGVuIGl0IGlzIG51bGwKCSAgQ2hlY2sgaWYgdGhlIG1hcCBkb2Vzbid0IGV4aXN0IHdoZW4gcmVjZWl2aW5nIGEgbmV3IGNhcHMgYW5kIGNyZWF0ZQoJICBhIG5ldyBvbmUuIFRoaXMgcHJldmVudHMgdGhhdCB0aGUgdHJhbnNmb3JtIGZ1bmN0aW9ucyB0cnkgdG8gYWNjZXNzCgkgIHRoZSBtYXAgd2hlbiBpdCBkb2Vzbid0IGV4aXN0LgoKMjAxMi0wMy0yMCAxOToxOToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGQgc29tZSBtb3JlIGxvZyBtZXNzYWdlcwoKMjAxMi0wMy0yMCAxNzozMjowMCAtMDMwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGF2b2lkIHJlc2V0aW5nIGNhcHMgdG8gdGhlIHNhbWUgdmFsdWUKCSAgUmVkdWNlcyBjYXB0dXJlIGxhdGVuY3kgd2hlbiB0aGUgbmV3IGNhcHMgYXJlIHRoZSBzYW1lIGFzIHRoZSBvbGQKCSAgb25lLCBhdm9pZGluZyByZXNldHRpbmcgdGhlIHNvdXJjZSBzdGF0ZSBmb3IgYSBmb3JjZWQgcmVuZWdvdGlhdGlvbi4KCjIwMTItMDMtMjEgMDA6MTc6NDcgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSAgd2luc2NyZWVuY2FwOiBGaXggY29tcGlsaW5nIHdpdGggbWluZ3cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjUwNQoKMjAxMi0wMy0yMCAyMDoyMTo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG06IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0yMCAyMDoyMTozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0yMCAxNjo0NDoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogYWRkIHNvbWUgY2hhbm5lbCBtYXAgZGVidWcKCjIwMTItMDMtMjAgMTY6MzQ6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogb3B0aW1pemUgY2hhbm5lbCByZW1hcCwgYXZvaWQgcG90ZW50aWFsIG1lbWNweQoJICBDb21iaW5lIHRoZSBjaGFubmVsIHJlbWFwIGFuZCBjb3B5IGluIG9uZSBvcGVyYXRpb24uIENhbGN1bGF0ZSB0aGUgY2hhbm5lbCByZW1hcAoJICB0YWJsZSBvbmx5IG9uY2UsIG1ha2UgYSBzaG9ydGN1dCB3aGVuIHdlIGFyZSBub3QgZG9pbmcgYW55IHJlbWFwcGluZy4KCjIwMTItMDMtMjAgMTU6Mzg6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMub3JjOgoJICBvcmM6IGRvbid0IGNvbXBpbGUgZXZlcnl0aGluZyBhdCBzdGFydHVwCgoyMDEyLTAzLTE5IDIyOjU4OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgc3lzOiBzb3J0IHN1YmRpcnMgaW4gTWFrZWZpbGUgYWxwaGFiZXRpY2FsbHkKCjIwMTItMDMtMTkgMjM6NDk6MTcgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICB3aW5zY3JlZW5jYXA6IEludGVncmF0ZSBpbnRvIGF1dG90b29scyBidWlsZCBzeXN0ZW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjAzMQoKMjAxMi0wMy0xOCAyMzoxNToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkgIGFkcGNtZGVjOiBHU1RfQkFTRV9MSUJTIGFscmVhZHkgY29udGFpbnMgLWxnc3RiYXNlLTAuMTAKCjIwMTItMDMtMTggMTQ6NDM6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJICBhZHBjbWRlYzogQWRkIC1sZ3N0YmFzZS0wLjEwCgoyMDEyLTAzLTE4IDE4OjMzOjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogdXNlIG5ldyBzdHlsZSBhdWRpbyBjYXBzCgkgIEFsc28gZG8gbm90IHByZXRlbmQgdG8gbmVnb3RpYXRlIG91dHB1dCBjYXBzIHdoZW4gdGhlcmUKCSAgaXMgbm90IG11Y2ggaW4gb3V0cHV0IHRvIGJlZ2luIHdpdGguCgoyMDEyLTAzLTE4IDE4OjMyOjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogcG9ydCB0byAwLjExCgoyMDEyLTAzLTE4IDE4OjMyOjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgc21vb3RoOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMTggMTg6MzI6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSAgc2VnbWVudGNsaXA6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0xOCAxODozMjo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgIGJ6MjogcG9ydCB0byAwLjExCgoyMDEyLTAzLTE4IDE4OjMyOjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSAgcmVtb3Zlc2lsZW5jZTogcG9ydCB0byAwLjExCgoyMDEyLTAzLTE4IDAxOjE4OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogZml4IGJ1aWxkIGFmdGVyIGJhc2UgdHJhbnNmb3JtIGNoYW5nZXMKCjIwMTItMDMtMTggMDA6NTE6MzIgKzAwMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGZpeCBzdHJ1Y3R1cmUgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyMjk0CgoyMDEyLTAzLTE3IDE1OjA5OjIxICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSAgb3BlbmN2OiBmaXggbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjI5NQoKMjAxMi0wMy0xNSAyMjoxMjo1OSArMDEwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGZpeCByZWdyZXNzaW9uIHNldHRpbmcgd2luZG93IGhhbmRsZSBpbiBwYXVzZS9wbGF5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MDUKCjIwMTItMDMtMTcgMTU6MDc6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc2luazogQWRkIGRldmljZSBwcm9wZXJ0eQoJICBBbHNvIGFkZCBwcm9wZXJ0eSBwcm9iZSBmb3IgZGV2aWNlIHByb3BlcnR5LCBzaW1pbGFyIHRvIGRlY2tsaW5rc3JjLgoKMjAxMS0xMC0zMSAxODo1ODozNCAtMDcwMCAgYmxha2UgdHJlZ3JlIDxibGFrZUBvYmxvbmcuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IG1ha2Ugc3VyZSB3ZSBjYW4gYWNjZXB0IGNhcHMgYmVmb3JlIHJldHVybmluZyB0cnVlCgkgIGNhcHMgYXJlIGRldGVybWluZWQgYnkgdGhlIHBsdWdpbidzIHByb3BlcnRpZXMsIHNvIHdlIHNob3VsZCBjaGVjayB0aGUKCSAgaW5jb21pbmcgY2FwcyB0byBzZWUgaWYgdGhleSBhZ3JlZS4gIEZpeGVzOiAjNjY3NzIyLgoKMjAxMS0xMC0zMSAxODo1NzoyMiAtMDcwMCAgYmxha2UgdHJlZ3JlIDxibGFrZUBvYmxvbmcuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IGRpc2FibGUgcHVsbCBtb2RlCgkgIGRlY2tsaW5rIGRldmljZSBkb2Vzbid0IHN1cHBvcnQgYW55IHB1bGwgbW9kZSByZWxhdGVkIGZ1bmN0aW9uYWxpdHkuCgkgIGl0J3MgbW9yZSBsaWtlIGEgbGl2ZSBzb3VyY2UsIHlvdSBzZWUuIEZpeGVzOiAjNjY3NzIwLgoKMjAxMi0wMi0xMSAyMjo0OToxMCAtMDgwMCAgYmxha2UgdHJlZ3JlIDxibGFrZUBvYmxvbmcuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IHB1c2ggbmV3IG5ldyBzZWdtZW50IGV2ZW50IHRvIGFsbCBwYWRzCgkgIFRha2UgY2FyZSB0byBwdXNoIHRoZSBldmVudCB0byBhbGwgcGFkcywgYnV0IGZhdm9yIHRoZSB2aWRlbyBzcmMgcGFkLgoJICBGaXhlczogIzY2NzcxNi4KCjIwMTItMDMtMTcgMTE6NDE6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LiAgRml4IG1lbWxlYWsgcmVsZWFzaW5nIHJlc291cmNlcy4KCjIwMTItMDMtMTcgMTE6Mzk6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IHJlaW5kZW50CgoyMDExLTEwLTMxIDE4OjU2OjIzIC0wNzAwICBibGFrZSB0cmVncmUgPGJsYWtlQG9ibG9uZy5jb20+CgoJICBkZWNrbGlua3NyYzogaGFuZGxlIGZsb3cgcmV0dXJuIHByb3Blcmx5IGFuZCBwcm92aWRlIGJldHRlciBtZXNzYWdlCgkgICogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCjIwMTItMDMtMDcgMTk6MjI6MjggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgcHJvcGVydHkgcHJvYmluZwoJICBSZW5hbWVzIHRoZSBzdWJkZXZpY2UgcHJvcGVydHkgdG8ganVzdCBkZXZpY2UsIGFuZCBoYXMgaXQKCSAgcmV0dXJuIHRoZSBudW1iZXIgb2YgZGV2aWNlcyBpbiB0aGUgc3lzdGVtIGluIHJlc3BvbnNlIHRvCgkgIGEgcHJvYmUuIFRoaXMgaXMgdXNlZnVsIGJvdGggZm9yIHVzaW5nIG11bHRpcGxlIGNhcHR1cmUKCSAgY2FyZHMsIGFuZCBmb3IgZGV0ZWN0aW5nIHdoZXRoZXIgaXQncyB3b3J0aCBhZGRpbmcgdGhlCgkgIGVsZW1lbnQgdG8gYSBwaXBlbGluZS4KCSAgQWxzbyBjbGVhbnMgdXAgdGhlIHByb3BlcnR5IGRlc2NyaXB0aW9ucy4KCjIwMTItMDMtMTcgMTE6NDU6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZWxlbWVudDoKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IGNoYWluIHF1ZXJ5L2V2ZW50IGZ1bmN0aW9ucwoJICBDaGFpbiB1cCB0byBwYXJlbnQgY2xhc3MuICBUaGlzIGZpeCBzaG91bGQgYmUgZG9uZSB0byBhbGwgb2YgdGhlCgkgIHRlbXBsYXRlcy4KCjIwMTItMDMtMTcgMTE6MzU6MTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcjogQWRkIGNoYW5uZWwgcHJvcGVydHkKCSAgVGhlIGNoYW5uZWwgcHJvcGVydHkgYWxsb3dzIG11bHRpcGxlIGludGVyc3JjL3NpbmsgcGFpcnMgdG8gZmluZAoJICBlYWNoIG90aGVyLiAgSXQncyBhIGZyZWUtZm9ybSB0ZXh0IHN0cmluZyB0aGF0IG11c3QgbWF0Y2ggYW1vbmcKCSAgdmFyaW91cyBpbnRlciBlbGVtZW50cy4gIEFsc28gZml4ZWQgdXAgZG9jdW1lbnRhdGlvbiBhbmQgbGF0ZW5jeQoJICBoYW5kbGluZy4KCjIwMTItMDMtMTcgMTY6MDk6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlLXZpZGVvOgoJICBnc3QtZWxlbWVudC1tYWtlcjogZml4IC10ZW1wbGF0ZS12aWRlbyBjYXBzIHN0cmluZwoJICBEb24ndCBmb3JnZXQgc2VwYXJhdG9yLgoKMjAxMi0wMy0xNyAxNjowNToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyOgoJICBnc3QtZWxlbWVudC1tYWtlcjogYWRkIHZpZGVvIHBhZCB0ZW1wbGF0ZSBhbmQgdXNlIGl0IGluIHZpZGVvZmlsdGVyIGNsYXNzCgkgIFdvdWxkIGJlIG5pY2VyIGlmIG9uZSBjb3VsZCBqdXN0IHN1cHBsZW1lbnQgdGhlIGdlbmVyaWMgdGVtcGxhdGUKCSAgZnJvbSB0aGUgZWxlbWVudCB0ZW1wbGF0ZSB0aG91Z2guCgkgIEFsc28sIEkgd291bGQgcmVhbGx5IGhhdmUgbGlrZWQgdG8ganVzdCBhZGQgdGhvc2Ugc2VjdGlvbnMgZnJvbSB0aGUKCSAgcGFkcyB0ZW1wbGF0ZSBpbnRvIHRoZSBlbGVtZW50IHRlbXBsZXQgZGlyZWN0bHkgKHNvIEkgY2FuIGNhdGVyIGZvcgoJICBzcmMgdGVtcGxhdGUgY2FwcyA9PSBzaW5rIHRlbXBsYXRlIGNhcHMpLCBidXQgdGhhdCBkaWRuJ3Qgc2VlbSB0bwoJICB3b3JrLgoKMjAxMi0wMy0xNyAxNTo0OTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyOgoJICBnc3QtZWxlbWVudC1tYWtlcjogYWRkIHtzcmMsc2lua31wYWQtdGVtcGxhdGUsIHNpbmNlIG1hbnkgYmFzZSBjbGFzc2VzIGNyZWF0ZSBwYWRzIGZvciB1cwoJICBBbmQgdXNlIHRoZW0gaW4gdGhlIHZpZGVvZmlsdGVyIHRlbXBsYXRlLgoKMjAxMi0wMy0xNyAxNToxNjoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjoKCSAgdG9vbHM6IGFkZCB2aWRlb2ZpbHRlciB0ZW1wbGF0ZSBmb3IgZ3N0LWVsZW1lbnQtbWFrZXIKCjIwMTItMDMtMTcgMTI6NDc6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJICBvcGVuY3Y6IGZpeCBjb25maWd1cmUgY2hlY2sgYW5kIGJ1aWxkIHdpdGggb3BlbmN2IDIuMQoJICBBQ19DSEVDS19IRUFERVJTKCkgY2FsbHMgYWN0aW9uLWlmLW5vdC1mb3VuZCBhbHNvIGlmIGp1c3Qgb25lIG9mCgkgIHRoZSBoZWFkZXJzIGNoZWNrZWQgZm9yIGlzIG1pc3NpbmcsIHdoaWNoIGlzIG5vdCB3aGF0IHdlIHdhbnRlZC4KCSAgQWxzbywgY2hlY2sgZm9yIGhpZ2hndWlfYy5oIGluc3RlYWQgb2YgaGlnaGd1aS5ocHAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIyMjYKCjIwMTItMDMtMTYgMjE6NDc6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIGRvbid0IHBhc3MgcmFuZG9tIHBvaW50ZXJzIHRvIHB1bGxfcmFuZ2UKCjIwMTItMDMtMTYgMTc6MDc6NDYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogaW5pdGlhbGl6ZSBzb21lIGFyYml0cmFyeSB2YXJpYWJsZSB0aGF0IGdjYy00LjYgY2FuIHRyYWNrIHByb3Blcmx5CgkgIFRoZSBhY2Nlc3MgdG8gdGhlbSBpcyBjbGVhcmx5IGd1YXJkZWQgYnkgdGhlIGJvb2xlYW5zIHRob3VnaC4KCjIwMTItMDMtMTYgMTM6MTQ6NDggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgb3BlbmN2OiBjb3NtZXRpYyBjb2RlIGNoYW5nZXMKCSAgQ2hlY2sgZm9yIHRoZSBhdmFpbGFiaWxpdHkgb2YgdGhlIGRldGVjdG9ycyBpbiB0aGUgcHJvY2Vzc2luZyBmdW5jdGlvbiB0byBhdm9pZAoJICBzZXR0aW5nIHVwIHRoZSBST0lzLiBVc2UgdGhlIGJvb2xlYW5zIGZvciBoYXZlX3h4eCBtb3JlLgoKMjAxMi0wMy0xNiAxMjo1NzowNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgb3BlbmN2OiB1c2Ugb3BlbmN2IHByZWZpeCBmcm9tIHBrZ2NvbmZpZyB0byBsb29rdXAgZGF0YWZpbGVzCgkgIERvbid0IGhhcmRjb25kZSAvdXNyIHRvIGxvb2t1cCBkYXRhZmlsZXMgKHN1Y2ggYXMgaGFhciBjYXNjYWRlcykuCgoyMDEyLTAzLTE1IDE3OjEwOjE4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByc25kdmRzcmM6IHBvc3QgYSBtZXNzYWdlIHdpdGggdGl0bGUgbnVtYmVyIGFuZCBkdXJhdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjE2NQoKMjAxMi0wMy0xNiAxMjoxMDoxMCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogcmVtb3ZlIGJsYW5rIGxpbmUgaW4gZ3RrLWRvYyBjb21tZW50CgoyMDEyLTAzLTE2IDEyOjA0OjExICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IHNraXAgZGV0ZWN0aW9uIGZvciB1bmF2YWlsYWJsZSBkZXRlY3RvcnMKCjIwMTItMDMtMTUgMjM6MTc6NTUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogbW92ZSB0aGUgZGV0ZWN0b3IgdG8gYW4gb3duIG1ldGhvZCB0byBoaWRlIHRoZSB1Z2x5IGlmZGVmcwoJICBUaGlzIGltcHJvdmVzIHRoZSByZWFkYWJpbGl0eSBpbiB0aGUgYWN0dWFsIHByb2Nlc3NpbmcgZnVuY3Rpb24uCgoyMDEyLTAzLTE1IDIzOjA4OjAyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGFsd2F5cyBzZW5kIGZhY2VkZXRlY3QgbWVzc2FnZQoJICBUaGUgYXBwbGljYXRpb24gbWlnaHQgbGlrZSB0byBrbm93LCB3aGVuIHdlIGRvbid0IHNlZSB0aGUgZmFjZSBhbnltb3JlLgoKMjAxMi0wMy0xNSAyMjo1ODoxMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogY29kZSBjbGVhbnVwcwoJICBVc2UgZ2xpYiB0eXBlcyBhbmQgc2ltcGx5IGV4cHJlc3Npb25zIGluIHRoZSBtZXNzYWdlIGhhbmRsZXIuCgoyMDEyLTAzLTE1IDIyOjQ5OjUxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBkb24ndCBhY2Nlc3MgbWVzc2FnZSBmaWVsZHMgZGlyZWN0bHkKCjIwMTItMDMtMTUgMjI6MjI6MTIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogZG9uJ3Qgc2tpcCBmYWNlcwoJICBTa2lwcGluZyBmYWNlcyBhdCB0aGlzIHBvaW50IG1ha2VzIHVzIGxpZSBhYm91dCB0aGUgbnVtLWJlciBvZiBmYWNlcyBhbmQgYWxzbwoJICBjYXVzZXMgbGVha3MuCgoyMDEyLTAzLTE1IDIyOjExOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlcnBvb2wgY2hhbmdlcwoKMjAxMi0wMy0xNSAyMDozODoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdXBkYXRlIGZvciBhbGxvY2F0aW9uIHF1ZXJ5IGNoYW5nZXMKCjIwMTItMDMtMTUgMTg6Mjg6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IGNvc21ldGljIGNoYW5nZQoJICBSZW5hbWUgUFJPUF9GSUxFTkFNRSB0byBQUk9QX0xPQ0FUSU9OIHRvIG1hdGNoIHRoZSBuYW1lIG9mCgkgIHRoZSBwcm9wZXJ0eS4gQWRkIHNvbWUgZGVidWcgbG9nZ2luZy4KCjIwMTItMDMtMTUgMTg6MjY6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBjbGVhciBvdmVybGF5IGlmIHRoZSBmYWNlIGRpc2FwcGVhcnMKCjIwMTItMDMtMTUgMTg6MjE6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBhZGQgc29tZSBsb2NraW5nIGZvciBwcm9wZXJ0aWVzLCBmcmVlIHByZXZpb3VzIGxvY2F0aW9uIHdoZW4gaXQgY2hhbmdlcwoKMjAxMi0wMy0xNSAxODowODowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5Lmg6CgkgIGZhY2VvdmVybGF5OiBkb24ndCBtYWtlIHJzdmdvdmVybGF5IHJlbG9hZCB0aGUgU1ZHIGZvciBldmVyeSBzaW5nbGUgZnJhbWUKCSAgT25seSBzZXQgbG9jYXRpb24gb24gcnN2Z292ZXJsYXkgaWYgaXQgaGFzIGNoYW5nZWQuCgoyMDEyLTAzLTE1IDE3OjQ3OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogbW92ZSBmYWNlIGhhbmRsaW5nIGludG8gb3duIGZ1bmN0aW9uIGFuZCBoYW5kbGUgMCBmYWNlIGNvdW50CgkgIFdoZW4gYSBmYWNlIGRpc2FwcGVhcnMsIHdlIHNlZW0gdG8gZ2V0IGEgbWVzc2FnZSBmcm9tIGZhY2VkZXRlY3Qgd2l0aAoJICBhIGZhY2UgY291bnQgb2YgMCwgd2hpY2ggd2Ugd2FudCB0byBqdXN0IGlnbm9yZSBpbnN0ZWFkIG9mIHRyeWluZyB0bwoJICBhY2Nlc3MgZmFjZSAjLTEsIHdoaWNoIGNhdXNlcyBuYXN0eSB3YXJuaW5ncy4KCjIwMTItMDMtMTUgMTc6NDI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBmaXggcGFkIHRlbXBsYXRlcwoJICBVc2UgZ2VuZXJpYyBhbmQgdW5zcGVjaWZpZmVkIHJnYi9jYXBzIGZvciBub3cuIFRoZSBleGFjdCBjYXBzCgkgIHN1cHBvcnRlZCBkZXBlbmQgb24gdGhlIGZhY2VkZXRlY3QgZWxlbWVudCBhbmQgcnN2Z292ZXJsYXkuIEl0J3MKCSAgbm90IGNsZWFyIGhvdyB0aGlzIHdvcmtlZCBiZWZvcmUsIHNpbmNlIGZhY2VkZXRlY3Qgb25seSBhY2NlcHRzCgkgIDI0LWJpdCBSR0IsIGJ1dCB0aGUgY2FwcyBhZHZlcnRpc2VkIDMyLWJpdCBBUkdCL0JHUkEuIEluIGFueSBjYXNlLAoJICB3ZSBkb24ndCB3YW50IHRvIGZvcmNlIGFueXRoaW5nIHJlYWxseSwgc28gdGhhdCBpZiBhbnkgb2YgdGhvc2UKCSAgZWxlbWVudHMgYWNxdWlyZXMgc3VwcG9ydCBmb3IgYWRkaXRpb25hbCBmb3JtYXRzIHdlIHBpY2sgdGhvc2UgdXAKCSAgYXV0b21hdGljYWxseS4KCjIwMTItMDMtMTUgMTc6MjY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IGZpeCBjcmFzaCBkdWUgdG8gZG91YmxlIGFkYXB0ZXIgdW5yZWYKCjIwMTItMDMtMTUgMTY6NTI6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5oOgoJICBmYWNlb3ZlcmxheTogZml4IHdlaXJkIHBhZCBjcmVhdGlvbiBjb2RlCgkgIFRoZSBlbGVtZW50IHdvdWxkIGNyZWF0ZSBub3JtYWwgcGFkcyBpbiBpdHMgaW5zdGFuY2VfaW5pdCBmdW5jdGlvbiwKCSAgYW5kIHRoZW4gbGF0ZXIgaW4gTlVMTC0+UkVBRFkgY3JlYXRlIHRoZSBlbGVtZW50cyBpdCBuZWVkcywgcmVtb3ZlCgkgIHRoZSBwYWRzIGNyZWF0ZWQgaW4gdGhlIGluc3RhbmNlX2luaXQgZnVuY3Rpb24sIGFuZCBhZGQgbmV3IGdob3N0CgkgIHBhZHMgaW5zdGVhZC4gTm90IHdpdGhvdXQgc2F2aW5nIHRoZSBleHRlcm5hbCBwZWVyIHBhZHMgb2YgdGhlIG9sZAoJICBwYWRzIG9mIGNvdXJzZSwgd2hpY2ggaXQgd291bGQgcHJvbXB0bHkgcmUtbGluayB0byB0aGUgbmV3IGdob3N0CgkgIHBhZHMuIERvIGFsbCBvZiB0aGF0IGEgYml0IGRpZmZlcmVudGx5LgoJICBGaXhlcyB0aGUgZ2VuZXJpYy9zdGF0ZXMuY2hlY2sgdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwNTg4CgoyMDEyLTAzLTE1IDE1OjQ3OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogbWlub3IgY29zbWV0aWMgY2hhbmdlcwoJICBSZW1vdmUgdGVtcGxhdGUgbWFrZXIgY29tbWVudHMsIHVzZSBvdXIgZGVmaW5lcyBmb3IKCSAgcGFja2FnZSBuYW1lIGFuZCBvcmlnaW4uCgoyMDEyLTAzLTE1IDE0OjA4OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSAgdXBkYXRlIGZvciBidWZmZXJwb29sIGFwaSBjaGFuZ2UKCjIwMTItMDMtMTUgMTM6Mzc6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2Nocm9lbmMuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTUgMDA6MTM6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbW9yZSB0ZXN0IGJpbmFyaWVzIGFuZCBzdGFtcCBmaWxlcwoKMjAxMi0wMy0xNSAwMDowNTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIG9wZW5jdjogbWFrZSBidWlsZCB3aXRoIG9wZW5jdiAyLjMuMSBhcyBpbiBkZWJpYW4gc2lkCgkgIFdoZXJlIGhpZ2hndWkuaCBkb2Vzbid0IGV4aXN0IGFueSBtb3JlLCBidXQgb25seSBvcGVuY3YyL2hpZ2hndWkvaGlnaGd1aS5ocHAuCgkgIEFsc28sIG5vdCBxdWl0ZSBzdXJlIHdoeSB3ZSdyZSBjaGVja2luZyBmb3IgY3ZhdXguaCwgaXQncyBub3QgdXNlZCBhbnl3aGVyZS4KCjIwMTItMDMtMTQgMTk6NTI6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHRha2UgcGFkZGluZyBpbnRvIGFjY291bnQKCjIwMTItMDMtMTQgMTc6NDg6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogYWxzbyBjbGVhciBpbml0aWFsaXplZCBtdXRleCBhbmQgY29uZAoKMjAxMi0wMy0xNCAxMToyMDoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBhZGp1c3QgdG8gc29tZSBtb2RpZmllZCBjYXBzIHJlbGF0ZWQgQVBJIGNoYW5nZXMKCjIwMTItMDMtMTQgMTA6MjQ6MDUgKzAxMDAgIERtaXRyeSBLZXRvdiA8ZGtldG92QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9NYWtlZmlsZS5hbToKCSAgd2luc2NyZWVuY2FwOiBJbnRlZ3JhdGUgaW50byBhdXRvdG9vbHMgYnVpbGQgc3lzdGVtCgkgIEZpeGVzIGJ1ZyAjNjcyMDMxLgoKMjAxMi0wMy0xMyAyMDo1MDowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXI6IGZpeCB3YXJuaW5ncyB3aGVuIGdzdC1pbnNwZWN0aW5nIGludGVyYXVkaW97c3JjLHNpbmt9CgkgIFRoZSBjaGFubmVsIHByb3BlcnR5IGlzbid0IGltcGxlbWVudGVkLCBzbyBkb24ndCByZWdpc3RlciBpdC4KCjIwMTItMDMtMDggMDE6NDg6NTYgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBGaXggd2FybmluZ3MsIHByb3BlciBzdHJ1Y3R1cmluZywgZGVhZCBjb2RlIHJlbW92YWwsIGFkZGluZyBkb2Mgc2VjdGlvbi4KCjIwMTItMDMtMTMgMTM6MDI6NTQgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBtb3ZlIHNwYyBwbHVnaW4gdG8gTk9OX1BPUlRFRCBsaXN0KEZpeCBidWlsZCBlcnJvcikKCjIwMTItMDMtMTMgMDk6NTQ6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkgIHVzZSBnc3RfY2Fwc19tZXJnZSBpbnN0ZWFkIG9mIGdzdF9jYXBzX3VuaW9uCgoyMDEyLTAzLTEyIDE1OjQyOjA0ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSBzdXJlIGd0LT5tYXAgbm90IGZyZWVkIHR3aWNlCgkgIGN1cnJlbnQgY2hlZXNlIGNhbiBjcmVhdGUgc2l0dWF0aW9uIHdoZXJlIGd0LT5tYXAgaXMgZnJlZWQgdHdpY2UuCgkgIFRoaXMgcGF0Y2ggc2V0IG1hcCB0byBudWxsIHRvIGF2b2lkIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxOTEwCgoyMDEyLTAzLTEyIDE3OjA2OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXggZm9yIGNhcHMgYXBpIGNoYW5nZQoKMjAxMi0wMy0xMiAxNjo1MToxOSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGJ1bXAgR0xpYiByZXF1aXJlbWVudCB0byAyLjMxLjE0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzE5MTEKCjIwMTItMDItMjggMTY6NDA6MzEgKzAxMDAgIEdpbCBQZWRlcnNlbiA8Z2l0QGdwb3N0LmRrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBhZGQgZmxvYXRpbmcgcG9pbnQgc2VnbWVudCBkdXJhdGlvbiBzdXBwb3J0CgoyMDEyLTAzLTEyIDEyOjIzOjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkgIGZpeCBmb3IgY2FwcyBfbm9ybWFsaXplIGNoYW5nZXMKCjIwMTItMDMtMTIgMTE6NDA6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJICB0ZXN0czogZml4IGZvciBjYXBzIEFQSSBjaGFuZ2UKCjIwMTItMDMtMTIgMTA6NDQ6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSAgZml4IGZvciBfZG9fc2ltcGxpZnkgY2hhbmdlcwoKMjAxMi0wMy0xMSAxOTowNjo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkgIGZpeCBmb3IgY2FwcyBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xMCAyMDo1Mzo1NCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgRml4IGFuIHVud2FudGVkIGRvdWJsZSBuZWdhdGlvbiBmcm9tIGxhc3QgY29tbWl0CgoyMDEyLTAzLTEwIDE5OjEwOjUyIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgRml4ICdpZ25vcmluZyByZXR1cm4gdmFsdWUgb2YgZnVuY3Rpb24gZGVjbGFyZWQgd2l0aCBjb25zdCBhdHRyaWJ1dGUnCgkgIFRoaXMgYWx3YXlzIGhhcHBlbnMgd2l0aCBHc3RCeXRlUmVhZGVyL1dyaXRlciBhbmQgZnJpZW5kcyB3aGVuCgkgIG5vdCB0YWtpbmcgaW50byBhY2NvdW50IHJldHVybmVkIGJvb2xlYW4gb2YgdGhlIF9yZWFkL193cml0ZSBmdW5jdGlvbnMKCSAgKHdoaWNoIGlzIGFjdHVhbGx5IHdyb25nKS4KCSAgTWFrZSB1c2Ugb2YgdGhlICpfdW5jaGVja2VkIHZhcmlhbnQgYXMgbXVjaCBhcyBwb3NzaWJsZSwgb3IgdGFrZSB0aGUKCSAgcmV0dXJuZWQgdmFsdWUgaW50byBhY2NvdW50LgoKMjAxMi0wMy0xMCAxMTozNjoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IGF2b2lkIHJ1bmF3YXkgbG9vcCB3aGVuIHJlc3luY2luZyBkdXJpbmcgcGFyc2UKCSAgLi4uIGJ5IGNoZWNraW5nIGZvciB0aGUgY29ycmVjdCAoZGVjcmVtZW50ZWQpIHNpemUgdmFyaWFibGUuCgkgIEZpeGVzICM2NzE3NTYuCgoyMDEyLTAzLTA5IDE3OjE2OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBBQ19MQU5HX1NPVVJDRS1yZWxhdGVkIHdhcm5pbmdzIHdoZW4gZG9pbmcgYXV0b2dlbi5zaAoKMjAxMi0wMy0wMSAxNDo1OTo1NSAtMDMwMCAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJICBGaXhpbmcgcnRwdnA4IGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgdGhpcmQgZHJhZnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTA3MwoKMjAxMi0wMy0wOCAxMTozMjoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG92aWRlb2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIHRlc3RzOiBmaXggbW9yZSBjYXBzCgoyMDEyLTAzLTA3IDE3OjE0OjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogcG9ydCB0byB1cGRhdGVkIDAuMTEKCjIwMTItMDMtMDcgMTA6MTg6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogcG9ydCB0byAwLjExCgoyMDEyLTAzLTA3IDEyOjU5OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogb25seSByZXF1ZXN0IGFuZCBwcm9jZXNzIDEgZnJhbWUgYXQgYSB0aW1lCgkgIC4uLiBzaW5jZSBpdCBpcyBzcGVjaWZpZWQgaW4gX2ZpbmlzaF9mcmFtZSB0aGF0IGlucHV0IGJ1ZmZlciBtYXkgYmUgaW52YWxpZGF0ZWQKCSAgYWZ0ZXIgY2FsbGluZyBpdCwgYW5kIGlzIGFzIHN1Y2ggbm90IHJlbGlhYmx5IGF2YWlsYWJsZSBmb3IgZnVydGhlciBlbmNvZGluZy4KCSAgQWxzbywgcmVxdWVzdGluZyBvciBhbGxvd2luZyBzZXZlcmFsIGZyYW1lcyBpcyBvbmx5IHVzZWZ1bCBpZiBzdWJjbGFzcyBpbnRlbmRzCgkgIHRvIHByb2Nlc3MgdGhlc2UgImluIDEgcnVuIiAoYXMgaW4sIDEgb3V0cHV0IGJ1ZmZlciksIG5vdCBmb3IgaGF2aW5nIGFub3RoZXIKCSAgKGlubmVyKSBsb29wIGluIHN1YmNsYXNzIHdoZXJlIHRoZSBiYXNlY2xhc3Mgb25lIHdpbGwgZG8ganVzdCBmaW5lLgoKMjAxMi0wMy0wNyAxMjo1NTo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGNvbmZpZ3VyZSBiYXNlY2xhc3MgcmVxdWVzdGVkIHNhbXBsZXMgcmVhbGx5IGluIHNhbXBsZXMKCSAgLi4uIGFzIG9wcG9zZWQgdG8gYnl0ZXMuCgoyMDEyLTAzLTA2IDE4OjQ5OjExICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgdmlkZW86IFVwZGF0ZS9hZGQgZG9jcwoKMjAxMi0wMy0wNiAxODoxMTozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgQWRkIG1pc3NpbmcgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTCgkgIFN1cHByZXNzIHdhcm5pbmdzIGFib3V0IGRlcHJlY2F0ZWQgdGhyZWFkaW5nIGFuZCBHVmFsdWVBcnJheQoJICBBUEksIHNvIGdpdCBjb21waWxlcyB3aXRoIC1XZXJyb3IuCgoyMDEyLTAzLTA2IDE4OjMzOjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSAgc2lyZW5kZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDEyLTAzLTA2IDE4OjMzOjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBzaXJlbmVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTItMDMtMDYgMTY6MTE6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICBjZWx0ZGVjOiB1c2UgYmFzZSBjbGFzcyB0YWcgaGFuZGxpbmcgaGVscGVyCgkgIC4uLiBzbyBhcyB0byBlbnN1cmUgdGhlc2UgdG8gYmUgaGFuZGxlZCBhbmQgc2VudCBhdCBwcm9wZXIgdGltZS4KCjIwMTItMDMtMDYgMTY6MTE6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiB1c2UgYmFzZSBjbGFzcyB0YWcgaGFuZGxpbmcgaGVscGVyCgkgIC4uLiBzbyBhcyB0byBlbnN1cmUgdGhlc2UgdG8gYmUgaGFuZGxlZCBhbmQgc2VudCBhdCBwcm9wZXIgdGltZS4KCjIwMTItMDMtMDYgMTg6MzI6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBkY2NwOiBhdm9pZCBpbmRlZmluaXRlIGxvb3BpbmcgdXBvbiBlcnJvcgoJICAuLi4gYW5kIGZpeCAndW5pbml0aWFsaXplZCcgY29tcGlsYXRpb24gd2FybmluZyBhcyB3ZWxsLgoKMjAxMi0wMy0wNiAxNToyMToxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCAnYXJndW1lbnQgdG8gJ3NpemVvZicgaW4gJ21lbXNldCcgY2FsbCBpcyB0aGUgc2FtZSBleHByZXNzaW9uIGFzIHRoZSBkZXN0aW5hdGlvbicgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo1Nzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSAgZ3NldHRpbmdzOiBGaXggJ2lmIHN0YXRlbWVudCBoYXMgZW1wdHkgYm9keScgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo1NjoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogRml4ICdpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZSAnRGlyZWN0UmVzdWx0JyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZSAnREZCUmVzdWx0JycgY29tcGlsZXIgd2FybmluZwoJICBXZSdyZSBub3QgY2hlY2tpbmcgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGF0IGZ1bmN0aW9uIGFueXdheS4KCjIwMTItMDMtMDYgMTQ6NTE6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSAgY3VybDogRml4ICdlcXVhbGl0eSBjb21wYXJpc29uIHdpdGggZXh0cmFuZW91cyBwYXJlbnRoZXNlcycgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo1MToyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nY29sb3JzcGFjZTogVXNlIGNvcnJlY3QgZW51bSB0eXBlIGZvciByZXR1cm4gdmFsdWUKCjIwMTItMDMtMDYgMTQ6NTA6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdTogRml4IGxvb3AgdG8gbm90IHJlYWQgYmVmb3JlIHRoZSB2YWxpZCBtZW1vcnkgYXJlYQoKMjAxMi0wMy0wNiAxNDo0NzoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS92YWRfcHJpdmF0ZS5jOgoJICByZW1vdmVzaWxlbmNlOiBGaXggJ2FyZ3VtZW50IHRvICdzaXplb2YnIGluICdtZW1zZXQnIGNhbGwgaXMgdGhlIHNhbWUgZXhwcmVzc2lvbiBhcyB0aGUgZGVzdGluYXRpb24nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NDY6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4ICdjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZScgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo0NDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBGaXggJ3ZhcmlhYmxlICdwaWQnIGlzIHVuaW5pdGlhbGl6ZWQgd2hlbiB1c2VkIGhlcmUnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NDM6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBGaXggJ2V4cHJlc3Npb24gcmVzdWx0IHVudXNlZCcgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo0MTowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIGRjY3A6IEZpeCAnY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uIDwgMCBpcyBhbHdheXMgZmFsc2UnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6Mzg6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICBiYXNlYXVkaW92aXN1YWxpemVyOiBGaXggJ2NvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA1IDEyOjQ2OjEzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEhhbmRsZSByb2xsb3ZlciBpbiBvZmZzZXQgY2FsY3VsYXRpb25zCgoyMDEyLTAzLTA1IDEyOjQzOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkgIHgtcmF3LWJheWVyIC0+IHgtYmF5ZXIKCjIwMTItMDMtMDUgMTI6MDM6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICB1c2UgbmV3IHN0eWxlIGNhcHMKCjIwMTItMDMtMDUgMTE6Mjc6NTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNkZW11eDogcHJpbnRmIGZpeAoKMjAxMi0wMy0wNSAxMDoxNDo0NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvVE9ETzoKCSAgdHNkZW11eDogVXBkYXRlIFRPRE8KCjIwMTItMDMtMDUgMDk6NDY6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHM6IFN3aXRjaCByYW5rIG9mIG1wZWd0c2RlbXV4IGFuZCB0c2RlbXV4CgkgIE1vcmUgZWZmb3J0IGhhcyBiZWVuIHB1dCBsYXRlbHkgaW4gdHNkZW11eCBhbmQgd29ya3MgaW4gbW9yZSB1c2UgY2FzZXMKCjIwMTItMDMtMDUgMDk6Mzg6NTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUHVzaCBwYWNrZXRzIGFzIGVhcmx5IGFzIHBvc3NpYmxlCgkgIFdoZW4gdGhlIFBFUyBoZWFkZXIgdGVsbHMgdXMgaG93IGJpZyB0aGUgb3V0Z29pbmcgcGFja2V0IGlzLCBwdXNoIHRoZQoJICBwYWNrZXQgZG93bnN0cmVhbSBhcyBzb29uIGFzIHdlIGhhdmUgdGhlIHNwZWNpZmllZCBzaXplIGluc3RlYWQgb2Ygd2FpdGluZwoJICBmb3IgdGhlIGJlZ2lubmluZyBvZiB0aGUgbmV4dCBwYWNrZXQuCgkgIFJlZHVjZXMgbGF0ZW5jeSBhbmQgcmVtb3ZlcyBpc3N1ZXMgd2l0aCB2ZXJ5IHNwYXJzZSBzdHJlYW1zIChsaWtlIHN1YnRpdGxlcwoJICBhbmQgc3VicGljdHVyZXMpLgoKMjAxMi0wMy0wNCAyMTo1NDowOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG06IGFkZCBtaW5pbWFsIGRvYyBibG9icwoKMjAxMi0wMi0yOCAyMTowMDoyNCArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IEZpeCBpbiBzaGVsbF9zdXJmYWNlX3NldF9mdWxsc2NyZWVuCgoyMDEyLTAyLTE2IDIyOjI3OjIzICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogTW9yZSBmaXhlcyAtLSB1cGRhdGUgdG8gV2F5bGFuZCAwLjg1IHByb3RvY29sIC0tIEFkZGVkIHNoZWxsIHN1cmZhY2UgLS0gQWRkZWQgZm9ybWF0IHF1ZXJ5IGZvciBzaG0gZm9ybWF0IC0tIENyZWF0ZSB0aGUgd2luZG93IGJhc2VkIG9uIHdpZHRoIGFuZCBoZWlnaHQgb2YgdmlkZW8gZXh0cmFjdGVkIGZyb20gdXBzdHJlYW0gY2Fwcy4KCjIwMTEtMTEtMDIgMTY6MjM6MDIgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIFVwZGF0ZSB3aXRoIG5ldyBBUElzIGluIHdheWxhbmQtY2xpZW50LgoKMjAxMS0xMS0wMiAxMzo1MToxMyArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgTW9yZSBGaXhlczogKiBBZGRpbmcgYnVmZmVyX2FsbG9jICogcGVyZm9ybSBidWZmZXJfZGFtYWdlIGJlZm9yZSBzdXJmYWNlX2F0dGFjaCAqIEZpeCB0eXBvLCBSZW1vdmUgRGVhZCBjb2RlIGV0Yy4KCjIwMTEtMTEtMDIgMTE6MDI6MTEgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgSW5pdGlhbCBDb21taXQ6IEFkZGluZyBXYXlsYW5kIFZpZGVvIFNpbmsKCjIwMTEtMTItMTMgMjM6NDM6NTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IHNlbmQgZHVyYXRpb24gbWVzc2FnZSBvbiBkdXJhdGlvbiB1cGRhdGVzCgkgIFdoZW4gd2Uga25vdyBhIG5ldyBkdXJhdGlvbiwgcmVwb3J0IGl0LiBBZGQgbW9yZSBsb2dnaW5nLgoKMjAxMS0xMi0xMyAxMDoyNjo1MCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSAgYXVkaW92aXN1YWxpemVyczogcGxhbm5pbmcgKyBleGFtcGxlIHVwZGF0ZQoKMjAxMi0wMy0wMyAxOTowMzoxMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICBhcHBsZW1lZGlhOiBwb3J0IHZ0ZGVjCgoyMDEyLTAzLTAzIDE4OjU3OjA3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBzaWduYXR1cmUgb2YgQ01TYW1wbGVCdWZmZXJDcmVhdGUgYW5kIENNQmxvY2tCdWZmZXJDcmVhdGVXaXRoTWVtb3J5QmxvY2sKCSAgQ2hhbmdlIGRhdGEgdHlwZSBmb3IgY291bnRlcnMgcGFzc2VkIG9uIHRoZSBzdGFjayBmcm9tIFVJbnQzMiB0byBzaXplX3QuIEZpeGVzCgkgIDY0Yml0IGJ1aWxkcy4KCjIwMTItMDMtMDIgMDg6MTM6MTAgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGZvcm1hdCBkZXNjcmlwdGlvbiBoZWxwZXIgc2lnbmF0dXJlCgkgIFVwZGF0ZSB0aGUgRmlnVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkNyZWF0ZVdpdGhTYW1wbGVEZXNjcmlwdGlvbkV4dGVuc2lvbkF0b20KCSAgc2lnbmF0dXJlIHRvIG1hdGNoIHRoZSBpbXBsZW1lbnRhdGlvbiBvbiBPU1ggTGlvbi4KCjIwMTItMDMtMDIgMjE6NDE6MzkgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguaDoKCSAgZDNkdmlkZW9zaW5rOiBmaXggY29tcGlsZXIgd2FybmluZ3MgYW5kIGJ1aWxkIGZhaWx1cmUgd2l0aCBtaW5ndwoJICBzaGFyZWQuZDNkZGV2IHdhcyByZW1vdmVkIGEgd2hpbGUgYmFjaywgbm90IHN1cmUgaG93IHRoaXMgc3RpbGwKCSAgY29tcGlsZXMgZm9yIGFueW9uZSAodHBtKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MzcxOAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwMTQzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MDUKCjIwMTItMDMtMDMgMTU6NTc6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSBBU19MSUJUT09MIGFuZCBidW1wIHZlcnNpb24gZm9yIEFCSSBjaGFuZ2UgaW4gaC4yNjQgY29kZWMgcGFyc2VyCgkgIEJhY2twb3J0ZWQgZnJvbSB0aGUgMC4xMCByZWxlYXNlIGJyYW5jaCwgd2hlcmUgdi4yMyB3YXMgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTIwMwoKMjAxMi0wMy0wMiAxMTo0NTo0MSArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHJlY29yZCBudW1iZXIgb2YgZW11bGF0aW9uIHByZXZlbnRpb24gYnl0ZXMgaW4gc2xpY2VfaGVhZGVyKCkuCgkgIFNvbWUgaGFyZHdhcmUgdmlkZW8gZGVjb2RlIGFjY2VsZXJhdGlvbiBBUEkgKFZBLUFQSSwgRFhWQSkgcmVxdWlyZQoJICBhIGJpdCBjb3VudCB0byB0aGUgZmlyc3QgbWFjcm9ibG9jaywgbWludXMgdGhlIG51bWJlciBvZiBlbXVsYXRpb24KCSAgcHJldmVudGlvbiBieXRlcy4gU28sIGluc3RlYWQgb2YgaGF2aW5nIHRoZSBjb25zdW1lciBvZiB0aGUgbGlicmFyeQoJICBzY2FuIHRoZSBzbGljZV9oZWFkZXIoKSBhZ2FpbiwganVzdCByZWNvcmQgdGhhdCBudW1iZXIgd2hpbGUgcGFyc2luZy4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMjAzCgoyMDEyLTAzLTAzIDE1OjQ3OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIHRzZGVtdXg6IGZpeCBjb25mdXNpbmcgdmFyaWFibGUgbmFtZQoKMjAxMi0wMy0wMiAxNzoxMTozMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggc2VnbWVudCBzdGFydCBwb3NpdGlvbgoJICBJZiB3ZSAqcmVhbGx5KiBjYW4ndCBmaWd1cmUgb3V0IHRoZSBmaXJzdCBzdGFydCBwb3NpdGlvbiwgdGhhdCBtb3N0CgkgIGxpa2VseSBtZWFucyB0aGUgZGF0YSB0byBwdXNoIG91dCBkb2Vzbid0IGhhdmUgYW55IHRpbWVzdGFtcC4KCSAgVXNlIGEgZGVmYXVsdCB2YWx1ZSBvZiAwIHRoZW4KCjIwMTItMDMtMDIgMTc6MTA6MjggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRmx1c2ggb3V0IHRoZSBwYWNrZXRpemVyIG9uIGZsdXNoaW5nIHNlZWtzCgkgIC4uLiBlbHNlIHdlIGVuZCB1cCB3aXRoIGJvZ3VzIGRhdGEvb2Zmc2V0cwoKMjAxMi0wMi0yOSAxMToxNDoxNSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWN0aXZhdGUgcGFkcyBvbmx5IHdoZW4gcmVjZWl2aW5nIGRhdGEgZm9yIHRoZSBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDkyMQoKMjAxMi0wMy0wMiAxNTozNzo1NyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogYWRkIG1pc3NpbmcgZGlyZWN0eCBoZWFkZXJzCgoyMDEyLTAzLTAyIDExOjA3OjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEZpeCBsZXZlbCBjb2RlCgkgIFZhbGlkIHJhbmdlcyAgICAgICAgICAgIGFyZSBmcm9tIDQgdG8gMTAKCSAgVmFsaWQgcmFuZ2VzID4+IDEgICAgICAgYXJlIGZyb20gMiB0byA1CgkgIFZhbGlkIHJhbmdlcyA+PiAxIC0gMiAgIGFyZSBmcm9tIDAgdG8gMwoJICAoYW5kIG5vdCBmcm9tIDEgdG8gNCkKCjIwMTItMDMtMDIgMTA6NTQ6NDggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogQ2hlY2sgaGFyZGVyIGZvciBwcm9ncmFtIGNoYW5nZXMKCSAgQW5kIGRvbid0IGp1c3QgcmVseSBvbiB0aGUgc2VjdGlvbiBjcmMvdmVyc2lvbl9udW1iZXIgY2hhbmdpbmcgdG8KCSAgaW5kaWNhdGUgdGhhdCB0aGUgcHJvZ3JhbSBhY3R1YWxseSBjaGFuZ2VkLgoKMjAxMi0wMy0wMSAxODo0Njo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmg6CgkgIHZkcGF1OiByZWxpY2Vuc2UgZm91ciBzb3VyY2UgZmlsZXMgZnJvbSBHUEwzKyB0byBMR1BMMisKCSAgVGhlc2Ugc291cmNlIGZpbGVzIHdlcmUgbWlzdGFrZW5seSBsaWNlbnNlZCBhcyBHUEwzLCB0aGUKCSAgYXV0aG9yIChDYXJsLUFudG9uIEluZ21hcnNzb24pIGhhcyBnaXZlbiBwZXJtaXNzaW9uIHRvCgkgIHJlbGljZW5zZSB0aGVtIHRvIExHUEwyKy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTE0MgoKMjAxMi0wMy0wMSAxODowNToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgbXBlZ3RzYmFzZS90c2RlbXV4OiBSZWZhY3RvciBzZWVrIGFuZCBzZWdtZW50IGhhbmRsaW5nCgkgIEFsbCBjYWxjdWxhdGlvbnMgZ28gdGhyb3VnaCB0aGUgbXBlZ3RzcGFja2V0aXplcgoJICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcy9jb2RlCgoyMDEyLTAzLTAxIDE3OjU5OjU3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEVycm9yIG91dCBvbiBFT1Mgd2l0aG91dCBhbnkgcGFkCgkgIEF2b2lkcyBlbmRpbmcgdXAgd2l0aCBoYW5naW5nIHBpcGVsaW5lcwoKMjAxMi0wMy0wMSAxNzo1NjozNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBPZmZzZXQgY2FsY3VsYXRpb24KCSAgQWxsb3dzIFBDUjw9PlBUUzw9Pm9mZnNldCBlc3RpbWF0aW9uL2NhbGN1bGF0aW9uCgkgIFJpZ2h0IG5vdyB0aGUgY2FsY3VsYXRpb24gaXMgdmVyeSBuYWl2ZSwgYnV0IGNhbiBiZSBleHRlbmRlZCBsYXRlciBvbgoJICB3aXRob3V0IGRpc3J1cHRpbmcgdGhlIGNvZGUgaW4gdHNkZW11eC9tcGVndHNiYXNlCgoyMDEyLTAzLTAxIDE3OjUzOjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGNsb2NrIGZpeCBhbmQgbWlub3IgYWRkaXRpb24KCSAgKiBEb24ndCB0YWtlIGludG8gYWNjb3VudCBwYWNrZXRzIHRoYXQgYXJyaXZlZCBhdCB0aGUgc2FtZSB0aW1lIGFzCgkgIHByZXZpb3VzIG9uZXMgZm9yIGNsb2NrIHNrZXcgZXN0aW1hdGlvbgoJICAqIEFkZCBjb252ZW5pZW5jZSBtZXRob2QgZm9yIHByb2Nlc3NpbmcgdGhlIG5leHQgdHMgcGFja2V0CgoyMDEyLTAyLTI5IDE4OjE5OjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIFJldmVydCAibXBlZ3RzZGVtdXg6IE5vdCBhcHBseSB2YXJpb3VzIHRpbWUgdGhlIHNhbWUgUE1UIHRvIGEgcHJvZ3JhbSB3aGVuIHJlcGV0ZWFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDhjYjBlODdmNTYyMzgzNmRkYzM2MWViOTFkY2Y5YjUwYjQ4MDQ4ZTcuCgkgIG1wZWd0c3BhY2tldGl6ZXIgYWxyZWFkeSBjaGVja3MgaWYgaXQncyBhIG5ldyBQTVQgb3Igbm90CgoyMDEyLTAyLTI5IDEwOjMzOjAwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBSZW1vdmUgYWxsIHNlZWtpbmcgY29kZQoJICBJdCB3YXMgbW9yZSB0aGFuIGJvZ3VzCgoyMDEyLTAyLTI5IDE3OjI2OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5oOgoJICB1cGRhdGUgZm9yIG1ldGFkYXRhIEFQSSBjaGFuZ2VzCgoyMDEyLTAyLTE0IDExOjU3OjAwICswMTAwICBYYXZpZXIgUXVlcmFsdCA8eHF1ZXJhbHRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3Qgc2V0IHRoZSBmZXRjaGVyJ3MgbG9jYXRpb24gdHdpY2UKCSAgQ2FsbGluZyBnc3RfZWxlbWVudF9tYWtlX2Zyb21fdXJpIGFscmVhZHkgZG9lcyBpdCBhbmQgZmlsZXNyYwoJICBmYWlscyB3aGVuIHVzaW5nIGZpbGUgcHJvdG9jb2wgaW4gYSBsb2NhdGlvbgoKMjAxMi0wMi0yOCAxNjoyNzo1NSArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgQWRkIG1pc3NpbmcgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTCgkgIFN1cHByZXNzIHdhcm5pbmdzIGFib3V0IGRlcHJlY2F0ZWQgdGhyZWFkaW5nIGFuZCBHVmFsdWVBcnJheQoJICBBUEksIHNvIGdpdCBjb21waWxlcyB3aXRoIC1XZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA5ODIKCjIwMTItMDItMjQgMDk6NTQ6MzUgKzAxMDAgIFhhdmllciBRdWVyYWx0IDx4cXVlcmFsdEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBmYWlsIGZvciBwbGF5bGlzdHMgc21hbGxlciB0aGFuIGZyYWdtZW50cy1jYWNoZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwOTYzCgoyMDEyLTAyLTI4IDExOjM5OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkgIHVwZGF0ZSBmb3IgbWV0YWRhdGEgdGFncwoKMjAxMi0wMi0yOCAwODoxMzowNCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogcG9ydCBxdGtpdHZpZGVvc3JjCgoyMDEyLTAyLTI3IDA5OjQ1OjI5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBjYXRjaCBzZWN0aW9uIGxlbmd0aHMgZXh0ZW5kaW5nIHBhc3QgdGhlIGJ1ZmZlciBsZW5ndGgKCSAgVGhpcyBpcyBwcm9iYWJseSB0aGUgY2F1c2UgZm9yIGFuIG9jY2FzaW9uYWwgY3Jhc2ggd2hpbGUgc3RyZWFtaW5nCgkgIE1QRUcuIEJsaW5kIGZpeCBhZnRlciBzdGFyaW5nIGF0IHRoZSBjb2RlIGFuZCBmb2xsb3dpbmcgbG9naWMsIHNvCgkgIG1heSBvciBtYXkgbm90IGZpeCB0aGUgaXNzdWUsIEkgY2Fubm90IHRlc3QuCgkgIChQb3J0IG9mIDQyNzVhNzBjYjU1ZDM3NWFmYTcwMjkxN2Y3MzU5ZWMxMTdlZDQ5ZDQgZnJvbSBtcGVnZGVtdXgpCgoyMDEyLTAyLTI3IDA5OjQyOjI3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBzdXBwb3J0IG1vcmUgY2hhcmFjdGVyIHNldCBlbmNvZGluZ3MKCSAgU3VwcG9ydCBVVEYtMTZCRSwgRVVDLUtSIChLU1gxMDAxKSwgR0IyMzEyIGFuZCBJU08tMTA2NDYvVVRGOCB0ZXh0CgkgIGVuY29kaW5nIGFuZCBmaXhlZCBuZXcgbGluZSBmb3IgbXVsdGlieXRlIGVuY29kaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQyNTcKCSAgKFBvcnQgb2YgOTc1OWQ2NjQwN2YyYmU4ZWMyOTk3NWIwZWZmMzIzMGJiMWRhZTBlZiBmcm9tIHRoZSBtcGVndHNkZW11eAoJICBlbGVtZW50KQoKMjAxMi0wMi0yNyAxMzoxMzoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBhdWRpb2VuY29kZXJzOiBjaGFpbiB1cCB0byBwYXJlbnQgZXZlbnQgaGFuZGxlcgoKMjAxMi0wMi0yNiAyMDo0MzozMiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkgIGFkcGNtZGVjOiBsaW5rIHRvIGxpYmdzdGJhc2UKCjIwMTItMDItMjQgMTk6MDg6NDAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzYmFzZTogRml4IHBhcnNpbmcgb2YgUFNJIHRhYmxlIElEcwoJICAoUG9ydGVkIGZyb20gbXBlZ3RzZGVtdXggZDhmZDg3NGY1MjkwZTQ5MTE0MzcxMjAwNTdlZTg4NWNkYjY4YjRhZikKCjIwMTItMDItMjQgMTU6MjY6MjEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEF2b2lkIHVubGlua2VseSBsZWFrcyBhbmQgc2VnZmF1bHQKCjIwMTItMDItMjQgMTc6NTM6NTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVXNlIG5ldyBjbG9jayBza2V3IGVzdGltYXRpb24gZm9yIG91dGdvaW5nIHRpbWVzdGFtcHMKCSAgT25seSB1c2VkIGluIGxpdmUgbW9kZQoKMjAxMi0wMi0yNCAxNzo1MjozMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBWYXJpb3VzIGNvZGUgY2xlYW51cCBhbmQgZGVhZCBjb2RlIHJlbW92YWwKCjIwMTItMDItMjQgMTc6NDc6MzggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGlzc3VlcyB3aXRoIHNrZXcgY29kZQoJICAqIEFsd2F5cyB0cnkgdG8gZ2V0IGEgdGltZXN0YW1wIGZvciB0aGUgYWxnb3JpdGhtCgkgICogUmVtb3ZlIGRlYWQgdmFyaWFibGUKCSAgKiBSZXR1cm4gcHJvcGVyIGRlZmF1bHQgdmFsdWUKCjIwMTItMDItMjQgMTc6MDc6NDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBUaW1lc3RhbXAgb3V0cHV0IGJ5IGRlZmF1bHQKCSAgQWxsb3dzIGRvd25zdHJlYW0gZWxlbWVudHMgKGxpa2UgZGVtdXhlcnMgb3IgcGFyc2VycykgdG8gZG8gcmVtb3RlCgkgIGNsb2NrIHJhdGUvc2tldyBlc3RpbWF0aW9uLgoKMjAxMi0wMi0yNCAxMjo1Mzo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBmaXggZG9jcyBhbmQgdW5pdCB0ZXN0CgoyMDEyLTAyLTIzIDE0OjQ2OjA5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBFc3RpbWF0ZSBjbG9jayBza2V3IGFuZCByZXRpbWVzdGFtcHMgYnVmZmVycyBtb3JlIHByZWNpc2x5CgkgIEFwcGx5IHRoZSBFUFRMQSBhbGdvdGl0aG0gdG8gZXN0aW1hdGUgY2xvY2sgc2tldy4KCSAgUmV1c2luZyBjb2RlIGZyb20gIC1nb29kL2dzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jCgoyMDEyLTAyLTIxIDExOjEyOjUzIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBDbGVhbiB1cCBBQUMgY2FwcyBtZXNzCgoyMDEyLTAyLTIwIDE3OjQ3OjExIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgdHNkZW11eDogUmVpbmRlbnQgZ3N0bXBlZ2Rlc2MuaAoKMjAxMi0wMi0yMCAxNzozMjoyMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFN1cHBvcnQgbW9yZSBEVFMvQUMzIGRlc2NyaXB0b3JzCgoyMDEyLTAyLTIzIDE4OjE3OjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlbW92ZSB1c2VsZXNzIGZpbmFsaXplKCkKCjIwMTItMDItMjQgMTA6MjY6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSAgdXBkYXRlIGZvciBtZXRhZGF0YSBjaGFuZ2VzCgoyMDEyLTAyLTI0IDEwOjIxOjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSAgdGVzdHM6IGZpeCBzb21lIGNhcHMKCjIwMTItMDItMjMgMjI6MDQ6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBmaXh1cCBuYXN0eSB0eXBvIGJyZWFraW5nIGNvbXBpbGF0aW9uCgoyMDEyLTAyLTIzIDIxOjE3OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29uc2lkZXIgbmFsX2xlbmd0aF9zaXplIHdoZW4gY29uc3RydWN0aW5nIGNvZGVjX2RhdGEKCSAgRml4ZXMgIzY3MDY5OS4KCjIwMTItMDItMjMgMjE6MTY6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBkaXNjYXJkIGZyYW1lIHVwb24gZGVjb2RpbmcgZXJyb3IKCjIwMTEtMTEtMDggMjA6MTk6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogVXNlIGluY29taW5nIHRpbWVzdGFtcHMgaW4gbGl2ZSBtb2RlCgoyMDExLTExLTA4IDIwOjEyOjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlcG9ydCBsYXRlbmN5ICg3MDBtcykKCjIwMTEtMTEtMDggMDk6NDQ6MTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogUXVlcnkgd2hldGhlciB1cHN0cmVhbSBpcyBsaXZlIG9yIG5vdAoKMjAxMi0wMi0yMyAxMTo1NToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWNlb3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV2ZXJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saW5zeXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGF0Y2hkZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCdW1wIHZlcnNpb24gYWZ0ZXIgcmVsZWFzZQoKMjAxMi0wMi0yMiAxNTo0MTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NjaHJvZW5jLmM6CgkgIHRlc3Q6IHBvcnQgc2Nocm9lbmMgdW5pdCB0ZXN0CgoyMDEyLTAyLTIyIDExOjQ0OjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm86IFBvcnQgdG8gMC4xMQoJICBXb3JrcyB3aXRoIHNvbWUgc2FtcGxlIGZpbGVzLiBUaGVyZSBzZWVtcyB0byBiZSBzb21lIHRpbWVzdGFtcGluZyBpc3N1ZSB0aG91Z2gsCgkgIGJ1dCB0aGUgMC4xMCB2ZXJzaW9uIGFsc28gY29tcGxhaW5zIGFib3V0IHRoYXQgdG9vLgoKMjAxMi0wMi0yMSAxODo1Njo0MiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBhdm9pZCB0b3VjaGluZyAucG8gZmlsZXMgZHVyaW5nICdtYWtlJwoJICBBIHNpbXBsZSB3b3JrYXJvdW5kIHRvIGRlYWwgd2l0aCBHTlUgZ2V0dGV4dCBhdXRvbWFrZSBpbnRlZ3JhdGlvbgoJICBmYWlsaW5nIHRvIGRlYWwgd2l0aCBnaXQuICBGaXhlcyAjNjY5MjA3CgoyMDEyLTAyLTIyIDAyOjA2OjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB1cGRhdGUgZm9yIG5ldyBtZW1vcnkgYXBpCgoyMDEyLTAyLTIxIDE2OjUzOjM3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJICB2aWRlbzogTW9yZSBkb2N1bWVudGF0aW9uCgoyMDEyLTAyLTIxIDE2OjUyOjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJICBiYXNldmlkZW9jb2RlYzogRG9jdW1lbnQgc3RydWN0dXJlcwoKMjAxMi0wMi0yMSAxMDowNjoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmMKCjIwMTItMDItMjAgMjA6MTE6MTMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBGaXggdjIxMCB3cml0aW5nIG91dCBvZiBib3VuZHMKCjIwMTItMDItMjAgMTg6NDM6NTEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogcmVtb3ZlIEdTVF9FUlJPUgoKMjAxMi0wMi0yMCAxMTo0MjoyMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSAgZ3N0LXByb2plY3QtbWFrZXI6IENyZWF0ZSB0b29scywgcGFzcyBtYWtlIGRpc3RjaGVjawoJICBDcmVhdGUgYSB0b29scyBkaXJlY3RvcnkgZm9yIGFuIGFwcGxpY2F0aW9uLiAgQWRkIHNvdXJjZSBjb2RlCgkgIHN0dWJzIHRvIGFsbG93IHRoZSBwcm9qZWN0IHRvIGNvbXBpbGUgYW5kIHBhc3MgbWFrZSBkaXN0Y2hlY2suCgkgIEFkZCBub3RlcyBpbiBzb3VyY2UgY29kZSB0byB0ZWxsIHRoZSB1c2VyIGhvdyB0byBjcmVhdGUgcGx1Z2luCgkgIG9yIGFwcCBjb2RlIHVzaW5nIHRoZSBvdGhlciAtbWFrZXIgc2NyaXB0cy4KCjIwMTItMDEtMjYgMDY6NTg6NDYgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDItMjAgMTY6MDc6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmMKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jCgoyMDEyLTAxLTI2IDE2OjMyOjE3IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1IHNob3VsZCBmb3J3YXJkIHZpZGVvIGNhcHMgZXZlbnQKCjIwMTItMDItMjAgMTQ6MzI6MTIgKzAwMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgQWRkIGxhdGVzdCBmaWxlcyB0byBzcGVjCgoyMDEyLTAyLTIwIDEyOjQyOjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSAgZGVja2xpbms6IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSBhbmQgJChHU1RfUExVR0lOU19CQVNFX0xJQlMpIHRvIGZpeCB0aGUgYnVpbGQKCjIwMTItMDItMjAgMTA6NTg6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgIGdsaWItY29tcGF0LXByaXZhdGUuaCB0byBkaXN0CgoyMDEyLTAyLTE5IDE1OjU0OjM5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJICBnc3QtcHJvamVjdC1tYWtlcjogQ3JlYXRlIGF1dG90b29scyBwcm9qZWN0CgkgIFRoaXMgaXMgYSByZXBsYWNlbWVudCBmb3IgZ3N0LXRlbXBsYXRlIHRoYXQgY3JlYXRlcyBhbiBlbnRpcmUKCSAgYXV0b3Rvb2xzIHByb2plY3QgKGN1c3RvbWl6ZWQgdG8gcGFja2FnZSBuYW1lKSwgYW5kIHBvcHVsYXRlcwoJICBpdCB3aXRoIHRoZSBzb3VyY2UgZm9yIGEgR1N0cmVhbWVyIHBsdWdpbiAoYnV0IG5vIHBsdWdpbiBmZWF0dXJlcywKCSAgdGhvc2UgY29tZSBmcm9tIGdzdC1lbGVtZW50LW1ha2VyKS4gIEZpeGVzOiAjNjY1NzI3LgoKMjAxMi0wMi0xOSAxMjo1NzozOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAxMi0wMi0xOSAwMDoxNTo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IGNsYW1wIGludGVybWVkaWF0ZXMgd2hlbiBkaXRoZXJpbmcKCjIwMTItMDEtMjMgMDk6MDU6MjEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSAgZGVja2xpbms6IEFkZCAxMC1iaXQgc3VwcG9ydAoKMjAxMi0wMS0yMyAwOTowMjozNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkgIHNjaHJvOiBBZGQgUkdCIHN1cHBvcnQKCSAgVGhpcyB1c2VzIHRoZSBhdXRvbWF0aWMgWUNvQ2cgY29udmVyc2lvbiBpbnNpZGUgU2Nocm9lZGluZ2VyIHRvCgkgIGVuY29kZS9kZWNvZGUgUkdCLiAgT25seSB3b3JrcyBpbiBpbnRyYS1vbmx5IG1vZGUsIHNpbWlsYXIgdG8gMTAtCgkgIGFuZCAxNi1iaXQsIHNpbmNlIFJHQiBpcyB0ZWNobmljYWxseSBhID44LWJpdCBmb3JtYXQgZm9yIERpcmFjCgkgIHB1cnBvc2VzLiAgVGhpcyBkZXBlbmRzIG9uIHNjaHJvZWRpbmdlci0xLjAuMTIsIHdoaWNoIGlzIHVucmVsZWFzZWQuCgoyMDEyLTAyLTE4IDAwOjAxOjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogYmFjayB0byBkZXZlbG9wbWVudAoKMjAxMi0wMi0xNyAxMjoxNToyNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IE5vdCBhcHBseSB2YXJpb3VzIHRpbWUgdGhlIHNhbWUgUE1UIHRvIGEgcHJvZ3JhbSB3aGVuIHJlcGV0ZWFkCgkgIFNvbWV0aW1lcyB0aGVpciBhcmUgc2V2ZXJhbCB0aW1lcyB0aGUgc2FtZSBQTVQgYXBwbHlpbmcgdG8gYSBzYW1lIHByb2dyYW0gaW4gYSBzdHJlYW0sCgkgIHRzZGVtdXggd2FzIHRvdGFsbHkgYmFmZmxlZCB3aGVuIHRoaXMgd2FzIGhhcHBlbmluZywgd2Ugbm93IGtlZXAgdGhlIG9uZSB3ZQoJICBhbHJlYWR5IGFwcGxpZWQgc28gaXQgd29ya3MgcHJvcGVybHkuCgoyMDEyLTAyLTE2IDA5OjU0OjI0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBmaXggZ2xpYiBkZXByZWNhdGlvbgoKMjAxMi0wMi0xNyAxMTowNjowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS4xID09PQoKMjAxMi0wMi0xNyAxMTowNTozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUkVMRUFTRSAwLjExLjEKCjIwMTItMDItMTcgMDk6MDE6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEyLTAyLTE2IDE2OjMwOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFB1dCBzb3VyY2UgdG8gbnVsbCB3aGVuIHJlc2V0dGluZyBjYXBzCgkgIEl0IHNlZW1zIHRoYXQgdjRsMnNyYyBpc24ndCBoYXBweSB3aGVuIHN3aXRjaGluZyBmb3JtYXRzIG9uIHJlYWR5CgkgIHN0YXRlLCBpdCB3b3JrcyB3aGVuIHB1dHRpbmcgaXQgdG8gTlVMTC4gS2VlcCB0aGlzIHdvcmthcm91bmQgaW4KCSAgd3JhcHBlcmNhbWVyYWJpbnNyYyB3aGlsZSB2NGwyc3JjIGlzbid0IGZpeGVkLgoJICBGaXhlcyAjODQ5ODMyCgoyMDEyLTAyLTE2IDE0OjMzOjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmMKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYwoJICBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jCgkgIGdzdC9tdmUvZ3N0bXZlZGVtdXguYwoKMjAxMi0wMi0xNiAwMToxMjo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBQdXQgc291cmNlIGluIE5VTEwgd2hlbiBpdCBmYWlscyBjaGFuZ2luZyBzdGF0ZQoJICBXaGVuIHNvdXJjZSBpcyBiZWluZyByZXNldCB0byBjaGFuZ2UgY2FwcywgY2hlY2sgdGhlIHJldHVybiBvZgoJICB0aGUgc3RhdGUgc3luY2luZyBmdW5jdGlvbiB0byBhdm9pZCBsZWF2aW5nIHRoZSBzb3VyY2UgaW4gYW4KCSAgdW5jb25zaXN0ZW50IHN0YXRlLgoKMjAxMi0wMi0xNiAwMDozMDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkgIG12ZTogZG9uJ3QgcmV0dXJuIGEgYm9vbGVhbiBmb3IgYSBHc3RGbG93UmV0dXJuCgkgIGZpeGVzIHBsYXliYWNrLgoKMjAxMi0wMi0xNSAxMDozMjoxNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQXZvaWQgdGhyb3dpbmcgRkxPV19FUlJPUiBvbiBsYXN0IFBDUiBwcm9jZXNzaW5nIGVycm9yCgkgIEluIHRoZSBjYXNlIG9mIHNjYW5uaW5nIGxhc3QgcGNyLCBlcnJvcnMgYXJlIG5vdCBjcml0aWNhbCwgc28gd2Uga2VlcAoJICB0aGUgc3RyZWFtIGZsb3dpbmcuCgoyMDEyLTAyLTE0IDExOjQ0OjQ4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIEFBQyBsYXRtIHN1cHBvcnQKCjIwMTItMDItMTUgMTE6MDY6NTcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE1pbm9yIHJlZmFjdG9yaW5nL2NvZGUgY2xlYW5pbmcKCSAgLi4uIGFkZCBzb21lIGRlYnVnZ2luZyBzeW1ib2xzIGluIHRoZSBtZWFuIHRpbWUuCgoyMDEyLTAyLTE1IDE2OjM4OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogcmVtb3ZlIF9jaGFpbiBoYWNrCgkgIEFzIHdlIGNhbiBub3cgcmVseSB1cG9uIGJlaW5nIHBhc3NlZCB1cHN0cmVhbSBkZWxpbmVhdGVkIGRhdGEgaW4KCSAgOjpoYW5kbGVfZnJhbWUoKSwgdGhlIGxhdHRlciBjYW4gYWxzbyBwYXJzZSBhdmMgZm9ybWF0dGVkIGRhdGEKCSAgd2l0aG91dCBoYXZpbmcgdG8gaW50ZXJjZXB0IGJhc2VwYXJzZSdzIGNoYWluIGZ1bmN0aW9uLgoJICBXaGlsZSB0aGlzIGV2aWRlbnRseSByZXF1aXJlcyAyIHNlcGFyYXRlIHBhcnNpbmcgcGF0aHMsIGVhY2ggY2FuCgkgIGJlIHN0cmVhbWxpbmVkIGFjY29yZGluZ2x5LgoKMjAxMi0wMi0xNSAxMTo1OTozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogYWRqdXN0IHRvIHN0YW5kYXJkaXplZCBiYXNlcGFyc2UgZnJhbWUgc3RhdGUgdHJhY2tpbmcKCjIwMTItMDItMTUgMTc6MTQ6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMi0xNSAxNTowNzozNSArMDEwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXNAaGFsbGVydWQuc2U+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggU0VJIHBhcnNpbmcKCSAgLi4uIGluIHRoZSBwcmVzZW5jZSBvZiBlbXVsYXRpb25fcHJldmVudGlvbl90aHJlZV9ieXRlLgoJICBGaXhlcyAjNjY4MzgxLgoKMjAxMi0wMi0xNSAxNDoyOToyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVzZSBwcm9wZXIgTkFMVSBvZmZzZXQgZm9yIGNvbmZpZyBkYXRhIGluc2VydGlvbgoJICAuLi4gd2hpY2ggaGFzIHRvIGJlIHRoZSBwb3NpdGlvbiBvZiB0aGUgc3RhcnQgY29kZSwgd2hpY2ggaXMgYWxtb3N0IGFsd2F5cwoJICBidXQgbmVlZCBub3QgYmUgNCBieXRlcy4KCjIwMTItMDItMTUgMTM6Mzk6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IGZpeCBjb21waWxhdGlvbgoKMjAxMi0wMi0xNSAxMzowMjowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogZG9uJ3QgbGVhayBldmVudAoJICBVbnJlZiB0aGUgZXZlbnQgd2hlbiB3ZSBkb24ndCBjaGFpbiB1cCB0byB0aGUgcGFyZW50CgoyMDEyLTAyLTE1IDEyOjU2OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9kaXJhY19wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBjaGFpbiB1cCB0byBwYXJlbnQgZXZlbnQgaGFuZGxlcgoJICBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGV2ZW50IGhhbmRsZXIgdG8gZ2V0IHRoZSBkZWZhdWx0IGJlaGF2aW91ciBpbnN0ZWFkIG9mCgkgIHJldHVybmluZyBGQUxTRS4KCjIwMTItMDItMTQgMTE6MTk6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTI3IDIwOjU4OjQ4ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBGaXggd2FybmluZ3Mgb24gNjQgYml0IG1pbmd3LXc2NAoJICBnc3RkaXJlY3RkcmF3c2luay5jOjE1NjE6MjQ6IGVycm9yOiBhc3NpZ25tZW50IGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZQoJICBnc3RkaXJlY3RkcmF3c2luay5jOjIwMjg6MzogZXJyb3I6IGZvcm1hdCAnJWQnIGV4cGVjdHMgdHlwZSAnaW50JywgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUgJ3NpemVfdCcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzUyMgoKMjAxMi0wMi0xMyAxODo0NDowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGFkanVzdCB0byBtb2RpZmllZCBiYXNlcGFyc2UgQVBJCgoyMDEyLTAyLTEzIDExOjE2OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGFkanVzdCB0byBtb2RpZmllZCBiYXNlcGFyc2UgQVBJCgoyMDEyLTAyLTEzIDEyOjI2OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4dXAgbWVyZ2UKCjIwMTItMDItMTMgMTQ6MjI6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIHRlc3RzOiBoMjY0cGFyc2U6IF91bm1hcCBidWZmZXIgdXBvbiBleGl0CgoyMDEyLTAyLTEzIDIzOjA0OjEyICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFRyaXZpYWwgYnVnIGZpeC4gRG9uJ3QgY29weSBkYXRhIGZyb20gYW4gdW5pbml0ZWQgYnVmZmVyLgoKMjAxMi0wMi0xMiAyMjo1OTo1MiArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmZHNpbmsvLmdpdGlnbm9yZToKCSogZ3N0L211bHRpZmRzaW5rL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmstbWFyc2hhbC5saXN0OgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuYzoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmg6CgkgIG11bHRpZmRzaW5rOiByZWZhY3RvcmVkIGluIC1iYXNlCgoyMDEyLTAyLTEwIDE2OjUyOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZXBvcnQgYWZ0ZXIgbWVyZ2UKCjIwMTItMDItMTAgMTY6NDY6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmMKCSAgZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtCgkgIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jCgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jCgkgIGdzdC9zZHAvZ3N0c2RwZGVtdXguYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCgkgIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmMKCSAgdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jCgkgIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYwoJICB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYwoJICB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmMKCSAgdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYwoKMjAxMi0wMi0xMCAxNDo0NjowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHVub2JmdXNjYXRlIGZyYW1lIHBhcnNpbmcgY29kZQoKMjAxMi0wMi0wOCAyMToyMTo0NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogZml4IGluZGVmaW5pdGUgd2FpdCBhZnRlciBhZGRpbmcgYSBuZXcgZmQgdG8gdGhlIHBvbGwgc2V0CgkgIElmIHRoZSBzZWNvbmQgY2FsbCB0byBfd2FpdCBibG9ja3MsIHdlIHdpbGwgbm90IHNpZ25hbCB0aGUgY29uZGl0aW9uCgkgIHZhcmlhYmxlLCBzbyBlbnN1cmUgdGhhdCBzZWNvbmQgY2FsbCBpcyBub3QgYmxvY2tpbmcuCgkgIFNlZSByYXRpb25hbGUgYW5kIGluZm9ybWF0aW9uIGluIHRoZSBsaW5rZWQgYnVnOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5Njk3CgoyMDEyLTAyLTA5IDE4OjA4OjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMDkgMTQ6NDI6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCByZWZjb3VudCBlcnJvcgoKMjAxMi0wMi0wOSAwMDowOTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXA6IGRvbid0IHVzZSBnc3RfZWxlbWVudF9jbGFzc19pbnN0YWxsX3N0ZF9wcm9wcygpCgkgIEl0J3MgYWJvdXQgdG8gYmUgcmVtb3ZlZC4KCjIwMTItMDItMDggMjA6MDk6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgUmVtb3ZlIGxlZ2FjeWgyNjRwYXJzZSBlbGVtZW50CgkgIE9uZSBoMjY0IHBhcnNlciBvdWdodCB0byBiZSBlbm91Z2ggZm9yIGFueWJvZHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgwMDIKCjIwMTItMDItMDggMTY6Mzc6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIEdTVF9GTE9XX1dST05HX1NUQVRFIC0+IEdTVF9GTE9XX0ZMVVNISU5HCgoyMDEyLTAyLTA3IDE3OjAwOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWc0dmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmZHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy96YmFyLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB1bml0IHRlc3RzCgoyMDExLTA4LTIyIDE2OjMxOjM4ICswMjAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogY3JlYXRlIGEgZDNkIGRldmljZSBmb3IgZWFjaCBzaW5rIGFuZCB1c2UgdGhlIGRlZmF1bHQgc3dhcCBjaGFpbiBpbiBjb25uZWN0aW9uIHdpdGggZmx1c2hpbmcgdGhlIEdQVSBhbmQgbm90IHJlY3JlYXRpbmcgdGhlIHN3YXAgY2hhaW4gdGhpcyBhdm9pZHMgdGVhcmluZyBhbHNvIHVzZSBHU1RfeHhfREVCVUcgbWFjcm9zIHdoZXJlIGFwcHJvcHJpYXRlCgoyMDExLTA4LTIyIDE0OjQ2OjQ4ICswMjAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZmx1c2ggR1BVIGJlZm9yZSBQcmVzZW50IGFkZGVkIGFsdGVybmF0ZSB3YWl0IGZvciB2c3luYyBtZXRob2QgYmFzZWQgb24gR2V0UmFzdGVyU3RhdHVzCgoyMDExLTA4LTIyIDE0OjMwOjQzICswMjAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogY2hlY2sgZm9yIGhhcmR3YXJlIGNhcGFiaWxpdGllcywgd2hlbiBuZWdvdGlhdGluZwoKMjAxMS0wOC0yMiAxNDoxOTowNiArMDIwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IHJlZHJhdyBsYXN0IGJ1ZmZlciB3aGVuIG5ldyB3aW5kb3cgaGFuZGxlIGhhcyBiZWVuIHNldC4KCjIwMTEtMDgtMjIgMTQ6MTM6MzAgKzAyMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBhZGRlZCBOVjEyICsgZW5hYmxlZCBSR0Igc3VwcG9ydAoKMjAxMS0wOC0yNyAxMzowNzowMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogRml4IGRldmljZSBpbml0aWFsaXphdGlvbiBjaGVjawoKMjAxMi0wMi0wNyAxMjoxNDowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGVnYWN5cmVzYW1wbGUuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTA3IDEyOjAyOjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSAgdGVzdHM6IGZpeCBzb21lIHRlc3RzCgoyMDEyLTAyLTA3IDEyOjAyOjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzOiBwb3J0IHRvIDAuMTEgc29tZSBtb3JlCgoyMDEyLTAyLTAyIDEzOjMzOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IHByZXZlbnQgY2FwdHVyZXMgZnJvbSBiZWluZyBsb3N0IHdoZW4gc3dpdGNoaW5nIHJlc29sdXRpb25zCgkgIFdoZW4gc3dpdGNoaW5nIGNhcHR1cmUgY2FwcywgY2FtZXJhYmluMSByZXNldHMgaXRzIHN0YXRlIHRvIHJlYWR5CgkgIHRvIGZvcmNlIGEgbmV3IGNhcHMgdG8gYmUgbmVnb3RpYXRlZC4gVGhpcyBjYXVzZXMgb25nb2luZyBjYXB0dXJlcwoJICB0byBiZSBhYm9ydGVkLgoJICBUaGlzIGNvbW1pdCBhZGRzIGEgY29uZGl0aW9uIHRvIHdhaXQgZm9yIGNhcHR1cmVzIHRvIGZpbmlzaCBiZWZvcmUKCSAgZ29pbmcgdG8gcmVhZHkgc3RhdGUuCgoyMDEyLTAyLTAyIDEyOjIyOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEltcHJvdmUgZGVidWcgbWVzc2FnZSBhYm91dCBwcm9jZXNzaW5nIGNvdW50ZXIKCSAgTWVudGlvbiBvbiB0aGUgbG9ncyBob3cgbWFueSBjYXB0dXJlIG9wZXJhdGlvbnMgbWlnaHQgaGF2ZSBiZWVuCgkgIGxvc3QKCjIwMTItMDItMDQgMjI6MDY6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSAgcm90YXRlOiBhbmdsZSBpcyBpbiByYWRpYW5zIGFscmVhZHksIGRvIG5vdCBzY2FsZSBpdAoJICBPdGhlciBwbHVnaW5zIHVzZSByYWRpYW5zLCBhbmQgdGhlIGFuZ2xlIGRvY3VtZW50YXRpb24gc2F5cyByYWRpYW5zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5MzY1CgoyMDEyLTAyLTA0IDIyOjA2OjEyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkgIHJvdGF0ZTogZml4IGRlc2NyaXB0aW9uIHN0cmluZyB0byBtYXRjaCB3aGF0IHRoZSBlbGVtZW50IGRvZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTM2NQoKMjAxMi0wMi0wMyAxMTowODo0OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBkbyBub3QgZW1pdCBuby1tb3JlLXBhZHMKCSAgRG9pbmcgc28gbWF5IGZpeCBzb21lIHRoaW5ncywgYnV0IGJyZWFrcyBvdGhlcnMgKG5ldyBzdHJlYW1zIGJlaW5nCgkgIGFkZGVkIGluIHRoZSBmdXR1cmUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1ODE0CgoyMDEyLTAyLTAzIDExOjI2OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjcmVhc2UgcGFzc3Rocm91Z2ggbmVnb3RpYXRpb24gcHJlZmVyZW5jZQoJICBBbHNvIGVuc3VyZSBwYXJzaW5nIGZpeGVkIGNhcHMgd2hlbiBuZWdvdGlhdGluZyByYXRoZXIgdGhhbiBmYWlsaW5nIHRvCgkgIGhhbmRsZSBub24tZml4ZWQgbGlzdCBjYXNlcy4KCSAgU2VlICM2Njg0NzEuCgoyMDEyLTAyLTAzIDAwOjUwOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGZpeCBDRkxBR1Mgb3JkZXIgYW5kIExJQlMgb3JkZXIKCSAgX0JBRF9DRkxBR1Mgc2hvdWxkIGFsd2F5cyBjb21lIGZpcnN0LCB0aGVuIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTLAoJICB0aGVuIEdTVF9CQVNFX0NGTEFHUyB0aGVuIEdTVF9DRkxBR1MuIFNhbWUgZm9yIGxpYnM6IGZpcnN0IHBsdWdpbnMKCSAgYmFzZSBsaWJzLCB0aGVuIEdTVF9CQVNFX0xJQiB0aGVuIEdTVF9MSUJTLgoKMjAxMi0wMi0wMiAyMzoyMTo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkgIGRlYnVndXRpbHM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0wMiAxMTo0MToxNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJICBtcGVncHNtdXg6IGluY2x1ZGUgc3BlY2lmaWMgQUFDIHN0cmVhbS1mb3JtYXQgaW4gdGVtcGxhdGUgY2FwcwoJICBUaGlzIGVsZW1lbnRzIHNlZW1zIHRvIHN1cHBvcnQgcmF3IGFuZCBhZHRzIEFBQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMTozNzo1NSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBhZGQgZXhwbGljaXQgc3VwcG9ydGVkIEFBQyBzdHJlYW0tZm9ybWF0IGluIHRlbXBsYXRlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMTozMTozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGluY2x1ZGUgc3BlY2lmaWMgc3VwcG9ydCBBQUMgc3RyZWFtIGZvcm1hdHMgaW4gdGVtcGxhdGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAyIDExOjI3OjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogc3BlY2lmeSBpbiB0ZW1wbGF0ZSBjYXBzIHdlIG9ubHkgdGFrZSByYXcvYWR0cyBBQUMgZm9ybWF0CgkgIFRoaXMgYXBwZWFycyB0byBiZSB3aGF0IHRoaXMgZWxlbWVudCBzdXBwb3J0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMToyMDozOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogaW5jbHVkZSBzcGVjaWZpYyBBQUMgc3RyZWFtLWZvcm1hdCB0eXBlcyBpbiB0ZW1wbGF0ZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTA6NTk6NTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGU6IGJldHRlciBlcnJvci9kZWJ1ZyByZXBvcnRpbmcKCSAgSW5jbHVkZSB0ZXh0IG1lc3NhZ2VzIGluc3RlYWQgb2YgZXJyb3IgY29kZXMuCgoyMDEyLTAyLTAxIDE5OjM4OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJICBjaHJvbWFwcmludDogZml4IHBhcmVudCBzdHJ1Y3R1cmUgaW4gYm9pbGVycGxhdGUgbWFjcm8KCjIwMTItMDItMDEgMTc6NTM6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmZHNpbmsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBpZ25vcmUgR1ZhbHVlQXJyYXkgZGVwcmVjYXRpb24gd2FybmluZ3MgZm9yIHRoZSB0aW1lIGJlaW5nCgkgIHVudGlsIHRoaXMgZ2V0cyBzb3J0ZWQgb3V0IHdpdGggdGhlIEdMaWIgZm9sa3MgYW5kIHdlIGhhdmUgYQoJICB2aWFibGUgYWx0ZXJuYXRpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjgKCjIwMTItMDItMDEgMTc6NDY6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkgIGNocm9tYXByaW50OiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMDEgMTc6MDY6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBmaXggdXAgZm9yIEdzdEF1ZGlvRGVjb2RlciBBUEkgY2hhbmdlCgoyMDEyLTAyLTAxIDE2OjI3OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSAgYW1yd2JlbmM6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoyNjo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoyNjoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoyNjowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoyNToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHM6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoyMzozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBnc206IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxMjo0Nzo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGRpc2FibGUgb3B0aW1pemVkIHBhY2tldGl6ZWQgcHJvY2Vzc2luZyBmb3IgcmV2ZXJzZSBwbGF5YmFjawoJICAuLi4gYXMgYmFzZXBhcnNlIHRoZW4gcHJvdmlkZXMgd2hvbGUgY2h1bmtzIG9mIGRhdGEgKGFzIGl0IHNob3VsZCkgYXQgb25jZQoJICB0byBiZSBwYXJzZWQsIGFuZCBzbyB0aGUgYXNzdW1wdGlvbnMgdXNlZCB0byBvcHRpbWl6ZSBhcmUgbm8gbG9uZ2VyIHZhbGlkLgoJICBGaXhlcyAjNjY3NTYwLgoKMjAxMi0wMi0wMSAxMjoyMzoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGFsc28gbWluZCBTRUkgcG9zaXRpb24gZm9yIGNvbmZpZyBkYXRhIGluc2VydGlvbgoJICBGaXhlcyAjNjY4NjI3LgoKMjAxMi0wMi0wMSAxMjowMzowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHVuYnJlYWsgb3B0aW1pemVkIHBhY2tldGl6ZWQgTkFMVSBjb2xsZWN0aW9uIHByb2Nlc3NpbmcKCSAgLi4uIGluIHRoYXQgaXQgd2FzIHNvIG9wdGltaXplZCBpdCBkaWQgbm90IGNvbnNpZGVyIGdyb3VwaW5nIE5BTFUgaW50byBBVQoJICBhbHRvZ2V0aGVyLgoJICBGaXhlcyAjNjY4NjI3LgoKMjAxMS0xMi0xNCAxOToyNzo1MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IHVzZSB0aGUgbmV3IHByZW11bHRpcGxpZWQgc3VwcG9ydCBpbiBnc3R2aWRlbwoKMjAxMi0wMS0zMCAxODo0NjowNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IGZpeCB3ZWRnZSBpbiBwcmVyb2xsIHdoZW4gcGxheWJpbjIgZGVpbnRlcmxhY2luZyBpcyBlbmFibGVkCgkgIFdoZW4gZGVpbnRlcmxhY2luZyBpcyBlbmFibGVkLCBhbiBleHRyYSBjb2xvcnNwYWNlIGVsZW1lbnQgaXMgYWRkZWQuCgkgIENvbG9yc3BhY2UgaXMgYSBiYXNldHJhbnNmb3JtLCBhbmQgaXMgdGhlbiB0aGUgb25seSBiYXNldHJhbnNmb3JtCgkgIGVsZW1lbnQgb24gdGhlIHZpZGVvIHBhdGguIEEgd2hpbGUgYWdvLCBiYXNldHJhbnNmb3JtIHN0YXJ0ZWQgZGVsYXlpbmcKCSAgZXZlbnRzIHRpbGwgY2FwcyB3ZXJlIHNldCBvbiBpdHMgc291cmNlIHBhZC4gVGhlc2UgdGhpbmdzIGNvbnNwaXJlZAoJICB0byBlbmQgdXAgc2VuZGluZyB0aGUgRFZEIGhpZ2hsaWdodCBldmVudHMgb250byBhIGJsb2NrZWQgcGFkIG9uCgkgIHN1YnRpdGxlb3ZlcmxheS4KCSAgRW5zdXJpbmcgdGhlc2UgaGlnaGxpZ2h0IGV2ZW50cyBhcmUgb25seSBzZW50IG9uY2Ugd2UncmUgaW4gcGxheWluZwoJICBtb2RlIGZpeGVzIHRoZSBpc3N1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODc2MgoKMjAxMi0wMi0wMSAwMjoxMzo0OCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZ21haWwuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm86IEZpeCBjb21waWxhdGlvbiB3aXRoIDEuMC4xMAoKMjAxMS0xMi0yNiAyMTo1Nzo0OCAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHNldCBpbnRlcmxhY2VkIGZpZWxkIGluIGNhcHMgZm9yIG1wZWcyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMTgKCjIwMTItMDEtMzEgMTI6Mjk6MTMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2wtc291cmNlIHR5cGUgY2hhbmdlcwoKMjAxMi0wMS0zMSAwODo0NDowNCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHVwZGF0ZSBhZnRlciBjb2xsZWN0cGFkczIgY2hhbmdlcwoKMjAxMi0wMS0zMCAyMjo0MTowNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogcmVuYW1lIGNvbnRyb2wtYmluZGluZ3MKCSAgZ3N0X2NvbnRyb2xfYmluZGluZ194eHggLT4gZ3N0X3h4eF9jb250cm9sX2JpbmRpbmcgZm9yIGNvbnNpc3RlbmN5LgoKMjAxMi0wMS0zMCAxNzoxNzoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5jOgoJICB1cGRhdGUgZm9yIEhFQURFUiBmbGFnCgoyMDEyLTAxLTI1IDEzOjU3OjU3ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcGFyc2luZyBvZiBWVUkgcGFyYW1ldGVycy4KCSAgbWF4X2RlY19mcmFtZV9idWZmZXJpbmcgd2FzIG1pcy1wYXJzZWQgYmVjYXVzZSBsb2cyX21heF9tdl9sZW5ndGhfdmVydGljYWwKCSAgd2FzIHBhcnNlZCB0d2ljZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODY2MAoKMjAxMi0wMS0yOSAxODowMTowNSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVW5yZWYgbm9uLWZvcndhcmRlZCBldmVudHMKCSAgQWxzbywgZG9uJ3QgdW5yZWYgZm9yd2FyZGVkIG9uZXMKCjIwMTItMDEtMjggMjA6MDE6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJICB2b2FtcndiZW5jOiBpbml0IGRlYnVnIGNhdGVnb3J5CgoyMDEyLTAxLTI4IDIwOjAxOjE5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogaW5pdCBkZWJ1ZyBjYXRlZ29yeQoKMjAxMi0wMS0yOCAxNjo1NzowMyArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogcmVzeW5jIGl0ZXJhdG9yIG9uIHJlc3luYwoKMjAxMi0wMS0yOCAxMjozMjo0NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkgIGthdGVlbmM6IHJlbW92ZSAnZmx1c2ggZXZlcnkgcGFja2V0JyBoYWNrCgkgIFRoaXMgaXMgYSBiYWQgaGFjayB3aGljaCBkb2VzIG5vdCB3b3JrIHdpdGggTWF0cm9za2EsIGFuZCBpcyBub3cKCSAgb2Jzb2xldGUgYXMgc2ltaWxhciBjb2RlIGlzIG5vdCBpbmNsdWRlZCBpbiBvZ2dtdXgvb2dnc3RyZWFtLgoKMjAxMi0wMS0yNyAxMjowODo1MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogUmUtcHVzaCBzdGlja3kgZXZlbnRzIG9uIGlucHV0IHBhZCBjaGFuZ2UKCjIwMTItMDEtMjcgMTI6MDc6NDMgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGR0bWY6IFVzZSBuZXctc3R5bGUgY2FwcwoKMjAxMi0wMS0yNyAxNzowMDoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQWRkIG1wZWdkZW11eCB0byB0aGUgbGlzdCBvZiBwb3J0ZWQgcGx1Z2lucwoKMjAxMi0wMS0yNyAxNjo1Njo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IERvbid0IGxlYWsgdGhlIFNDSEVEVUxJTkcgcXVlcnkKCjIwMTItMDEtMjYgMDc6MTM6MDYgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBQb3J0IG1wZWdkZW11eCB0byAwLjExCgoyMDEyLTAxLTI3IDE0OjQ5OjU4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6CgkgIHBsZW50eTogZml4dXAgZ2xpYiBkZXByZWNhdGlvbnMKCjIwMTItMDEtMjcgMDc6MzY6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkIHZpZXdmaW5kZXIgY29sb3JzcGFjZSBjb252ZXJzaW9uIHRvIGRlZmF1bHQgZmxhZ3MKCSAgVGhpcyBtYWtlIHRoZSBkZWZhdWx0IHNldHRpbmdzIG1vcmUgbGlrZWx5IHRvIHdvcmsuIElmIG5lZWRlZCwgb25lCgkgIGNhbiBvcHRpbWl6ZSBieSBkaXNhYmxpbmcgY29udmVyc2lvbnMgd2l0aCB0aGUgZmxhZ3MuCgoyMDEyLTAxLTIzIDA4OjA0OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFJlbW92aW5nIHNvbHZlZCBUT0RPIGFuZCBmaXhpbmcgYSB0eXBvCgoyMDEyLTAxLTI2IDIzOjI4OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjYgMjM6Mjg6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkgIGFkcGNtZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjYgMjM6Mjg6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBnc206IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNiAxNTowMzoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQWRkIHRoZSBEVkIgcGx1Z2luIHRvIHRoZSBub24tcG9ydGVkIHBsdWdpbnMKCSAgSXQgbmVlZHMgdGhlIE1QRUcgVFMgcGFyc2VyIGFuZCBjdXJyZW50bHkgY3Jhc2hlcyBkdXJpbmcgaW5zdGFudGlhdGlvbgoJICBiZWNhdXNlIGl0IGNhbid0IGNyZWF0ZSB0aGUgTVBFRyBUUyBwYXJzZXIuCgoyMDEyLTAxLTI1IDE4OjI1OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5oaDoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmNjOgoJICBtcGVnMmVuYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI1IDE4OjQ5OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5jYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBwb3J0IHNvbWUgbW9yZSB0byBuZXcgbWVtb3J5IEFQSQoJICBGaXhlcyAjNjY4Njc3LgoKMjAxMi0wMS0yNSAxNjozNzoyMiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvdmlkZW9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjUgMTY6NTc6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkgIGJheWVyOiBJbnRlcnNlY3QgdHJhbnNmb3JtZWQgY2FwcyB3aXRoIGZpbHRlcgoKMjAxMi0wMS0yNSAxNTo0MzowMSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3QgbGVhayBndmFsdWUgZnJvbSBpdGVyYXRvcgoKMjAxMi0wMS0yNSAxNjo0Njo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIG1vcmUgcG9ydGluZwoKMjAxMi0wMS0yNSAxNjoyMDo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIHBvcnQgc29tZSBtb3JlIHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDE0OjUwOjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgcG9ydCB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAxMzo1ODoxOSArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzQ2M2JjMCB0byA3ZmRhNTI0CgoyMDEyLTAxLTI1IDEzOjIyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCSAgZXh0L2thdGUvZ3N0a2F0ZWVuYy5jCgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYwoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYwoKMjAxMi0wMS0xOCAxMjowNDo1MiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogbGltaXQgdGhlIGFtb3VudCBvZiBzY2FubmluZyBkb25lIG9uIGR1cmF0aW9uIHF1ZXJpZXMKCSAgTGltaXQgdGhlIGFtb3VudCBvZiBkYXRhIHNjYW5uZWQgd2hlbiBsb29raW5nIGZvciBQVFNlcyBpbiBkdXJhdGlvbiBxdWVyaWVzIGFzIGEKCSAgZmFpbHNhZmUgZm9yIGtpbmRhIGJyb2tlbiwgcG90ZW50aWFsbHkgbGFyZ2UgZmlsZXMgd2l0aCBzcGFyc2Ugb3Igbm8gUFRTZXMuCgoyMDEyLTAxLTE4IDExOjI4OjI2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBkb24ndCBzY2FuIGZvciB0aGUgbGFzdCBQVFMgaWYgdGhlIGZpcnN0IHdhc24ndCBmb3VuZAoKMjAxMi0wMS0yNSAxMToyMTo1MCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjUgMTA6NDU6NTEgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5oOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNCAyMjoxNDozOSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC92aWRlb21heHJhdGUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmg6CgkgIHZpZGVvbWF4cmF0ZTogUmVtb3ZlLCB2aWRlb3JhdGUgaW5jbHVkZXMgdGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBub3cKCjIwMTItMDEtMjQgMTQ6MjA6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjUgMTE6Mzg6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyYTU5MDE2IHRvIGM0NjNiYzAKCjIwMTItMDEtMjQgMTE6NTY6MzQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogbWFrZSBjb25zdGFudCBzdGF0aWMgYXJyYXlzIGFjdHVhbGx5IHN0YXRpYwoKMjAxMi0wMS0yNCAxMTo1MzoyNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBmaXggdW5pbml0aWFsaXplZCByZXR1cm4gdmFsdWUKCjIwMTItMDEtMjQgMTE6MjI6NDYgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiB0cmFjZSBvdXRnb2luZyB0aW1lc3RhbXBzCgkgIGFkZCBpbmZvIGxldmVsIHByaW50cyBmb3Igb3V0Z29pbmcgdGltZXN0YW1wcy4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAxLTIzIDIyOjIwOjQwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgcmVzaW5kdmQ6IGZpeCBjYXBzIHJlZmNvdW50IGVycm9yCgkgIC9tZSBiYWQgbW9ua2V5LgoKMjAxMi0wMS0yMyAxODozMDoxOSArMDAwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXNAaGFsbGVydWQuc2U+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlOiBmaXggZ3N0X2gyNjRfcGFyc2VfY2xvY2tfdGltZXN0YW1wIGFsd2F5cyBmYWlsaW5nCgoyMDEyLTAxLTIzIDE4OjAxOjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIFJFUVVJUkVNRU5UUzoKCSAgUkVRVUlSRU1FTlRTOiB3ZSBuZWVkIGxpYnJ0bXAgZm9yIHJ0bXAgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NTIxCgoyMDEyLTAxLTIzIDE4OjUxOjM0ICswMTAwICBKb25hcyBMYXJzc29uIDxqb25hc0BoYWxsZXJ1ZC5zZT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHJlYWQgdGhlIGNicl9mbGFnIGluIGgyNjRfcGFyc2VfaHJkX3BhcmFtZXRlcnMKCjIwMTItMDEtMjMgMTc6NDc6NDUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IGZyZXF1ZW50IGRlYWRsb2NrIGRlbXV4aW5nIE1QRUcgVFMKCSAgQSBwcmV2aW91cyBwYXRjaCB0byBhZGQgc3RyZWFtcyBlYXJseSB0byBmaXggcGxheWJhY2sgb2YKCSAgbG93IGJpdHJhdGUgc3RyZWFtcyBjYXVzZXMgZnJlcXVlbnQgZGVhZGxvY2sgb2YgYSBuYXR1cmUKCSAgSSdtIGF0IGxvc3MgaG93IHRvIGZpeC4KCSAgSSdtIG5vdCBjZXJ0YWluIHdoZXRoZXIgaXQncyBhIGJ1ZyBpbiBkZWNvZGViaW4yLCBvciBpbgoJICB0aGF0IG1wZWd0c2RlbXV4IHBhdGNoLgoJICBTaW5jZSBpdCBjYXVzZXMgYSBtYWpvciByZWdyZXNzaW9uLCBsZXQgaXQgYmUgZGlzYWJsZWQgZm9yIG5vdy4KCjIwMTItMDEtMjMgMTQ6MTA6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGJyZWFrIG91dCB3aGVuIHN0cmVhbSBpZGVudGlmaWVkCgoyMDEyLTAxLTIzIDE0OjA2OjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBhdm9pZCBOVUxMIG1hbmlwdWxhdGlvbiBpZiBpbnZhbGlkIGlucHV0CgoyMDEyLTAxLTIzIDE0OjA1OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ2RlbXV4OiBhdm9pZCBOVUxMIG1hbmlwdWxhdGlvbiBpZiBpbnZhbGlkIGlucHV0CgoyMDEyLTAxLTIzIDE0OjAxOjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBhdm9pZCBzb21lIHVubGlrZWx5IGxlYWtzCgoyMDEyLTAxLTIzIDEzOjU4OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogcHJldmVudCBzb21lIGZhbGwtdGhyb3VnaCBjYXNlcwoKMjAxMi0wMS0yMyAxMzo1ODowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJICBtdmU6IHVzZSBzaWduZWQgbG9vcCB2YXJpYWJsZQoJICAuLi4gd2hlbiB1c2luZyBpdCBpbiBpID49IDAuCgoyMDEyLTAxLTIzIDEzOjU3OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdmUvbXZldmlkZW9lbmMxNi5jOgoJICBtdmU6IGVuc3VyZSBiZXN0IHRhcmdldCBmb3VuZAoKMjAxMi0wMS0yMyAxMzo1NjowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IGVuaGFuY2Ugc29tZSBlcnJvciBjYXNlIGhhbmRsaW5nCgoyMDEyLTAxLTIzIDEzOjU1OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBudXZkZW11eDogY2hlY2sgZGlyZWN0bHkgZm9yIHZhbGlkIGJ1ZmZlcgoJICAuLi4gcmF0aGVyIHRoYW4gZG9pbmcgc28gaW5kaXJlY3RseSBpbiAoaW5jb21wbGV0ZSkgc2VtYW50aWMgd2F5LgoKMjAxMi0wMS0yMyAxMzo1NDozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBmaXggcGFyYW1ldGVyIHNhbml0eSBjaGVjawoKMjAxMi0wMS0yMyAxMTo1NDowOCArMDAwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHRvIHdvcmsKCjIwMTItMDEtMjAgMTU6MzQ6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgcmVzaW5kdmQ6IGZpeCBwcmVyb2xsIG9uIHRpdGxlcyB3aXRoIG5vIGF1ZGlvIHRyYWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTk0NjkKCjIwMTItMDEtMjAgMTI6MjU6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJzbmR2ZHNyYzogZml4IGxlYWsKCjIwMTItMDEtMjAgMTI6MTU6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkYmluOiBmaXggdmlkZW8vYXVkaW8gbWl4dXAgaW4gZXJyb3IgbWVzc2FnZQoKMjAxMi0wMS0yMCAxMDo0MjoyMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByc25hdWRpb211bmdlOiBrZWVwIHRoZSBvYmplY3QgcmVmIGxvbmdlcgoJICBTaW5jZSB3ZSBkbyBub3QgZ2V0IGEgcmVmIHRvIHRoZSBwYWQsIEknbSBub3QgY2VydGFpbiBpdCdzIHNhZmUKCSAgdG8gZHJvcCB0aGUgb2JqZWN0IGFuZCB1c2UgdGhlIHBhZCBsYXRlciwgc28gaG9sZCB0aGUgb2JqZWN0IHJlZgoJICB0aWxsIHdlJ3JlIGRvbmUgd2l0aCB0aGUgcGFkLgoKMjAxMi0wMS0yMSAyMDowODozNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogbW92ZSBmcm9tIGNvbnRyb2wtYmluZGluZyB0byBjb250cm9sLWJpbmRpbmctZGlyZWN0CgoyMDEyLTAxLTIyIDE2OjU5OjM3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgUmV2ZXJ0ICIhY29sb3JzcGFjZTogZml4IG9kZCBzaXplIHByb2JsZW1zIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGUyZTZmZGNiNmIyNjVkYjIwMWYxOTE5NTJhZWVkNDI5ZTg1ZTgzNGUuCgkgIFVudGVzdGVkIGNvbW1pdCB3YXMgYWNjaWRlbnRhbGx5IHB1c2hlZC4KCjIwMTItMDEtMjIgMTY6NTg6NTkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBSZXZlcnQgImNvbG9yc3BhY2U6IEZpeCBvdXQtb2YtYm91bmQgZXJyb3JzIGZvciB2MjEwIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDNiOGI4N2NiNmMyMTdiOWYwYjUyY2ZhMzA3OWM0YTM2YWZkMWM0MjQuCgkgIFVudGVzdGVkIGNvbW1pdCB3YXMgYWNjaWRlbnRhbGx5IHB1c2hlZC4KCjIwMTItMDEtMjIgMTY6NTU6NDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSAgaW50ZXI6IEZpeCBjb21waWxhdGlvbgoJICBGaXggdXAgcHJldmlvdXNseSBib3RjaGVkIHJlYmFzZS4KCjIwMTItMDEtMDkgMjE6NTk6NTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBGaXggb3V0LW9mLWJvdW5kIGVycm9ycyBmb3IgdjIxMAoKMjAxMS0xMi0zMSAxNzoxNDoyNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgICFjb2xvcnNwYWNlOiBmaXggb2RkIHNpemUgcHJvYmxlbXMKCjIwMTItMDEtMjIgMTU6NDk6MTIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcjogQWRkIGNoYW5uZWwgcHJvcGVydHkKCjIwMTItMDEtMjIgMTU6NDg6MjggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJICBzY2hybzogSGFuZGxlIDEwIGFuZCAxNi1iaXQgZm9ybWF0cwoKMjAxMS0xMi0zMSAxNzoxMzowMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvYXZjL01ha2VmaWxlLmFtOgoJICBhdmM6IGZpeCBicm9rZW4gbGluZSBjb250aW51YXRpb24KCjIwMTEtMDgtMTggMTk6NDk6MDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQganBlZyBjb2xvci1tYXRyaXggY29udmVyc2lvbgoKMjAxMS0wOC0wOSAwOToxOToxMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9nc3RpbnRlci5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkgIGludGVyOiBBZGQgc3VidGl0bGUgaW50ZXIgZWxlbWVudHMKCjIwMTEtMDgtMDQgMTM6MDU6MjIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJICBrYXRlZW5jOiBEb24ndCBlcnJvciBvbiBlbXB0eSBpbnB1dCBidWZmZXJzCgoyMDEyLTAxLTIyIDE5OjI3OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS52Y3Byb2o6CgkgIFJlbW92ZSBsZWdhY3kgbXBlZ3ZpZGVvcGFyc2UgcGx1Z2luCgkgIFRoZXJlJ3MgYSBuZXcgb25lIGluIHRoZSB2aWRlb3BhcnNlcnMgcGx1Z2luLgoKMjAxMi0wMS0yMiAxOToxMzo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmZHNpbmsvLmdpdGlnbm9yZToKCSAgbXVsdGlmZHNpbms6IG1ha2UgZ2l0IGlnbm9yZSBnZW5lcmF0ZWQgZmlsZXMKCjIwMTItMDEtMjIgMTk6MTE6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBtYWtlIGxldmVsIGFuZCBwcm9maWxlIGZpZWxkcyBpbiBjYXBzIHN0cmluZ3MKCSAgRm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQzOAoKMjAxMi0wMS0xOCAxNjozNToxNiArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCByZWZfcGljX2xpc3RfbW9kaWZpY2F0aW9uKCkKCSAgVGhlIGVudHJpZXMgd2VyZSBub3QgZmlsbGVkIGluIGxpbmVhcmx5IGFuZCB0aGUgdGVybWluYXRpb24gd2FzIG5vdAoJICByZWNvcmRlZCBlaXRoZXIuIE5vdywgdGhlIGFjdHVhbCBudW1iZXIgb2YgbW9kaWZpY2F0aW9ucyBpcyByZWNvcmRlZAoJICBzaW1pbGFybHkgdG8gZGVjX3JlZl9waWNfbWFya2luZygpLiBpLmUuIGFuIGV4cGxpY2l0IGNvdW50ZXIgaW5zdGVhZAoJICBvZiBzdG9yaW5nIHRoZSB0ZXJtaW5hdGlvbiB2YWx1ZSBpbiB0aGUgYXJyYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjgxOTIKCjIwMTItMDEtMjAgMTY6MTI6MDIgKzAwMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSBmb3IgYWN0dWFsbHkgcG9ydGVkIGVsZW1lbnRzCgoyMDEyLTAxLTIwIDE1OjIzOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IG9ubHkgY2hlY2sgZm9yIGdzdC1wbHVnaW5zLXtnb29kLHVnbHksZmZtcGVnfSBpbiB1bmluc3RhbGxlZCBzZXR1cHMKCSAgV2UgZG9uJ3QgaW5zdGFsbCAucGMgZmlsZXMgZm9yIHBsdWdpbiBtb2R1bGVzLCBiZWNhdXNlIHdlIG9ubHkgbmVlZAoJICB0aGVtIGluIHVuaW5zdGFsbGVkIHNldHVwcywgc28gd2UgY2FuIGZpbmQgdGhlIHBsdWdpbnMgZm9yIHVuaXQgdGVzdHMKCSAgKGV2ZW4gd2hlbiBydW4gYSBjb3VwbGUgb2YgZGlyZWN0b3JpZXMgZGVlcGVyIG9yIG91dC1vZi10cmVlIGR1cmluZwoJICBtYWtlIGRpc3RjaGVjaykuCgkgIFRyeSB0byBhdm9pZCBjb25mdXNpb24sIHNvIG9ubHkgY2hlY2sgZm9yIHRob3NlIGlmIHRoaXMgaXMgaW4gZmFjdAoJICBhbiB1bmluc3RhbGxlZCBzZXR1cC4gRm9yIGluc3RhbGxlZCBzZXR1cHMgdGhlcmUncyBubyBwcm9ibGVtIGZpbmRpbmcKCSAgdGhlIHBsdWdpbnMsIHdlIGFzc3VtZSB0aGV5IGFyZSBhbGwgaW4gdGhlIHBsdWdpbmRpciBzcGVjaWZpZWQgYnkKCSAgR1N0cmVhbWVyIGNvcmUncyAucGMgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODMxMQoKMjAxMi0wMS0yMCAxNDo0NjowMCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogYWRhcHQgdG8gY29udHJvbCBiaW5kaW5nIGNoYW5nZXMKCjIwMTItMDEtMjAgMTE6NDA6MDAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2xsZXIgYXBpIGNoYW5nZXMKCSAgRG9uJ3QgdXNlIHRoZSBjb252ZW5pZW5jZSBhcGkgZm9yIGNvbnRyb2wgc291cmNlcy4KCjIwMTItMDEtMjAgMDA6NTM6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5oOgoJICBjaHJvbWFwcmludDogbWlub3IgY2xlYW4tdXBzCgkgIEZsZXNoIG91dCBkb2NzIGEgYml0LCBmaXggZWxlbWVudCBjbGFzcy4KCjIwMTEtMDEtMDIgMTk6MzQ6MDQgKzAwMDAgIEx1a8OhxaEgTGFsaW5za8O9IDxsYWxpbnNreUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2Nocm9tYXByaW50L01ha2VmaWxlLmFtOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50Lmg6CgkgIGNocm9tYXByaW50OiBpbXBvcnQgQWNvdXN0aWQgYXVkaW8gZmluZ2VycHJpbnRpbmcgcGx1Z2luCgkgIEltcG9ydGVkIGZyb20gaHR0cHM6Ly9sYXVuY2hwYWQubmV0L2dzdC1jaHJvbWFwcmludAoKMjAxMi0wMS0xMCAwMDoyMjozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogaGFuZGxlIGNvcm5lci1jYXNlIG9mIHNob3J0IHJlYWQgaW4gcHVsbF9idWZmZXIgYmV0dGVyCgkgIEl0J3MgZXh0cmVtZWx5IHVubGlrZWx5LCBidXQgdGhlcmUgYXJlIGNvcm5lciBjYXNlcyB3aGVyZSBhIHNob3J0CgkgIHJlYWQgbWlnaHQgaGFwcGVuLCBzbyBoYW5kbGUgdGhhdCwganVzdCBpbiBjYXNlLgoKMjAxMi0wMS0xOSAxNTo0Mzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBnc21lbmM6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAxLTE5IDE1OjEyOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgLS1kaXNhYmxlLWZhdGFsLXdhcm5pbmdzIGNvbmZpZ3VyZSBvcHRpb24KCjIwMTItMDEtMTkgMTE6MzQ6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5oaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmM6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5oOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzoKCSAgcG9ydCB0byBuZXcgZ3RocmVhZCBBUEkKCjIwMTItMDEtMTggMTc6MDE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBHSU8gY2hlY2ssIHRoaXMgaXMgaW4gZ3N0LWdsaWIyLm00IG5vdwoKMjAxMi0wMS0xOCAxNjo0NjozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA4MDcxODcgdG8gMmE1OTAxNgoKMjAxMi0wMS0xOCAxNjozNTowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJICBzZHBkZW11eDogUG9ydCB0byBHSU8gYW5kIHRoZSBuZXcgdWRwc3JjL3NpbmsgcHJvcGVydGllcwoKMjAxMi0wMS0xOCAxNjowMTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQWRkIG9wdXMgdG8gdGhlIG5vbi1wb3J0ZWQgcGx1Z2lucwoJICBJdCBuZWVkcyB0byBiZSB1cGRhdGVkIGZvciB0aGUgbmV3IG11bHRpY2hhbm5lbCBBUEkuCgoyMDEyLTAxLTE4IDE1OjQ4OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZkc2luay9NYWtlZmlsZS5hbToKCSAgbXVsdGlmZHNpbms6IEFkZCAkKEdTVF9QTFVHSU5TX0JBRF9DRkxBR1MpIGZvciB0aGUgaTE4biBoZWFkZXIgZmlsZQoKMjAxMi0wMS0xNyAyMTozNjoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTItMDEtMTcgMjE6MzY6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSAgYWRwY21lbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDEyLTAxLTE3IDE4OjMzOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgIGdzbWRlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTItMDEtMTcgMTg6MzI6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgZ3NtZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMi0wMS0xNyAxMzoxMjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIG11bHRpZmRzaW5rOiBBZGQgdG8gdGhlIGRvY3MKCjIwMTItMDEtMTYgMjI6NTI6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleGliaXRzdHJlYW0uY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5jYzoKCSAgbXBsZXg6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0xNiAyMjo1MjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogcG9ydCB0byAwLjExCgoyMDEyLTAxLTE2IDIyOjUxOjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJICBpcnRzcHBhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMTYgMTc6MzA6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSAgZGVidWdzcHk6IGZpeCBzdHJpbmcgbGVhawoKMjAxMi0wMS0xNiAxNzowNzoyOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJICBtcGVnZGVtdXg6IGZpeCBtaXNzaW5nIGZpbmFsaXplIGNoYWluaW5nIHRvIHBhcmVudAoJICBUaGlzIGNvZGUgZG9lcyBub3Qgc2VlbSB0byB0cmlnZ2VyIG9uIG15IHRlc3Qgc3RyZWFtcywgc28gaXQncwoJICBhIGJpdCBvZiBhIGJsaW5kIGZpeCwgYnV0IHNlZW1zIHNhZmUgZW5vdWdoIHRvIHB1c2guCgoyMDEyLTAxLTE2IDE3OjAyOjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICBvcGVuY3Y6IGZpeCBtaXNzaW5nIGZpbmFsaXplIGNoYWluaW5nIHRvIHBhcmVudCBjbGFzcwoJICBOb3QgY29tcGlsZWQsIEkgZG8gbm90IGhhdmUgdGhlIG5lY2Vzc2FyeSBkZXBlbmRlbmNpZXMuCgoyMDEyLTAxLTE2IDE3OjAxOjE4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogZml4IG1pc3NpbmcgZGlzcG9zZSBjaGFpbmluZyB0byBwYXJlbnQgY2xhc3MKCSAgTm90IGNvbXBpbGVkLCBJIGRvIG5vdCBoYXZlIHRoZSBuZWNlc3NhcnkgZGVwZW5kZW5jaWVzLgoKMjAxMi0wMS0xNiAxNjo1OTo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IGZpeCBtaXNzaW5nIGRpc3Bvc2UgY2hhaW5pbmcgdG8gcGFyZW50IGNsYXNzCgkgIE5vdCBldmVuIGNvbXBpbGVkLCBJIGRvIG5vdCBoYXZlIHRoZSBkZXBlbmRlbmNpZXMgbmVlZGVkLgoKMjAxMi0wMS0xNiAxMToyOTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tdWx0aWZkc2luay9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLW1hcnNoYWwubGlzdDoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmM6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmZHNpbmsuYzoKCSAgbXVsdGlmZHNpbms6IE1vdmUgbXVsdGlmZHNpbmsgZnJvbSBnc3QtcGx1Z2lucy1iYXNlIHRvIGdzdC1wbHVnaW5zLWJhZAoKMjAxMi0wMS0xMyAxNTo1NzozMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIEFuZHJvaWQsIEZpeCB3cm9uZyBkaW5hbWljIGxpbmtpbmcgYXR0ZW1wdAoJICBnc3Rjb2RlY3BhcnNlcnMgaXMgYnVpbHQgYXMgYW4gc3RhdGljIGxpYnJhcnkuCgkgIFRoaXMgY2hhbmdlIGZpeGVzIGJ1aWxkaW5nIHdpdGggdGhlIEFuZHJvaWQgYnVpbGRzeXN0ZW0uCgoyMDEyLTAxLTEzIDEzOjMwOjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogZml4IGZpbmFsaXplIG5vdCBjYWxsaW5nIGJhc2UgY2xhc3MgKGFuZCBsZWFraW5nKQoKMjAxMi0wMS0xMyAxMjo1NTozOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2dtc2U6IHNpZ25hbCBjaGFpbiBmdW5jdGlvbnMgdG8gZXhpdCBvbiBmbHVzaC1zdGFydAoKMjAxMi0wMS0xMyAxMjowODoyOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgc2lyZW5lbmM6IGZpeCBiYXNlIGNsYXNzIGNhbGwgbWl4dXAgaW4gZmluYWxpemUKCjIwMTItMDEtMTMgMTE6MjI6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nbXNlOiBmaXggdHlwbyB1c2luZyB0aGUgd3JvbmcgcGFkCgoyMDEyLTAxLTEzIDExOjIyOjIxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogZml4IHBvc3NpYmxlIGJ1ZmZlciBsZWFrCgoyMDEyLTAxLTEzIDEwOjMyOjU5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJICBsaW5zeXNzZGk6IGZpeCBsZWFrcwoKMjAxMi0wMS0xMyAxMDoyNToyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3Znb3ZlcmxheTogZml4IGFkYXB0ZXIgbGVhawoKMjAxMi0wMS0xMyAwMDoxMTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDEtMTIgMTc6MTY6MzIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nbXNlOiBmaXggcGFkIGxlYWtzCgoyMDEyLTAxLTEyIDE3OjExOjE0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuaDoKCSAgcGF0Y2hkZXRlY3Q6IHJlbW92ZSAobGVha2luZykgZGVhZCBjb2RlCgoyMDEyLTAxLTEyIDE2OjQ1OjM5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcjogcmVtb3ZlIChsZWFraW5nKSBkZWFkIGNvZGUKCjIwMTItMDEtMTIgMTY6MzY6MTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogYmFsYW5jZSBlbmNvZGVyIGFuZCB2aWRlbyBmb3JtYXQgYWxsb2MvZGVhbGxvYwoJICBUaGV5IHdvdWxkIGxlYWsgaWYganVzdCBjb25zdHJ1Y3RpbmcgYW5kIGZyZWVpbmcgYW4gb2JqZWN0LAoJICBhbmQgcHJvYmFibHkgY3Jhc2ggaWYgZ29pbmcgZnJvbSBQTEFZSU5HIHRvIFJFQURZIGFuZCBiYWNrCgkgIGFnYWluICh0aG91Z2ggSSBoYXZlbid0IHRlc3RlZCB0aGF0KS4KCjIwMTItMDEtMTIgMTU6NTg6MzYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IHF1ZXVlIGxlYWsKCjIwMTItMDEtMTIgMTU6NDM6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSAgZGNjcGNsaWVudHNpbms6IGZpeCBzdHJpbmcgbGVhawoKMjAxMi0wMS0xMiAxNToxOTowMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IGZpeCBldmVudCBsZWFrCgoyMDEyLTAxLTEyIDE0OjM0OjI1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlcjogZml4IG1lbW9yeSBsZWFrCgoyMDEyLTAxLTEyIDEwOjI2OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogYWxzbyBpbmRpY2F0ZSBtb25vIGF1ZGlvIGluIHNpbmsgY2FwcwoKMjAxMi0wMS0xMiAxMDoyNTo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGFsc28gaW5kaWNhdGUgbW9ubyBhdWRpbyBpbiBzaW5rIGNhcHMKCjIwMTItMDEtMTEgMTg6MjQ6NDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogZml4IHRhZyBsZWFrCgoyMDEyLTAxLTExIDE4OjEyOjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IHRha2Ugb3V0IHVudXNlZCBsZWFraW5nIGJ1ZmZlcgoKMjAxMi0wMS0xMSAxODozNzoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTExIDE2OjM0OjM1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDEtMTEgMTY6MzI6MzEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogZml4IHNsaXN0IGxlYWsKCjIwMTItMDEtMTEgMTM6MzI6MzYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICB0ZXN0czogZml4IGJ1ZmZlciBsZWFrcyBpbiBvcHVzIHRlc3RzCgoyMDEyLTAxLTExIDEyOjU4OjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZml4IHNvbWUgaW5wdXQgYW5kIG91dHB1dCBidWZmZXIgbWFwIGFuZCByZWYgaGFuZGxpbmcKCjIwMTItMDEtMTEgMTI6NTc6MTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBiYXNlIGNsYXNzIGF1ZGlvIGluZm8gaXMgbm90IHlldCBzZXQgZHVyaW5nIHNldF9mb3JtYXQKCSAgLi4uIHNpbmNlIGl0IHdpbGwgb25seSBiZSBjb21taXR0ZWQgYWZ0ZXIgaXQgaGFzIGJlZW4gYWNjZXB0ZWQgYnkgc3ViY2xhc3MuCgkgIEluIHBhcnRpY3VsYXIsIHN1YmNsYXNzIHNob3VsZCBub3QgcmVseSBvbiBpdCBkdXJpbmcgaXRzIHNldHVwLgoKMjAxMi0wMS0xMSAxMjo1NTozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHNwcmlua2xlIHNvbWUgbW9yZSBsYXlvdXQgaW5mbyBpbiBjYXBzCgoyMDEyLTAxLTExIDEyOjM5OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSAgdm9hbXJ3YmVuYzogZml4IGF1ZGlvIGZvcm1hdCBpbiB0ZW1wbGF0ZSBjYXBzCgoyMDEyLTAxLTExIDEyOjI0OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJICB2b2FtcndiZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMTEgMTA6NTA6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBVbnNldCB0aGUgVU5QT1NJVElPTkVEIGZsYWcgaWYgd2UgaGF2ZSB2YWxpZCBjaGFubmVsIHBvc2l0aW9ucwoKMjAxMi0wMS0xMCAxNzoyNzo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTEwIDE2OjU5OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiBQb3J0IHRvIDAuMTEKCjIwMTItMDEtMTAgMTU6NTA6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmMKCjIwMTItMDEtMTAgMTM6Mzg6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggc2xpc3QgbGVhawoKMjAxMi0wMS0xMCAxMzozODo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDEtMTAgMTM6MjU6MDUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBmaXggY2FwcyBsZWFrcwoKMjAxMi0wMS0xMCAxMzoyNDoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IGZpeCByZWYgbGVhawoKMjAxMi0wMS0xMCAxMTo0MTozNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBwcm92aWRlIGJvZ3VzIHZhbHVlcyBpbiBub24tVElNRSBwdXNoLW1vZGUKCSAgT25seSB0YWtlIHRoZSB1cHN0cmVhbSBzZWdtZW50IHZhbHVlcyBpbiBHU1RfRk9STUFUX1RJTUUKCjIwMTItMDEtMTAgMTE6Mzc6MTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogSGFuZGxlIHJvbGxvdmVyIGluIFBUUyBhbmQgRFRTCgkgIEFsc28gaGFuZHMgYmFjay1yb2xsb3ZlciB3aGljaCBjYW4gaGFwcGVuIHdpdGggUFRTCgoyMDEyLTAxLTA0IDExOjA1OjQ4ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogdXNlIGlzX2FsdF9kYXRhIG9wdGlvbiB0byBwcmV2ZW50IHRpbWVzdGFtcCBjb2xsaXNpb25zCgkgIGFsdHJlZi9pbnZpc2libGUgZnJhbWVzIHVzdWFsbHkgc3RvcmVkIGluIGNvbnRhaW5lciB3aXRoIHNhbWUgdGltZXN0YW1wIGFzCgkgIGRlcGVuZGV0IGZyYW1lLiBUaGlzIG1ha2UgYmFzZXZpZGVvZGVjb2RlciB0byB1cGRhdGUgdGltZXN0YW1wIGZvciBkZXBlbmRldAoJICBmcmFtZSBhbmQgY291c2UgVFMgY29saXNpb24gb24gbmV4dCBmcmFtZToKCSAgXi0gaGVyZSBpcyBhbHRyZWYKCSAgdGltZSAgICAgOiAxIDIgMyA0IDUgNiA3IDggOQoJICB3ZWJtIHRzICA6IDEgICAzIDUgNSAgIDcgICA5CgkgIHZwOGRlYyB0czogMSAgIDMgICA3ICAgNyAgIDkKCSAgRml4IGJ1ZzogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTI0NQoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDEtMDQgMTE6MDk6MjMgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBvcHRpb24gdG8gaGFuZGUgYWx0IGZyYW1lIGRhdGEKCSAgYWx0cmVmL2ludmlzaWJsZSAnZnJhbWUnIGRvIG5vdCBkZXNjcmliZSBzb21lIGZyYW1lIGRpcmVjdGx5LCBzbyBpdCBjYW4ndCBiZQoJICBkaXNwbGF5ZWQgYW5kIHRpbWVzdGFtcHMgc2hvdWxkIG5vdCBiZSB1cGRhdGVkLgoJICBGaXggYnVnOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1MjQ1CgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMS0wOSAxNDo1NjoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzQ6IGZpeCBwYXJzaW5nIHdoZW4gcmVjdXJzaXZlbHkgc2tpcHBpbmcgdXNlciBkYXRhCgoyMDEyLTAxLTA5IDE0OjU5OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogTWFrZSBzdXJlIHRoYXQgdGhlIHNyY3BhZCBoYXMgY2FwcyBiZWZvcmUgZmluaXNoaW5nIGFjdHVhbCBhdWRpbyBkYXRhCgoyMDEyLTAxLTA5IDE0OjM5OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRG9uJ3QgdXBkYXRlIGNhcHMgb24gZXZlcnkgYnVmZmVyCgoyMDEyLTAxLTA5IDE0OjI4OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRG9uJ3QgY2FsbCBnc3RfYnVmZmVyX21lbWNtcCgpIHdpdGggYSBOVUxMIGJ1ZmZlcgoKMjAxMi0wMS0wOSAxMTowMzoyNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVzZSB0aGUgZnJhbWVyYXRlIHRoYXQgd2FzIGNvcGllZCBhIGZldyBsaW5lcyBhYm92ZQoKMjAxMi0wMS0wOSAxMDo1ODo1NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBhZGQgYSBjb3VwbGUgY29uc3RzIG9uIHN0cmluZyBsaXRlcmFsIGFycmF5cwoKMjAxMi0wMS0wOSAwODo0MDo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEdzdEJhc2VDYW1lcmFTcmMgaXMgdGhlIGJhc2UgY2xhc3MsIG5vdCBHc3RCaW4KCjIwMTItMDEtMDkgMDg6MzQ6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHZvYW1yd2JlbmMsIGx2MiBhbmQgdGVsZXh0ZGVjIGFyZSBub3QgcG9ydGVkIHlldAoKMjAxMS0xMi0xOSAxMToyNDozMSAtMDUwMCAgRGF2aWQgQmlvbWVjaDM2MCA8ZGRlczMxMEB5YWhvby5jb20+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJICBjb2xvcmVmZmVjdHM6IGFkZGVkIHN1cHBvcnQgZm9yIGEgdmlzdWFsIG1hZ25pZmllciBjb2xvciBmaWx0ZXIgdG8gYmUgdXNlZCBpbiBnbm9tZS12aWRlby1lZmZlY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY1NDIKCjIwMTItMDEtMDYgMTA6NTI6MzYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggdGVzdCBhbmQgc2V0IG5vdCB1c2luZyB0aGUgc2FtZSBpbnB1dAoJICBUaGlzIGZpeGVzIEguMjY0IG91dHB1dCBub3QgaGF2aW5nIGEgc2V0IGZyYW1lcmF0ZSwgYW5kCgkgIGNvbmZ1c2luZyBzb21lIG9mIHRoZSBlbGVtZW50cyBkb3duc3RyZWFtIChzdWNoIGFzIGludGVybGFjZSkuCgoyMDEyLTAxLTA2IDEwOjM5OjA3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogYXZvaWQgZGl2aWRpbmcgYnkgemVybyBvbiB1bmtib3duIGZyYW1lcmF0ZQoJICBJZiB0aGUgZnJhbWVyYXRlIGlzIHVua25vd24sIHdlIGNhbm5vdCBnZW5lcmF0ZSBtZWFuaW5nZnVsCgkgIGJ1ZmZlciB0aW1lc3RhbXBzL2R1cmF0aW9ucywgc28gc2V0IHRoZW0gdG8gX05PTkUgaW5zdGVhZCBvZgoJICBjYWxjdWxhdGluZyBzb21ldGhpbmcgd3JvbmcgYW5kIGRpdmlkaW5nIGJ5IDAuCgoyMDEyLTAxLTAyIDA4OjI4OjEzICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvR3N0VlA4RW5jLnByczoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgdnA4OiBhZGQgaW5pdGlhbCBwcmVzZXQgZmlsZQoJICBUaGlzIGlzIGluaXRpYWwgcHJlc2V0IGZpbGUsIGN1cnJlbnRseSB3aXRoIG9ubHkgb25lIHByb2ZpbGUKCSAgZm9yIHJlYWx0aW1lIGVuY29kaW5nLgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDEtMDUgMTQ6MzA6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogbGluayBhZ2FpbnN0IHZpZGVvIGxpYnJhcnkKCjIwMTEtMTItMDggMTI6MTU6MzkgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogcmVtb3ZlIGgyNjMgZ29iIHBhcnNpbmcsIHNpbmNlIHRoZXJlIGlzIG5vIGdvYiBpbW1lZGlhdGUgYWZ0ZXIgc3ZoCgoyMDExLTEyLTA4IDEyOjEzOjM4ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGFkZCBtaXNzaW5nIHplcm9fYml0cyBpbiBoMjYzIHBhcnNpbmcKCjIwMTEtMTItMDggMTI6MTI6MjEgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaW5jbHVkZXMgc3RhcnRfbWFya2VyIGluIGgyNjMgaGVhZGVyIGZvciBwYXJzaW5nCgoyMDExLTEyLTA4IDEyOjA3OjQyICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBvZmZzZXQgaXNzdWUgaW4gaDI2MyBwYXJzZQoKMjAxMS0xMi0wOCAxMToyNzo1NiArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggbWFzayBwYXR0ZXJuIGZvciBoMjYzIHN0YXJ0IG1hcmtlcgoKMjAxMi0wMS0wNSAxMTowMTowMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIHRlc3RzOiB0ZXN0IGZvciBHVEsgMi4yNCBmb3IgbmV3IHN5bWJvbHMgdXNlZCBpbiBjYW1lcmFiaW4yIHRlc3RzCgkgIFRoZSB3aG9sZSB0cmVlIGlzIGxpa2VseSB0byBzd2l0Y2ggdG8gR1RLIDMuMCBhdCBzb21lIHBvaW50LCBidXQKCSAgd2UgbWlnaHQgYXMgd2VsbCBjb250aW51ZSBidWlsZGluZyB3aXRoIHNsaWdodGx5IGxlc3MgbmV3IHZlcnNpb25zCgkgIGlmIGl0J3Mgbm90IGhhcmQgdG8gZG8uCgoyMDEyLTAxLTA1IDEwOjM4OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIHNpZ25hbHByb2Nlc3NvcjogVGhlIG11bHRpY2hhbm5lbC5oIGhlYWRlciBpcyBnb25lIG5vdwoKMjAxMi0wMS0wNSAxMDoyMzowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA1IDA5OjUyOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBQb3J0IHRvIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDUgMDk6MzQ6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZXRlc3RzcmM6IFVwZGF0ZSB0byB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDE2OjEzOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxOTo1MjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA1NDZlNTggdG8gMDgwNzE4NwoKMjAxMi0wMS0wNCAxODo0Mjo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IHJlbW92ZSB0ZW1wb3JhcnkgZmlsZXMgd2hlbiBkb25lIGluIGNhbWVyYWJpbiwgY2FtZXJhYmluMiBhbmQgamlmbXV4IHRlc3RzCgoyMDEyLTAxLTA0IDExOjI4OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIHRlc3RzOiBwb3J0IHNvbWUgbW9yZSB1bml0IHRlc3RzCgoyMDEyLTAxLTA0IDEwOjU2OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogZml4IGFuZCB0d2VhayBmcmFtZSB0aW1lc3RhbXBpbmcKCSAgLi4uIHRvIHJ1biB3aXRoIHByb3Blcmx5IGluaXQnZWQgdmFyaWFibGVzLCBhbmQgdG8gb25seSBwZXJmb3JtIGludGVycG9sYXRpb24KCSAgaW4gc2FmZSBjYXNlcy4KCjIwMTItMDEtMDQgMTA6MDI6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIEdTVF9GTE9XX1VORVhQRUNURUQgLT4gR1NUX0ZMT1dfRU9TCgoyMDEyLTAxLTAzIDIyOjA5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcHJlZmVyIG5lZ290aWF0aW5nIHBhc3MtdGhyb3VnaAoKMjAxMi0wMS0wMyAyMTo1OTozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG1hcmsgYnl0ZS1zdHJlYW0gQVUgZnJhbWUgd2l0aCBpbnNlcnRlZCBjb2RlYyBOQUxzIGFzIGtleWZyYW1lCgoyMDEyLTAxLTAzIDIwOjIzOjE2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcHJvcGVybHkgZGV0ZXJtaW5lIHNraXAgYW1vdW50IHdoZW4gbm8gTkFMIHN0YXJ0IGZvdW5kIHlldAoKMjAxMi0wMS0wMyAyMDoyMTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHNvbWUgbW9yZSBwcm9wZXIgcGFyc2Ugc3RhdGUgcmVzZXQKCjIwMTItMDEtMDMgMTU6MjY6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgR1NUX0ZMT1dfVU5FWFBFQ1RFRCAtPiBHU1RfRkxPV19FT1MKCjIwMTItMDEtMDIgMTU6NTU6MjEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBlbmNvZGluZyBwcm9maWxlcyBhcmUgb2JqZWN0cyBpbiAwLjExCgoyMDEyLTAxLTAyIDE1OjUyOjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSAgZXhhbXBsZXM6IEZpeCBidWlsZAoKMjAxMS0xMi0zMSAwOTo1NTo0NiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBBUEkgY2hhbmdlcwoKMjAxMS0xMi0zMCAxOTowODowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXBkYXRlIGZvciBnZHAgZGF0YXByb3RvY29sIGxpYnJhcnkgcmVtb3ZhbAoKMjAxMS0xMi0zMCAxODoxODoxMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBTd2FsbG93IGluY29taW5nIGNhcHMgZXZlbnQKCSAgT3RoZXJ3aXNlIHdlIGVuZCB1cCBhc2tpbmcgc3ViY2xhc3NlcyB0byBwdXNoIHRoZSBldmVudCBmb3J3YXJkLAoJICB3aGljaCB3aWxsIGZhaWwgc2luY2Ugbm8gcGFkcyBhcmUgY3JlYXRlZCB5ZXQuCgoyMDExLTEyLTMwIDE4OjE3OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFByb3Blcmx5IGNhcnJ5IG92ZXIgdGhlIHRpbWVzdGFtcAoKMjAxMS0xMS0wOCAyMDoxOTo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBVc2UgaW5jb21pbmcgdGltZXN0YW1wcyBpbiBsaXZlIG1vZGUKCjIwMTEtMTEtMDggMjA6MTI6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVwb3J0IGxhdGVuY3kgKDcwMG1zKQoKMjAxMS0xMS0wOCAwOTo0NDoxOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBRdWVyeSB3aGV0aGVyIHVwc3RyZWFtIGlzIGxpdmUgb3Igbm90CgoyMDExLTEyLTA2IDE3OjM3OjQ1ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWN0aXZhdGUgcGFkIGJlZm9yZSBzZXR0aW5ncyBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU2NzcKCjIwMTEtMTItMzAgMTE6NDk6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbQoKMjAxMS0xMi0zMCAxMTo0MToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEtcHJlbWVyZ2UKCSAgQ29uZmxpY3RzOgoJICBkb2NzL2xpYnMvTWFrZWZpbGUuYW0KCSAgZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2RlYy5jCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYwoJICBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbQoJICBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmMKCSAgZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYwoJICBnc3QvYXNmbXV4L2dzdGFzZm11eC5jCgkgIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jCgkgIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYwoJICBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmMKCSAgZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jCgkgIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmMKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYwoJICBnc3QvbXhmL214Zm11eC5jCgkgIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmMKCjIwMTEtMTItMzAgMDA6MDI6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJICBiYXNldmlkZW9jb2RlYzogUmVzZXQgc2hvdWxkIHJlc2V0IGN1cnJlbnQgY2FwcwoJICBOZXcgY2FwcyB3aWxsIG5lZWQgdG8gYmUgbmVnb3RpYXRlZCB3aGVuIHJlc2V0IGhhcHBlbnMKCSAgKFBBVVNFRCB0byBSRUFEWSkuIFdpdGhvdXQgcmVzZXRpbmcgdGhlIGludGVybmFsCgkgIHN0b3JlZCBmb3JtYXQsIGJhc2V2aWRlb2VuY29kZXIvZGVjb2RlciB3b3VsZG4ndCBjYWxsIHRoZQoJICBjb25maWd1cmF0aW9uIGZ1bmN0aW9uIHdoZW4gdGhlIHNhbWUgY2FwcyB3YXMgbmVnb3RpYXRlZAoJICBhZ2FpbiBhcyB0aGV5IHdvdWxkIGJlbGlldmUgdGhpcyB3YXMgdGhlIHNhbWUgY2FwcyBhcyBiZWZvcmUuCgkgIFRoZSBpc3N1ZSBpcyB0aGF0IF9zdG9wIGhhcyBiZWVuIGNhbGxlZCB3aGVuIGdvaW5nIHRvIFJFQURZIGFuZAoJICB0aGUgZWxlbWVudHMgd291bGQgaGF2ZSByZXNldCB0aGVpciBpbnRlcm5hbCBjb2RlYyBsaWJzL3N0YXRlIGFzCgkgIHdlbGwuIEEgbmV3IGNvbmZpZ3VyYXRpb24gc2hvdWxkIGJlIGRvbmUuCgoyMDExLTEyLTMwIDAwOjAyOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGNsYXJpZnkgc29tZSBtZXNzYWdlIGxvZ3MKCSAgQmUgZXhwbGljaXQgb24gd2hpY2ggZW5jb2RlYmluIHdlJ3JlIHN3aXRjaGluZyBwcm9maWxlcyBvbiB0aGUKCSAgbG9nIG1lc3NhZ2VzCgoyMDExLTEyLTI5IDEzOjMwOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBhZGQgc29tZSBlcnJvciBoYW5kbGluZyBmb3IgZm9ybWF0IGNoYW5naW5nCgkgIENoZWNrIHRoYXQgdGhlIGZvcm1hdCBjb3VsZCBiZSBpbml0aWFsaXplZCBhbmQgc2hvd3MgYSBtb2RhbCBkaWFsb2cKCSAgaW4gY2FzZSBpdCBjb3VsZG4ndC4KCjIwMTEtMTItMjkgMTI6NDc6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLnVpOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogYWRkIGZvcm1hdCBzZWxlY3Rpb24gZm9yIGNhbWVyYWJpbjIgZXhhbXBsZQoJICBBZGRzIGEgY29tYm9ib3ggZm9yIHNlbGVjdGluZyB0aGUgdmlkZW8gcHJvZmlsZSBmb3IgcmVjb3JkaW5ncy4KCSAgVXNlZnVsIGZvciB0ZXN0aW5nIG11bHRpcGxlIGZvcm1hdHMgYS92IHN5bmMgd2hlbiByZWNvcmRpbmcuCgoyMDExLTEyLTI4IDE2OjU5OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHJlbW92ZSBjb21tZW50IGZvciBhbHJlYWR5IGZpeGVkIGlzc3VlcyBvbiBtYWtlZmlsZQoJICBTb21lIGlzc3VlcyBvbiBjYW1lcmFiaW4yIGFuZCBqaWZtdXggdGVzdHMgd2VyZSBmaXhlZCBzb21lCgkgIHRpbWUgYWdvLCByZW1vdmUgdGhlIGNvbW1lbnRzIGFib3V0IHRoZW0KCjIwMTEtMTItMjggMTY6NTc6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEZpeCBtZXNzYWdlIGxlYWsgaW4gdGVzdHMKCjIwMTEtMTItMjcgMTE6NTk6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZml4IGd2YWx1ZSBsZWFrCgoyMDExLTEyLTI3IDEwOjIzOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBmaXggbWFpbmxvb3AgbGVha3MKCjIwMTEtMTItMjcgMTA6MjA6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogc2VjdXJlIGV2ZW50IHJlZiB3aGVuIHNlbmRpbmcgZXZlbnQgdG8gcGFyZW50IGNsYXNzCgkgIGNhbWVyYWJpbjIgbmVlZHMgdG8gaG9sZCBhbiBleHRyYSByZWYgb24gc2VuZF9ldmVudCBiZWZvcmUgc2VuZGluZwoJICBpdCB0byB0aGUgcGFyZW50IGNsYXNzIGFzIGl0IHdpbGwgbmVlZCB0byB1c2UgaXQgYWZ0ZXIgdGhlIHBhcmVudAoJICBoYW5kbGVzIGl0LgoKMjAxMS0xMi0yNCAxNDozMjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogcG9ydGluZyB0byAwLjExCgoyMDExLTEyLTIzIDE2OjMzOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogcG9ydCB0byAwLjExCgoyMDExLTEyLTIzIDA5OjMwOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogc3RhbmRhcmRpemUgc29tZSBmaWVsZCBkYXRhIHR5cGVzCgkgIEZpeGVzICM2NjY3NTAuCgoyMDExLTEyLTIyIDE1OjE5OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogcmVtb3ZlIHJlZHVuZGFudCBmdW5jdGlvbnMKCSAgZ3N0X2Jpbl9nZXRfYnlfaW50ZXJmYWNlIHNob3VsZCBiZSBlbm91Z2ggZm9yIGFwcGxpY2F0aW9ucy4KCSAgSGF2ZW4ndCBzZWVuIGFueW9uZSB1c2luZyB0aG9zZSBvdGhlciB0aGFuIHdyYXBwZXJjYW1lcmFiaW5zcmMuCgoyMDExLTEyLTIyIDE1OjAxOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSAgY2FtZXJhYmluMjogcmVtb3ZlIHVudXNlZCBoZWxwZXIgZnVuY3Rpb24KCSAgVGhpcyBkcm9wX2Vvc19wcm9iZSBmdW5jdGlvbiBpcyBub3QgdXNlZCBhbnltb3JlLCByZW1vdmUgaXQKCjIwMTEtMTItMjIgMTc6MTU6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiByZWNyZWF0ZSBlbmNvZGVyIGFmdGVyIGZsdXNoaW5nCgkgIC4uLiBzaW5jZSBpdCBhcHBlYXJzIHRoZSBleGlzdGluZyBvbmUgY2FuJ3QgYmUgYm90aGVyZWQgYW55bW9yZSB0byBwcm9kdWNlCgkgIHNvbWUgb3V0cHV0LgoKMjAxMS0xMi0yMiAxNzoxNDowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHJlZmFjdG9yIGVuY29kZXIgbGlicmFyeSBzZXR1cAoKMjAxMS0xMi0yMiAxNzoxMDoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IG5vIG5lZWQgdG8gZHVwbGljYXRlIGJhc2VjbGFzcyBzYW5pdHkgY2hlY2tzCgoyMDExLTEyLTIyIDE3OjA5OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSAgdm9hbXJ3YmVuYzogbm8gbmVlZCB0byBkdXBsaWNhdGUgYmFzZWNsYXNzIHNhbml0eSBjaGVja3MKCjIwMTEtMTItMjEgMjM6NTE6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgdXBkYXRlIGZvciB2aWRlb2ZpbHRlciBjaGFuZ2VzCgoyMDExLTEyLTIxIDExOjMzOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJICB0ZXN0czogYXZvaWQgdXNlbGVzcyBpbmNsdWRlCgoyMDExLTEyLTE5IDE2OjQ5OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogRml4IEEvViBzeW5jIGZvciBjYXB0dXJlcwoJICBBdWRpbyBzcmMgd2FzIHB1c2hpbmcgbmV3c2VnbWVudHMgc3RhcnRpbmcgZnJvbSAwLCBldmVuIHdoZW4gaXRzIGJ1ZmZlcnMKCSAgd2VyZSBub3Qgc3RhcnRpbmcgd2l0aCAwIGFzIHRoZWlyIHRpbWVzdGFtcHMuIEFkZCBhIGJ1ZmZlciBwcm9iZSB0aGF0CgkgIGNoZWNrcyB0aGUgdHMgb2YgdGhlIGZpcnN0IGJ1ZmZlciBhbmQgdXNlcyB0aGF0IHRvIHB1c2ggYSBuZXdzZWdtZW50LAoJICBqdXN0IGxpa2Ugd2UgZG8gZm9yIHZpZGVvIG9uIHdyYXBwZXJjYW1lcmFiaW5zcmMuCgoyMDExLTEyLTE5IDE1OjE3OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IGVuYWJsZSB0ZXN0cwoJICBUZXN0cyBhcmUgcGFzc2luZyBub3csIGVuYWJsZSB0aGVtCgoyMDExLTEyLTE5IDE1OjE2OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFB1c2ggbmV3c2VnbWVudHMgb24gdmlkZW8gY2FwdHVyZSBzdGFydAoJICBQdXNoaW5nIG5ld3NlZ21lbnRzIHRvIGluZm9ybSBtdXhlcnMgYWJvdXQgdGhlIHN0YXJ0IHRpbWUgb2YgdGhlCgkgIHZpZGVvIGJ1ZmZlciB0aW1lc3RhbXBzLgoKMjAxMS0xMi0yMCAxNDowNDo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBjbGVhciBzZWkgbWVzc2FnZSBwcmlvciB0byBwYXJzaW5nCgkgIEZpeGVzICM2NjY1ODQuCgoyMDExLTEyLTE5IDIzOjUxOjE5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBpbnRlcnBvbGF0aW9uLW1vZGUgYXBpCgoyMDExLTEyLTE5IDIyOjU0OjQ3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sbGVyIGFwaQoKMjAxMS0xMi0xOSAxODo0NDozMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bTogdXBkYXRlIGZvciBuZXcgaW50ZXJsYWNlIGNhcHMKCjIwMTEtMTItMTkgMTM6MTg6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogb25seSB3YXJuIHdoZW4gd2Ugc2VlIGEgUElEIHdpdGggdW5rbm93biB0eXBlCgkgIFRoaXMgaXMgcXVpdGUgZnJlcXVlbnQsIGFuZCB3ZSB3aWxsIGp1c3QgaWdub3JlIHRoYXQgc3RyZWFtLAoJICBzbyBhbiBlcnJvciBpcyBub3Qgd2FycmFudGVkLgoKMjAxMS0xMi0xOSAxMjozMjoyNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGF2b2lkIHB1c2hpbmcgU1BTL1BQUyBhdCBzdGFydCBvbmx5IGlmIGJvdGggYXJlIGZvdW5kIGluIHN0cmVhbQoJICBBdm9pZCBpbmplY3RpbmcgU1BTL1BQUyBuYWxzIG9ubHkgaWYgYm90aCBhcmUgYWxyZWFkeSBwcmVzZW50IGluIHRoZSBzdHJlYW0uCgkgIEZpeGVzIHNvbWUgQVZDIGNsaXBzIHRoYXQgaGFwcGVuIHRvIGhhdmUgb25seSBQUFMgbmFscyBpbiBzdHJlYW0uCgoyMDExLTEyLTE4IDE4OjM3OjA4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogaGFuZGxlIGZvcmNlIGtleSB1bml0IGV2ZW50cwoKMjAxMS0xMi0xOCAxNzo0MDo1NyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvIHdhaXQgZm9yIGEga2V5ZnJhbWUgd2hlbiBoYW5kbGluZyBmb3JjZSBrZXkgdW5pdCBldmVudHMKCSAgQWx0aG91Z2ggc29tZSBkZWNvZGVycyBjYW4gc3RhcnQgZGVjb2Rpbmcgd2l0aCBqdXN0IFBQUyBhbmQgU1BTIGFuZCB3YWl0aW5nIGZvcgoJICBhIGtleWZyYW1lIGlzIGJhZCB3aGVuIHRoZSBrZXlmcmFtZSBpbnRlcnZhbCBpcyBsYXJnZSwgZ3N0LWZmbXBlZyBkb2VzIG5lZWQgYQoJICBrZXlmcmFtZSB0byBzdGFydCBkZWNvZGluZy4KCjIwMTEtMTItMTggMTc6MzI6MTEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiB1bnNldCB0aGUgY3VycmVudCBQQ1Igc3RyZWFtIHdoZW4gc3RhcnRpbmcgYSBuZXcgdW5pdAoJICBVbnNldCB0aGUgY3VycmVudCBQQ1Igc3RyZWFtIHdoZW4gc3RhcnRpbmcgYSBuZXcgdW5pdCBzbyB0aGF0IGFmdGVyd2FyZHMgYSBuZXcKCSAgc3RyZWFtIGlzIHNlbGVjdGVkIGFzIFBDUiBhbmQgUEFUIGFuZCBQTVQgdGFibGVzIGFyZSByZWdlbmVyYXRlZC4KCjIwMTEtMTItMTggMTc6MzE6MTggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXgga2V5IHVuaXQgZXZlbnQgaGFuZGxpbmcgd2hlbiBtdXhpbmcgYm90aCBhdWRpbyBhbmQgdmlkZW8KCSAgVGFrZSBvbmx5IHZpZGVvIGJ1ZmZlcnMgaW50byBhY2NvdW50IHdoZW4gZGVjaWRpbmcgd2hlbiB0byBjdXQgc28gdGhhdCBuZXcgdW5pdHMKCSAgc3RhcnQgd2l0aCBhIHZpZGVvIGtleWZyYW1lLgoKMjAxMS0xMi0xNSAxODoxNDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZXRpZ2VyOiBkb24ndCB1bnJlZiBOVUxMIGJ1ZmZlcgoKMjAxMS0xMi0xNSAxNjo0MjoyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzOiBmaXggYmFkIG1lcmdlIChzdHJheSB1bm1hcCwgdW5kZWNsYXJlZCB2YXIpCgoyMDExLTEyLTE1IDExOjExOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGppZm11eDogcmUtZW5hYmxlIGppZm11eCdzIHRlc3RzCgkgIEZpeCBmb3IgaXRzIHRlc3QgaXMgbm93IGF2YWlsYWJsZSBvbiAtYmFzZSBtb2R1bGUuCgkgIEVuYWJsaW5nIGFnYWluLgoKMjAxMS0xMi0xNSAxMzo0Nzo1NSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uaDoKCSAgdmlkZW9tZWFzdXJlOiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNSAxMzozOTo0MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJICBteGZtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgkgIE9ubHkgdGVzdGVkIHdpdGggYXVkaW8sIEkgY2FuJ3QgZ2V0IGl0IHRvIGFjY2VwdCB2aWRlbyAoYmVmb3JlCgkgIHRoZSBwb3J0KS4KCjIwMTEtMTItMTUgMTM6MjI6MjQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoJICBJICp0aGluayogdGhlIHN0cmVhbSBsb2NrIHVzZSBpcyBjb3JyZWN0LCBub3QgMTAwJSBzdXJlLgoKMjAxMS0xMi0xNSAxMzowODo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJICBtcGVncHNtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE1IDEzOjA0OjUxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJICBmcmVpMHI6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgkgIFVudGVzdGVkLCBubyBzYW1wbGUgcGlwZWxpbmUgbWVudGlvbmVkLCBhbmQgSSd2ZSBubyBpZGVhIHdoYXQKCSAgdGhpcyBwbHVnaW4gZG9lcywgYnV0IHNpbmNlIGFsbCB0aGUgcHJldmlvdXMgcG9ydHMgd29yayBvdXQgb2YKCSAgdGhlIGJveCwgdGhpcyBpcyBkZWVtZWQgdG8gd29yayB1bnRpbCBldmlkZW5jZSBpdCBkb2Vzbid0LgoKMjAxMS0xMi0xNSAxMzowMjoxNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuaDoKCSAgY29tcGFyZTogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTUgMTI6NTk6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkgIGFzZm11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTc6MzY6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBhdm9pZCBjcmFzaGluZyB1cG9uIGRyYWluaW5nCgkgIC4uLiBhbmQgY2xlYW4gdXAgc29tZSB2YXJpYWJsZSBpbml0IGFuZCBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDExLTEyLTE0IDA4OjU0OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMS0xMi0xNCAwODozMjo1MCAtMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8dG9tbWkubXlvaGFuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBmaXggbGVhayBvbiBlcnJvciBoYW5kbGluZwoJICBDYW1lcmFiaW4yIHBhcnNlcyB3YXJuaW5nIG1lc3NhZ2VzIHdpdGggZ3N0X21lc3NhZ2VfcGFyc2Vfd2FybmluZyhtZXNzYWdlLAoJICAmZXJyLCAmZGVidWcpIGJ1dCBkb2Vzbid0IGZyZWUgZ2l2ZW4gR0Vycm9yIGFuZCBkZWJ1ZyBzdHJpbmdzLgoJICBEb2N1bWVudGF0aW9uIHNob3dzIHRoYXQgdGhlIG93bmVyc2hpcCBvZiB0aG9zZSBmaWVsZHMgaXMgdHJhbnNmZXJyZWQKCSAgdG8gY2FsbGVyICh0aGV5IGFyZSBtYXJrZWQgIlt0cmFuc2ZlciBmdWxsXSIgaW4gdGhlIEFQSSBkb2NzKS4KCjIwMTEtMTItMTIgMTU6NTI6MjAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogY2hlY2sgb2Zmc2V0IHdoZW4gcmV0cmlldmluZyB0YWJsZV9pZCBvbiBtYWxmb3JtZWQgcGFja2V0cwoJICBGaXggYnVnICM2NjU5ODgKCjIwMTEtMTItMTMgMTA6NDQ6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBSZXZlcnQgIm1wZWd0c3BhcnNlOiBjaGVjayBvZmZzZXQgd2hlbiByZXRyaWV2aW5nIHRhYmxlX2lkIG9uIG1hbGZvcm1lZCBwYWNrZXRzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGU2Mjk3OGQwNDVkNTdlZTlmZWQ3NTk4YzAyYjkwMTdlYjk3NGVhMzYuCgoyMDExLTEyLTEzIDEwOjE3OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJICBiYXNldmlkZW9jb2RlYzogRG9uJ3QgdXNlIEdfVFlQRV9SRUdJU1RFUl9CT1hFRCgpIHlldAoJICBUaGlzIHdvdWxkIHJlcXVpcmUgR0xpYiAyLjI2LgoKMjAxMS0xMi0xMiAyMDowMToxNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IGFkdmVydGlzZSBhbGwgdGhlIG5ldyBZVVYgZm9ybWF0cyB3ZSBjYW4gbm93IHVzZQoKMjAxMS0xMi0xMiAxOTozNDozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkgIHRpZ2VyOiByZXBsYWNlIHRoZSBuZXcgWVVWIGJsaXR0aW5nIGNvZGUgd2l0aCB0aGUgbmV3ZXIgb3ZlcmxheSBjb2RlCgoyMDExLTEyLTEyIDE0OjU0OjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGNoZWNrIG9mZnNldCB3aGVuIHJldHJpZXZpbmcgdGFibGVfaWQgb24gbWFsZm9ybWVkIHBhY2tldHMKCjIwMTEtMTItMTIgMTM6NTk6MzMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBmaXggYnVmZmVyIGxlYWsKCjIwMTEtMTItMDUgMTg6NTc6MDEgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogTWFrZSBmcmFtZXN0YXRlIGEgcmVmZXJlbmNlIGNvdW50ZWQgYm94ZWQgb2JqZWN0CgkgIC4uLmFuZCBhbHNvIGNsZWFyIGFsbCBleGlzdGluZyBmcmFtZXMgd2hlbiByZXNldHRpbmcgdGhlIGRlY29kZXIgb3IgZW5jb2Rlci4KCjIwMTEtMTItMDUgMTg6NTc6MDEgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogTWFrZSBHc3RWaWRlb0ZyYW1lIGEgcmVmZXJlbmNlIGNvdW50ZWQgYm94ZWQgb2JqZWN0CgkgIC4uLmFuZCBhbHNvIGNsZWFyIGFsbCBleGlzdGluZyBmcmFtZXMgd2hlbiByZXNldHRpbmcgdGhlIGRlY29kZXIgb3IgZW5jb2Rlci4KCjIwMTEtMTItMTIgMTA6NDA6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICB0ZWxldGV4dGRlYzogUHJvcGVybHkgaW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAxMS0xMi0xMiAxMDoyODoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICBkdHM6IEFkZCAkKEdTVF9CQVNFX0xJQlMpIGFuZCBDRkxBR1MgdG8gdGhlIGJ1aWxkCgkgIGR0c2RlYyBub3cgdXNlcyBHc3RBZGFwdGVyLCB3aGljaCBpcyBpbiBsaWJnc3RiYXNlLiBBbHNvIHJlb3JkZXIKCSAgQ0ZMQUdTIGFuZCBMSUJBREQuCgoyMDExLTEyLTExIDE2OjA3OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgZG9jczogZml4IG1ha2UgZGlzdGNoZWNrCgkgIFNldCBET0NfT1ZFUlJJREVTLCBzbyB0aGUgLW92ZXJyaWRlcy50eHQgZmlsZSB3aGljaCBpcyBhcHBhcmVudGx5CgkgIGNyZWF0ZWQgYW55d2F5LCBnZXRzIGNsZWFuZWQgdXAgcHJvcGVybHkuCgoyMDExLTEyLTExIDE2OjA1OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgZG9jczogbWlub3IgTWFrZWZpbGUuYW0gY2xlYW4tdXAKCSAgR1NUX0JBRF9DRkxBR1MgYW5kIEdTVF9CQURfTElCUyBkb24ndCBleGlzdC4KCjIwMTEtMTItMTEgMTU6Mjk6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkaXNhYmxlIGZhaWxpbmcgamlmbXV4LCBjYW1lcmFiaW4yLCBhbmQgY29sb3JzcGFjZSB0ZXN0cwoJICBqaWZtdXg6IGdlbmVyYWw6dGVzdF9qaWZtdXhfdGFnczowOiBBc3NlcnRpb24gJ2VudHJ5LT5jb21wb25lbnRzID09IDInIGZhaWxlZAoJICBjYW1lcmFiaW4yOiB0ZXN0X211bHRpcGxlX3ZpZGVvX3JlY29yZGluZ3M6MDogZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZTogYXNzZXJ0aW9uIGBHU1RfSVNfQ0FQUyAoY2FwcykKCSAgY29sb3JzcGFjZTogYmFkIG1lbW9yeSBhY2Nlc3NlcyBpbiBvcmMgY29kZSBmb3Igb2RkIHdpZHRoIGJ1ZmZlcnMgKHNlZSBidWcgIzY2MzI0OCkKCjIwMTEtMTItMTEgMTU6MDM6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogZml4IGdfdXNsZWVwKCkgaW4gY2FtZXJhYmluMiB0ZXN0CgkgIGdfdXNsZWVwKCkgdGFrZXMgYSBtaWNyb3NlY29uZCB2YWx1ZSwgR1NUX1NFQ09ORCBpcyBuYW5vc2Vjb25kcywgc28KCSAgd2Ugd2VyZSBzbGVlcGluZyBmb3IgbW9yZSB0aGFuIDMgbWludXRlcyBoZXJlIGluc3RlYWQgb2YgMjAwbXMuCgoyMDExLTEyLTExIDAwOjU5OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wOS0yNSAyMzo1NzozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguaDoKCSAgbXBlZ3BzbXV4OiBwdXQgc3RyZWFtIGhlYWRlcnMgaW50byBvdXRwdXQgY2FwcwoJICBCYXNpYyB2ZXJzaW9uIHdpdGggb25seSB0aGUgc3lzdGVtIGhlYWRlciBhbmQgdGhlIHByb2dyYW0KCSAgc3RyZWFtIG1hcC4gQW4gYWR2YW5jZWQgdmVyc2lvbiBjb3VsZCBpbmNsdWRlIGNvZGVjLXNwZWNpZmljCgkgIGJpdHMgbGlrZSBTUFMvUFBTIHRvby4gVGhpcyBpcyB1c2VmdWwgaW4gY29ubmVjdGlvbiB3aXRoCgkgIGUuZy4gbXVsdGlmaWxlc2luayB0byBtYWtlIHN1cmUgbmV3IGZpbGVzIGFsd2F5cyBzdGFydCB3aXRoCgkgIHRoZSBzdHJlYW0gaGVhZGVycy4KCjIwMTEtMDktMTYgMTk6MzI6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSAgbXBlZ3BzbXV4OiBhZGQgImFnZ3JlZ2F0ZS1nb3BzIiBwcm9wZXJ0eSB0byBhZ2dyZWdhdGUgR09QcyBpbnRvIGJ1ZmZlciBsaXN0cwoJICBVc2VmdWwgaW4gY29ubmVjdGlvbiB3aXRoIG11bHRpZmlsZXNpbmssIGZvciBleGFtcGxlLCB0byBtYWtlIHN1cmUKCSAgdGhlIG5ldyBmaWxlIGFsd2F5cyBzdGFydHMgd2l0aCBhIGtleWZyYW1lLgoKMjAxMS0xMi0xMCAyMDowODoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJICBtcGVncHNtdXg6IHJlbWVtYmVyIHByaW1hcnkgdmlkZW8gc3RyZWFtCgoyMDExLTA4LTMxIDE5OjQwOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5oOgoJICBtcGVncHNtdXg6IHJlbWVtYmVyIHdoZXRoZXIgYW4gaW5jb21pbmcgYnVmZmVyIGlzIGEga2V5dW5pdCBvciBub3QKCjIwMTEtMTItMDkgMTc6MjU6NDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXNlbmM6IGFkZCB1cHN0cmVhbSBuZWdvdGlhdGlvbiBmb3IgbXVsdGlzdHJlYW0gYWJpbGl0eQoJICBUaGlzIHdpbGwgaGVscCBlbGVtZW50cyB0aGF0IGNhbm5vdCBkZWFsIHdpdGggbXVsdGlzdHJlYW0sCgkgIHN1Y2ggYXMgdGhlIFJUUCBwYXlsb2FkZXIuCgkgIFRoZSBjYXBzIG5vdyBkbyBub3QgaW5jbHVkZSBhICJzdHJlYW1zIiBmaWVsZCBhbnltb3JlLCBidXQKCSAgYSAibXVsdGlzdHJlYW0iIGJvb2xlYW4sIHNpbmNlIHdlIGhhdmUgbm8gcmVhbCB1c2UgZm9yIGtub3dpbmcKCSAgdGhlIGV4YWN0IGFtb3VudCBvZiBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA3IDE1OjEzOjExIC0wMjAwICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgPGRhbmlsby5jZXNhckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5Lmg6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5oOgoJICBBZGRpbmcgb3B1cyBSVFAgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIGVsZW1lbnQKCSAgQWRkaW5nIE9QVVMgUlRQIG1vZHVsZSBiYXNlZCBvbiB0aGUgY3VycmVudCBkcmFmdDoKCSAgaHR0cDovL3Rvb2xzLmlldGYub3JnL2lkL2RyYWZ0LXNwaXR0a2EtcGF5bG9hZC1ydHAtb3B1cy0wMC50eHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDgxNwoKMjAxMS0xMi0wOCAxOTo0Nzo1NSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXM6IGluY2x1ZGUgc3RyZWFtcyBjb3VudCBpbiBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDggMTg6NDU6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1czogcHJvcGVybHkgY3JlYXRlIGNoYW5uZWwgbWFwcGluZyB0YWJsZXMKCSAgVGhlcmUgYXJlIHR3byBvZiB0aGVtLCB1bmludHVpdGl2ZWx5IGVub3VnaDsgdGhlIG9uZSBwYXNzZWQKCSAgdG8gdGhlIGVuY29kZXIgc2hvdWxkIG5vdCBiZSB0aGUgb25lIHRoYXQgZ2V0cyB3cml0dGVuIHRvIHRoZQoJICBmaWxlLiBUaGUgZm9ybWVyIG1hcHMgdGhlIGlucHV0IHRvIGFuIG9yZGVyaW5nIHdoaWNoIHB1dHMKCSAgcGFpcmVkIGNoYW5uZWxzIGZpcnN0LCB3aGlsZSB0aGUgbGF0dGVyIG1vdmVzIHRoZSBjaGFubmVscwoJICB0byBWb3JiaXMgb3JkZXIuIFNvIGFkZCBjb2RlIHRvIGNhbGN1bGF0ZSBib3RoLCBhbmQgd2Ugbm93CgkgIGhhdmUgcHJvcGVybHkgcGFpcmVkIGNoYW5uZWxzIHdoZXJlIGFwcHJvcHJpYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA4IDIyOjQ5OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIHZpZGVvcGFyc2VyczogZml4IExJQlMgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMTItMDggMTI6NDI6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogb25seSBvZmZzZXQgdGltZXN0YW1wcyB3aGVuIGxpdmUKCSAgVGhpcyBjb2RlIGlzIHRvIHN5bmMgdG8gYSBsaXZlIHNvdXJjZSB3aGVuIHRoZXJlIGlzIGEgZGVsYXkKCSAgYmV0d2VlbiBzdGFydCBhbmQgd2hlbiB3ZSByZWNlaXZlIHRoZSBmaXJzdCBidWZmZXIsIHNvIGl0IGRvZXMKCSAgbm90IG1ha2Ugc2Vuc2UgaW4gYSBub24gbGl2ZSBjYXNlLgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIHN0cmVhbXMgd2hlcmUgdGhlIGlucHV0IHRpbWVzdGFtcHMgYXJlCgkgIGJhc2VkIG9mZiBzb21lIGFyYml0cmFyeSBvZmZzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTYKCjIwMTEtMTItMDggMTE6NTE6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogT25seSBtYWtlIHRoZSBoZWFkZXIgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlLCBub3QgdGhlIGJ1ZmZlcgoKMjAxMS0xMi0wOCAxMDoxOTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBGaXggaGFuZGxpbmcgb2YgZm9yY2Uta2V5dW5pdCBldmVudHMKCjIwMTEtMTItMDcgMDA6MDY6MTEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGhlYWRlciBjbGVhbnVwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDcgMDA6MDY6MTEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IFRydW5jYXRlIGNhcHMgZmlyc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMS0yOCAxOTo0NzozNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGRlZmF1bHQgdG8gc3RlcmVvIDQ4MDAwIEh6IGlmIHBvc3NpYmxlIHdoZW4gbm8gaGVhZGVycyBzZWVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDcgMTM6NDg6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJICByc25kZWM6IERvbid0IHVzZSB0aGUgaW5pdGlhbC1pZGVudGl0eSBwcm9wZXJ0eSBvbiBhdXRvY29udmVydAoJICBJdCB3YXMgcmVtb3ZlZCwgc2VlIGJ1ZyAjNTk5NDY5LCAjNjY1MjA1CgoyMDExLTEyLTA3IDEzOjQ2OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IFJlbW92ZSB0aGUgaW5pdGlhbC1pZGVudGl0eSBwcm9wZXJ0eSBmcm9tIGF1dG9jb252ZXJ0CgkgIEluaXRpYWxseSBjcmVhdGluZyBhbiBpZGVudGl0eSBlbGVtZW50IHRvIGZvcndhcmQgc2VyaWFsaXplZAoJICBldmVudHMgZG93bnN0cmVhbSBiZWZvcmUgYW55IGNhcHMgYXJlIGtub3duIGlzIGJyb2tlbiBiZWhhdmlvdXIuCgkgIFNlcmlhbGl6ZWQgZXZlbnRzIHNob3VsZCBvbmx5IGJlIGZvcndhcmRlZCBkb3duc3RyZWFtIGlmIHRoZQoJICBjYXBzIGFyZSBhbHJlYWR5IGtub3duLCBvdGhlcndpc2UgYXV0b3BsdWdnZXJzIGFuZCBvdGhlciBlbGVtZW50cwoJICB1c2luZyBwYWQtYmxvY2tzIHdpbGwgZmFpbC4KCSAgVGhpcyBiZWhhdmlvdXIgYWxzbyBkb2Vzbid0IHdvcmsgYW55bW9yZSBhZnRlciBiYXNldHJhbnNmb3JtCgkgIHdhcyBmaXhlZCB0byBxdWV1ZSBzZXJpYWxpemVkIGV2ZW50cyB1bnRpbCB0aGUgY2FwcyBhcmUga25vd24KCSAgYXMgYSByZXN1bHQgb2YgZml4aW5nIGJ1ZyAjNjU5NTcxLgoJICBTZWUgYnVnICM1OTk0NjksICM2NjUyMDUuCgoyMDExLTEyLTA2IDE2OjI3OjI1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IERvIG5vdCBub3Qgc2tpcCBzdGFydGNvZGUgd2hlbiBuZWVkZWQKCSAgRml4OiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1NjMxCgoyMDExLTEyLTA2IDA4OjU1OjE5ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpcnN0IHZpZGVvX3BhY2tldF9oZWFkZXIgZG9lc24ndCBzdGFydCB3aXRoIHJlc3luY19tYXJrZXIKCjIwMTEtMTItMDYgMDg6NTM6MDcgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogcmV0dXJuIE5PX1BBQ0tFVCBpZiBuZWVkZWQKCjIwMTEtMTItMDYgMDg6MzE6MTQgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IGFuIGlzc3VlIGluIGNoZWNrIHJlc3luYyBtYXJrZXIKCjIwMTEtMTItMDYgMDg6MjU6NTkgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IGFuIGlzc3VlIGluIGZpbmRpbmcgdGhlIGxhc3QgdmlkZW8gcGFja2V0IGluIHZvcAoKMjAxMS0xMi0wNiAwODoyMToxOSArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBpbmNsdWRlIHJlc3luYyBtYXJrZXIgaW4gdmlkZW8gcGFja2V0IHNpemUKCjIwMTEtMTItMDYgMDg6MTk6MDUgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2Vyczogc2NhbiBuZXh0IHJlc3luYyBtYXJrZXIgYWZ0ZXIgY3VycmVudCBvbmUKCjIwMTEtMTItMDYgMDg6MTc6MzggKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IDwgMCBpc3N1ZSBvZiBndWludCBpbiBtcGVnNCBwYXJzZXIKCSAgZ3N0X2J5dGVfcmVhZGVyX21hc2tlZF9zY2FuX3VpbnQzMiByZXR1cm5zIGEgZ3VpbnQsIG5vdCBhIGdpbnQsIHdoaWNoCgkgIGV4cGxhaW5zIHRoZSBpc3N1ZSB3ZSBzb21ldGltZSBnZXQgdXNpbmcgPCAwIGluc3RlYWQgb2YgPT0gLTE7CgoyMDExLTEyLTA2IDA4OjE1OjQ2ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBwYXR0ZXJuL21hc2sgb2YgcmVzeW5jX21hcmtlciBwYXJzaW5nIG9mIG1wZWc0CgoyMDExLTEyLTA2IDEzOjA2OjA2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogaGFuZGxlIGZvcmNlIGtleSB1bml0IGV2ZW50cwoJICBTZW5kIFNQUy9QUFMgb24gZm9yY2Uga2V5IHVuaXQgZXZlbnRzLiBVc2VmdWwgZm9yIGV4YW1wbGUgd2hlbiBzZXJ2aW5nIEhMUwoJICB3aXRob3V0IHRyYW5zY29kaW5nLgoKMjAxMS0xMi0wNiAxMjo1NToyNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IGNvbXBpbGUgd2FybmluZ3MgaW4gZ3N0bXBlZzRwYXJzZXIuYwoKMjAxMS0xMi0wNSAxMTo1NjowMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBBZGQgbW9yZSBmaWxlcyB0byAuZ2l0aWdub3JlCgoyMDExLTEyLTA1IDExOjUwOjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogVXNlIGZhc3RlciBwYXJzaW5nIHZhcmlhbnQgd2hlbiBpbnB1dCBpcyBwYWNrZXRpemVkCgkgIFJlZHVjZXMgbGF0ZW5jeSBhbmQgY3B1IHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU1ODQKCjIwMTEtMTItMDUgMTE6NDc6NTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IFZhcmlhbnQgb2YgX2lkZW50aWZ5X25hbHUgd2l0aG91dCBjaGVja3MKCSAgVGhpcyBpcyB1c2VmdWwgZm9yIGNhc2VzIHdoZXJlIHRoZSBjYWxsZXIgKmtub3dzKiB0aGF0IHRoZSBwcm92aWRlZAoJICBpbnB1dCBjb250YWlucyBhIHdob2xlIE5BTFUgYW5kIGNhbiB0aGVyZWZvcmUgYXZvaWQ6CgkgICogdGhlIGV4cGVuc2l2ZSBjaGVja3MgZm9yIHRoZSBuZXh0IHN0YXJ0IGNvZGUgKHdoaWNoIHdvbid0IGJlIHByZXNlbnQpCgkgICogZGVsYXlpbmcgdGhlIGlucHV0IHBhcnNpbmcgKHNpbmNlIHdlIHdvdWxkIG5lZWQgdGhlIG5leHQgaW5jb21pbmcgTkFMVQoJICBpbiBvcmRlciBmb3IgdGhlIHBhcnNpbmcgY29kZSB0byBkZXRlY3QgdGhlIG5leHQgc3RhcnQgY29kZSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTU4NAoKMjAxMS0xMi0wNSAxMzowOToxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlZmxvdyBzbGljZSBuYWwgcHJvY2Vzc2luZwoKMjAxMS0xMi0wNSAxMjo1Nzo0NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG9wdGltaXplIHNsaWNlIG5hbCBwcm9jZXNzaW5nCgkgIE9ubHkgbWluaW1hbCBzbGljZSBpbmZvIGlzIG5lZWRlZCBoZXJlIHRvIGRldGVybWluZSByZWFsIGZyYW1lIHN0YXJ0LAoJICBzbyBubyBuZWVkIHRvIHBhcnNlIGV4dGVuc2l2ZWx5LgoJICBGaXhlcyAjNjY1NDE4LgoKMjAxMS0xMi0wNSAxMjo1Mzo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IHVuYnJlYWsgaDI2NCBzbGljZSBoZWFkZXIgcGFyc2luZwoJICAuLiBpbnRyb2R1Y2VkIGJ5IHJlZmFjdG9yaW5nIGluIGNvbW1pdCAxNzc0NTFjOTIxNmY0ZTM5NTllNzM1ODY3NWZiYjk3MzFkMmM4MWEyCgoyMDExLTEyLTAxIDE4OjI4OjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9wdnIyZC9nc3RwdnIuYzoKCSogc3lzL3B2cjJkL2dzdHB2ci5oOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5oOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuaDoKCSAgcHZyMmQ6IFBvcnQgdG8gMC4xMQoJICBIYW5kbGVzIEdzdFZpZGVvTWV0YSBhbmQgR3N0VmlkZW9Dcm9wTWV0YQoJICBQcm92aWRlcyBHc3RCdWZmZXJQb29sCgkgIE5ldyBHc3RQVlJNZXRhIHRvIGhhbmRsZSB0aGUgd3JhcHBlZCBQVlIgbWVtX3NyYwoKMjAxMS0xMi0wMiAxNzo1MzoyMyArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IEZpeCByZWZlcmVuY2UgY291bnRpbmcgb2YgY29kZWNfZGF0YQoKMjAxMS0xMi0wNSAwODo1Njo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEltcGxlbWVudCBpdGVyYXRlX2ludGVybmFsX2xpbmtzIGZ1bmN0aW9uIG9uIHRoZSBzaW5rcGFkIGFuZCBzcmNwYWQKCjIwMTEtMTEtMjggMTk6Mzg6MzQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBndWFyZCBhZ2FpbnN0IGRlY29kaW5nIDAgc2FtcGxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTAyIDExOjQ2OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIFhWSUQgQVBJID49IDQuMwoJICBUaGlzIGlzIHJlcXVpcmVkIGZvciBlbmNvZGluZyB0aGUgc2ltcGxlIHByb2ZpbGUKCSAgd2l0aCBsZXZlbHMgNGEsIDUgb3IgNi4KCSAgRml4ZXMgYnVnICM2NjUzNzguCgoyMDExLTEyLTAxIDE2OjU5OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IHVzZSBHc3RTYW1wbGUgZm9yIHRoZSBwcmV2aWV3CgoyMDExLTEyLTAxIDEwOjU0OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogRG9uJ3QgYWRkIHRoZSBwcm9maWxlL2xldmVsIHRvIHRoZSB2aWRlby94LXh2aWQgY2FwcwoKMjAxMS0xMi0wMSAwOTo1NDowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgeHZpZGVuYzogQWRkIHByb2ZpbGUvbGV2ZWwgdG8gdGhlIGNhcHMgYW5kIG5lZ290aWF0ZSB0aGVtIHdpdGggZG93bnN0cmVhbQoJICBTdGlsbCBrZWVwIHRoZSBwcm9maWxlIHByb3BlcnR5IHRvIHNlbGVjdCBwcm9maWxlL2xldmVsIGlmIHRoZXJlCgkgIGFyZSBubyBkb3duc3RyZWFtIGNvbnN0cmFpbnRzLgoJICBGaXhlcyBidWcgIzY1MjI2MS4KCjIwMTEtMTItMDEgMDk6Mzk6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBBZGQgc3VwcG9ydCBmb3IgbGV2ZWxzIDRhLzUvNiBvZiB0aGUgc2ltcGxlIHByb2ZpbGUKCjIwMTEtMTItMDEgMDk6MDI6NDYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBsZXQgdXBzdHJlYW0gUEFSIG92ZXJyaWRlIGluLXN0cmVhbSBQQVIKCjIwMTEtMTEtMjMgMTg6MjY6NDQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHJld29yayBQQVIgcGFyc2luZwoJICBBbmQgaW4gdGhlIHByb2Nlc3MgcmVmYWN0b3IgX3VwZGF0ZV9zcmNfY2FwcyBhIGJpdAoKMjAxMS0xMS0xNiAwMDowMzoxMiAtMDUwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYWZ1amlpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogcmVzcGVjdCBwaXhlbC1hc3BlY3QtcmF0aW8KCSAgUGFyc2UgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIHZ1aSBpbmZvcm1hdGlvbi4KCjIwMTEtMTEtMzAgMjI6MTI6MjcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSAgc3BhY2VzcGFjZTogd2hpdGVzcGFjZSBjbGVhbnVwcwoKMjAxMS0xMS0zMCAyMjoxMTo0MCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSAgd2F2ZXNjYXBlOiBhbHNvIGFkZCBjb2xvcm1vZGVzIGxpa2UgaW4gc3BhY2VzY29wZQoKMjAxMS0xMS0zMCAxNToxMzowNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSAgYXVkaW92aXN1YWxpemVyOiB1cGRhdGUgUkVBRE1FCgoyMDExLTExLTMwIDE0OjIwOjM4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkgIHNwYWNlc2NvcGU6IGFkZCBjb2xvci1tb2RlcwoJICBJbiBjb2xvcm1vZGUgd2Ugc3BsaXQgdGhlIHNpZ25hbCBpbiBsb3csbWlkLGhpZ2ggZnJlcXVlbmN5IHBhcnRzIGFuZCBkcmF3IHRoZW0KCSAgc2VwYXJhdGVseSBpbnRvIHJlZCwgZ3JlZSwgYmx1ZSBjb2xvciBjaGFubmVscy4KCjIwMTEtMDgtMzAgMTQ6Mzc6NDIgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkgIHJlcGxhY2UgcHJvcHNldF9tdXRleCB3aXRoIEdTVF9PQkpFQ1RfTE9DSwoKMjAxMS0xMS0yNSAyMjozMjoxMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHN0cmVhbWxpbmUgdGhlIGxpbmVfYWEgY29kZQoJICBIYXZlIGEgcmV1c2FibGUgZG90X2FhIGNvZGUgYW5kIHJldXNlIGluIHRoZSBsaW5lIGRyYXdpbmcuCgoyMDExLTExLTMwIDEwOjM1OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgIG1wZWd0c211eDogZml4IGJ1aWxkIGluIHVuaW5zdGFsbGVkIHNldHVwCgkgIEFkZCAtYmFzZSBsaWJzIGluY2x1ZGVzIHRvIENGTEFHUywgZml4IG9yZGVyIG9mIExJQlMuCgoyMDExLTA4LTIxIDExOjAxOjM3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBhZGQgc3VwcG9ydCBmb3IgZm9yY2Uga2V5IHVuaXQgZXZlbnRzCgkgIEhhbmRsZSBmb3JjZSBrZXkgdW5pdCBldmVudHMgb3V0cHV0dGluZyBQQVQgYW5kIFBNVCB3aGVuIGFsbF9oZWFkZXJzPVRSVUUKCjIwMTEtMTEtMjkgMjM6NDE6MjIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogYWxsb3cgdG8gYnVpbGQgYWdhaW5zdCAyLjMuMQoKMjAxMS0xMS0yOSAxODoxODozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCBvbGQgbXBlZzR2aWRlb3BhcnNlIGRpcmVjdG9yeSB0byBDUlVGVF9ESVJTCgoyMDExLTExLTI5IDE5OjExOjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGZpeCBmb3IgbW92ZWQgaW50ZXJmYWNlcwoKMjAxMS0xMS0yMiAwOTo0Nzo1OCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHJlY29yZCByZWZfcGljX2xpc3RfbW9kaWZpY2F0aW9uKCkuCgoyMDExLTExLTIyIDA5OjQ3OjU3ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiByZW5hbWUgcmVmX3BpY19saXN0X3Jlb3JkZXJpbmcoKSB0byByZWZfcGljX2xpc3RfbW9kaWZpY2F0aW9uKCkuCgkgIFVwZ3JhZGUgdG8gY3VycmVudCBBVkMgc3BlY2lmaWNhdGlvbi4KCjIwMTEtMTEtMjkgMTI6MjA6NTEgKzAxMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiByZWNhbGN1bGF0ZSBhZGp1c3QgaWYgZGlmZmVyZW5jZSBpcyBuZWdhdGl2ZQoJICBPbmUgb2YgbXkgZHZkcyBqdW1wIG9uIHNvbWUgcG9zaXRpb24gYW5kIG1pc3MgYWJvdXQgMSBtaW51dGUgb2Ygc3RyZWFtLgoJICBUaGUgcmVhc29uIHdhcyBtcGVnIHRpbWVzdGFtcHMuIE9uIHNvbWUgcG9zaXRpb24gc2NyIGRpZmZlcmVuY2UgaXMgbmVnYXRpdmUuCgkgIEl0IHByb2R1Y2VkIG5lZ2F0aXZlIHRpbWVzdGFtcHMuIFNpbmNlIGl0IHdhcyBjb252ZXJ0ZWQgdG8gdW5zaWduZWQgdmFsdWUsCgkgIGdzdHJlYW1lciB0aW1lc3RhbXBzIHdhcyBpbnZhbGlkLiBJbnN0ZWFkIG9mIGluY3JlYXNpbmcgbXBlZyB0cywKCSAgdGhleSB3YXMgZGVjcmVhc2luZyB0aWxsIGl0IHN0YXJ0ZWQgdG8gYmUgcG9zaXRpdmUuCgkgIFRoZSBqdW1wIGluIHRpbWVzdGFtcHMgY2F1c2VkIG1wZWcyZGVjIHRvIHNraXAgZnJhbWVzIHRvIG1ha2UgUW9TIGhhcHB5LgoJICBUaGlzIHBhdGNoIGp1c3QgbWFrZSBkaWZmIHVuc2lnbmVkIHRvIGF2b2lkIG5lZ2F0aXZlIHZhbHVlcy4KCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2MTE1CgoyMDExLTExLTI5IDEyOjEyOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBQYXNzIHRoZSBhbGwtaGVhZGVycyBmaWVsZCBvZiB0aGUgZm9yY2Uta2V5LXVuaXQgZXZlbnQgdG8gdGhlIHN1YmNsYXNzCgoyMDExLTExLTI5IDEyOjEyOjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEltcGxlbWVudCBmdWxsIHN1cHBvcnQgZm9yIHRoZSBuZXcgZm9yY2Uta2V5LXVuaXQgZXZlbnQKCSAgSW5jbHVkaW5nIHN1cHBvcnQgZm9yIHRoZSBydW5uaW5nLXRpbWUgYW5kIGNvdW50IGZpZWxkcy4KCjIwMTEtMTEtMjkgMDk6MzE6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogVXNlIG5ldyBmb3JjZS1rZXl1bml0IGV2ZW50IEFQSSBmcm9tIGdzdC1wbHVnaW5zLWJhc2UKCjIwMTEtMTEtMjkgMDk6MTg6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogQWRqdXN0aW5nIHBhZGRpbmcgaXMgbm90IHJlcXVpcmVkIGZvciAtYmFkIGxpYnJhcmllcwoKMjAxMS0xMS0yOCAxOTo0ODowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBNb3ZlIHNvbWUgZmllbGRzIHRvIHRoZSBwcml2YXRlIHBhcnQgb2YgdGhlIGluc3RhbmNlIHN0cnVjdAoKMjAxMS0xMS0yOCAxOTozNjo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBNYWtlIGhlYWRlcnMgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIHB1c2hpbmcgZG93bnN0cmVhbQoJICBUaGUgdGltZXN0YW1wLCBkdXJhdGlvbiwgZXRjIG9mIHRoZSBoZWFkZXJzIGhhcyB0byBiZSBjaGFuZ2VkLgoKMjAxMS0xMS0yOCAxOTozNTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBQdXNoIHRoZSBkb3duc3RyZWFtIGZvcmNlLWtleWZyYW1lIGV2ZW50IGFmdGVyIHRoZSBuZXh0IGtleWZyYW1lCgkgIEV2ZW4gaWYgdGhlIGNvcnJlc3BvbmRpbmcgR3N0VmlkZW9GcmFtZSBkb2Vzbid0IGhhdmUgdGhlIGlzX3N5bmNfcG9pbnQKCSAgZmxhZyBzZXQuCgoyMDExLTExLTI4IDE5OjI5OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IERvbid0IHB1c2ggYW4gdXBzdHJlYW0gZm9yY2Uta2V5dW5pdCBldmVudCBkb3duc3RyZWFtCgoyMDExLTExLTI1IDExOjQ4OjA4ICswMTAwICBKb25hcyBMYXJzc29uIDxqb25hc0BoYWxsZXJ1ZC5zZT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIHRoZSBhbGwtaGVhZGVycyBmaWVsZCBvZiB0aGUgZm9yY2Uta2V5ZnJhbWUgZXZlbnQKCSAgU2VlIGJ1ZyAjNjA3NzQyLgoKMjAxMS0xMS0yOSAwOToyMjozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogZml4IHNldC1idXQtbm90LXVzZWQtdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBnc3RrYXRldGlnZXIuYzoxMTU2OjE1OiBlcnJvcjogdmFyaWFibGUgJ2hlaWdodCcgc2V0IGJ1dCBub3QgdXNlZAoJICBnc3RrYXRldGlnZXIuYzoxMTU2Ojg6IGVycm9yOiB2YXJpYWJsZSAnd2lkdGgnIHNldCBidXQgbm90IHVzZWQKCjIwMTEtMTEtMjkgMDk6MTU6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbWlub3IgZml4ZXMKCSAgQ29uc3QtaWZ5IG9uZSBtb3JlIFZMQyB0YWJsZS4gRml4IHNwZWxsaW5nIG9mICdoeWJyaWQnLgoJICBObyBuZWVkIHRvIGV4cGxpY2l0bHkgY2FsbCBlbnN1cmVfZGVidWdfY2F0ZWdvcnkoKSBldmVyeXdoZXJlLAoJICB0aGF0IHdpbGwgYmUgZG9uZSBhdXRvbWF0aWNhbGx5IGZyb20gR1NUX0xPRygpIGFuZCBmcmllbmRzCgkgIHZpYSBHU1RfQ0FUX0RFRkFVTFQuCgoyMDExLTExLTA4IDEwOjQ0OjExIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgY29kZWNwYXJzZXI6IG1wZWc0OiBMb29rIGZvciByZXN5bmMgY29kZSBpbiBfbXBlZzRfcGFyc2UKCSAgVGhpcyB3YXkgdGhlIEFQSSBpcyBzaW1wbGVyIGFuZCB1c2VycyBjYW4gY2FsbCAxIHNpbmdsZSBmdW5jdGlvbiBmb3IgcGFja2V0CgkgIGRldGVjdGlvbi4KCjIwMTEtMDktMjkgMTQ6Mzc6NTkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogUHJvcGVybHkgaGFuZGxlIHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMKCSAgRml4ICM2NjAyMzQKCjIwMTEtMDktMjYgMTY6NTg6NTggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZzRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWc0cGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBQb3J0IHRvIHRoZSBuZXcgbXBlZzRwYXJzZXIgbGlicmFyeQoKMjAxMS0wOS0yNiAxMDozOTozMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmg6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZzRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWc0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBNb3ZlIHRvIHRoZSB2aWRlb3BhcnNlcnMgcGx1Z2luCgkgIFJlbmFtZSBhIGZldyB2YXJpYWJsZXMgdG8gdXNlIHRoZSBzYW1lIGNvbnZlbnRpb24gYXMgb3RoZXJzIGVsZW1lbnRzIGluIHRoaXMKCSAgcGx1Z2luCgkgIENvbmZsaWN0czoKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYwoKMjAxMS0xMS0wMiAwOToxNDo0MiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBEZWNsYXJlIHByaXZhdGUgYXJyYXlzIGFzIHN0YXRpYyBhbGwgYXJvdW5kCgoyMDExLTA5LTIxIDE5OjQ5OjM2IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnNDogSW1wbGVtZW50IGFuIE1wZWc0IHBhcnQgMiBwYXJzaW5nIGxpYnJhcnkKCjIwMTEtMDktMjEgMTk6NDA6NDcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvcGFyc2VydXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9wYXJzZXJ1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IE1vdmUgc2hhcmVkIGNvZGUgdG8gYSBwYXJzZXIgdXRpbHMgZmlsZQoKMjAxMS0wOS0yOSAxNjoyNToyOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSAgcGtnY29uZmlnOiByZW1vdmUgcmVmZXJlbmNlcyB0byBjb2RlY3BhcnNlcnMgZnJvbSAtYmFkLnBjLmluCgoyMDExLTExLTI4IDIzOjIwOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0yOCAyMzoyMDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJzc1MjFiNTk3ZjRkYzQ5ZDhkMTY4ZjM2OGYwZTdlYmFmOThhNzIxNTYnIGludG8gMC4xMQoKMjAxMS0xMS0yOCAyMzoyMDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJzI2ZDZhZGQ5NDU3ZjAwY2U4ZWMxMzg0NDM2ODQ2NmYwZTM4MTZlNWQnIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmMKCjIwMTEtMTEtMjggMTg6NDc6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgY2FtZXJhYmluMjogdmlld2ZpbmRlcmJpbjogdXNlIGZhc3RlciBjYXN0IG1hY3JvCgkgIFVzZSBjYXN0IG1hY3JvIHdpdGhvdXQgdHlwZSBjaGVja3Mgd2hlbiB3ZSBrbm93IGl0IHNob3VsZCB3b3JrLgoKMjAxMS0xMS0yOCAxODo0Mzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICBjYW1lcmFiaW4yOiB2aWV3ZmluZGVyYmluOiBMaW5rIGVsZW1lbnRzIGRpcmVjdGx5IHRvIHVzZSBmYXN0ZXIgdmVyc2lvbgoJICBmZm1wZWdjb2xvcnNwYWNlIGFuZCB2aWRlb3NjYWxlIHNob3VsZCBhbHdheXMgbGluayBzdWNjZXNzZnVsbHksIHVzZQoJICB0aGUgZmFzdCBwYWQgbGlua2luZyB2ZXJzaW9uIGluc3RlYWQgb2YgY2FsbGluZyB0aGUgZ2VuZXJpYyBoZWxwZXIKCSAgZnVuY3Rpb24uCgoyMDExLTExLTI4IDE2OjM1OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogbWljcm8gb3B0aW1pemUgbGlua2luZyBzb21lIG1vcmUKCjIwMTEtMDktMjkgMjI6NDM6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkgIGthdGU6IHN1cHBvcnQgZm9yIHJlbmRlcmluZyBvbiBzZXZlcmFsIFlVViBmb3JtYXRzCgkgIFRoaXMgc3BlZWRzIHVwIHJlbmRlcmluZyBhIGZhaXIgYml0IGJ5IG5vdCByZXF1aXJpbmcgY29sb3JzcGFjZQoJICBjb252ZXJzaW9uLCB3aGV0aGVyIHRoZXJlIGlzIGFueXRoaW5nIHRvIG92ZXJsYXkgb3Igbm90LgoJICBUaGUgYmxlbmRpbmcgY29kZSB3YXMgbmlja2VkIGZyb20gdGV4dG92ZXJsYXkuIEkgd291bGQgdGhpbmsKCSAgdGhpcyBtaWdodCBiZSBhIGhlbHBmdWwgdGhpbmcgdG8gcHV0IGluLCBzYXksIGxpYmdzdHZpZGVvIGF0CgkgIHNvbWUgcG9pbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA1MjgKCjIwMTEtMDgtMTggMTE6Mzk6MzcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZml4IG51bWJlciBvZiBieXRlcyByZWFkIGZvciBmaXhlZCB0aW1lIGluY3JlbWVudAoJICBUaGUgc3BlYyBJIGZvdW5kIHNheXMgIjE2IGJpdHMiLgoJICBUaGUgZXhpc3RpbmcgY29kZSB1c2VkIGxvZzIoc29tZXZhbHVlKSsxLgoJICBmZm1wZWcgdXNlcyBsb2cyKHNvbWV2YWx1ZS0xKSsxLgoJICBUaGUgY29kZSBub3cgdXNlcyBsb2cyKHNvbWV2YWx1ZS0xKSsxLCBhbmQgdGhpcyBtYWtlcyBpdCB3b3JrIHdpdGgKCSAgc29tZSBzYW1wbGUgdmlkZW8gd2l0aG91dCBicmVha2luZyBhbm90aGVyIHNhbXBsZS4KCSAgTm93LCBJJ20gZmFyIGZyb20gY2VydGFpbiBJJ3ZlIGdvdCB0aGUgcmlnaHQgc3BlYywgSSBmb3VuZCBpdCBieQoJICBzZWFyY2hpbmcgdGhlIGludGVybmV0LCBzby4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NjY2CgoyMDExLTExLTI4IDE1OjEwOjM5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVnZGVtdXg6IFRyeSB0byBhZGQgYWxsIHN0cmVhbXMgZWFybHkKCSAgVGhpcyB3aWxsIGFsbG93IHVzIHRvIHNpZ25hbCBuby1tb3JlLXBhZHMgdG8gYXZvaWQgaGl0dGluZwoJICB0aGUgZGVjb2RlYmluMiBvdmVycnVuLgoKMjAxMS0wOS0yNiAxMjo0MzoyNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBoYW5kbGUgcGFkcyB3aXRoIG5vIGRhdGEKCSAgU29tZSBzdHJlYW1zIGRlY2xhcmUgUElEcyBidXQgd2lsbCBub3Qgc2VuZCBkYXRhIGZvciB0aGVtLgoJICBFbnN1cmUgd2UgdGltZSBvdXQgb24gdGhvc2UsIGFuZCBib3RoIHNlbmQgbmV3IHNlZ21lbnRzIHRvCgkgIGtlZXAgdGhlaXIgdGltZSBzeW5jaHJvbml6ZWQgd2l0aCB0aGUgcmVzdCwgYW5kIGRvIG5vdCB3YWl0CgkgIGZvcmV2ZXIgYmVmb3JlIGRlY2lkaW5nIHRvIHNpZ25hbCBuby1tb3JlLXBhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk5MjQKCjIwMTEtMDktMjYgMTI6MTY6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBzaWduYWwgbm8tbW9yZS1wYWRzIHdoZW4gYXBwcm9wcmlhdGUKCSAgV2UgdHJhY2sgc3RyZWFtcyBmb3Igd2hpY2ggYSBkYXRhIGNhbGxiYWNrIGlzIHNldCAoYW5kIGZvciB3aGljaAoJICBwYWRzIHdpbGwgYmUgYWRkZWQgb25seSB3aGVuIGRhdGEgaXMgcmVjZWl2ZWQpLCBhbmQgc2lnbmFsCgkgIG5vLW1vcmUtcGFkcyB3aGVuIHRoZSBsYXN0IHBhZCBpcyBhZGRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTkyNAoKMjAxMS0wOS0wNSAxNzo0MDowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiB0YWtlIGludG8gYWNjb3VudCBvZmZzZXQgb2YgZmlyc3QgYnVmZmVyCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgd2hlbiB0aGUgc291cmNlIHN0YXJ0cyBsYXRlciB0aGFuIHRoZSBwbGF5YmFjawoJICBwaXBlbGluZSwgYW5kIHdoZW4gYSBzb3VyY2UgZHJvcHMgZm9yIGEgd2hpbGUgdGhlbiByZXN0YXJ0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Nzc5NAoKMjAxMS0wOS0wMyAxNDozNzo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZml4IHNvbWUgbW9yZSB2aWRlbyBmcmVlemluZwoJICBUaGVyZSB3YXMgYSBzZWNvbmQgdGhyZXNob2xkLCB3aGljaCBhcHBhcmVudGx5IG5lZWRzIHRvIGJlIHNtYWxsZXIKCSAgdGhhbiB0aGUgZmlyc3QsIHRob3VnaCBJJ20gbm90IGNlcnRhaW4gb2YgaXQgYXMgSSBkb24ndCB1bmRlcnN0YW5kCgkgIHlldCB0aGlzIG5lc3Qgb2Ygd3RmIHRoYXQgaXMgdGhlIG1wZWcgZGVtdXhlciB0aW1pbmcgbG9naWMuCgkgIEZpeGVzIHZpZGVvIGZyZWV6aW5nIG9uIG9uZSAoY29ycnVwdGVkKSBNUEVHIHNhbXBsZS4gSXQgd291bGQKCSAgcHJldmlvdXNseSBuZXZlciB0aGluayBpdCB3YXMgb3V0IG9mIHRoZSBkaXNjb250aW51aXR5LCBhbmQgd291bGQKCSAgcHVzaCBidWZmZXJzIHdpdGggbm8gdGltZXN0YW1wLgoJICBOb3cgdGhpcyB0b29rIG1lIG1vcmUgdGhhbiBhIGRheSdzIHBva2luZyBhdCB0aGUgdGhpbmcsIGZvciBqdXN0CgkgIG9uZSBjb25zdGFudCBjaGFuZ2UsIGFuZCBJJ20gc2NhcmVkIHRvIGhhdmUgdG8gdG91Y2ggdGhpcyBhZ2FpbiA6UwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1ODA0CgoyMDExLTA4LTMwIDE0OjUwOjUyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVnZGVtdXg6IGNhdGNoIHNtYWxsZXIgUFRTIGRpY29udGludWl0aWVzCgkgIEluIGEgdGVzdCBzdHJlYW0sIEkgZ2V0IG9uZSBidWZmZXIgd2l0aCBhIFBUUyBvZiBhYm91dCAxNSBzZWNvbmRzCgkgIGluIHRoZSBmdXR1cmUgY29tcGFyZWQgdG8gdGhlIHByZXZpb3VzIG9uZSwgYW5kIG5leHQgYnVmZmVycyB3aXRoCgkgIHRpbWVzdGFtcHMgY29udGludWluZyB3aGVyZSB0aGUgb3JpZ2luYWwgb25lcyBsZWZ0IG9mZi4KCSAgVGhpcyBjYXVzZWQgdGhlIHNpbmsgdG8gd2FpdCAxNSBzZWNvbmRzIHRvIGRpc3BsYXkgdGhlIGZyYW1lIHdoaWxlCgkgIG1vcmUgZnJhbWVzIHF1ZXVlZCB1cCwgYW5kIHRoZW4gZHVtcCBhbGwgdGhlIHN1YnNlcXVlbnQgZnJhbWVzIGFzCgkgIHRoZXkgImFycml2ZWQgdG9vIGxhdGUiLgoJICBNYXliZSB0aGF0IHRocmVzaG9sZCBzaG91bGQgYmUgbWFkZSBjb25maWd1cmFibGUsIGJ1dCBmb3Igbm93LAoJICBtYWtlIGl0IG1vcmUgc21hbGxlciB0byBjYXRjaCBtb3JlIG9mIHRoZXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1ODA0CgkgIE5vbiBBViBzdHJlYW1zIGtlZXAgdXNpbmcgdGhlIGxhcmdlciB0aHJlc2hvbGQgKDEwIG1pbnV0ZXMpLCBhcwoJICBzdWJ0aXRsZXMgbWF5IGFycml2ZSBvbmx5IGV2ZXJ5IHNvIG9mdGVuLgoKMjAxMS0xMS0yOCAxMzowODoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtc2ltcGxlOgoJICB2YXJpb3VzOiBmaXggcGFkIHRlbXBsYXRlIHJlZiBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjY0CgoyMDExLTEwLTA2IDE3OjQzOjE5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcDogYWRkIFdTQVN0YXJ0dXAgYW5kIFdTQUNsZWFudXAgb24gV2luMzIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTA5OAoKMjAxMS0xMS0yNyAyMDoyNDozOSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGZpeCBmb3JtYXQgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjYxOAoKMjAxMS0xMS0yNyAyMzozMzo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMjQgMTM6NDk6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmYuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmcGFyc2U6IGV4dHJhY3QgSUQzIHRhZ3MgZW1iZWRkZWQgaW4gSUQzIGNodW5rcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0NzI1CgoyMDExLTExLTI2IDE1OjM3OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmgKCjIwMTEtMTEtMjUgMjM6MTE6MzIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSAgb3BlbmN2OiBwb3J0IGJhc2VjbGFzcyB0byAwLjExCgoyMDExLTExLTI1IDExOjQxOjE5IC0wMjAwICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgPGRhbmlsby5jZXNhckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogRml4aW5nICJVbnVzZWQgdmFyIiBjb21waWxpbmcgZXJyb3IgZm9yIG9wdXMgY29kZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDgxNQoKMjAxMS0xMS0yNSAxNDowMDoxOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1c2VuYzogb25seSB1c2UgbW9ubyBzdHJlYW1zIGZvciA+IDIgY2hhbm5lbHMKCSAgSSdtIGdldHRpbmcgb2RkIHJlc3VsdHMgd2l0aCBwYWNraW5nIHN0cmVhbXMgaW50byBzdGVyZW8KCSAgc3RyZWFtcywgYW5kIHVzaW5nIG9ubHkgbW9ubyBzdHJlYW1zIGlzIGVub3VnaCBpbiBhbGwgY2FzZXMuCgoyMDExLTExLTI1IDEyOjQ3OjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1czogYWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvcm1hdGlvbiBhYm91dCBjaGFubmVsIG1hcHBpbmcKCjIwMTEtMTEtMjUgMTI6NDY6NTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogcmVtb3ZlIGRlYWQgYXNzaWdtZW50cwoJICBXZSBub3cgb25seSBrZWVwIGEgcmVmIHRvIHRoZSBoZWFkZXJzIGZvciBsYXRlciByZXVzZS4KCjIwMTEtMTEtMjUgMTI6NDA6MzEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBkbyBub3QgY2F1c2UgdGhlIGRlY29kZXIgdG8gYXBwbHkgdGhlIGNoYW5uZWwgbWFwcGluZyBhZ2FpbgoJICBTaW5jZSB3ZSBhbHJlYWR5IHJlb3JkZXIgY2hhbm5lbHMsIHdlIGRvIG5vdCB3YW50IHRvIHdyaXRlIHRoYXQKCSAgcmVvcmRlcmluZyBpbiB0aGUgaGVhZGVyLCBvciB0aGUgZGVjb2RlciB3aWxsIGRvIGl0IGFnYWluLgoKMjAxMS0xMS0yNSAxMjozOToyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeCBib2d1cyBhc3NlcnRpb24KCjIwMTEtMTEtMjUgMTU6NDk6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYW1yd2JlbmMuYzoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3QgZm9yIHZvYW1yd2JlbmMKCjIwMTEtMTEtMjUgMTI6NDg6NTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQvb3B1cy9nc3RvcHVzZW5jLmMKCSAgZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jCgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYwoKMjAxMS0xMS0yNSAxMTozNzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBzb21lIG1vcmUgZGVidWcgbG9nZ2luZwoKMjAxMS0xMS0yNSAxMTozNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IHVzZSBuZXcgYmFzZXZpZGVvZGVjb2RlciBBUEkgdG8gZHJvcCBmcmFtZXMgYW5kIGdldCBRb1MgbWVzc2FnZXMgcG9zdGVkCgoyMDExLTExLTIzIDIwOjAzOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBBUEkgdG8gZHJvcCBhIGZyYW1lIGFuZCBwb3N0IGEgUW9TIG1lc3NhZ2Ugb24gdGhlIGJ1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMDE3CgkgIEFQSTogZ3N0X2Jhc2VfdmlkZW9fZGVjb2Rlcl9kcm9wX2ZyYW1lKCkKCjIwMTEtMDgtMzAgMjM6Mzk6MzYgLTAzMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmEuZnVqaWlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9wdnIyZC9NYWtlZmlsZS5hbToKCSogc3lzL3B2cjJkL2dzdHB2ci5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyLmg6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmg6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL2RyaTJfd3MuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9pbWdfZGVmcy5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL2ltZ190eXBlcy5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3B2cjJkLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvc2VydmljZXMuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9zZXJ2aWNlc2V4dC5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3dzZWdsLmg6CgkgIEFkZCBwdnJ2aWRlb3NpbmsgZWxlbWVudAoJICBQVlJWaWRlb1NpbmsgdXNlcyBQVlIyRCBsaWJyYXJ5IHRvIGJsaXQgaW1hZ2VzLgoJICBBdXRob3I6IEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgkgIEF1dGhvcjogTHVjaWFuYSBGdWppaSA8bHVjaWFuYS5mdWppaUBjb2xsYWJvcmEuY28udWs+CgoyMDExLTExLTI0IDIxOjUyOjU1ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHRlc3RzOiBmaXggY2FwcyB1c2FnZSBpbiBwYXJzZXIgdGVzdCBoZWxwZXIKCSAgRml4ZXMgcHJldmlvdXMgY29tbWl0OyB1c2VycyBjYW4gY2FsbCB0aGlzIHdpdGggTlVMTCBjYXBzLgoKMjAxMS0xMS0yNCAyMTo0MjozOSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xlZ2FjeXJlc2FtcGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIGdzdGNoZWNrIEFQSSBjaGFuZ2UKCjIwMTEtMTEtMjQgMTk6MDM6MjMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGFkZCBhYS1saW5lIGNvZGUgYW5kIHVzZXIgZm9yIHdhdmUvc3BhY2Utc2NvcGUKCjIwMTEtMTEtMjQgMTM6Mzg6NTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiBwcmUtc2tpcCBhbmQgb3V0cHV0IGdhaW4gYXJlIGxpdHRsZSBlbmRpYW4sIHJlbW92ZSByZW1pbmRlciBub3RlCgoyMDExLTExLTI0IDEzOjI5OjU2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uaDoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJICBvcHVzOiBtdWx0aWNoYW5uZWwgc3VwcG9ydAoKMjAxMS0xMS0yMyAxNzo0OTo1OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXM6IHN3aXRjaCB0byBtdWx0aXN0cmVhbSBBUEkKCSAgSXQncyB2ZXJ5IHNpbWlsYXIgdG8gdGhlIGJhc2ljIEFQSSwgYW5kIGlzIGEgc3VwZXJzZXQgb3QgaXQsCgkgIHdoaWNoIHdpbGwgYWxsb3cgZW5jb2RpbmcgYW5kIGRlY29kaW5nIG1vcmUgdGhhbiAyIGNoYW5uZWxzLgoKMjAxMS0xMS0yMyAxNzozMjowMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IHNodWZmbGUgc3VwcG9ydGVkIHNhbXBsZSByYXRlcyB0byBmYXZvciA0ODAwMAoKMjAxMS0xMS0yMyAxNjozNjo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogcmVtb3ZlIHVzZWxlc3Mgc2V0dXAgZmllbGQKCjIwMTEtMTEtMjQgMTI6MDE6NDggKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogcG9ydCB0byAwLjExCgkgIFVuaXQgdGVzdHMgbWlzc2luZyBmb3Igbm93LgoKMjAxMS0xMS0yNCAxMTo1OToxOSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBwb3J0IHRvIDAuMTEKCSAgT25seSB0byBmaXggdGhlIGJ1aWxkIHJlYWxseSAoZ3RrLWRvYyBpcyB0cnlpbmcgdG8gcGljayB1cCB0aGUgdW5idWlsZGFibGUKCSAgbGliKS4gTm90IHRlc3RlZCBhdCBhbGwgKGJ1dCBwcmV0dHkgdHJpdmlhbCBjYXNlIGFueXdheXMpLgoKMjAxMS0xMS0wMiAxMzoyNTo1NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IGZpeCB3aWR0aC9oZWlnaHQgbWlzbWF0Y2hlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMjM4CgoyMDExLTExLTI0IDEwOjI2OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogVXNlIHRoZSBzaW5rcGFkIHRlbXBsYXRlIGNhcHMgYXMgYSBmYWxsYmFjaywgbm90IHRoZSBzcmNwYWQgb25lcwoKMjAxMS0xMS0yNCAxMDoxNDowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMTA6MDk6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMTA6MDg6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAxMDowNDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwMTo1NjowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBuZW9uaHR0cHNyYzogcmVtb3ZlIGlyYWRpby0qIHByb3BlcnRpZXMKCSAgU2hvdWxkIHNlbmQgdGFncyBpbnN0ZWFkLgoKMjAxMS0xMS0yNCAwMTo1MjozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBuZW9uaHR0cHNyYzogdW5jb25kaXRpb25hbGx5IHNlbmQgaWNlY2FzdCByZXF1ZXN0IGhlYWRlciwgcmVtb3ZlIGlyYWRpby1tb2RlIHByb3BlcnR5CgoyMDExLTExLTI0IDAxOjIyOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIG1tc3NyYzogbWFrZSBjb25uZWN0aW9uLXNwZWVkIHByb3BlcnR5IGEgZ3VpbnQ2NAoJICBFdmVuIGlmIHRoZSBsaWJyYXJ5IGxpbWl0cyBpdCB0byBhbiBpbnQuCgoyMDExLTExLTI0IDAwOjU2OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHVwZGF0ZSBmb3IgZ3N0cnRwYmluIC0+IHJ0cGJpbiByZW5hbWluZwoKMjAxMS0xMS0yMyAyMzo0Mjo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIGZhYWMsIHJ0bXA6IG1vcmUgcHJpbnRmIGZvcm1hdCBmaXhlcyBpbiBkZWJ1ZyBtZXNzYWdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjE4CgoyMDExLTExLTIxIDIyOjQ1OjE1ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIEZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TIFggLyA2NCBiaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjYxOAoKMjAxMS0xMS0yMyAyMzozMDowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGRvIG5vdCBsZWFrIGJ1ZmZlciB3aGVuIG5vIGVuY29kZWQgZGF0YSB5ZXQgb3IgZW5jb2RpbmcgZXJyb3IKCjIwMTEtMTEtMjMgMjM6Mjk6MTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMS0xMS0yMyAxNjowMTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICBzbW9vdGg6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmcgaW4gZGVidWcgbWVzc2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0NjMxCgoyMDExLTExLTIzIDEzOjQ3OjExICswMTAwICBLcnp5c3p0b2YgS3Jha293aWFrIDxrcnp5c3p0b2Yua3Jha293aWFrQGdtYWlsLmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IGZpeCBtb2R1bGVzIHBsYXlpbmcgYXMgbW9ubyBpbnN0ZWFkIG9mIHN0ZXJlbwoJICByZXBsYWNlZCBicm9rZW4gaWYtcmV0dXJuIGxvZ2ljIGZvciBmaXhhdGluZyByYXRlIGFuZCBudW1iZXIKCSAgb2YgY2hhbm5lbHMgdGhhdCBjYXVzZWQgdGhhdCBtb2R1bGVzIHdlcmUgYWx3YXlzIChhZnRlcgoJICBzdWNjZXNzZnVsIGZpeGF0aW9uIG9mIHJhdGUpIHBsYXllZCBhcyBtb25vIChpbnN0ZWFkIG9mCgkgIHN0ZXJlbykgYnkgY29ycmVjdCBvbmUgd2l0aCBhcHByb3BpYXRlIHdhcm5pbmdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5MDM1CgoyMDExLTExLTIzIDEzOjIyOjEyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiBpbXBsZW1lbnQgcmVwbGF5IGdhaW4KCSAgSXQgd291bGQgaWRlYWxseSBiZSBiZXR0ZXIgdG8gbGVhdmUgdGhpcyB0byBhIHJndm9sdW1lIGVsZW1lbnQsCgkgIGJ1dCB3ZSBkb24ndCBjb250cm9sIHRoZSBwaXBlbGluZS4gU28gZG8gaXQgYnkgZGVmYXVsdCwgYW5kIGFsbG93CgkgIGRpc2FibGluZyBpdCB2aWEgYSBwcm9wZXJ0eSwgc28gdGhlIGNvcnJlY3Qgdm9sdW1lIHNob3VsZCBhbHdheXMKCSAgYmUgb3V0cHV0LgoKMjAxMS0xMS0yMyAxMTo1ODo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogYWRkIGluLWJhbmQgRkVDIHN1cHBvcnQKCSAgVGhpcyBhbGxvd3MgcmVjb25zdHJ1Y3Rpb24gb2YgbG9zdCBwYWNrZXRzIGlmIEZFQyBpbmZvIGlzIGluY2x1ZGVkCgkgIGluIHRoZSBuZXh0IHBhY2tldCwgYXQgdGhlIGNvc3Qgb2YgZXh0cmEgbGF0ZW5jeS4gU2luY2Ugd2UgZG8gbm90CgkgIGtub3cgaWYgdGhlIHN0cmVhbSBoYXMgRkVDIChhbmQgdGhpcyBjYW4gY2hhbmdlIGF0IHJ1bnRpbWUpLCB3ZQoJICBhbHdheXMgaW5jdXIgdGhlIGxhdGVuY3ksIGV2ZW4gaWYgd2UgbmV2ZXIgbG9zZSBhbnkgZnJhbWUsIG9yIHNlZQoJICBhbnkgRkVDIGluZm9ybWF0aW9uLiBPZmYgYnkgZGVmYXVsdC4KCjIwMTEtMTEtMjMgMTI6NDE6MzIgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IG5vcm1hbGl6ZSBib29sZWFuIHByb3BlcnR5IGRlZmF1bHQgdmFsdWVzIHRvIFRSVUUvRkFMU0UKCSAgR2xpYiBiYXJrcyBhdCB1cyB3aXRoIGEgd2FybmluZyB3aGVuIHdlIHBhc3MgZS5nLiA0LgoKMjAxMS0xMS0yMyAxMTo1OTo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBhYWFuZCBmaXggbXkgbGFzdCBjb21taXQKCjIwMTEtMTEtMjMgMTE6NTU6MDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkgIHBrZ2NvbmZpZzogRml4IGdzdHJlYW1lci1iYXNldmlkZW8tdW5pbnN0YWxsZWQucGMuaW4KCjIwMTEtMTEtMjMgMTE6MzE6NDQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHVwZGF0ZSBSRUFETUUgYW5kIFRPRE8gY29tbWVudHMKCjIwMTEtMTEtMjMgMTE6MjE6MTUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSAgc3BhY2VzY29wZTogdXNlIHRoZSBkcmF3aGVscGVycyBhbmQgYWRkIGEgZHJhdy1zdHlsZSBwcm9wZXJ0eQoJICBMaWtlIGluIHdhdmVzY29wZSBzdXBwb3J0IGRyYXdpbmcgZG90cyBhbmQgbGluZXMuCgoyMDExLTExLTIzIDExOjA4OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQvb3B1cy9nc3RvcHVzZW5jLmMKCSAgZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmMKCSAgZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmMKCSAgZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbQoJICBnc3QvZmlsdGVyL2dzdGZpbHRlci5jCgkgIGdzdC9maWx0ZXIvZ3N0aWlyLmMKCSAgZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYwoKMjAxMS0xMS0yMyAwODo0MDo0OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyczogYWRkIHNvbWUgc2ltcGxlIGRyYXdpbmcgaGVscGVycyBmb3IgcmV1c2UKCSAgQWRkIGEgKHVuaW5zdGFsbGVkKSBoZWFkZXIgd2l0aCBzaW1wbGUgZHJhd2luZyBtYWNyb3MKCjIwMTEtMTEtMjMgMDg6MTc6MDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aHdhdmUvUkVBRE1FOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgc21vb3Rod2F2ZTogcmVtb3ZlIGVsZW1lbnQgdW5wb3J0ZWQgZnJvbSAwLjgKCSAgVGhlIHdhdmVzY29wZSBlbGVtZW50IGRvZXMgYWNoaWV2ZSB0aGUgc2FtZSBlZmZlY3QuCgoyMDExLTExLTIzIDA4OjE0OjM4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJICB3YXZlc2NvcGU6IGFkZCBhIHN0eWxlIHByb3BlcnR5IGZvciBkcmF3aW5nIG1vZGVzCgkgIEFkZCBhIHN0eWxlIGVudW0gb2YgeyBkb3RzLCBsaW5lc30uIE5vdyB0aGlzIGVsZW1lbnRzIGlzIGEgc3VwZXJzZXQgb2Ygc21vb3Rod2F2ZS4KCjIwMTEtMTEtMjIgMjM6MDQ6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgZG9jczogZml4IGNvbW1lbnQgaW4gZ3N0X2Jhc2VfdmlkZW9fZGVjb2Rlcl9nZXRfbWF4X2RlY29kZV90aW1lKCkgZG9jcwoKMjAxMS0xMS0yMiAyMDoyNzo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IG1hcmsgcHJvcGVydGllcyBjaGFuZ2VhYmxlIGF0IHJ1bnRpbWUgd2l0aCBHU1RfUEFSQU1fTVVUQUJMRV9QTEFZSU5HCgoyMDExLTExLTIyIDE5OjU3OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGZpeCB3ZWlyZCBldmVudCBsaXN0IGhhbmRsaW5nCgkgIEdldCByaWQgb2Ygd2VpcmQgY29kZSB0aGF0IGNvcGllcyBhIGxpc3QgbWFudWFsbHksIHRha2luZwoJICBvd25lcnNoaXAgb2YgdGhlIGVsZW1lbnRzIGFuZCB0aGVuIGZyZWVzIHRoZSBvbGQgbGlzdC4gSW5zdGVhZCwKCSAganVzdCB0YWtlIG92ZXIgdGhlIG9sZCBsaXN0IGVudGlyZWx5LiAoSWYgdGhlIGludGVudCB3YXMgdG8KCSAgcmV2ZXJzZSB0aGUgbGlzdCwgb25lIGNvdWxkIHVzZSBnX2xpc3RfcmV2ZXJzZSgpIGluc3RlYWQpLgoJICBUaGVuLCBwdXNoIGV2ZW50cyBpbiB0aGUgbGlzdCBvdXQgZnJvbSBsYXN0IHRvIGZpcnN0IChzaW5jZSB0aGV5CgkgIHdlcmUgcHJlcGVuZGVkIGFzIHRoZXkgY2FtZSBpbikgaW5zdGVhZCBvZiBqdXN0IHB1c2hpbmcgb3V0IHRoZQoJICBsYXN0IGluIHRoZSBsaXN0IGFuZCBsZWFraW5nIHRoZSBvdGhlcnMuCgoyMDExLTExLTIyIDE4OjMzOjE3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIG9wdXM6IGFkZCB0ZXN0CgoyMDExLTExLTIyIDE3OjA0OjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiBhbGxvdyBzZXR0aW5nIG1vc3QgcHJvcGVydGllcyBhdCBQTEFZSU5HIHRpbWUKCSAgT3B1cyBhbGxvd3MgdGhlc2UgdG8gYmUgY2hhbmdlZCBkdXJpbmcgZW5jb2RpbmcsIHRyYW5zcGFyZW50bHkKCSAgdG8gdGhlIGRlY29kZXIuCgoyMDExLTExLTIyIDE2OjE0OjA2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogYm91bmQgdGhlIGJpdHJhdGUgdG8gbW9yZSBzZW5zaWJsZSB2YWx1ZXMKCSAgR28gZnJvbSB0aGUgYm91bmRzIG1lbnRpb25lZCBpbiB0aGUgc3BlYywgYW5kIGFsbG93IHNvbWUgbW9yZQoJICB2YXJpYXRpb24uCgkgIEluIHBhcnRpY3VsYXIsIGRvbid0IGFsbG93IHNpbGx5IGxvdyBiaXRyYXRlcywgYW5kIGFsbG93IHJlYWNoaW5nCgkgIHRoZSBtYXhpbXVtIHVzZWZ1bCBiaXRyYXRlLgoKMjAxMS0xMS0yMiAxNTozMzoyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogZml4IGNyYXNoIG9uIHBhdGhvbG9naWNhbCBwYXJhbWV0ZXJzCgkgIEFza2luZyBmb3IgMSBiaXQvcyB3b3VsZCBzZWxlY3QgYSAwIGJ5dGUgYnVmZmVyLCBsZWFkaW5nCgkgIHRvIGEgY3Jhc2guIEJ1ZmZlciBzaXplIGlzIG5vdyBjb250cm9sbGVkIGJ5IGEgbWF4LXBheWxvYWQtc2l6ZQoJICBwcm9wZXJ0eSwgd2hpY2ggY2FuJ3QgYmUgbGVzcyB0aGFuIDIuCgoyMDExLTExLTIxIDE4OjEyOjAwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IGRvIG5vdCBzZW5kIGhlYWRlcnMgdGhyb3VnaCBkYXRhIHBhdGgKCSAgQWRkaXRpb25hbGx5LCBzaW5jZSBPcHVzIHBhY2tldHMgbWF5IGNoYW5nZSBiZXR3ZWVuIHN0ZXJlbwoJICBhbmQgbW9ubyBhcyB0aGUgZW5jb2RlciBzZWVzIGZpdCwgYXNzdW1lIHR3byBjaGFubmVscyB3aGVuCgkgIHdlIGRvIG5vdCBzZWUgYSBoZWFkZXIsIGFuZCB1c2UgdGhlIGhlYWRlciB2YWx1ZSBvdGhlcndpc2UuCgoyMDExLTExLTIxIDE3OjQ4OjU0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkgIG9wdXM6IG1vdmUgaGVhZGVyIG1hZ2ljIHRlc3RpbmcgdG8gZ3N0b3B1c2hlYWRlcgoKMjAxMS0xMS0yMSAxNzowMTo0OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IHNraXAgcHJlLXNraXAgc2FtcGxlcwoKMjAxMS0xMS0yMSAxMjo1MDoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogcmVhZCBwcmUtc2tpcCBmcm9tIGZpcnN0IGhlYWRlciBpZiBhdmFpbGFibGUKCjIwMTEtMTEtMTcgMTE6MzM6NTYgKzAxMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBzdXBwb3J0IG1vcmUgY2hhcmFjdGVyIHNldCBlbmNvZGluZ3MKCSAgU3VwcG9ydCBVVEYtMTZCRSwgRVVDLUtSIChLU1gxMDAxKSwgR0IyMzEyIGFuZCBJU08tMTA2NDYvVVRGOCB0ZXh0CgkgIGVuY29kaW5nIGFuZCBmaXhlZCBuZXcgbGluZSBmb3IgbXVsdGlieXRlIGVuY29kaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQyNTcKCjIwMTEtMTEtMjIgMDk6MTE6MzUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcGxheW9uZGVtYW5kLy5naXRpZ25vcmU6CgkqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkqIGdzdC9wbGF5b25kZW1hbmQvZGVtby1tcDMuYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9maWx0ZXIuZnVuYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuaDoKCSAgcGxheW9uZGVtYW5kOiByZW1vdmUgdW5wb3J0ZWQgcGx1Z2luIGZyb20gMC44CgkgIFRoZXNlIGRheXMgb25lIHdvdWxkIGRvIHRoZSBlZmZlY3QgZS5nLiB1c2luZyBnbm9ubGluLgoKMjAxMS0xMS0yMiAwOToxMDozMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogdGlueSBkb2MgYmxvYiBjbGFyaWZpY2F0aW9uCgoyMDExLTExLTIxIDIyOjU1OjQwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlZXZlcmIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuaDoKCSAgZnJlZXZlcmI6IGFkZCBhIGZyZWV2ZXJiIHBvcnQKCSAgRnJlZXZlcmIgaXMgYSBwdWJsaWMgZG9tYWluIHJldmVyYiBpbXBsZW1lbnRhdGlvbi4gUG9ydCBpdCBhcyBhIGdzdHJlYW1lcgoJICBlbGVtZW50IGFuZCBtYWtlIHVzZSBvZiBnc3RyZWFtZXIgc3BlY2lmaWMgZmVhdHVyZXMgKGdhcCBhd2FyZSwgZGlzY29udHMsCgkgIGNvbnRyb2xsZXIsIC4uLikuCgoyMDExLTExLTIxIDEzOjM3OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdXBkYXRlIGZvciBhY3RpdmF0aW9uIGNoYW5nZXMKCjIwMTEtMTEtMjEgMTI6MDI6MjggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiByZXNldCB0YWdzZXR0ZXIgaW50ZXJmYWNlIG9uIHN0b3AKCjIwMTEtMTEtMjEgMTE6NDQ6MDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBoYW5kbGUgTlVMTCBwYWNrZXRzICh1c2VkIGZvciBQTEMpCgoyMDExLTExLTIxIDExOjI4OjEwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogbGlnaHQgY2xlYW51cAoKMjAxMS0xMS0yMCAxMzowNzoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBwYXJzZSByYXcgb3B1cyBwYWNrZXRzCgoyMDExLTExLTIwIDA5OjU4OjA2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZG8gbm90IHB1c2ggaGVhZGVyIGJ1ZmZlcnMKCSAgT3B1cyBoZWFkZXJzIGFwcGVhciBvbmx5IHdoZW4gbXV4ZWQgaW4gT2dnLCBzbyBvbmx5IHBsYWNlIHRoZW0KCSAgb24gdGhlIGNhcHMsIHdoZXJlIG9nZ211eCB3aWxsIGZpbmQgdGhlbSwgYnV0IG90aGVyIGVsZW1lbnRzIHdpbGwKCSAgYmUgYmxpdGhlbHkgdW5hd2FyZSBvZiB0aGVtLgoKMjAxMS0xMS0yMCAwOTo1Mjo0NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJICBvcHVzOiBtYWtlIG9wdXNwYXJzZSBzZXQgaGVhZGVycyBvbiBjYXBzCgkgIEhlYWRlci1vbi1jYXBzIGNvZGUgbW92ZWQgdG8gYSBuZXcgc2hhcmVkIGxvY2F0aW9uIHRvIGF2b2lkCgkgIGR1cGxpY2F0aW5nIHRoZSBjb2RlLgoKMjAxMS0xMS0yMSAxMDo1NDo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IFBvcnQgdG8gbmV3IHBhZCBmdW5jdGlvbiBzaWduYXR1cmVzCgoyMDExLTExLTIxIDA4OjIwOjE0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJICBzbW9vdGg6IHBvcnQgdG8gMC4xMAoJICBQb3J0IGZyb20gR3N0RWxlbWVudCB0byBHc3RWaWRlb0ZpbHRlci4gRml4IEZJWE1Fcy4gQ2xlYW51cCBuYW1pbmcuIEV4cG9zZSBsZWZ0CgkgIG91dCBwcm9wZXJ0eSAoa3VtYS1vbmx5KS4KCjIwMTEtMTEtMjAgMjA6MTY6MDMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcGFzc3Rocm91Z2gvLmdpdGlnbm9yZToKCSogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJKiBnc3QvcGFzc3Rocm91Z2gvZmlsdGVyLmZ1bmM6CgkqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guaDoKCSogZ3N0L3Bhc3N0aHJvdWdoL3Bhc3N0aHJvdWdoLnZjcHJvajoKCSAgcGFzc3Rocm91Z2g6IHJlbW92ZSBvYnNvbGV0ZSBlbGVtZW50CgkgIEl0IGlzIG5vdCBidWlsdCBieSBkZWZhdWx0LiBXZSBoYXZlIGlkZW50aXR5IGZvciBzb21lIG9mIHRoZSBuZWVkcyBhbmQgb3RoZXJ3aXNlCgkgIGF1ZGlvL3ZpZGVvZmlsdGVyIGJhc2UgY2xhc3Nlcy4KCjIwMTEtMTEtMjAgMjA6MDg6NDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmlsdGVyL2ZpbHRlci52Y3Byb2o6CgkqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6CgkqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmg6CgkqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkqIGdzdC9maWx0ZXIvZ3N0aWlyLmg6CgkqIGdzdC9maWx0ZXIvaWlyLmM6CgkqIGdzdC9maWx0ZXIvaWlyLmg6CgkgIGZpbHRlcjogcmVtb3ZlIGZpbHRlciBwbHVnaW4KCSAgV2UgZG9uJ3QgYnVpbGQgaXQgYW55d2F5IGFuZCB3ZSBoYXZlIGF1ZGlvaWlyZmlsdGVyIGluIGdvb2QuCgoyMDExLTExLTIwIDIwOjA2OjI5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ludGVyL2dzdGludGVyLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSAgaW50ZXI6IGZpeCBsZWZ0b3ZlciBib2lsZXJwbGFjZSBjb21tZW50cwoKMjAxMS0xMS0xOCAwMzozMTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBbHNvIHJlc2V0IHZpZGVvL2F1ZGlvIGZpbHRlcnMgYmVmb3JlIGNhcHR1cmluZwoJICBWaWRlbyBhbmQgYXVkaW8gY3VzdG9tIGZpbHRlciBlbGVtZW50IHNob3VsZCBhbHNvIGJlIHJlc2V0IGJlZm9yZQoJICBzdGFydGluZyBhIG5ldyBjYXB0dXJlLCBvdGhlcndpc2Ugd2UgZ2V0IHdyb25nLXN0YXRlIGVycm9ycwoKMjAxMS0xMS0xOSAxNTo1ODowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCB0ZXJtaW5hdGluZyBOVUwgYmVpbmcgd3JpdHRlbiBpbiBzaWduYXR1cmUKCjIwMTEtMTEtMTYgMTk6NDA6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBtYWtlIGZyYW1lLXNpemUgYW4gZW51bQoJICBJdCBvbmx5IHN1cHBvcnRzIGEgc2V0IG51bWJlciBvZiBzcGVjaWZpYyB2YWx1ZXMgKGluY2x1ZGluZwoJICBhIG5vbiBpbnRlZ2VyIG9uZSkuCgoyMDExLTExLTE2IDE5OjIyOjQ0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogdGhlIGVuY29kZXIgbWlnaHQgbm90IG1ha2UgdXNlIG9mIGFsbCB0aGUgYnl0ZXMKCjIwMTEtMTEtMTggMTk6Mjg6MjYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJICBvcGVuY3Y6IHVzZSBjYXBzIGNvbnN0YW50cyBtb3JlCgoyMDExLTExLTE4IDE5OjE5OjMyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgb3BlbmN2OiBmaXh1cCBkb2MgYmxvYnMKCjIwMTEtMTEtMTggMTk6MTU6MjYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBvcGVuY3Y6IGZpeHVwIGdvYmplY3QgbmFtaW5nIGNvbnZlbnRpb25zCgoyMDExLTExLTE4IDE3OjU5OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdXBkYXRlIGZvciBuZXcgc2NoZWR1bGluZyBxdWVyeQoKMjAxMS0xMS0xOCAxNzoxODowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlbW92ZSByZWR1bmRhbnQgY29kZQoJICAuLi4gbm93IHRoYXQgd2hhdCBzaG91bGQgbm90IGJlIG5lZWRlZCBpcyByZWFsbHkgbm90IG5lZWRlZCBhbnltb3JlIHRvIGNvdmVyCgkgIHVwIGJvZ3VzIHN0dWZmIHRoYXQgaGFzIGJlZW4gRklYTUVkLgoKMjAxMS0xMS0xOCAxMjozMjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCB1cCBBVSBjb2xsZWN0aW9uIHByb2Nlc3NpbmcKCSAgT24gdGhlIG9uZSBoYW5kLCBubyBuZWVkIHRvIGNvbGxlY3QgbmFsIGlmIHByb2Nlc3NpbmcgbGFzdCBvbmUuCgkgIE9uIHRoZSBvdGhlciBoYW5kLCBlbnN1cmUgQVUgY29sbGVjdGlvbiBwcm9jZXNzaW5nIHRvIGhhdmUgc3VmZmljaWVudAoJICBuZXh0IE5BTCBkYXRhIGluIG5vcm1hbCBjYXNlcy4KCSAgRml4ZXMgIzY2MzE4MC4KCjIwMTEtMTEtMTggMTU6MTI6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBtaW5kIHRvLWJlLXNraXBwZWQgZGF0YSBpbiBzdWJzZXF1ZW50IHJlLXVzZWQgb2Zmc2V0cwoKMjAxMS0xMS0xOCAxNToxMDo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGF2b2lkIGFkZGl0aW9uYWwgTkFMIHBhcnNpbmcgaWYgbm8gQVUgY29sbGVjdGlvbiBpcyBuZWVkZWQKCjIwMTEtMTEtMTggMTU6MTA6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBzb21lIG1vcmUgZ2V0X2NhcHMgdHdlYWtpbmcKCSAgLi4uIGJ5IGhhdmluZyBpdCB1c2Ugc2luayB0ZW1wbGF0ZSByYXRoZXIgdGhhbiBzcmMgdGVtcGxhdGUsIGFuZCBub3QKCSAgcGFzc2luZyBhbiBkb3duc3RyZWFtIHBhcnNlZCg9dHJ1ZSkgdG8gdXBzdHJlYW0uCgoyMDExLTExLTE4IDE1OjA3OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBpbml0aWFsaXplIGFkZGl0aW9uYWwgc3BzIGZpZWxkIHZhbHVlCgkgIEZpeGVzICM2NjM1NTIuCgoyMDExLTExLTE4IDEzOjU4OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgYWRkIHBhcmVudCB0byBhY3RpdmF0ZSBmdW5jdGlvbnMKCjIwMTEtMTEtMTggMTI6Mzg6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBmaXggZm9yIHNjaGVkdWxpbmcgbW9kZSByZW5hbWUKCjIwMTEtMTEtMTggMDg6Mjk6MzEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJICBvcGVuY3Y6IHJlbW92ZSBlbXB0eSBmaW5hbGl6ZSBpbXBsZW1lbnRhdGlvbnMKCjIwMTEtMTEtMTcgMjM6MDM6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5oOgoJICB2b2FtcndiZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0xMS0xNyAyMzowMjo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IHNvbWUgY29kZSBzaHVmZmxlIGNsZWFudXAKCjIwMTEtMTEtMTcgMjM6MDI6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmg6CgkgIHZvYWFjZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0xMS0xNyAyMzowMjozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IHByb3Blcmx5IHJlcG9ydCBlcnJvciBjYXNlCgoyMDExLTExLTE3IDIzOjAyOjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgY2VsdGRlYzogcmVtb3ZlIHVudXNlZCBpbnN0YW5jZSB2YXJpYWJsZQoKMjAxMS0xMS0xNyAxMDozMzo0MiAtMDgwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBPbmx5IGNhbGwgOjpyZXNldCBvbmNlIGluIFJFQURZLT5QQVVTRUQKCjIwMTEtMTEtMTcgMTc6MzI6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmgKCSAgZXh0L29wdXMvZ3N0b3B1c2VuYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNlbmMuaAoJICBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYwoKMjAxMS0xMS0xNyAxNTo1Mzo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIGFkZCBwYXJlbnQgdG8gcGFkIGZ1bmN0aW9ucwoKMjAxMS0xMS0xNyAxMDowNzozNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgbGlicy1kb2NzOiBhZGQgLURHU1RfVVNFX1VOU1RBQkxFX0FQSQoKMjAxMS0xMS0xNyAwOTo1NjozNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogcG9ydCBmb3IgcGFkX3F1ZXJ5IGFwaSBjaGFuZ2UKCjIwMTEtMTEtMTcgMDg6MjU6MjggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBjb2xsZWN0cGFkczogcG9ydCBBUEkgY2hhbmdlcwoKMjAxMS0xMS0xNiAyMDo1MzoxMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogZGV0ZWN0IGZhY2UgZmVhdHVyZXMKCSAgQWxzbyBkZXRlY3QgbW91dGgsIG5vc2UgYW5kIGV5ZXMuIERyb3AgZmFjZXMgdGhhdCBkb24ndCBoYXZlIHRoZW0uIEZpeGVzIGxlYWtpbmcgdGhlCgkgIGNhc2NhZGVzLiBBZGRzIG1vcmUgZG9jcy4KCjIwMTEtMTEtMTYgMjA6NTE6MjcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IEdzdGZhY2VkZXRlY3QgLT4gR3N0RmFjZWRldGVjdAoKMjAxMS0xMS0xNCAxMTowNTo0NCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBjb2RlIG1haW50ZW5hbmNlCgkgIFVwZGF0ZSBleGFtcGxlIHRvIGJlIHVzZWZ1bC4gRHJhdyBjb2xvcmVkIGVsbGlwc2VzIGluc3RlYWQgb2YgdW5pY29sb3IgY2lyY2xlcy4KCSAgUmVmbG93IGNvZGUgZm9yIG1vcmUgbG9jYWwgdmFyaWFibGVzLiBJbXByb3ZlIHBhcmFtZXRlciBkZXNjcmlwdGlvbnMuCgoyMDExLTExLTE2IDEwOjU3OjU1IC0wODAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogQ2hhbmdlIHJhbmsgdG8gUFJJTUFSWSsxCgoyMDExLTExLTE2IDEwOjQ1OjUyIC0wODAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRG9uJ3QgcmVxdWlyZSBwYXJzZWQ9ZmFsc2Ugb24gdGhlIHNpbmtwYWQgY2FwcwoKMjAxMS0xMS0xNiAxODo0OTowMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGRvIG5vdCBpbmNsdWRlIHZhcmlhYmxlIGZpZWxkcyBpbiBjYXBzCgkgIFRob3NlIGNhbiB2YXJ5IGZyb20gb25lIHBhY2tldCB0byB0aGUgbmV4dCwgc28gaGF2ZSBubyByZWFzb24KCSAgdG8gYmUgaW4gdGhlIGNhcHMuCgoyMDExLTExLTE2IDE4OjQzOjUzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IGNvbnN0cmFpbmVkLXZiciBwcm9wZXJ0eSBuYW1lIHR5cG8KCjIwMTEtMTEtMTYgMTA6Mzg6NDkgLTA4MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBJbXBsZW1lbnQgOjpzaW5rX2dldF9jYXBzIHRvIGFsbG93IHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbiBhZ2FpbgoJICBKdXN0IHByb3h5aW5nIHRoZSBkb3duc3RyZWFtIGNhcHMgd2lsbCBwcmV2ZW50IGgyNjRwYXJzZSBmcm9tCgkgIGFjY2VwdGluZyBhIGRpZmZlcmVudCBzdHJlYW0tZm9ybWF0IHRoYW4gd2hhdCBpcyBzdXBwb3J0ZWQKCSAgZG93bnN0cmVhbSwgYWx0aG91Z2ggaXQgY291bGQgY29udmVydCB0byBhIGRpZmZlcmVudCBzdHJlYW0tZm9ybWF0LgoKMjAxMS0xMS0xNiAxODozNToyOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogbGV0IHRoZSBiYXNlIGNsYXNzIGhhbmRsZSBhbGwgdGltaW5nCgoyMDExLTExLTE2IDE5OjE4OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJICBjZWx0ZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMS0xMS0xNiAxOToxMToyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIGNlbHRlbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDExLTExLTE1IDE5OjUzOjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1c3BhcnNlOiBhZGQgb3B1c3BhcnNlIGVsZW1lbnQKCSAgQSB2ZXJ5IHNpbXBsZSBlbGVtZW50IHRoYXQgcGFyc2VzIE9wdXMgc3RyZWFtcyBmcm9tIHRoZSBhZCBob2MKCSAgZnJhbWluZyB1c2VkIGJ5IHRoZSBPcHVzIHRlc3QgdmVjdG9ycy4KCjIwMTEtMTEtMTYgMTc6MjQ6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBhbGxvdyBuZWdvdGlhdGlvbiBvZiByYXRlL2NoYW5uZWxzIHdpdGggZG93bnN0cmVhbQoJICBTaW5jZSBhbiBvcHVzIHN0cmVhbSBtYXkgYmUgZGVjb2RlZCB0byBhbnkgKHNlbnNpYmxlKSByYXRlLAoJICBhbmQgZWl0aGVyIHN0ZXJlbyBvciBtb25vLCB3ZSB0cnkgdG8gYWNjb21vZGF0ZSBkb3duc3RyZWFtLgoKMjAxMS0xMS0xNiAxNzowNToxNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogcmV3cml0ZSBsb2dpYwoJICBQYXJhbWV0ZXJzIHN1Y2ggYXMgZnJhbWUgc2l6ZSwgZXRjLCBhcmUgdmFyaWFibGUuIFByZXR0eSBtdWNoCgkgIGV2ZXJ5dGhpbmcgY2FuIGNoYW5nZSB3aXRoaW4gYSBzdHJlYW0sIHNvIGJlIHByZXBhcmVkIGFib3V0IGl0LAoJICBhbmQgZG8gbm90IGNhY2hlIHBhcmFtZXRlcnMgaW4gdGhlIGRlY29kZXIuCgoyMDExLTExLTE2IDE2OjU2OjQzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXM6IHBvcnQgdG8gYmFzZSBhdWRpbyBlbmNvZGVyL2RlY29kZXIKCjIwMTEtMTEtMTYgMTc6Mjg6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIGFkZCBwYXJlbnQgdG8gcXVlcnkgZnVuY3Rpb24KCjIwMTEtMTEtMTYgMTM6MjY6MzUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBhbGxvdyBuZWdvdGlhdGlvbiBvZiByYXRlL2NoYW5uZWxzIHdpdGggZG93bnN0cmVhbQoJICBTaW5jZSBhbiBvcHVzIHN0cmVhbSBtYXkgYmUgZGVjb2RlZCB0byBhbnkgKHNlbnNpYmxlKSByYXRlLAoJICBhbmQgZWl0aGVyIHN0ZXJlbyBvciBtb25vLCB3ZSB0cnkgdG8gYWNjb21vZGF0ZSBkb3duc3RyZWFtLgoKMjAxMS0xMS0xNiAwMToxNDozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogcmV3cml0ZSBsb2dpYwoJICBQYXJhbWV0ZXJzIHN1Y2ggYXMgZnJhbWUgc2l6ZSwgZXRjLCBhcmUgdmFyaWFibGUuIFByZXR0eSBtdWNoCgkgIGV2ZXJ5dGhpbmcgY2FuIGNoYW5nZSB3aXRoaW4gYSBzdHJlYW0sIHNvIGJlIHByZXBhcmVkIGFib3V0IGl0LAoJICBhbmQgZG8gbm90IGNhY2hlIHBhcmFtZXRlcnMgaW4gdGhlIGRlY29kZXIuCgoyMDExLTExLTE1IDIzOjAwOjMyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiByZW1vdmUgYnVmZmVyIHBvb2wsIGJ1ZmZlcnMgYXJlIG5vdCBjb25zdGFudCBzaXplCgoyMDExLTExLTE1IDE5OjUzOjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1c3BhcnNlOiBhZGQgb3B1c3BhcnNlIGVsZW1lbnQKCSAgQSB2ZXJ5IHNpbXBsZSBlbGVtZW50IHRoYXQgcGFyc2VzIE9wdXMgc3RyZWFtcyBmcm9tIHRoZSBhZCBob2MKCSAgZnJhbWluZyB1c2VkIGJ5IHRoZSBPcHVzIHRlc3QgdmVjdG9ycy4KCjIwMTEtMTEtMTYgMTI6NDY6MDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L1RPRE86CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBub3RlcyBvbiBzeW5jaHJvbml6YXRpb24gYW5kIHNjaGVkdWxpbmcKCjIwMTEtMTEtMTYgMTI6NDA6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHVwZGF0ZSBmb3IgcmVuYW1lZCBmbGFncwoJICBVc2UgdGhlIF9jaGVja19yZWNvbmZpZ3VyZSBtZXRob2QgaW5zdGVhZCBvZiBjaGVja2luZyBmbGFncy4KCjIwMTEtMTEtMTYgMTA6NTY6MjQgKzAxMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzQGhhbGxlcnVkLnNlPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBvdXRnb2luZyBieXRlIHN0cmVhbSBwcmVmaXggYWx3YXlzIGhhcyBzaXplIDQKCSAgRml4ZXMgIzY2NDEyMy4KCjIwMTEtMTEtMTUgMTc6NDk6NDggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggcG9pbnRlciBtaXNtYXRjaCBpbiBtZW1jcHkgb24gZHJhaW4KCjIwMTEtMTEtMTUgMTc6NTU6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBfcXVlcnlfcGVlcl8qKCkgLT4gX3BlZXJfcXVlcnlfKigpCgoyMDExLTExLTE1IDE3OjI0OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIF9wZWVyX2dldF9jYXBzKCkgLT4gX3BlZXJfcXVlcnlfY2FwcygpCgoyMDExLTExLTE1IDE2OjM0OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBjaGFuZ2UgZ2V0Y2FwcyB0byBxdWVyeQoKMjAxMS0xMS0xNCAxMTozMDoxMyArMDEwMCAgRGF2aWQgS2luZyA8YW1pZ2FkYXZlQGFtaWdhZGF2ZS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IERvY3VtZW50IHJlcXVpcmVtZW50IGZvciBQTEFZSU5HIHN0YXRlCgkgIEFzIGRlc2NyaWJlZCBpbiBHTk9NRSBidWcgNjYzOTk4LCB0aGUgZWxlbWVudCBtdXN0IGJlIGluIHRoZSBQTEFZSU5HCgkgIHN0YXRlIGJlZm9yZSBjYWxsaW5nIGNhcHR1cmUtc3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQwNDgKCjIwMTEtMTEtMTQgMTg6MzQ6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IHNvbWUgcmFjeW5lc3MgaW4gdGVzdHMKCSAgRml4IHNvbWUgcmFjeW5lc3MgYXMgdGhlIHRlc3Qgd2FzIGNoZWNraW5nIHRoZSBpZGxlIHByb3BlcnR5CgkgIHJpZ2h0IGFmdGVyIGl0IGdvdCB0aGUgcHJldmlldyBtZXNzYWdlIGZvciB2aWRlbyByZWNvcmRpbmdzLiBJbiBzb21lCgkgIGNvbmRpdGlvbnMsIGl0IG1pZ2h0IGhhcHBlbiB0aGF0IGNhbWVyYWJpbjIgc3RpbGwgaGFzbid0IGRlY3JlbWVudGVkCgkgIHRoZSBwcm9jZXNzaW5nIGNvdW50ZXIgYWZ0ZXIgcG9zdGluZyB0aGUgcHJldmlldyBhbmQvb3IgdGhlIGltYWdlL3ZpZGVvLWRvbmUKCSAgbWVzc2FnZSBhbmQgdGhlIHRlc3Qgd2lsbCBnZXQgaWRsZT1mYWxzZSBhbmQgZmFpbC4KCSAgVGhlIGFwcHJvYWNoIGZvciBjaGVja2luZyBmb3IgdGhlIGlkbGUgcHJvcGVydHkgd2FzIGEgYnVzeSBsb29wIHdpdGgKCSAgYSBzbGVlcC4gRmFyIGZyb20gZWxlZ2FudCwgYnV0IGdvb2QgZW5vdWdoIGZvciB0aGVzZSB0ZXN0cy4KCjIwMTEtMTEtMTQgMTY6NTU6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWxzbyByZXNldCBhdWRpbyBlbGVtZW50cyB3aGVuIHZpZGVvIGNhcHR1cmUgZmluaXNoZXMKCSAgQXVkaW8gZWxlbWVudHMgYWxzbyBuZWVkIHRvIGJlIHJlc2V0IGFmdGVyIGVhY2ggY2FwdHVyZSwgZG8gaXQKCSAgdG9nZXRoZXIgd2l0aCB0aGUgdmlkZW8gZWxlbWVudHMnIHJlc2V0CgoyMDExLTExLTExIDA5OjU4OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBvbmUgZGVidWcgbGluZSBhYm91dCBjYW1lcmFiaW4yIGJlaW5nIGlkbGUKCjIwMTEtMTEtMTAgMTY6NTM6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZW1vdmUgdmlkZW8gZWxlbWVudHMnIHN0YXRlIGNsZWFyaW5nIGZyb20gc3RhcnQtY2FwdHVyZQoJICBSZWR1Y2Ugc3RhcnQtY2FwdHVyZSB3b3JrbG9hZCBieSBtb3ZpbmcgdGhlIGVsZW1lbnRzJyBzdGF0ZSByZXNldGluZyB0byB0aGUKCSAgZmluaXNoaW5nIHN0ZXBzIG9mIHRoZSBjYXB0dXJlLiBUaGlzIHJlZHVjZXMgdGhlIHRpbWUgc3RhcnQtY2FwdHVyZSB0YWtlcyB0bwoJICBhY3R1YWxseSBzdGFydCBhIGNhcHR1cmUgYW5kIHJldHVybiB0byBpdHMgY2FsbGVyLCBpbXByb3ZpbmcgdXNlciBleHBlcmllbmNlLgoJICBBcyB0aGUgZWxlbWVudHMnIHN0YXRlIHJlc2V0IGlzIG5vdyB0cmlnZ2VyZWQgZnJvbSB0aGUgbWVzc2FnZSBoYW5kbGluZwoJICBmdW5jdGlvbiwgaXQgbmVlZHMgdG8gc3Bhd24gYSBuZXcgdGhyZWFkLCBjaGFuZ2luZyBzdGF0ZSBmcm9tIHRoZSBwYWQncwoJICB0YXNrIHdvdWxkIGNhdXNlIGEgZGVhZGxvY2suCgoyMDExLTExLTEwIDE2OjExOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjoga2VlcCB0cmFjayBvZiB2aWRlbyByZWNvcmRpbmcgc3RhdGUKCSAgQWRkcyBhIG5ldyB2YXJpYWJsZSB0byBrZWVwIHRyYWNrIG9mIHRoZSBzdGF0ZSBvZiB0aGUgdmlkZW8KCSAgcmVjb3JkaW5nIGluIGNhbWVyYWJpbjIuIFRoaXMgYWxsb3dzIHN0YXJ0LWNhcHR1cmUgdG8gcmVqZWN0CgkgIG5ldyB2aWRlbyByZWNvcmRpbmcgcmVxdWVzdHMgd2hlbiBvbmUgaXMgYWxyZWFkeSBvbmdvaW5nLiBUaGlzCgkgIGZpeGVzIG9uZSBvZiBjaGVjayB0ZXN0cy4KCjIwMTEtMTEtMTQgMTM6NDE6NTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1czogcG9ydCB0byBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzc2VzCgoyMDExLTExLTAzIDE0OjA5OjUyICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBtcGVndmlkZW9wYXJzZTpDb3JyZWN0IHRoZSBza2lwcGluZyBvZiB2YnZfZGVsYXkgaW4gcGljdHVyZSBoZWFkZXIgYW5kIHNvbWUgdHlwbyBmaXhlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzMwOQoKMjAxMS0xMS0xMyAyMzo1NTo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBVcGRhdGUgZm9yIEdzdFVSSUhhbmRsZXIgZ2V0X3Byb3RvY29scygpIGNoYW5nZXMKCjIwMTEtMTEtMTEgMTc6NDY6NDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1czogcG9ydCB0byAwLjExCgoyMDExLTExLTEwIDE1OjEzOjM0ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxsZWlvQGdlbnRvby5vcmc+CgoJKiBleHQvbWltaWMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkqIHN5cy9saW5zeXMvTWFrZWZpbGUuYW06CgkgIG1pbWljLCBvcGVuY3YsIHZwOCwgYWNtbXAzZGVjLCBsaW5zeXM6IERvbid0IGJ1aWxkIHN0YXRpYyBwbHVnaW5zCgkgIFBhc3MgLS10YWc9ZGlzYWJsZS1zdGF0aWMgdG8gbGlidG9vbCBldmVyeXdoZXJlIHdoZXJlIGl0J3MgYmVlbiBmb3Jnb3R0ZW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc2OAoKMjAxMS0xMS0xMSAxMDozOToxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMTAgMTk6NDI6NDAgLTAzMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGFkZCBzdXBwb3J0IGZvciBwcm9ncmVzc2l2ZSBmcmFtZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc4MgoKMjAxMS0xMS0wOSAyMDowOTowMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogcG9ydCB0byAwLjExCgoyMDExLTExLTEwIDE4OjM0OjAzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogUmVtb3ZlIHF1ZXJ5X3R5cGVzCgoyMDExLTExLTEwIDE4OjM0OjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0xMCAxODoyNTo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgdXBkYXRlIGZvciBhZGFwdGVyIGFwaSBjaGFuZ2UKCjIwMTEtMTEtMTAgMTc6MTM6NDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggYmFuZHdpZHRoIHByb3BlcnR5IHR5cGUgbWlzbWF0Y2gKCjIwMTEtMTEtMTAgMTI6MTQ6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTEwIDEyOjExOjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9lbGVtZW50OgoJICBjaGFpbiB1cCBpbiBzZXRfY2xvY2sKCjIwMTEtMTEtMDkgMTI6MjE6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBwcm90ZWN0IGltYWdlIGxvY2F0aW9uIGxpc3Qgd2l0aCBtdXRleAoJICBSZW5hbWUgdGhlIGltYWdlIHRhZ2xpc3RzJyBtdXRleCBpbnRvIGltYWdlIGNhcHR1cmUgbXV0ZXggYW5kCgkgIHVzZSBpdCBhbHNvIGZvciB0aGUgaW1hZ2UgY2FwdHVyZSBsaXN0IHRvIHByZXZlbnQgY29uY3VycmVudAoJICBhY2Nlc3MgZnJvbSBkaWZmZXJlbnQgdGhyZWFkcyAoYXBwbGljYXRpb24gYW5kIGNhcHR1cmUgdGhyZWFkcykuCgoyMDExLTExLTA5IDExOjQ1OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEhhbmRsZSBudWxsIHRhZ2xpc3RzIGZvciBpbWFnZXMKCSAgQWRkIE5VTEwgYW5kIGNoZWNrIGZvciB0aGVtIHRvIHRoZSBpbWFnZSBjYXB0dXJlIHRhZ2xpc3QgbGlzdCwgcmVwcmVzZW50aW5nCgkgIHRoYXQgYSBjYXB0dXJlIGhhcyBubyBhcHBsaWNhdGlvbiB0YWdzIHNldC4KCjIwMTEtMTEtMDkgMTE6MTc6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRG9uJ3Qgc3RvcmUgcHJldmlldyBsb2NhdGlvbiBpZiBwcmV2aWV3IGlzbid0IHJlcXVlc3RlZAoJICBEbyBub3Qgc3RvcmUgcHJldmlldyBsb2NhdGlvbiBpcyBwb3N0LXByZXZpZXdzIGlzIGZhbHNlLCB0aGlzIHdvdWxkCgkgIG1lc3MgdXAgcHJldmlldyBuYW1pbmcgaW4gY2FzZSBhcHBsaWNhdGlvbiBzd2l0Y2hlcyBiZXR3ZWVuIGVuYWJsaW5nCgkgIGFuZCBkaXNhYmxpbmcgcHJldmlld3MKCjIwMTEtMTEtMDkgMDk6NDE6NDQgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBdm9pZCBibG9ja2luZyBpbiBzdGFydC1jYXB0dXJlIGFuZCBzZW5kIGFwcGxpY2F0aW9uIHRhZ3MgbGF0ZXIKCSAgVGFncyBhcmUgY3VycmVudGx5IHNlbnQgZnJvbSBzdGFydC1jYXB0dXJlLCB3aGljaCBpcyBydW4gaW4gdGhlCgkgIGFwcGxpY2F0aW9uIHRocmVhZC4gRm9yIGltYWdlcyB3ZSBjYW4gZGVsYXkgdGhlIHRhZ3MgcHVzaGluZyB0byB0aGUKCSAgYnVmZmVyIHByb2JlIGFuZCBwdXNoIHRoZSB0YWdzIHdpdGggdGhlIGxvY2F0aW9uIGV2ZW50IGFuZCByZWR1Y2UKCSAgc3RhcnQtY2FwdHVyZSB0aW1lLgoKMjAxMS0xMS0wOSAxMjoyNDozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMDkgMTI6MTk6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jCgoyMDExLTExLTA5IDEyOjAwOjA1ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgZml4IGRvY3VtZW50YXRpb24gdHlwbwoKMjAxMS0xMS0wOSAxMTo1NjowNyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBmaXggY29tcGlsZXIgd2FybmluZyBmb3IgdW5pbml0aWFsaXplZCB2YWx1ZXMKCjIwMTEtMTEtMDkgMTE6NTU6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICByZW1vdmUgcXVlcnkgdHlwZXMKCjIwMTEtMTEtMDQgMTc6NTQ6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIGR0bWZzcmM6IFJlamVjdCBzdGFydC9zdG9wIHJlcXVlc3RzIHRoYXQgY29tZSBvdXQgb2Ygb3JkZXIKCjIwMTEtMTAtMjkgMTg6MjQ6MjYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogUG9zdCBtZXNzYWdlcyB3aGVuIHN0YXJ0aW5nIHRvIHNlbmQvcmVjZWl2ZSBEVE1GCgkgIFRoaXMgd2F5LCB0aGUgVUkgY2FuIGRpc3BsYXkgdGhlIERUTUYgZXZlbnRzIGFzIHRoZXkgYXMgYmVpbmcgc2VudC4KCjIwMTEtMTEtMDggMDg6MDg6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRGVjcmVtZW50IHByb2Nlc3NpbmcgY291bnRlciB3aGVuIG1lc3NhZ2UgaGFuZGxpbmcgZmluaXNoZXMKCSAgU29tZSBtZXNzYWdlcyBtaWdodCBiZSBpbnRlcmVzdGluZyB0byBhcHBsaWNhdGlvbnMsIHNvIHdlIGNhbiBvbmx5CgkgIGRlY3JlbWVudCB0aGUgcHJvY2Vzc2luZyBjb3VudGVyIGFuZCBzZW5kIHRoZSBpZGxlIG5vdGlmaWNhdGlvbgoJICB3aGVuIHRob3NlIG1lc3NhZ2VzIGFyZSBwb3N0ZWQgb24gdGhlIHBpcGxpbmUncyBidXMKCjIwMTEtMTEtMDggMDc6MzM6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdXBkYXRlIHRlc3RzIHRvIHNldCBwb3N0LXByZXZpZXdzIHRvIHRydWUKCSAgTWFrZXMgbW9zdCBvZiBjYW1lcmFiaW4yIHRlc3RzIHBhc3MgYWdhaW4KCjIwMTEtMTEtMDggMTE6Mjg6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJICB1cGRhdGUgZm9yIHByb2JlIGFwaSBjaGFuZ2VzCgoyMDExLTExLTA4IDA3OjA5OjQxIC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGNoYW5nZSBwb3N0LXByZXZpZXdzIHByb3BlcnR5IGRlZmF1bHQgdmFsdWUgYXMgZmFsc2UKCSAgR2VuZXJhdGluZyBhbmQgcG9zdGluZyBwcmV2aWV3IGltYWdlIGFsd2F5cyBjb21lcyB3aXRoIGEgcGVyZm9ybWFuY2UKCSAgcGVuYWx0eSBzbyBzZXQgZGVmYXVsdCB2YWx1ZSBhcyBmYWxzZS4gVGhlIHByZXZpZXctY2FwcyBwcm9wZXJ0eSB0aGF0CgkgIGRlZmluZXMgdGhlIHByZXZpZXcgaW1hZ2UgZm9ybWF0IGlzIGFsc28gTlVMTCBieSBkZWZhdWx0LCBzbyBpbnN0ZWFkCgkgIG9mIGdlbmVyYXRpbmcgcHJldmlldyBpbWFnZSBvZiB1bnNwZWNpZmllZCBmb3JtYXQgYnkgZGVmYXVsdCBleHBsaWNpdAoJICBhY3Rpb24gZnJvbSBhcHBsaWNhdGlvbiBzaG91bGQgYmUgcmVxdWlyZWQgZm9yIGVuYWJsaW5nIHByZXZpZXcgaW1hZ2UKCSAgcG9zdGluZyBmZWF0dXJlLgoJICBBcHBsaWNhdGlvbiBhbHNvIGhhcyB0byBhZGQgY3VzdG9tIGNvZGUgdG8gYmUgYWJsZQoJICB0byBoYW5kbGUgcHJldmlldyBtZXNzYWdlcyBvbiBpdHMgbWVzc2FnZSBoYW5kbGluZyBmdW5jdGlvbiBhbnl3YXkuCgoyMDExLTExLTA3IDIwOjM5OjU2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogQW5kcm9pZC5tazoKCSAgQWRkIEFuZHJvaWQgYnVpbGRzeXN0ZW0gaG9va3MgZm9yIGNvZGVjcGFyc2VycwoKMjAxMS0xMS0wMSAyMDozNzoxNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IGZpeCByMjEwIHdyaXRpbmcgb25seSBoYWxmIGEgc2NhbmxpbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzIwMwoKMjAxMS0xMS0wNyAxNjo0MTo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkgIGFkcGNtOiBhZGQgbW9yZSBjb25zdHMsIGVzcGNpYWxseSBmb3Igc3RhdGljIGNvbnN0IGRhdGEKCjIwMTEtMTEtMDcgMTc6MTM6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZkYmFzZWJpbjogZml4IGZvciBwYWQgcHJvYmVzIHVwZGF0ZQoKMjAxMS0xMS0wMyAxODo1NToyNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IG1lcmdlIGNhcHMgaW5zdGVhZCBvZiB1c2luZyB1bmlvbgoJICBJdCdzIGEgbG90IGZhc3RlciwgYW5kIHByZXNlcnZlcyBjYXBzIG9yZGVyaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMzQ2CgoyMDExLTEwLTI3IDE1OjUzOjQ4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSAgdGlnZXI6IGFkZCBhICdzaWxlbnQnIHByb3BlcnR5IHRvIHNraXAgcmVuZGVyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI4NTcKCjIwMTEtMDgtMjkgMTM6MDA6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWdkZW11eDogY2F0Y2ggc2VjdGlvbiBsZW5ndGhzIGV4dGVuZGluZyBwYXN0IHRoZSBidWZmZXIgbGVuZ3RoCgkgIFRoaXMgaXMgcHJvYmFibHkgdGhlIGNhdXNlIGZvciBhbiBvY2Nhc2lvbmFsIGNyYXNoIHdoaWxlIHN0cmVhbWluZwoJICBNUEVHLiBCbGluZCBmaXggYWZ0ZXIgc3RhcmluZyBhdCB0aGUgY29kZSBhbmQgZm9sbG93aW5nIGxvZ2ljLCBzbwoJICBtYXkgb3IgbWF5IG5vdCBmaXggdGhlIGlzc3VlLCBJIGNhbm5vdCB0ZXN0LgoKMjAxMS0xMC0yMCAxMDo0Mjo0MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmRzcmM6IGRvIG5vdCB0cnkgdG8gc2VlayBiZWZvcmUgdGhlIGZpcnN0IGNoYXB0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU4OTA2NAoKMjAxMS0xMC0wNSAxODozMDoyMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IGZpeCBsYXRlbmN5IHF1ZXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTY0MjEKCjIwMTEtMTAtMDUgMTg6MjU6NTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggbGF0ZW5jeSBxdWVyeQoJICBUaGlzIG1ha2VzIGxpdmUgJ2F1ZGlvc3JjICEgb3B1c2VuYyAhIG9wdXNkZWMgISBhdWRpb3NpbmsnIHBpcGVsaW5lcwoJICBhY3R1YWxseSB3b3JrIHdpdGhvdXQgYWxsIGF1ZGlvIGJlaW5nIGR1bXBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDk5OQoKMjAxMS0xMC0wNSAxNTo0NzowNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IHVzZSBkZWJ1ZyBsZXZlbCBmb3IgZGVidWcgaW5mbywgbm90IGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA5OTkKCjIwMTEtMDktMjkgMTQ6MjI6NTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBmaXggY2FsY3VsYXRpb24gb2YgZmlsbGVyIGRhdGEgc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwNDY5CgoyMDExLTA5LTI5IDE0OjIyOjMzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IGNhbGN1bGF0aW9uIG9mIGZpbGxlciBkYXRhIHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDQ2OQoKMjAxMS0xMC0wMyAxODoyODoxNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBtcGVncHNkZW11eDogZml4IHplcm8gbGVuZ3RoIHBhY2tldCBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMxNDE2CgoyMDExLTExLTAyIDEyOjQxOjU0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIHRlc3RzOiBtYXJrIHRlc3QgaW5wdXQgZGF0YSBjb25zdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMjM1CgoyMDExLTExLTAyIDEyOjQxOjMwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIG1wZWd2aWRlb3BhcnNlcjogaW5wdXQgZGF0YSBpcyBjb25zdCwgbWFyayBpdCBzbwoKMjAxMS0xMS0wMiAxMjozODozMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJICB0ZXN0czogYWxsb3cgYnVpbGRpbmcgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBnbGliIChnX2xpc3RfZnJlZV9mdWxsKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMjM0CgoyMDExLTExLTA3IDEwOjAyOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0wNCAxODowNjo1MSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgRml4IG1pc3Npbmcgc291cmNlcyBvbiBiYXllcidzIGJ1aWxkc3lzdGVtIGFuZHJvZ2VuaXplciBjYWxsCgoyMDExLTExLTA0IDE4OjUyOjM1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VuZHRvdWNoL3BsdWdpbi5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6CgkqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGNvbnRyb2xsZXIgbG9jYXRpb24gYW5kIGFwaQoKMjAxMS0xMS0wNCAxNjozNDoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBtb3JlIHRlbXBsYXRlIGZpeGVzCgoyMDExLTExLTA0IDE2OjIzOjAzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkgIGV4YW1wbGVzIDogUG9ydCB0byAwLjExCgoyMDExLTExLTA0IDEzOjA0OjE5ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IGFkZCBtb3JlIHNpemUgY2hlY2tzIGFuZCBpbXByb3ZlIGV4aXN0aW5nCgkgIERvbid0IHN1YnRyYWN0IHdpdGggdW5zaWduZWQgdmFsdWVzLCB0aGF0IHdpbGwgYml0ZSB1cy4gQWxzbyBmaXggZm9ybWF0CgkgIHNwZWNpZmllciBpbiB0aGUgbG9nIG1lc3NhZ2UuCgoyMDExLTExLTA0IDEyOjMxOjE5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJICBtb3JlIHRlbXBsYXRlIGZpeGVzCgoyMDExLTExLTA0IDEyOjIyOjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgbWFrZSByZXF1ZXN0IHBhZHMgdGFrZSBfJXUKCjIwMTEtMTEtMDQgMTE6MjQ6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0Lmg6CgkgIHZpZGVvOiBwb3J0IHNvbWV3aGF0IHRvIDAuMTEKCSAgSW4gMC4xMSB0aGlzIHNob3VsZCBiZSBkb25lIGRpZmZlcmVudGx5CgoyMDExLTExLTA0IDExOjAxOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0wNCAxMDoxNzozOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IEZpeCBmb3IgcmVtb3ZhbCBvZiBnc3RfZWxlbWVudF9mb3VuZF90YWdzX2Zvcl9wYWQoKQoKMjAxMS0xMS0wMyAxNzoxNzoxMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmg6CgkgIHN1cmZhY2Vjb252ZXJ0ZXI6IFJlbW92ZSBkdXBsaWNhdGVkIGZvcndhcmQgZGVjbGFyYXRpb24KCSAgSXQgc2VlbXMgdGhhdCBzb21lIGNvbXBpbGVycyBkb24ndCBsaWtlIGR1cGxpY2F0ZWQgdHlwZWRlZnMuCgoyMDExLTExLTAzIDE2OjU3OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgdmlkZW9lbmM6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDExLTExLTAzIDE2OjU3OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIHZpZGVvOiBmaXggZm9yIG1ldGFkYXRhIEFQSSBjaGFuZ2UKCjIwMTEtMTEtMDMgMTQ6MDE6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMS0wMyAxMzo1Njo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgbGlicy92aWRlbzogRmluaXNoIHBvcnRpbmcgdG8gMC4xMQoKMjAxMS0wOS0yOCAxOToyOTowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby5wYy5pbjoKCSAgdmlkZW86IEFkZCBsaWJnc3RiYXNldmlkZW8gUEMgZmlsZQoKMjAxMS0xMC0xOSAxNjoxOTo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0Lmg6CgkgIHZpZGVvOiBBZGQgR3N0VmlkZW9Db250ZXh0IGludGVyZmFjZQoJICBUaGlzIGludGVyZmFjZSB3aWxsIGJlIHVzZWQgdG8gaW1wbGVtZW50IHZpZGVvIGNvbnRleHQgc2hhcmluZy4gVGhvc2UKCSAgY29udGV4dCBjb3VsZCBiZSBYMTEgRGlzcGxheSwgVmFEaXNwbGF5LCBldGMuCgoyMDExLTEwLTA3IDE5OjA1OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmg6CgkgIHZpZGVvOiBBYnN0cmFjdCBzdXJmYWNlIEFQSSBmb3IgSFcgYWNjZWxlcmF0ZWQgY29kZWNzCgoyMDExLTEwLTI2IDE2OjMxOjM5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIHRlc3RzOiBtYWtlIGNvbnN0IGRhdGEgY29uc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mjc3NgoKMjAxMS0xMC0yNiAxNjoyOTozNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IGRvIG5vdCBvdmVyd3JpdGUgYnVmZmVyCgkgIEkgZG8gbm90IGtub3cgdGhlIGJpdHN0cmVhbSBmb3JtYXQsIGJ1dCB0aGlzIHNlZW1zIGxpa2VseQoJICB0byBiZSB3aGF0IHdhcyBpbnRlbmRlZC4gQWxzbyBhZGQgYSBjaGVjayBvbiB0aGUgbnVtYmVyIG9mCgkgIGl0ZW1zIHRvIHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI3NzYKCjIwMTEtMTAtMjEgMTM6MTg6MjYgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIHZjMXBhcnNlcjogZml4IHBhcnNpbmcgb2YgUkFOR0VSRURGUk0KCjIwMTEtMTEtMDIgMTI6MTA6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgdGFnOiB1cGRhdGUgZm9yIHRhZyBBUEkgcmVtb3ZhbAoKMjAxMS0xMS0wMiAxMDozMToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMDIgMDk6MTQ6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IHVwZGF0ZSBmb3IgdGFnbGlzdCBhcGkgY2hhbmdlcwoKMjAxMS0xMC0yOSAwOTowOToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIHN0cnVjdHVyZTogZml4IGZvciBhcGkgdXBkYXRlCgoyMDExLTEwLTI5IDA4OjI1OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICBjYXBzOiB1cGRhdGUgZm9yIG5ldyBBUEkKCjIwMTEtMTEtMDEgMTE6NDc6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogT24gY2FwdHVyZSBlcnJvciwgc2tpcCBwcmV2aWV3cwoJICBXaGVuIHRoZSBjYW1lcmEgc291cmNlIGZhaWxzIHRvIGRvIHNvbWUgY2FwdHVyZSwgc2tpcCB0aGUgbmV4dAoJICBwcmV2aWV3IGFuZCBkZWNyZW1lbnQgcHJvY2Vzc2luZyBjb3VudGVyLgoKMjAxMS0xMS0wMSAxMDozODozMyAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB0cmFjayBhbHNvIHByZXZpZXcgaW1hZ2VzIHdpdGggcHJvY2Vzc2luZyBjb3VudGVyCgkgIE1ha2VzIGNhbWVyYWJpbjIgb25seSBzaWduYWwgdGhhdCBpdCBpcyBpZGxlIGFmdGVyIGFsbCBwcmV2aWV3cyBoYXZlCgkgIGJlZW4gZ2VuZXJhdGVkLCBpbWFnZXMgYXJlIGNhcHR1cmVkIGFuZCBzYXZlZCwgYW5kIHZpZGVvcyBoYXZlCgkgIGJlZW4gZmluaXNoZWQgcHJvcGVybHkuCgoyMDExLTExLTAxIDE1OjA4OjI2ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IGZpeCBhY2Nlc3MgdG8gdW5pbml0aWFsaXplZCBtZW1vcnkKCSAgV2hlbiB2dWktPnRpbWluZ19pbmZvX3ByZXNlbnQgaXMgMCwgdnVpLT5maXhlZF9mcmFtZV9yYXRlX2ZsYWcgYW5kIG90aGVycwoJICBjYW5ub3QgYmUgYWNjZXNzZWQgc2luY2UgdGhleSBoYXZlIG5vdCBiZWVuIHNldC4KCSAgSXQgd2FzIGFsc28gcG9zc2libGUgdGhhdCBzcHMtPmZwc197bnVtLGRlbn0gZW5kIHVwIGluaXRpYWxpemVkIGhlcmUuCgoyMDExLTExLTAxIDExOjExOjQ3ICswMDAwICBCcmFkIFNtaXRoIDxicmFkQGNvbXN0eWxlLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBoYWNrIGFyb3VuZCBicm9rZW4gbXBsZXggMi4wLjAgaGVhZGVycyBpbiBtcGxleCBjaGVjawoJICBEdWUgdG8gdGhlIGFkZGl0aW9uIG9mIGFuIHVuY29uZGl0aW9uYWwgaW5jbHVzaW9uIG9mIGNvbmZpZy5oIGluCgkgIG1qcGVndG9vbCAyLjAuMCdzIHN0cmVhbV9wYXJhbXMuaCBoZWFkZXIgdGhlIGF1dG9jb25mIHRlc3QgZm9yIHRoZQoJICBtcGxleCBtb2R1bGUgZmFpbGVkLiBIYWNrIGFyb3VuZCB0aGlzIGluIHRoZSBzYW1lIHdheSB3ZSBkaWQgZm9yCgkgIG1wZWcyZW5jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNjE0CgoyMDExLTExLTAxIDExOjA5OjUyICswMDAwICBCcmFkIFNtaXRoIDxicmFkQGNvbXN0eWxlLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggdHlwbyBpbiBtcGVnMmVuYyBjaGVjayBzbyBDUFBGTEFHUyBnZXQgcmVzdG9yZWQgY29ycmVjdGx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE2MTQKCjIwMTEtMTEtMDEgMTI6Mjk6MzUgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogZml4IE1BWF9TUFMvUFBTIGJvdW5kYXJ5IGNoZWNrcwoKMjAxMS0xMS0wMSAxMjoxMjo1NiArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICB0ZXN0czogaDI2NHBhcnNlOiBmaXggZXhpdCBjb2RlCgoyMDExLTExLTAxIDAwOjQ1OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgVXBkYXRlIGZvciBwYWQgQVBJIGNoYW5nZXMKCSAgR3N0UHJvYmVUeXBlLCBHc3RQcm9iZVJldHVybiBhbmQgR3N0QWN0aXZhdGVNb2RlIC0+IEdzdFBhZCoKCjIwMTEtMTAtMjggMTE6MTA6MDYgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSAgZmllbGRhbmFseXNpczogRG9uJ3QgcmVzZXQgdGhlIGNvbnRleHQgb24gRElTQ09OVAoJICBPbiBkaXNjb250LCB0aGUgcXVldWUgb2YgZnJhbWVzIHdhcyBiZWluZyBjbGVhcmVkLCBidXQgYWxzbyB0aGUKCSAgY29udGV4dCByZXNldC4gV2Ugb25seSBuZWVkIHRvIGNsZWFyIHRoZSBxdWV1ZS4KCjIwMTEtMTAtMzEgMTQ6NTE6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTMxIDE0OjUxOjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBrYXRlLCBiYXllciwgdHNkZW11eDogdXBkYXRlIGZvciBjYXBzIGFuZCB0YWdsaXN0IEFQSSBjaGFuZ2VzCgoyMDExLTEwLTMxIDE0OjUwOjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQga2F0ZSBhbmQgbXl0aHR2IHRvIG5vbi1wb3J0ZWQgbGlzdAoJICBrYXRldGlnZXIgaXNuJ3QgcG9ydGVkLCBzbyBwbHVnaW4gZG9lc24ndCBidWlsZCBpZiBsaWJ0aWdlciBpcyBwcmVzZW50LgoKMjAxMS0xMC0zMSAxMTozNjowNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGhhbmRsZSBmYWlsdXJlcyBpbiBzdGFydCgpIGFuZCBzdG9wKCkKCjIwMTEtMTAtMzEgMDY6NTk6NTMgLTAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPHRvbW1pLm15b2hhbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSAgYmFzZWNhbWVyYXNyYzogb3B0aW1pemUgc3RhdGUgY2hhbmdpbmcgc3BlZWQKCSAgQ3JlYXRlIHByZXZpZXcgcGlwZWxpbmUgYWxyZWFkeSBpbiBpbml0aWFsaXphdGlvbiBwaGFzZS4gVGhpcyBzcGVlZHMKCSAgdXAgTlVMTF9UT19SRUFEWSBzdGF0ZSBjaGFuZ2UuIEFsc28gaW1wbGVtZW50IGEgc2VwYXJhdGUgZnVuY3Rpb24gZm9yCgkgIHNldHRpbmcgdGhlIHByZXZpZXcgZmlsdGVyIGVsZW1lbnQuCgkgIFRoaXMgYWxzbyByZXN0cmljdHMgdGhlIHByZXZpZXcgZmlsdGVyIHByb3BlcnR5IHRvIHdvcmsgb25seSBvbgoJICBOVUxMIHN0YXRlLgoKMjAxMS0xMC0yOCAxNToxNjo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1ha2UgZWxlbWVudHMgY29tcGlsZSBhZ2FpbgoKMjAxMS0xMC0yNyAxNjoyMzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggY29tcGlsYXRpb24KCjIwMTEtMTAtMjcgMTY6MjM6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGZpeCBjb21waWxhdGlvbgoKMjAxMS0xMC0yNyAxNjoyMjo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYWRkIHNwYW5kc3AgdG8gbm9uLXBvcnRlZAoKMjAxMS0xMC0yNyAxNjoxMzo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMjEgMTU6MDQ6MDUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5oOgoJICBpbnRlcmZhY2VzOiBjbGVhbiB1cCB0aGUgdXNlIG9mIGlmYWNlIGFuZCBjbGFzcy9rbGFzcwoKMjAxMS0xMC0xOSAxMDoyNDo1MiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiBDb3JyZWN0IHRoZSBwYXJzaW5nIG9mIEZSTVJUUV9QT1NUUFJPQyBhbmQgQklUUlRRX1BPU1RQUk9DCgoyMDExLTEwLTIxIDExOjQwOjU0ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IENvcnJlY3QgdGhlIHBhcnNpbmcgb2Ygc2VxdWVjZSBsYXllci4KCjIwMTEtMTAtMjAgMDk6Mzk6MTkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBBbmRyb2lkLm1rOgoJICBEaXNhYmxlIGV4dC9mYWFkIGZvciB0aGUgYW5kcm9pZCBuZGsgYnVpbGQKCSAgSXQgY3VycmVudGx5IG1ha2VzIHRoZSBidWlsZCBmYWlsLiBJZGVhIGlzIHRvIGVuYWJsZQoJICBpdCBiYWNrIGFnYWluIG9uY2UgaXRzIGJ1aWxkaW5nIHByb2JsZW1zIGdldCBzb3J0ZWQKCSAgb3V0LgoKMjAxMS0xMC0xOCAxNDo0MTo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgYXNzcmVuZGVyLCBudXZkZW11eDogdW5yZWYgYnVmZmVycyB3aXRoIGdzdF9idWZmZXJfdW5yZWYoKQoKMjAxMS0xMC0xOCAxNDozMjowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMTggMTQ6Mjg6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkgIGNlbHQ6IHN0YXJ0IG9mIDAuMTEgcG9ydAoKMjAxMS0xMC0xNCAxMTowNzowMCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IENvbXB1dGUgcGFyIGFuZCBmcHMgaW4gYWR2YW5jZWQgcHJvZmlsZQoKMjAxMS0xMC0xMCAxNDoxOTo0OCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IEhhbmRsZSBpbnRlcmxhY2VkIGZpZWxkcwoKMjAxMS0xMC0xMCAxMDoxNDoxMiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IEhhbmRsZSBpbnRlcmxhY2VkIGZyYW1lcyBwcm9wZXJseQoKMjAxMS0xMC0wNyAxMzoxMTo1NSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IFVzZSBlbnVtcyB3aGVuIHBvc3NpYmxlCgkgIEFkZCBHc3RWQzFGcmFtZUNvZGluZ01vZGUgYW5kIHVzZSBpdCBmb3IgdGhlIGZjbSBmaWVsZAoJICBVc2UgR3N0VkMxUGljdHVyZVR5cGUgYXMgdmFyaWFibGUgdHlwZSBmb3IgcHR5cGUKCSAgVXNlIEdzdFZDMUxldmVsIGFzIHZhcmlhYmxlIHR5cGUgZm9yIGxldmVsCgoyMDExLTEwLTA3IDE3OjQyOjE3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGJpdHBsYW5lcyBkZWNvZGluZyAoY2hlY2sgZm9yIGVycm9ycykuCgoyMDExLTEwLTA3IDE1OjIxOjM0ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGJpdHBsYW5lcyBkZWNvZGluZyAoSU5WRVJUIG1vZGUpLgoKMjAxMS0xMC0wNyAxMzo1OToyOSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBNVk1PREUgYW5kIE1WTU9ERTIgcGFyc2luZy4KCjIwMTEtMTAtMDUgMTc6Mzk6NTkgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBoYW5kbGUgc2tpcHBlZCBwaWN0dXJlcyBncmFjZWZ1bGx5LgoKMjAxMS0xMC0wNCAxNzozOTo0MiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IEltcGxlbWVudCBiaXRwbGFuZXMgZGlmZiBvcGVyYXRvcgoKMjAxMS0xMC0wNCAxNzozOTowMCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IFNvbWUgY29zbWV0aWNzIGFuZCBkZWJ1ZyBsb2dnaW5nIGVuaGFuY2VtZW50cwoKMjAxMS0xMC0wNCAxNToxNjowNCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IEltcGxlbWVudCBiaXRwbGFuZXMgaGFuZGxpbmcgcHJvcGVybHkKCSAgQWRkIGEgbmV3IEdzdFZDMUJpdFBsYW5lcyBBUEkuCgoyMDExLTEwLTA0IDE0OjA0OjQyICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IEJGUkFDVElPTiBwYXJzZXIgKHZhbHVlcyByYW5nZSArIG92ZXJmbG93KS4KCjIwMTEtMTAtMDQgMTE6NTc6MzcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggVkxDIGRlY29kaW5nLgoKMjAxMS0xMC0wNSAxNjo0MDo0NyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IEltcGxlbWVudCBGcmFtZUxheWVyIHBhcnNpbmcKCjIwMTEtMTAtMDUgMTI6MTU6MDAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBJbXBsZW1lbnQgU2VxdWVuY2UgTGF5ZXIgRGF0YSBTdHJ1Y3R1cmVzCgkgIEluc3RlYWQgb2YgaGF2aW5nIGEgc2luZ2xlIFZDMVNlcXVlbmNlSGVhZGVyIHN0cnVjdHVyZSwgdXNlIHRoZSAzIHN0cnVjdHMKCSAgZnJvbSB0aGUgIlRhYmxlIDI2NTogU2VxdWVuY2UgTGF5ZXIgRGF0YSBTdHJ1Y3R1cmUiIG9mIHRoZSBzcGVjaWZpY2F0aW9uCgkgIGZvciB0aGUgbGlicmFyeSB0byBiZSBtb3JlIGZsZXhpYmxlLgoJICBJbXBsZW1lbnQgdGhlIGZ1bmN0aW9ucyB0byBwYXJzZSB0aGVtCgoyMDExLTEwLTA1IDA4OjI2OjMxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogQ29tcHV0ZSBmcmFtZXJhdGUgYW5kIGJpdHJhdGUgaW4gc2ltcGxlL21haW4gcHJvZmlsZXMKCjIwMTEtMTAtMDMgMTQ6MjU6MDAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBjb21wdXRlIE1CIGhlaWdodCBhbmQgd2lkdGgKCSAgQWRkIHRoZW0gdG8gR3N0VkMxU2VxdWVuY2VIZHIKCjIwMTEtMTAtMDMgMTU6MzY6MDggKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBkZWJ1ZyBjb3NtZXRpY3MuCgoyMDExLTEwLTAzIDExOjQyOjMyICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogcmVjb3JkIHBpY3R1cmUgbGF5ZXIgaGVhZGVyIHNpemUgaW4gYml0cy4KCjIwMTEtMTAtMDMgMTE6MTQ6MjUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBjb21wdXRlIGFsdHBxdWFudC4KCjIwMTEtMTAtMDMgMTQ6MjI6MTcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBGaXggYWZ0ZXIgR3N0VkMxUGFyc2VyUmVzdWx0IHJlbmFtaW5nCgoyMDExLTA5LTMwIDEyOjQxOjEzICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogdXNlIEdzdFZDMVBhcnNlclJlc3VsdCB0eXBlIG5hbWUgc2ltaWxhcmx5IHRvIG90aGVyIHBhcnNlcnMuCgoyMDExLTA5LTMwIDExOjM4OjE1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogaGFuZGxlIEVuZC1vZi1TZXF1ZW5jZSBjb3JyZWN0bHkuCgoyMDExLTA5LTE0IDE0OjIxOjQ3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBmaXggcXVhbnRfbWF0cml4X2V4dGVuc2lvbigpIHBhcnNlciBmb3IgY2hyb21hIGludHJhIFFNLgoKMjAxMS0xMC0xMyAxNjo1Mjo0MyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb3JyZWN0IGRlYnVnIG1lc3NhZ2UgYW5kIHJlbW92ZSBzb21lIGRlYWQgY29kZQoJICBTZWUgIzY2MTExMy4KCjIwMTEtMTAtMDYgMTY6NTU6NDMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29ycmVjdCBwYXJzaW5nIG9mICJudW1iZXJPZlBpY3R1cmVQYXJhbWV0ZXJTZXRzIgoJICBTZWUgIzY2MTExMy4KCjIwMTEtMTAtMTcgMTA6MTk6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IEZpeCBwYWQgdGVtcGxhdGUgY2FwcwoKMjAxMS0xMC0xNiAxNzo0MTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuaDoKCSAgeTRtOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTYgMTY6NDU6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogcG9ydCB0byAwLjExCgoyMDExLTEwLTE2IDE2OjI4OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5oOgoJICBiYXllcjogcG9ydCB0byAwLjExCgoyMDExLTEwLTE2IDE1OjI4OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0xMyAxNjo1NzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVc2UgZ3N0X2J1ZmZlcl9qb2luIGluc3RlYWQgb2YgYnVmZmVybGlzdHMKCSAgVGhpcyBpcyAqcmVhbGx5KiBpbmVmZmljaWVudC4gV2Ugc2hvdWxkIHRyYWNrIGxpc3Qgb2YgR3N0TWVtb3J5CgkgIGluc3RlYWQuCgoyMDExLTEwLTEzIDE2OjU3OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFBsdWcgbW9yZSBsZWFrcwoKMjAxMS0xMC0xMyAxNjo1NTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBSZWZhY3RvciBzY2FuIGxvb3AKCSAgQXZvaWRzIGVuZGluZyB1cCBsZWFraW5nIHBhY2tldHMgd2hlbiB3ZSBnb3Qgb25lIGFuZCByZXMgd2FzIGRpZmZlcmVudAoJICBmcm9tIEdTVF9GTE9XX09LLgoJICBJdCBhbHNvIGxvb2tzIG1vcmUgY29tcHJlaGVuc2libGUKCjIwMTEtMTAtMTMgMTY6NTU6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRG9uJ3QgbGVhayB1cHN0cmVhbSBldmVudHMKCjIwMTEtMTAtMTMgMTY6NTU6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVmYWN0b3IgY29kZSB0byBjb3BlIHdpdGggZ19oYXNoX3RhYmxlX2ZvcmVhY2hfcmVtb3ZlKCkKCjIwMTEtMTAtMTIgMTg6MDU6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eC90c3BhcnNlOiBQb3J0IHRvIDAuMTEKCSAgVGhpcyBpcyBhIG5haXZlIHBvcnQgdGhhdCBzb21ld2hhdCB3b3JrcyBidXQgaXMgaW5lZmZpY2llbnQuCgkgIEkgbmVlZCB0byByZXRoaW5rIGhvdyB0byBtYWtlIHRoZSBiZXN0IG91dCBvZiBHc3RNZW1vcnkvR3N0QnVmZmVyCgoyMDExLTEwLTEyIDEyOjA5OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IENoZWNrIGJlZm9yZSBhY2Vzc2luZyBwcmV2aWV3IGxvY2F0aW9uIGxpc3QKCSAgT25seSBhY2Nlc3MgdGhlIHByZXZpZXcgbG9jYXRpb24gaWYgaXQgZXhpc3RzLCB0byBhdm9pZCBhY2Vzc2luZwoJICBhIE5VTEwgdmFyaWFibGUuIElmIHRoZSBwcmV2aWV3IGxvY2F0aW9uIGxpc3QgZG9lc24ndCBleGlzdCwgaXQgaXMKCSAgbGlrZWx5IGJlY2F1c2UgdGhlIHNvdXJjZSBoYXMgcG9zdGVkIGEgcHJldmlldyBtZXNzYWdlIGFmdGVyIGNhbWVyYWJpbjIKCSAgaGFzIGJlZW4gcHV0IHRvIFJFQURZLgoKMjAxMS0wOC0wNyAxNzowMTo0OCArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkgIHNobTogQWRkIGJ1ZmZlci10aW1lIHByb3BlcnR5CgkgIEFkZCBhIGJ1ZmZlci10aW1lIHByb3BlcnR5IHRvIGxpbWl0IHRoZSBzaXplIG9mIHRoZSBhbW91bnQgb2YgZGF0YQoJICBxdWV1ZWQgaW4gdGhlIHNobXNpbmsgYnVmZmVyIGluIG5hbm9zZWNvbmRzLgoJICBGaXhlczogIzY1NjEwNwoKMjAxMS0wOC0wNyAxNjozNjozMiArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogQWRkIGFiaWxpdHkgdG8gYWRkIHVpbnQ2NCB0YWdzIG9uIGJ1ZmZlcnMKCjIwMTEtMTAtMTEgMjM6MzA6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogU2V0IHByZXZpZXcgcGlwZWxpbmUgdG8gcmVhZHkgd2hlbiBnb2luZyB0byByZWFkeQoJICBUaGUgcHJldmlldyBwaXBlbGluZSBzaG91bGQgZ28gdG8gcmVhZHkgd2hlbiB0aGUgY2FtZXJhc3JjIGdvZXMKCSAgdG8gcmVhZHksIGFzIGluIHJlYWR5IGVsZW1lbnRzIHNob3VsZG4ndCBiZSBwcm9jZXNzaW5nIGRhdGEuCgoyMDExLTEwLTExIDIzOjEzOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIGEgbXV0ZXggdG8gYXZvaWQgY29uY3VycmVudCBhY2Nlc3Mgb2YgcHJldmlldyBmaWxlbmFtZSBsaXN0cwoJICBUaGUgcHJldmlldyBmaWxlbmFtZSBsaXN0IGlzIGFjZXNzZWQgd2hlbmV2ZXIgYSBuZXcgY2FwdHVyZSBpcyBzdGFydGVkLCB3aGVuCgkgIGNhbWVyYS1zb3VyY2UgcG9zdHMgYSBuZXcgcHJldmlldyBtZXNzYWdlIG9yIG9uIHN0YXRlIGNoYW5nZXMuIEFsbCBvZiB0aG9zZSBjYW4KCSAgb2NjdXIgc2ltdWx0YW5lb3VzbHksIHNvIGFkZCBhIG11dGV4IHRvIHByZXZlbnQgY29uY3VycmVudCBhY2Nlc3MuCgoyMDExLTEwLTA3IDEwOjQ4OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFJlc2V0IGF1ZGlvc3JjIHRpbWVzdGFtcGluZwoJICBSZXNldCBhdWRpb3NyYydzIHRpbWVzdGFtcGluZyBkYXRhIGJ5IHNldHRpbmcKCSAgaXQgdG8gTlVMTCB0byByZXNldCB0aGUgcmluZ2J1ZmZlciBhbmQgdGhlbiByZS1zZXRpbmcKCSAgdGhlIGNsb2NrIHRoYXQgY2FtZXJhYmluIG1pZ2h0IG5vdCByZWRpc3RyaWJ1dGUKCjIwMTEtMTAtMTEgMTY6Mjc6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiBQcmV2ZW50IGF1ZGlvIHNvdXJjZSBmcm9tIHByb3ZpZGluZyBjbG9jawoJICBjYW1lcmFiaW4ncyBhdWRpbyBzb3VyY2UgbWlnaHQgYmUgcHV0IHRvIE5VTEwgZHVyaW5nIGl0cwoJICB1c2UsIHNvIHRoZSBjbG9jayB3b3VsZCBiZSBsb3N0LiBCZXR0ZXIgbm90IGFsbG93IGl0IHRvCgkgIHByb3ZpZGUgYSBjbG9jayBhdCBhbGwuCgoyMDExLTEwLTExIDExOjA1OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBvcGVuYWwgaXMgbm90IHBvcnRlZCB5ZXQKCjIwMTEtMTAtMTAgMTE6NDE6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMCAxMDoxNTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxNToxNjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LWNvbW1vbi5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBkdmRzcHU6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxNDoyMjo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGU6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxMzoxNDo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBkaXNhYmxlIGRpcmVjdGZiCgoyMDExLTEwLTA4IDEyOjA3OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHpiYXI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxMTo1Nzo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDExOjQ2OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDExOjQwOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTE6MTc6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTA2IDIzOjIyOjUxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJICBleGFtcGxlczogRml4ZXMgZm9yIGNvbXBpbGluZyB3aXRoIEdUSysgMy4wCgkgIGNhbWVyYWJpbmcgZXhhbXBsZSBoYWQgYSBtaXNzaW5nICcpJyBhbmQgdGhlIGZpeCB0byBidWlsZCBhZ2FpbnN0IEdUSyszCgkgIHRoYXQgd2FzIGludHJvZHVjZWQgaW4gY29tbWl0IDUxNmM5NzdjNzZiYTRjZDg2YTcxNDdhYWI3NDE2YTMzZDc2Zjg3MGYKCSAgaXMgYWxzbyBhcHBsaWVkIHRvIHRoZSBjYW1lcmFiaW4yIGV4YW1wbGUuCgkgIFRoZSBzY2FsZXRlbXBvIGRlbW8gd2FzIHVzaW5nIEFQSSB3aGljaCBoYXMgYmVlbiByZW1vdmVkLCBzbyB0aGF0J3MKCSAgd3JhcHBlZCBpbiBhIHZlcnNpb24gY2hlY2suCgoyMDExLTEwLTA2IDE3OjU2OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBiZWdpbm5pbmcgb2YgcG9ydCB0byAwLjExCgoyMDExLTEwLTA2IDEyOjE1OjQ1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IE1ha2UgcHJvcGVyIHVzZSBvZiB0aGUgaDI2NHBhcnNlciBsaWIgaW4gcGFyc2VfY2hhaW4KCSAgTWlub3IgZGVidWdnaW5nIGxvZ3MgZml4ZXMKCjIwMTEtMTAtMDYgMTQ6MDU6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTA2IDE0OjAzOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNiAxMjoyNToyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHByb3Blcmx5IGludGVycHJldCBiYXNlcGFyc2UgZHJhaW5pbmcgc3RhdGUKCSAgLi4uIHdoaWNoIG1lYW5zIHRoZSBpbnB1dCBkYXRhIGhhcyByZWFjaGVkIHRoZSBlbmQsIGJ1dCBuZWVkIG5vdCBleGNsdWRlCgkgIG1hbnkgc2VwYXJhdGUgZnJhbWVzIG1heSBzdGlsbCBuZWVkIHBhcnNpbmcuCgkgIEZpeGVzIG1lcmdpbmcgTkFMcyBpbnRvIEFVLgoKMjAxMS0xMC0wNSAyMzoxNDoyMyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb3JyZWN0IHRoZSBzaXplIGFyZ3VtZW50IG9mIGdzdF9oMjY0X3BhcnNlcl9pZGVudGlmeV9uYWx1X2F2YygpCgoyMDExLTEwLTA1IDEyOjA5OjA0ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG1pbmltdW0gc2l6ZSBvZiBwYXJzYWJsZSBhdmNDIGRhdGEgc2hvdWxkIGJlIDgKCjIwMTEtMTAtMDYgMTA6NTg6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogcG9ydCB0byAwLjExCgoyMDExLTEwLTA1IDIwOjA2OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDUgMTI6NTM6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBtb3JlIHBvcnRpbmcKCjIwMTEtMTAtMDQgMTg6NTQ6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tc3NyYzogcG9ydCB0byAwLjExCgoyMDExLTEwLTA0IDE4OjM4OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNCAxODozNTozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgbW9yZSB1bnBvcnRlZCBwbHVnaW5zCgoyMDExLTEwLTA0IDE0OjMwOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSAgdGVzdHM6IHBvcnQKCjIwMTEtMTAtMDQgMTQ6Mjc6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIHZpZGVvOiBzdGFydCBwb3J0aW5nIHNvbWUgYmFzZSBjbGFzc2VzCgoyMDExLTEwLTA0IDE0OjI3OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgdGVzdHM6IGZpeCBzb21lIHRlc3RzCgoyMDExLTEwLTA0IDE0OjI2OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IHJlbW9yZSBpbXBsZW1lbnQtaW50ZXJmYWNlCgoyMDExLTEwLTA0IDE0OjI1OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBtb3JlIHVucG9ydGVkIHBsdWdpbnMKCjIwMTEtMTAtMDQgMTM6MzM6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNCAxMzozMzowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogdXNlIHJpZ2h0IGNhcHMKCjIwMTEtMTAtMDQgMTM6Mjk6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTA0IDEyOjMxOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogT25seSBmYWlsIHRvIGluaXRpYWxpemUgdGhlIHBsdWdpbiBpZiBhbGwgcGFyc2VycyBjYW4ndCBiZSByZWdpc3RlcmVkCgoyMDExLTEwLTAzIDE1OjI2OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluMjogSW5pdGlhbGl6ZSBjYW1lcmFiaW4yIHByZXZpZXcgcGlwZWxpbmUgZGF0YSB3aXRoIDAKCSAgVXNlIGdfbmV3MCB0byBpbml0aWFsaXplIGFsbCBmaWVsZHMgd2l0aCAwIHRvIG9ubHkgY2xlYW51cCB3aGF0IGhhcyBiZWVuCgkgIGluaXRpYWxpemVkLiBUaGlzIG1ha2VzIGNsZWFudXAgd29yayBjb3JyZWN0bHkgd2hlbiBzb21lIGluaXRpYWxpemF0aW9uCgkgIGZhaWxzIGFuZCBwb2ludGVycyBhcmUgbGVmdCBpbiBzb21lIGluY29uc2lzdGVudCBzdGF0ZS4KCjIwMTEtMTAtMDMgMTI6MDY6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBGaXggdHlwbwoKMjAxMS0wOS0yMyAyMjo1ODozMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBVcGRhdGUgdGhlIHBheS9kZXBheSB0byB0aGUgaWV0Zi1kcmFmdC0wMSBzcGVjCgoyMDExLTEwLTAzIDExOjI0OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOS0yOCAxNDo1NzowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeCBkZWNvZGluZwoJICBBIHNpbXBsZSAuLi4gb3B1c2VuYyAhIG9wdXNkZWMgLi4uIHBpcGVsaW5lIG5vdyB3b3Jrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0yOCAxNDo1NjoxOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IG1vYW4gaWYgd2UgZ2V0IGFuIHVuZXhwZWN0ZWQgYW1vdW50IG9mIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0yOCAxNDoyMjowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1czogcHJvcGVybHkgc2V0dXAgY2FwcyBhbmQgaW5pdCBzdGF0ZSBmcm9tIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0yOCAxMzoyNToyMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IHVzZSB0aGUgc2FtZSBmcmFtZSBzaXplIHNldHVwIGFzIHRoZSBvcHVzIHRlc3QgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzY0CgoyMDExLTA5LTI4IDEzOjI0OjUyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogb3B1cyBzdXBwb3J0cyBhIHNlbGVjdCBzZXQgb2Ygc2FtcGxpbmcgcmF0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0yOCAxMzoyNDoyMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1czogbWFrZSBpdCBidWlsZCBhZ2FpbnN0IGN1cnJlbnQsIGFuZCByZW1vdmUgY3J1ZnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0zMCAxODo1NDowNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggc2Nhbm5pbmcgc3RvcHBpbmcgdG9vIGVhcmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgyNDUKCjIwMTEtMDktMjkgMjA6NTU6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogYXZvaWQgcmVuZGVyaW5nIHdoZW4gd2Uga25vdyB0aGVyZSBpcyBub3RoaW5nIHRvIHJlbmRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwNTI4CgoyMDExLTEwLTAxIDE0OjMwOjA3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGZpeCByYWNlIGNvbmRpdGlvbiBvbiBQQVVTRUQtPlJFQURZIHN0YXRlIGNoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwNjMwCgoyMDExLTA5LTIxIDE0OjUzOjAxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiB0YWtlIGludG8gYWNjb3VudCBTQ1Igb2Zmc2V0IHdoZW4gc2Vla2luZwoJICBTaW5jZSB0aGUgc2Vla2luZyBieXRlIG9mZnNldCBpcyBjaG9zZW4gYnkgbGluZWFyIGludGVycG9sYXRpb24KCSAgZnJvbSBTQ1IgdmFsdWVzLCB3ZSBuZWVkIHRvIHRha2UgdGhhdCBmaXJzdCBTQ1IgaW50byBhY2NvdW50CgkgIHRvIGVuZCB1cCBuZWFyIHRoZSBjb3JyZWN0IG9mZnNldC4gT3RoZXJ3aXNlLCBhcyB0aGUgY29kZSBkb2VzCgkgIGEgbGluZWFyIHNlYXJjaCBhZnRlciB0aGF0IGZpcnN0IHNlZWssIGl0IHdpbGwgdGFrZSBhIExPT09PT09ORwoJICB0aW1lIHRvIGdldCB0aGVyZSBmb3Igc3RyZWFtcyB3aGljaCBkb24ndCBzdGFydCBhdCB6ZXJvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NDg1CgoyMDExLTA5LTIxIDE3OjI5OjUyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYW5zd2VyIHBvc2l0aW9uIHF1ZXJ5IHdpdGggYSBzdHJlYW0gdGltZSBwb3NpdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NDg1CgoyMDExLTA5LTIwIDE1OjIxOjUzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdwc2RlbXV4OiByZW1vdmUgdW51c2VkIGZpZWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk0ODUKCjIwMTEtMDktMjkgMTg6MjA6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogUmVmYWN0b3IgdGVzdHMgYSBsaXR0bGUKCSAgUmVmYWN0b3IgY2FtZXJhYmluMiB0ZXN0cyBhIGxpdHRsZQoKMjAxMS0wOS0yOSAxMzowMzowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBhZGRpbmcgdGVzdHMgdG8gY2hlY2sgZm9yIHByZXZpZXcgbWVzc2FnZSBmaWxlbmFtZXMKCSAgUHJldmlldyBtZXNzYWdlcyBub3cgaGF2ZSBmaWxlbmFtZXMsIGFkZCB0ZXN0cyB0byBjaGVjayB0aGF0IHRoZXkgYXJlCgkgIGNvcnJlY3QKCjIwMTEtMDktMjkgMTg6MDM6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IGFkZCBsb2NhdGlvbiB0byBwcmV2aWV3IGltYWdlIG1lc3NhZ2VzCgkgIE1ha2VzIGNhbWVyYWJpbjIgaW50ZXJjZXB0IHByZXZpZXctaW1hZ2UgbWVzc2FnZXMgYW5kIGFkZAoJICB0aGUgZmlsZW5hbWUgY29ycmVzcG9uZGluZyB0byB0aGUgbWVzc2FnZSBzdHJ1Y3R1cmUgaW4gdGhlCgkgICdsb2NhdGlvbicgZmllbGQuCgkgIE1ha2VzIGVhc2llciBmb3IgYXBwbGljYXRpb25zIHRvIHRyYWNrIHByZXZpZXcgaW1hZ2VzCgoyMDExLTA5LTI3IDEzOjA0OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJICBjYW1lcmFiaW4yOiByZW1vdmluZyBjYXBzZmlsdGVyIGZyb20gcHJldmlldyBwaXBlbGluZQoJICBhcHBzaW5rIGFscmVhZHkgaGFzIGEgY2FwcyBwcm9wZXJ0eSwgc28gd2UgZG9uJ3QgbmVlZCB0aGUKCSAgY2Fwc2ZpbHRlciBoZXJlCgoyMDExLTA5LTI5IDE2OjIyOjAwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCBwb3RlbnRpYWwgbG9zcyBvZiBFT1MgZXZlbnQKCSAgU2V0dGluZyB0aGUgYXVkaW8gc291cmNlIHRvIE5VTEwganVzdCBhZnRlciBwdXNoaW5nIHRoZSBFT1MgZXZlbnQKCSAgb24gaXQgY291bGQgcG90ZW50aWFsbHkgY2F1c2UgbG9zcyBvZiBzYWlkIEVPUyBldmVudC4gSW5zdGVhZCwgd2UKCSAgY2FuIHNldCB0aGUgYXVkaW8gc291cmNlIHRvIE5VTEwgd2hlbiByZWFkeS1mb3ItY2FwdHVyZSBpcwoJICBzaWduYWxsZWQgYW5kIHRoZSBib29sZWFuIHZhbHVlIGlzIHRydWUgYXMgdGhpcyBpbmRpY2F0ZXMgd2UgYXJlCgkgIG5vdCBjdXJyZW50bHkgY2FwdHVyaW5nIHZpZGVvLgoKMjAxMS0wOS0yOCAxMzowMToyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgcG9ydGVkIGZhYWQgYW5kIHNkcCBlbGVtZW50cwoKMjAxMS0wOS0yOCAxMjo1NDozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkgIHBob3RvZ3JhcGh5OiByZW1vdmUgaW1wbGVtZW50cy1pbnRlcmZhY2UgcHJlcmVxdWlzaXRlCgoyMDExLTA5LTI4IDEyOjU0OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICB1c2UgdGhlIDAuMTEgYnJhbmNoIG9mIGNvbW1vbgoKMjAxMS0wOS0yNyAxMzoyMjozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcG9ydCB0byAwLjExCgoyMDExLTA5LTI2IDIyOjMxOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOS0yNiAyMjozMDoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOS0yNiAxNzoyMzo0MSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBTdG9wIHRoZSBhdWRpbyBzb3VyY2UgYmV0d2VlbiBjYXB0dXJlcwoJICBNb3ZlIHRoZSBhdWRpbyBzb3VyY2Ugc2V0dGluZyBvZiBzdGF0ZSB0byBOVUxMIHRvIF9zdG9wX2NhcHR1cmUgKCkgdG8KCSAgYXZvaWQgdGhlIGF1ZGlvIHNvdXJjZSBydW5uaW5nIGJldHdlZW4gY2FwdHVyZXMuCgoyMDExLTA5LTI2IDE2OjI2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogQWxzbyBzZXQgbWF4aW11bSBudW1iZXIgb2Ygc2FtcGxlcyB0aGF0IHRoZSBzdWJjbGFzcyB3YW50cwoKMjAxMS0wOS0yNiAxNjowNTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IFNpbXBsZSBmaXggZm9yIEdzdEF1ZGlvRW5jb2RlciBBUEkgY2hhbmdlCgoyMDExLTA4LTIzIDE4OjI1OjIwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IFZDMTogSW1wbGVtZW50IGEgVkMxIHBhcnNpbmcgbGlicmFyeQoKMjAxMS0wOS0xNiAxOTowMzozMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjb2RlY3BhcnNlcnM6IERlY2xhcmUgdGhlIG5ldyBBUElzIGFzIHVuc3RhYmxlIGZvciB0aGUgdGltZSBiZWluZwoKMjAxMS0wOS0yNiAxMTo0NDowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBrZWVwIENSQyB0YWJsZSBpbiAucm9kYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAxMTgKCjIwMTEtMDktMjAgMTY6Mjk6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5oOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL3BsdWdpbi5jOgoJICBpcnRzcHBhcnNlOiBhZGQgSW50ZXJsZWF2ZWQgUlRTUCBwYXJzZXIgZWxlbWVudAoKMjAxMS0wOS0yMyAxMDoxMDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGZhYWQuYzogSW4gZnVuY3Rpb24gJ2dzdF9mYWFkX3BhcnNlJzoKCSAgZ3N0ZmFhZC5jOjYxNToxMTogZXJyb3I6ICdsZW4nIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMS0wOS0yMyAwOTo1NzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHBhcnNlIHdhbnRzIGEgR3N0Rmxvd1JldHVybiByZXR1cm4gdmFsdWUsIG5vdCBhIGdib29sZWFuCgoyMDExLTA5LTIyIDIwOjExOjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSAgcHNtdXg6IGZpeCB3cml0aW5nIG9mIHN5c3RlbSBoZWFkZXIsIHdoaWNoIG1ha2VzIFZMQyBub3Qgc2tpcCB0aGUgYWRqYWNlbnQgUFNNIGFuZCBwbGF5IGVtYmVkZGVkIEguMjY0IHN0cmVhbXMKCSAgaGVhZGVyX2xlbmd0aCBjb250YWlucyB0aGUgbGVuZ3RoIGluIGJ5dGVzIGFmdGVyIHRoZSBoZWFkZXJfbGVuZ3RoCgkgIGZpZWxkLCBleGNsdWRpbmcgdGhlIDYgYnl0ZSBzdGFydCBjb2RlIGFuZCBoZWFkZXJfbGVuZ3RoIGZpZWxkLgoJICBILjI2NCBzdHJlYW1zIGFuZCBzb21lIG90aGVyIGZvcm1hdHMgbmVlZCB0byBiZSBhbm5vdW5jZWQgaW4gdGhlIFBTTS4KCSAgVkxDIHdvdWxkbid0IHBsYXkgZmlsZXMgY3JlYXRlZCB3aXRoIG1wZWdwc211eCBjb250YWluaW5nIEguMjY0IGJlY2F1c2UKCSAgd2UgY2xhaW0gdGhlIHN5c3RlbSBoZWFkZXIgaXMgbGFyZ2VyIHRoYW4gaXQgYWN0dWFsbHkgaXMsIHdoaWNoIG1ha2VzCgkgIFZMQyBza2lwIHRoZSBwcm9ncmFtIHN0cmVhbSBtYXAgd2hpY2ggZm9sbG93cyB0aGUgc3lzdGVtIGhlYWRlciwgd2hpY2gKCSAgaW4gdHVybiBtYWtlcyBpdCBub3QgcmVjb2duaXNlIG91ciBILjI2NCB2aWRlbyBzdHJlYW0uCgoyMDExLTA5LTIyIDIwOjA5OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy8uZ2l0aWdub3JlOgoJICBkb2NzOiBhZGQgaWdub3JlIHJ1bGVzIGZvciBsaWJzIGRvY3MgZGlyZWN0b3J5CgoyMDExLTA5LTIyIDE4OjIzOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZml4dXAgbWlzdW5kZXJzdGFuZGluZyBpbiBzYW1wbGUgY291bnRpbmcKCSAgLi4uIGJldHdlZW4gY29kZWMgYW5kIGF1ZGlvZW5jb2RlciByZWdhcmRpbmcgd2hldGhlciBvciBub3QgY2hhbm5lbAoJICBjb3VudCBpcyBhbHJlYWR5IGNvbnNpZGVyZWQuCgkgIEZpeGVzICM2NTk4MzYuCgoyMDExLTA5LTIyIDE2OjAxOjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogdXNlIHNvbWUgbW9yZSBib2lsZXJwbGF0ZQoKMjAxMS0wOS0yMiAwOTo0OToyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDExLTA5LTIxIDE2OjExOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogdXNlIHNvbWUgbW9yZSBib2lsZXJwbGF0ZQoKMjAxMS0wOS0yMSAxNjowMToyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDExLTA5LTIwIDE2OjU0OjMyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBmb3J3YXJkIHJldHVybiBjb2RlIGZyb20gc2V0dGluZyBzcmMgcGFkIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTYwNgoKMjAxMS0wOS0yMCAxMzowMDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgYmFzZWNhbWVyYXNyYzogRmFpbCBzdGF0ZSBjaGFuZ2UgaWYgcHJldmlldyBwaXBlbGluZSBmYWlscyBjcmVhdGlvbgoJICBJZiB0aGUgcHJldmlldyBwaXBlbGluZSBmYWlscyBjcmVhdGlvbiwgZm9yIGFueSByZWFzb24sIHdlIHNob3VsZAoJICBmYWlsIGJhc2VjYW1lcmFzcmMgc3RhdGUgY2hhbmdlLgoJICBBbHNvIGFkZHMgYSBtaXNzaW5nIGdfcmV0dXJuX2lmX2ZhaWwgY2hlY2sgdG8gcHJldmlldyBwaXBlbGluZQoJICBmdW5jdGlvbnMKCjIwMTEtMDktMTkgMTY6MzI6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBBZGQgY2hlY2tzIHRvIGlucHV0LCBhbmQgZml4IHNpemUgY2hlY2tpbmcKCjIwMTEtMDktMTkgMTQ6NTQ6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBicmluZyBkZWJ1ZyBzdGF0ZW1lbnRzIHVwIHRvIGRlc2lyZWQgc3BlY3MKCjIwMTEtMDktMTkgMTQ6MDc6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBicmluZyBkZWJ1ZyBzdGF0ZW1lbnRzIHVwIHRvIGRlc2lyZWQgc3BlY3MKCjIwMTEtMDktMTkgMTM6NDE6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNpbmdsaWJzOiBEb2MgYW5kIGluZGVudGF0aW9uIGZpeGVzCgoyMDExLTA5LTEwIDExOjMxOjIwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHB2cDgvZGJvb2xodWZmLkxJQ0VOU0U6CgkqIGdzdC9ydHB2cDgvZGJvb2xodWZmLmM6CgkqIGdzdC9ydHB2cDgvZGJvb2xodWZmLmg6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogZml4IGJpdHN0cmVhbSBwYXJzaW5nIHVzaW5nIHRoZSB3cm9uZyBraW5kIG9mIGJpdHJlYWRlcgoJICBWUDggdXNlcyBhIHByb2JhYmlsaXN0aWMgYm9vbCBjb2Rlciwgbm90IGEgc3RyYWlnaHQgYml0IGNvZGVyLgoJICBUaGlzIGZpeGVzIHBhcnNpbmcgd2hlbiBlcnJvci1yZXNpbGllbnQgaXMgc2V0LgoJICBUaGlzIGNvbW1pdCBpbmNsdWRlcyBhIGNvcHkgb2YgbGlidnB4J3MgYm9vbCBjb2RlciwgQlNEIGxpY2Vuc2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyNjk0CgoyMDExLTA5LTE0IDIwOjIyOjQyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBhIGJpdCBtb3JlIGVycm9yIGNoZWNraW5nIG9uIGhlYWRlciBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwODcKCjIwMTEtMDktMTQgMTk6NTY6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBjbGVhbnVwIGhlYWRlciBjcmVhdGlvbgoJICBBdm9pZCBhbiBleHRyYSBjb3B5IHZpYSBhIHRlbXBvcmFyeSBmaXhlZCBzaXplIHN0YWNrIGJ1ZmZlci4KCSAgVXNlIGxpYmNlbHQncyBoZWFkZXIgc2l6ZSB0byBhbGxvY2F0ZSBhIGJ1ZmZlciBvZiB0aGUgY29ycmVjdAoJICBzaXplIGluIHRoZSBmaXJzdCBwbGFjZSAobGliY2VsdCBoYXMgYW4gb2ZmIGJ5IDQgdGhlcmUsIHNvCgkgIGFjY291bnQgZm9yIHRoaXMpLgoJICBXaGlsZSB0aGVyZSwgbWFrZSBzaXplIHVuc2lnbmVkLCBhbmQgZ3JhbnBvcyBzaWduZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwODcKCjIwMTEtMDktMTQgMTk6MDk6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBkbyBub3QgdXNlIGludmFsaWQgYnVmZmVyIHRpbWVzdGFtcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA4NwoKMjAxMS0wOS0xNCAxNzoyNjowNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkgIGNlbHRkZWM6IGZpeCBlcnJvciBjaGVja2luZyB3aXRoIGxpYmNlbHQgMC4xMQoJICBUaGUgcmV0dXJuIHZhbHVlIG9mIGNlbHRfZGVjb2RlIGhhcyBjaGFuZ2VkLCBuZXdlciB2ZXJzaW9ucwoJICBub3cgcmV0dXJuIHBvc2l0aXZlIHZhbHVlcyBvbiBzdWNjZXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDg3CgoyMDExLTA5LTE0IDE3OjA3OjUwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0ZW5jOiBhbGxvdyBhY3R1YWxseSBvdmVycmlkaW5nIGZyYW1lIHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA4NwoKMjAxMS0wOS0xMyAxNjoyNDozMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogZmx1c2ggb24gc2VlaywgYW5kIGVuc3VyZSB3ZSBjYW5jZWwgYW55IHdhaXRpbmcgYnVmZmVyCgkgIFRoaXMgaXMgd2hhdCBwYW5nbyB0ZXh0b3ZlcmxheSBkb2VzLCBhbmQgSSd2ZSBoYWQgdGhhdCBjb25kaXRpb24KCSAgdmFyaWFibGUgZ2V0IHN0dWNrIG9uY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg5NDAKCjIwMTEtMDktMTIgMTE6MTc6MjAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZTogZG8gbm90IHRyeSB0byByZWFkIGZyb20gYSBub24gZXhpc3RlbnQgVlVJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg4MDAKCjIwMTEtMDktMTYgMDA6MzI6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgMiBtb3JlIGxvZyBtZXNzYWdlcwoKMjAxMS0wOS0xNCAxNToyMDowOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHJlcGxhY2UgZGVwcmVjYXRlZCBnX2F0b21pY19pbnRfZXhjaGFuZ2VfYW5kX2FkZAoJICBJdCB3YXMgcmVwbGFjZWQgYnkgZ19hdG9taWNfaW50X2FkZCwgd2hpY2ggbm93IHJldHVybnMgdGhlCgkgIG9sZCB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA2MQoKMjAxMS0wOS0xNSAxNzozNTo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFJlc2V0IGxhc3Qgc3RhdGUgY2hhbmdlIHJlc3VsdCBvbiBzdGF0ZS1sb2NrZWQgZWxlbWVudHMKCSAgQW4gZWxlbWVudCBzdG9yZXMgdGhlIHJlc3VsdCBmb3IgdGhlIGxhc3Qgc3RhdGUgY2hhbmdlIGl0IGRpZCBhbmQKCSAgR3N0QmluJ3Mgc3RhdGUgY2hhbmdlIGhhbmRsZXIgd2lsbCB1c2UgdGhpcyBsYXN0IHJlc3VsdCBmb3Igc3RhdGUKCSAgbG9ja2VkIGVsZW1lbnRzIHRvIGRlY2lkZSBpZiBpdHMgc3RhdGUgY2hhbmdlIHdhcyBzdWNjZXNzZnVsbCBvciBub3QuCgkgIEluIGNhbWVyYWJpbjIsIHRoZSBmaWxlc2lua3MgaGF2ZSB0aGVpciBzdGF0ZSBsb2NrZWQgYW5kIHdoZW4gdGhleQoJICBmYWlsIHN3aXRjaGluZyBzdGF0ZXMsIHRoaXMgbGFzdCBmYWlsdXJlIHdpbGwgYmUgdXNlZCBpZiB0aGUgYXBwbGljYXRpb24KCSAgdHJpZXMgdG8gY2hhbmdlIGNhbWVyYWJpbjIncyBzdGF0ZSwgY2F1c2luZyBhbnkgc3RhdGUgY2hhbmdlIHRvIGZhaWwuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgY2FtZXJhYmluMiByZXNldCB0aGlzIGxhc3QgY2hhbmdlIGZhaWx1cmUsIGF2b2lkaW5nCgkgIHRoYXQgY2FtZXJhYmluMiBmYWlscyBvbiBpdHMgbmV4dCBzdGF0ZSBjaGFuZ2VzLgoKMjAxMS0wOS0xNSAxODoxNzoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSAgc3BhbnBsYzogRml4IHR5cG9zCgoyMDExLTA5LTEzIDIwOjQwOjM1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBIYW5kbGUgcHJvcGVybHkgZnJhbWUgZGV0ZWN0aW9uCgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB3ZSBoYXZlIGJ1ZmZlcnMgY29udGFpbmluZyBubyBzdGFydGNvZGUKCSAgaW4gdGhlIG1pZGRsZSBvZiBhIGZyYW1lIHByb3Blcmx5LgoKMjAxMS0wOS0xMyAyMDozODoyNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW86IERlYnVnZ2luZyBzeW1ib2xzIGVuaGFuY2VtZW50cwoKMjAxMS0wOS0xMiAxMzo1NDozNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW86IEFkZCB0aGUgQ2hyb21hVHlwZSBlbnVtCgoyMDExLTA5LTEyIDEzOjQxOjQxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlbzogQ2hhbmdlIGJyb2tlbl9nb3AgdG8gYnJva2VuX2xpbmsKCSAgVGhpcyB3YXkgd2UgcmVzcGVjdCB0aGUgc3RhbmRhcmQgbmFtaW5nCgoyMDExLTA5LTE0IDE2OjE0OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogc2VuZCBhIHZpZGVvLWNvZGVjIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY5MzA1CgoyMDExLTA5LTEyIDE2OjUwOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQ2hlY2sgem9vbSBub3RpZnkgY2FsbGJhY2sgZnJvbSBjYW1lcmEtc291cmNlCgkgIENhbWVyYWJpbjIgaGFzIGEgem9vbSBwcm9wZXJ0eSB0aGF0IGlzIHNpbXBseSBwcm94aWVkIHRvIGl0cwoJICBpbnRlcm5hbCBjYW1lcmEtc291cmNlIGVsZW1lbnQuIFRoaXMgcGF0Y2ggbWFrZXMgY2FtZXJhYmluMiBsaXN0ZW4KCSAgdG8gJ25vdGlmeScgc2lnbmFscyBmcm9tIGl0IHNvIGl0IGNhbiB1cGRhdGUgaXRzIHpvb20gcHJvcGVydHkgdmFsdWUKCSAgd2hlbiBjYW1lcmEtc291cmNlIGNoYW5nZXMgaXRzIHpvb20gYXMgYSBzaWRlLWVmZmVjdCBvZiBhbm90aGVyIG9wZXJhdGlvbgoJICBvciBiZWNhdXNlIHRoZSB1c2VyIHNldCB0aGUgem9vbSBkaXJlY3RseSB0byBpdCwgaW5zdGVhZCBvZiBkb2luZwoJICBpdCBmcm9tIGNhbWVyYWJpbjIuCgoyMDExLTA4LTI5IDA4OjAwOjIyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBkb24ndCBibG9jayB0aGUgbWFpbiB0aHJlYWQgd2l0aCBSVE1QX0Nvbm5lY3QKCSAgTW92ZSB0aGUgUlRNUF9Db25uZWN0IGNhbGwgZnJvbSB0aGUgbWFpbiB0aHJlYWQgKDo6c3RhcnQpIHRvIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkICg6OnJlbmRlcikuCgoyMDExLTA5LTEyIDEwOjMzOjA2ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wOS0xMiAxMDoyMzoxOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDktMDkgMTQ6MjI6MzkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogTWFrZSB1c2Ugb2YgdGhlIGgyNjRfbmFsX3BhcnNlcl9mcmVlIGZ1bmN0aW9uCgoyMDExLTA5LTA5IDE0OjE1OjIxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9oMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogSW1wbGVtZW50IHRoZSBuYWxfcGFyc2VyX2ZyZWUgZnVuY3Rpb24KCjIwMTEtMDktMDYgMjE6Mjk6MjggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2gyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBVc2UgZ19zbGljZSBpbnN0ZWFkIG9mIGdfbWFsbG9jIGluIG5hbF9wYXJzZXJfbmV3CgoyMDExLTA5LTA2IDIxOjI4OjQ1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBVcGRhdGUgdGhlIGRvY3VtZW50YXRpb24KCSAgRml4IGEgZmV3IGVycm9yLgoJICBEb2N1bWVudCBtaXNzaW5nIHBhcnRzLgoJICBBZGQgbGlua3MgdG8gdGhlIHNwZWNpZmljYXRpb25zCgoyMDExLTA5LTA5IDEyOjI3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IG1lcmdlIG1pc3Rha2UgZnJvbSBsYXN0IGNvbW1pdAoKMjAxMS0wOS0wOCAyMzo1NjozMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBSZXBvcnQgdGhlIGNvcnJlY3QgdGltZXN0YW1wIGZvciBsaXZlIHN0cmVhbXMKCSAgQnVmZmVycyB3b3VsZCBhbHdheXMgc3RhcnQgd2l0aCB0aW1lc3RhbXAgMCBhbmQgd2UnZCBzdGFydCBzdHJlYW1pbmcKCSAgZnJvbSB0aGUgZmlyc3QgYnVmZmVyLCBidXQgbGl2ZSBzdHJlYW1zIGFsd2F5cyBzdGFydCBzdHJlYW1pbmcgZnJvbQoJICB0aGUgbGFzdCBmcmFnbWVudCAtIDMgZnJhZ21lbnRzIGluIHRoZSBwbGF5bGlzdCwgd2hpY2ggbWFrZXMgaXRzCgkgIHRpbWVzdGFtcCwgYXMgcmV0dXJuZWQgYnkgZ2V0X25leHRfZnJhZ21lbnQsIGJlIHdoYXRldmVyIHBvc2l0aW9uCgkgIHRoZXkgaGFkIGluIHRoZSBwbGF5bGlzdC4gVGhpcyBtYWtlcyBzdXJlIHRoZSBwb3NpdGlvbiBjb3JyZWN0bHkKCSAgcmVwb3J0cyB0aGUgcG9zaXRpb24gb2YgdGhlIGJ1ZmZlciBpbiB0aGUgcGxheWxpc3QsIGFuZCBhZGRlZCBhIHNoaWZ0aW5nCgkgIHZhcmlhYmxlIHRvIGFsbG93IHNlZWtpbmcgaW4gdGhlIG1pZGRsZSBvZiBmcmFnbWVudHMuCgoyMDExLTA5LTA4IDIyOjEzOjE5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBobHNkZW11eC90c2RlbXV4OiBBZGQgSFAgY29weXJpZ2h0IG9uIHdvcmsgZG9uZSBvbiBITFMKCjIwMTEtMDktMDggMjA6Mjk6NDIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzZXQgcGxheWxpc3QgdG8gTlVMTCBhZnRlciB1bnJlZmZpbmcgaXQgdG8gYXZvaWQgYSBkb3VibGUtdW5yZWYgaW4gdGhlIGRpc3Bvc2UKCjIwMTEtMDktMDggMTg6MjU6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3QgbG9jayB0aGUgbXV0ZXggb2YgdGhlIGZldGNoZXIgZHVyaW5nIEVPUwoJICBUaGUgZmV0Y2hfbG9jYXRpb24gbWlnaHQgY2FsbCBzdG9wX2ZldGNoZXIgd2hpY2ggY291bGQgZ2VuZXJhdGUgYW4gRU9TCgkgIGFuZCBjYXVzZSBhIGRlYWRsb2NrCgoyMDExLTA5LTA2IDIyOjExOjA2IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGFuZHNwL01ha2VmaWxlLmFtOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFuZHNwLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5oOgoJICBzcGFuZHNwOiBBZGRpbmcgc3BhbmRzcCBwbHVnaW4gd2l0aCBzcGFucGxjIGVsZW1lbnQgZm9yIHBhY2tldCBsb3NzIGNvbmNlYWxtZW50CgoyMDExLTA5LTA3IDIwOjA5OjEyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IGpvaW4gdGhlIHRhc2sgZnJvbSB0aGUgdGFzaydzIHRocmVhZCBpdHNlbGYuIGpvaW4gaXQgb25seSBpbiB0aGUgc3RhdGUgY2hhbmdlCgoyMDExLTA5LTA3IDE1OjQ4OjMzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGNsZWFudXAgbWFrZWZpbGVzCgkgIFJlbW92ZSBjb21tZW50ZWQgb3V0IHBhcnRzIHRoYXQgd2UgZG9uJ3QgbmVlZC4gUmVtb3ZlICJ0aGUgd2luZ28gYWRkaXRpb24iIC0gbm8KCSAgc28gdXNlZnVsIGFmdGVyIGFsbC4gTmFycm93IGRvd24gZmlsZS1nbG9icyBmb3IgcGx1Z2luIGRvY3MuCgoyMDExLTA5LTA3IDE1OjQyOjM3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogZml4IGNhbWVyYWJpbjIgbmFtZXMgaW4gc2VjdGlvbnMudHh0CgoyMDExLTA5LTA3IDE1OjM3OjUzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmg6CgkgIGthdGVwYXJzZTogZml4IGNyYXAgaW4gb2JqZWN0IG1hY3JvcwoKMjAxMS0wOS0wNyAxMjozMjo0OCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBtYWtlIHRoaXMgYnVpbGQgd2l0aCBvbGRlciBnbGliCgkgIGdfbGlzdF9mcmVlX2Z1bGwgaXMgYSBuZXcgY29udmVuaWVuY2UgZnVuY3Rpb24uCgkgIFJlcGxhY2UgaXQgd2l0aCBnX2xpc3RfZm9yZWFjaCBhbmQgZ19saXN0X2ZyZWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0NTAKCjIwMTEtMDktMDcgMTM6NDY6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogTWFrZSB0aGUgaDI2MyBhbmQgKG5ldykgbXBlZyB2aWRlbyBwYXJzZXIgYXV0b3BsdWdnYWJsZQoKMjAxMS0wOS0wNSAyMDowMjo1NyArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggSURSIHBvc2l0aW9uIG1hcmtpbmcgd2hlbiB0aGUgSURSIGlzIHNwbGl0IGludG8gc2V2ZXJhbCBOQUxzCgoyMDExLTA5LTA3IDExOjI3OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogQWRkIGFsbCBhbHdheXMgcHJlc2VudCBmaWVsZHMgdG8gdGhlIHNyYyB0ZW1wbGF0ZSBjYXBzCgoyMDExLTA5LTA3IDExOjI0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiBBZGQgYWxsIGZpZWxkcyB0byB0aGUgc3JjIHRlbXBsYXRlIGNhcHMKCjIwMTEtMDktMDcgMTE6MjI6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBBbGxvdyBwYXJzZWQgc3RyZWFtcyB0byBiZSBwYXNzZWQgdGhyb3VnaCB0aGUgcGFyc2VycwoKMjAxMS0wOS0wNyAxMToxNzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFB1dCBzdHJlYW0tZm9ybWF0IGFuZCBhbGlnbm1lbnQgaW50byB0aGUgc3JjIHRlbXBsYXRlIGNhcHMKCSAgQWxzbyByZW1vdmUgdGhlIHBhcnNlZCBmaWVsZCBmcm9tIHRoZSBzaW5rIHRlbXBsYXRlIGNhcHMuCgoyMDExLTA5LTA3IDExOjE0OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGgyNjRwYXJzZTogQ2hhbmdlIHJhbmsgdG8gUFJJTUFSWSsxIHRvIGhhdmUgaDI2NHBhcnNlIGF1dG9wbHVnZ2VkCgoyMDExLTA5LTA3IDExOjA2OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZGlyYWNfcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogQ29uc3RpZnkgc29tZSBhcnJheXMKCjIwMTEtMDktMDYgMTA6NDk6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW4yOiBwcmV2aWV3OiBObyBuZWVkIGZvciBhcHBzaW5rIHRvIHN0b3JlIHRoZSBsYXN0IGJ1ZmZlcgoJICBUaGVyZSBpcyBubyBuZWVkIGZvciBwcmV2aWV3J3MgYXBwc2luayB0byBrZWVwIGEgcmVmZXJlbmNlIHRvIHRoZSBsYXN0IGJ1ZmZlciwKCSAgc28gZGlzYWJsZSB0aGUgcHJvcGVydHkgdG8gbWFrZSBpdCB1bnJlZiB0aGUgYnVmZmVycyBzb29uZXIuCgoyMDExLTA5LTA2IDIyOjQ4OjMwICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBmb3IgbGF0ZXN0IG5ldyBwbHVnaW5zIGFuZCBtb3ZlZCBwbHVnaW5zCgoyMDExLTA5LTA2IDIxOjI1OjAwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhMzllYjgzIHRvIDExZjBjZDUKCjIwMTEtMDktMDYgMTY6MTM6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA5LTA2IDE1OjQwOjQ2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2MDVjZDlhIHRvIGEzOWViODMKCjIwMTEtMDktMDYgMTM6MjA6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBBZGQgQ29udmVydGVyIHRvIGNsYXNzaWZpY2F0aW9uCgkgIFRoaXMgcGFyc2VyIGNhbiBjb252ZXJ0IGJldHdlZW4gZGlmZmVyZW50IGFsaWdubWVudHMgYW5kIHN0cmVhbS1mb3JtYXRzLgoKMjAxMS0wOS0wNSAxNDozOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjI6IHByZXZpZXc6IEFwcHNpbmsgZG9lc24ndCBuZWVkIHRvIHN5bmMKCSAgU2V0IHN5bmMgdG8gZmFsc2Ugb24gcHJldmlldydzIHBpcGVsaW5lIGFwcHNpbmsKCjIwMTEtMDktMDUgMDk6NTU6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW4yOiBwcmV2aWV3OiBSZW1vdmUgb25lIG9mIHRoZSB0d28gY29sb3JzcGFjZSBjb252ZXJ0ZXJzCgkgIFRoZSBwcmV2aWV3IHBpcGVsaW5lIGRvZXNuJ3QgbmVlZCAyIGNvbG9yc3BhY2UgY29udmVydGVycywgcmVtb3ZlCgkgIG9uZSB0byBzcGVlZCB1cCBjYXBzIG5lZ290aWF0aW9uIGFuZCByZWR1Y2UgdGhlIGRlbGF5IG9uIGdldHRpbmcKCSAgdGhlIGZpcnN0IHByZXZpZXcgYnVmZmVyIG91dCBvZiB0aGUgcHJldmlldyBwaXBlbGluZS4KCSAgSXQgc2hvdWxkbid0IGNhdXNlIHByb2JsZW1zIGFzIHZpZGVvc2NhbGUgYW5kIGZmbXBlZ2NvbG9yc3BhY2Ugc2VlbXMKCSAgdG8gaGFuZGxlIHRoZSBzYW1lIGNhcHMsIHNvIG5vIGNvbnZlcnNpb24gc2hvdWxkIGJlIG5lZWRlZCBmb3IKCSAgdmlkZW9zY2FsZS4gQWRkaXRpb25hbGx5LCBjYW1lcmFiaW4xIGhhcyBiZWVuIHdvcmtpbmcgd2l0aCBhIHNpbWlsYXIKCSAgcGlwZWxpbmUgd2l0aCBhIHNpbmdsZSBmZm1wZWdjb2xvcnNwYWNlIGFuZCBubyBidWdzIGhhdmUgYmVlbiBvcGVuIGFib3V0IGl0CgkgIHNvIGZhci4KCjIwMTEtMDktMDEgMjA6MDE6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW4yOiBwcmV2aWV3OiBEaXNhYmxlIGFwcHNyYyBzaWduYWxzIGVtaXNzaW9uCgkgIENhbWVyYWJpbjIgZG9lc24ndCBjaGVjayBhcHBzcmMncyBzaWduYWxzLCBzbyBkaXNhYmxlIHRoZW0KCjIwMTEtMDgtMjYgMTA6NTA6MzggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jOiBkbyBub3QgdHJ5IHRvIGNhbGN1bGF0ZSBsYXRlbmN5IGZyb20gYW4gdW5rbm93biBmcmFtZXJhdGUKCSAgSXQnbGwgZGl2aWRlIGJ5IHplcm8sIGFuZCBsYXRlbmN5IGlzIHVua25vd24gZm9yIGFuIHVua25vd24gZnJhbWVyYXRlLgoJICBGaXhlcyBhbiBhc3NlcnQgaW4gdGhlIHNjaHJvZW5jIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc0MTkKCjIwMTEtMDktMDMgMDA6MzY6MzQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJZiBhIGZldGNoIGZhaWxzLCBkZWNyZW1lbnQgdGhlIHNlcXVlbmNlIG51bWJlcgoKMjAxMS0wOS0wMiAyMzo0OTozOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IG1ha2UgaGxzZGVtdXggbG9jay91bmxvY2sgdGhlIG0zdTggY2xpZW50IHdoZW4gaXQgYWNjZXNzZXMgaXQKCjIwMTEtMDktMDIgMjM6NDg6MjIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBBZGQgYSBnZXRfdGFyZ2V0X2R1cmF0aW9uIGFuZCBnZXRfY3VycmVudF91cmkgYXBpIHRvIG0zdThfY2xpZW50CgoyMDExLTA5LTAyIDIzOjQ4OjAzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogTWFrZSB0aGUgbTN1OCBjbGllbnQgdGhyZWFkLXNhZmUKCjIwMTEtMDktMDIgMTk6NDQ6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUmVzZXQgaW4gUEFVU0VELT5SRUFEWSBhZnRlciBjaGFpbmluZyB1cCB0byB0aGUgcGFyZW50IGNsYXNzCgkgIE90aGVyd2lzZSB0aGVyZSBhcmUgcG9zc2libGUgcmFjZSBjb25kaXRpb25zIHdpdGggdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDExLTA5LTAyIDE2OjA4OjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBkb2NzOiBtaW5vciBmaXhlcwoKMjAxMS0wOC0zMSAxMDoxMjo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvcGxheS8uZ2l0aWdub3JlOgoJKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkudmNwcm9qOgoJICBnc3QtbGliczogUmVtb3ZlIHBsYXkgZGlyZWN0b3J5LiBXYXMgdW5wb3J0ZWQgc2luY2UgMC44CgoyMDExLTA4LTMxIDEwOjEwOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogQWRkIG1vcmUgc2VjdGlvbnMgdG8gdGhlIGdzdC1saWJzIEFQSSBkb2NzCgoyMDExLTA4LTI5IDEzOjUyOjE3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggUFBTIHBhcnNlcgoJICBGaXggdHJhbnNmb3JtXzh4OF9tb2RlX2ZsYWcgYW5kIHNlY29uZF9jaHJvbWFfcXBfaW5kZXhfb2Zmc2V0CgoyMDExLTA4LTI5IDEzOjUyOjE2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggTkFMIHJlYWRlciBpbml0aWFsaXphdGlvbi4KCjIwMTEtMDgtMjYgMTU6NTQ6NTEgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGhhbmRsZSBlbmQtb2Ytc2VxIGFuZCBlbmQtb2Ytc3RyZWFtIE5BTCBncmFjZWZ1bGx5LgoKMjAxMS0wOC0yNiAxNjowNTo1OCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHJlZl9waWNfbGlzdF9yZW9yZGVyaW5nKCkuCgoyMDExLTA4LTE2IDE2OjE5OjAyICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHByZWRfd2VpZ2h0X3RhYmxlKCkgcGFyc2luZy4KCSAgVXNlIDE2LWJpdCBzaWduZWQgaW50ZWdlciB2YWx1ZXMgZm9yIHdlaWdodCB2YWx1ZXMgYmVjYXVzZSB2YWxpZAoJICByYW5nZXMgYXJlIC0xMjggdG8gKzEyOCBpbmNsdXNpdmUuCgoyMDExLTA4LTE2IDE1OjIxOjE4ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiByZWNvcmQgc2xpY2VfaGVhZGVyKCkgc2l6ZSBpbiBiaXRzLgoKMjAxMS0wOC0xNiAxNToxNDowMyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBzbGljZV9oZWFkZXIoKSBwYXJzaW5nLgoJICBXZSB3ZXJlIG5vdCBwYXJzaW5nIHRoZSBzbGljZSBoZWFkZXJzIHVudGlsIHRoZSBhY3R1YWwgZW5kLCB3ZSBhcmUgbm93CgkgIHBhcnNpbmcgdW50aWwgdGhlIGVuZC4KCjIwMTEtMDgtMTIgMTM6MTk6MjkgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBmaWxsZXItZGF0YSBOQUwgdW5pdCB0eXBlIG5hbWUuCgoyMDExLTA4LTEyIDEwOjE3OjQ3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1jb2RlY3BhcnNlcnMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItY29kZWNwYXJzZXJzLnBjLmluOgoJICBjb2RlY3BhcnNlcnM6IGFkZCBwa2djb25maWcgZmlsZS4KCSAgQWRkcyBhIG5ldyBwa2djb25maWcgZmlsZSBmb3IgY29kZWNwYXJzZXJzLiBUaGV5IGRvbid0IGhhdmUKCSAgYW55IHNwZWNpZmljIGRlcGVuZGVuY3kgb24gZ3N0LXBsdWdpbnMtYmFkIGFuZCB0aGV5IGNvdWxkIHF1aXRlIGJlCgkgIGluZGVwZW5kZW50IGJpdHN0cmVhbSBwYXJzZXJzLgoKMjAxMS0wOC0wNSAxMToyMTowNSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnOiBhZGQgdXNlci1kYXRhIHBhY2tldCBzdGFydCBjb2RlIGRlZmluaXRpb24uCgoyMDExLTA4LTAzIDE3OjMxOjU1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc6IGZpeCBQaWN0dXJlX0NvZGluZ19FeHRlbnNpb24gcGFyc2VyLgoKMjAxMS0wOC0wMiAxMjozNzowMiArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBQb3J0IHRvIHRoZSBuZXcgaC4yNjQgcGFyc2luZyBsaWJyYXJ5CgoyMDExLTA3LTI5IDEwOjU2OjE1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvaDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IEFkZCBhbiBoLjI2NCBiaXRzdHJlYW0gcGFyc2luZyBsaWJyYXJ5CgoyMDExLTA2LTIzIDEyOjU0OjQzIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWd2aWRlb3BhcnNlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBQb3J0IHRvIHRoZSBuZXcgbXBlZyBwYXJzaW5nIGxpYnJhcnkKCjIwMTEtMDctMTkgMTM6NTI6MDEgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnOiBBZGQgYW4gbXBlZyB2aWRlbyBiaXRzdHJlYW0gcGFyc2luZyBsaWJyYXJ5CgkgIENyZWF0ZSBhIG5ldyBjb2RlY3BhcnNlcnMgbGlicmFyeQoKMjAxMS0wOC0zMCAxNDo1MDo0MSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9jb21waWxpbmcuc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLW92ZXJyaWRlcy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSAgZG9jczogQnVpbGQgZG9jdW1lbnRhdGlvbnMgZm9yIGxpYnJhcmllcwoKMjAxMS0wOS0wMiAxNTowMDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFJlbW92ZSBvYnNvbGV0ZSBGSVhNRSBjb21tZW50CgoyMDExLTA5LTAyIDE0OjU1OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFJlc2V0IHRoZSBpbnRlcm5hbCBzdGF0ZSBnb2luZyB0by9mcm9tIFJFQURZIGluc3RlYWQgb2YgTlVMTAoJICBUaGlzIHRoZW9yZXRpY2FsbHkgYWxsb3dzIHJldXNlIG9mIHRoZSBlbGVtZW50IHdoZW4gc2V0dGluZyBpdCB0byBSRUFEWQoJICBpbnN0ZWFkIG9mIE5VTEwuCgoyMDExLTA5LTAyIDE0OjU0OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNldCBwbGF5bGlzdCBwYXJzaW5nIGhlbHBlciBvYmplY3QgdG8gTlVMTCBhZnRlciBmcmVlaW5nCgoyMDExLTA5LTAxIDIzOjE4OjUxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWxsb3cgdXAgdG8gMyBjb25zZWN1dGl2ZSBmYWlsZWQgZG93bmxvYWRzIGJlZm9yZSBlcnJvcmluZwoJICBJbiBzb21lIG5ldHdvcmtzLCBlc3BlY2lhbGwgaW4gM0csIGEgZnJhZ21lbnQgZG93bmxvYWQgb3IgcGxheWxpc3QKCSAgdXBkYXRlIG1heSBmYWlsLiBXZSBhbGxvdyBmb3IgdXAgdG8gMyBjb25zZWN1dGl2ZSBmYWlsdXJlcywgd2hpbGUgdXNpbmcKCSAgdGhlIHJmYydzIHNwZWNzIGZvciByZXRyeSBkZWxheXMgYmVmb3JlIGNvbnNpZGVyaW5nIHRoYXQgdGhlcmUgd2FzIGFuCgkgIGVycm9yIG9uIHRoZSBzdHJlYW0uCgoyMDExLTA5LTAxIDIyOjQ2OjE5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVtb3ZlIHVudXNlZCBhcmd1bWVudAoKMjAxMS0wOC0yMSAyMDoxNToyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGZpeCBkcm9wLWZyYW1lIHByb3BlcnR5CgkgIEZpeGVzICM2NTY5MjkuCgoyMDExLTA5LTAxIDE1OjU3OjUwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIGEgZmxhZyB0byBkaXNhYmxlIGltYWdlIGNvbnZlcnNpb24gZWxlbWVudHMKCSAgSWYgd2Uga25vdyB0aGF0IG91ciBjYW1lcmEgc291cmNlIGVsZW1lbnQgcHJvZHVjZXMgYnVmZmVycyBhdCB0aGUgc2FtZQoJICByZXNvbHV0aW9uIGFuZCBhcHByb3ByaWF0ZSBjb2xvdXJzcGFjZSBmb3IgdGhlIG91dHB1dCwgd2UgZG9uJ3QgbmVlZCBhbnkKCSAgb2YgdGhlIGdlbmVyaWMgY29udmVyc2lvbiBlbGVtZW50cyBpbiBlbmNvZGViaW4uIFRoaXMgcmVkdWNlcyBjYXBzCgkgIG5lZ290aWF0aW9uIG92ZXJoZWFkcyBhbW9uZyBvdGhlciB0aGluZ3MuCgoyMDExLTA4LTMxIDIzOjA2OjUzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXM6IGZpeCB3YXJuaW5ncyByZWxhdGVkIHRvIHRoZSBmb3JtYXQgb24gdGhlIGRlYnVnIGxpbmVzLgoKMjAxMS0wOC0zMSAxMzoyOToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE1pY3JvIG9wdGltaXplIGVuY29kZWJpbiBwYWRzIGxpbmtpbmcKCSAgUmVkdWNlIG9uZSBjaGVjayBpbiBlbmNvZGViaW4gcGFkcyBsaW5raW5nIG9uIGNhbWVyYWJpbjIgYnkKCSAgdXNpbmcgdGhlIGxpbmtfcGFkc19mdWxsIHZlcnNpb24KCjIwMTEtMDgtMzEgMTM6Mjg6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiBPcHRpbWl6ZSBwcmV2aWV3IHBpcGVsaW5lIHN0YXJ0dXAKCSAgVXNlIGdzdF9lbGVtZW50X2xpbmtfcGFkc19mdWxsIHRvIG9wdGltaXplIHByZXZpZXcgcGlwZWxpbmUgc3RhcnR1cCwKCSAgbGVhZGluZyB0byBhIGZhc3RlciBjYW1lcmFiaW4yIHN0YXJ0dXAgYXMgd2VsbC4KCjIwMTEtMDgtMzEgMTU6MzM6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBVc2UgZXhwbGljaXQgYm9vbGVhbiBsaXRlcmFscyB0byBtYWtlIGdvYmplY3QgaGFwcHkKCSAgZ29iamVjdCBib29sZWFuIHByb3BlcnRpZXMgYXJlIHN0cmljdCBhbmQgb25seSBhY2NlcHQgMSBvciAwLCBvdGhlcndpc2UKCSAgdGhleSB0aHJvdyBhbiBhc3NlcnRpb24uCgoyMDExLTA4LTMxIDE0OjQ4OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEp1c3Qgam9pbiB0aGUgdGFzawoJICBnc3RfdGFza19qb2luKCkgd2lsbCBhbHJlYWR5IHN0b3AgdGhlIHRhc2ssIG5vIG5lZWQKCSAgdG8gc3RvcCBpdCBhZGRpdGlvbmFsbHkuCgoyMDExLTA4LTMxIDE0OjQ3OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEpvaW4gdGhlIHRhc2sgaW5zdGVhZCBvZiBqdXN0IHN0b3BwaW5nIGl0IGFuZCBub3Qgd2FpdGluZyBmb3IgaXQgdG8gZmluaXNoCgkgIEZpeGVzIGludGVyZXN0aW5nIHJhY2UgY29uZGl0aW9ucyB0aGF0IGNhdXNlIGNyYXNoZXMgaW4gZGVjb2RlYmluMgoJICBiZWNhdXNlIHBhZHMgYXJlIGFkZGVkL3JlbW92ZWQgZnJvbSBjaGlsZCBlbGVtZW50cyBhbHRob3VnaCB0aGV5CgkgIHNob3VsZCBiZSBpbiBSRUFEWSBzdGF0ZSBhbHJlYWR5LgoKMjAxMS0wOC0zMSAxMjoxMjo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDExLTA4LTMxIDAzOjQ3OjUyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3dpdGNoIHRvIGhpZ2hlci9sb3dlciBiaXRyYXRlIGJ5IG1vcmUgdGhhbiBvbmUgc3RlcCBhdCBhIHRpbWUKCjIwMTEtMDgtMzEgMDM6MjA6NDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZW1vdmUgc3BhbW1pbmcgR1NUX0xPR19PQkpFQ1QKCjIwMTEtMDgtMzEgMDM6MDc6NDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJZiBwYXVzZWQsIGRvIG5vdCBjYWNoZSBmcmFnbWVudHMgdW50aWwgb3V0IG9mIG1lbW9yeSBlcnJvciEKCSAgV2Ugc2hvdWxkIHN0b3AgdGhlIHVwZGF0ZSB0aHJlYWQgaW4gUEFVU0VEIHN0YXRlIGFuZCBhdm9pZCBmZXRjaGluZwoJICBuZXcgZnJhZ21lbnRzIHdoZW4gdGhlIHF1ZXVlIGlzIG5vdCBlbXB0eS4gVGhlIHF1ZXVlIHNob3VsZCBhbHdheXMgYmUKCSAgZW1wdHkgc2luY2Ugd2UgcHVzaCBkYXRhIGludG8gYSBxdWV1ZS4gQWxzbywgaW4gdG90ZW0sIGlmIHdlIHNlZWsgYW5kCgkgIHBhdXNlIHRoZSBzdHJlYW0gd2hpbGUgaXQncyBidWZmZXJpbmcsIHRoZW4gdGhlIHN0YXRlIHdpbGwgc3RheSBwbGF5aW5nCgkgIGZvciBzb21lIHJlYXNvbiwgc28gaXQncyBiZXN0IG5vdCB0byBjb250aW51ZSBmZXRjaGluZyBmcmFnbWVudHMgZm9yZXZlci4KCjIwMTEtMDgtMzEgMDM6MDE6NTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzdGFydC9zdG9wIHVwZGF0ZSB0aHJlYWQgYW5kIGtlZXAgdHJhY2sgb2Ygc3RhdHVzCgoyMDExLTA4LTMxIDAyOjA1OjA4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUG9zdCBkdXJhdGlvbiBtZXNzYWdlIHdoZW4gd2UgcGFyc2UgdGhlIHBsYXlsaXN0CgoyMDExLTA4LTMxIDAxOjA4OjM5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU2VuZCBhIGZsdXNoLXN0b3Agd2hlbiBzd2l0Y2hpbmcgcGFkcy4gRml4ZXMgQS0+QS9WIHN5bmMgaXNzdWUuCgkgIFRoaXMgaXMgdG8gZW5zdXJlIHRoYXQgd2UgcmVzZXQgdGhlIGFjY3VtdWxhdGUgc2VnbWVudCBvbiB0aGUgc2lua3MKCSAgc28gaWYgd2Ugc3RhcnQgd2l0aCBhdWRpbyBvbmx5IHRoZW4gc3dpdGNoIHRvIGF1ZGlvK3ZpZGVvLCB0aGVuIGJvdGgKCSAgc2lua3Mgd2lsbCBoYXZlIHRoZSBzYW1lIHNlZ21lbnRzIGFuZCB3aWxsIGJlIHN5bmNocm9uaXplZC4KCjIwMTEtMDgtMjYgMjI6NDg6MDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzZWVtcyB0aGVyZSB3YXMgYSB0eXBvLCBmcmVlIHRoZSBhZGFwdGVyIGlmIGl0IGNvbnRhaW5zIGRhdGEsIG5vdCBpZiBhbHJlYWR5IGVtcHR5CgoyMDExLTA4LTI2IDIyOjQ3OjM1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogb3Vwcywgd2UgbmVlZCB0byBlbXB0eSB0aGUgcXVldWUgYWZ0ZXIgZnJlZWluZyBpdHMgY29udGVudAoKMjAxMS0wOC0yNiAyMjo0NDowOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE5lZWQgdG8gZmx1c2ggYWxsIHN0cmVhbXMgd2hlbiB3ZSByZWNlaXZlIGEgZmx1c2gtc3RhcnQKCjIwMTEtMDgtMjYgMjE6NDY6MDYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkbyBub3QgYnJvYWRjYXN0IHRoZSBmZXRjaGVyX2NvbmQgb24gYnVzIGVycm9yIGlmIHdlJ3JlIGNhbmNlbGxlZAoJICBJZiB3ZSBjYW5jZWwgdGhlIGZldGNoIGFuZCBjYWxsIHRoZSBzdG9wX2ZldGNoZXIsIHdoaWNoIGhvbGRzIHRoZSBsb2NrLAoJICB3aGVuIGl0IHNldHMgdGhlIGZldGNoZXIncyBzdGF0ZSB0byBOVUxMLCBpdCBtaWdodCBzZW5kIGFuIGVycm9yCgkgIG9uIHRoZSBidXMuIEluIHRoYXQgY2FzZSwgd2UgbXVzdCBpZ25vcmUgaXQsIG90aGVyd2lzZSBpdCB3aWxsIHRyeQoJICB0byB0YWtlIHRoZSBsb2NrIGFuZCB3aWxsIGJsb2NrIGZvcmV2ZXIuCgoyMDExLTA4LTI2IDE5OjI5OjA2ICswMDAwICBKb25hcyBMYXJzc29uIDxKb25hcy5MYXJzc29uQGhpcS5zZT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogU3BsaXQgcGxheXNsaXN0IG9uIFxyXG4gbm90IGp1c3QgXG4KCjIwMTEtMDgtMjYgMTk6MTA6NTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3Qgc3VjY2VlZCBhIGRvd25sb2FkIGlmIHRoZSBmZXRjaGVyIGhhZCBhbiBlcnJvcgoKMjAxMS0wOC0yNiAxOToxMDozOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFJlbmFtZSBmdW5jdGlvbnMgdGhhdCBuZWVkIHRvIGJlIGNhbGxlZCB3aXRoIGEgbG9ja2VkIG11dGV4CgoyMDExLTA4LTI2IDE5OjA5OjU0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogV2UgbXVzdCBzaWduYWwgdGhlIGZldGNoZXJfY29uZCB3aGlsZSBob2xkaW5nIGl0cyBsb2NrCgoyMDExLTA4LTI2IDE3OjU0OjUxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogV2UgZG8gbm90IG5lZWQgdG8gc2V0IHRoZSBjdXJyZW50IHBsYXlsaXN0IHRvIHRoZSBtYWluIG9uZQoJICBXaGVuIGNhY2hpbmcgZnJhZ21lbnRzLCBpZiB3ZSBzZXQgdGhlIGN1cnJlbnQgcGxheWxpc3QgdG8gbWFpbiwgdGhlbgoJICBpdCB3aWxsIGFsd2F5cyB0aGluayBpdCdzIGEgbGl2ZSBzdHJlYW0gKG5vIGVuZGxpc3QgaW4gaXQpIHNvIGl0IHdpbGwKCSAgZm9yY2UgdGhlIHJlZG93bmxvYWQgb2YgdGhlIG1haW4gcGxheWxpc3QgYWZ0ZXIgZXZlcnkgc2Vlaywgd2hpY2ggaXMKCSAgdW5uZWNlc3NhcnkuIEFsc28sIGl0IGNhdXNlcyBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIGEgc2VlayBtaWdoIGhhcHBlbgoJICBkdXJpbmcgdGhhdCByZWRvd25sb2FkLCBhbmQgd2UnbGwgdGhpbmsgd2UncmUgdHJ5aW5nIHRvIHNlZWsgYSBsaXZlIHBpcGVsaW5lLgoKMjAxMS0wOC0zMCAxNzo0MzoyMiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmhoOgoJICBzb3VuZHRvdWNoOiBIYW5kbGluZyBpbmNvbWluZyByYXRlIHdoZW4gcmVxdWVzdGVkLgoJICBBYnNvcmIgaW5ib3VuZCBzZWdtZW50cyB3aXRoIHJhdGUgIT0gMS4wIGFuZCBvdXRwdXQgYSBzZWdtZW50IHdpdGgKCSAgcmF0ZSB0YWtlbiBmcm9tIHRoZSBuZXcgb3V0cHV0LXJhdGUgcHJvcGVydHksIGFkanVzdGluZyB0aGUgc2VnbWVudAoJICBhcHBsaWVkX3JhdGUsIHN0cmVhbSBkdXJhdGlvbiBhbmQgdGltZXN0YW1wcyBhcyBuZWNlc3NhcnkgdG8KCSAgY29tcGVuc2F0ZQoKMjAxMS0wOC0xNSAxNzo1Nzo1MyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSAgZml4IHZhbGdyaW5kIHdhcm5pbmcgYWJvdXQgQ29uZGl0aW9uYWwganVtcCBvciBtb3ZlIGRlcGVuZHMgb24gdW5pbml0aWFsaXNlZCB2YWx1ZShzKQoKMjAxMS0wOC0xNyAwOTo0MjowNyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSAgTW92ZSBtX3BwcmV2RnJhbWUgZnJlZSBqdXN0IGJlZm9yZSB0aGUgY2xvbmUgb2YgdGhlIGxhdGVzdCBmcmFtZSBmb3IgcmVhZGFiaWxpdHkKCjIwMTEtMDgtMjYgMDk6NDM6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBNYWtlIHZpZXdmaW5kZXIncyBxdWV1ZSBhIHRocmVhZCBsaW1pdCBvbmx5CgkgIFJlZHVjZSB0aGUgdmlld2ZpbmRlciBxdWV1ZSBsaW1pdHMgdG8gb25seSBhbGxvdyBpdCB0byBzdG9yZQoJICBvbmUgYnVmZmVyLCBwcmV2ZW50aW5nIHRoZSBxdWV1ZSBmcm9tIGhvbGRpbmcgb2xkIGJ1ZmZlcnMgZm9yCgkgIHRvbyBsb25nLiBUaGlzIGFsc28gYXZvaWRzIHNob3dpbmcgc2xpZ2h0bHkgb3V0ZGF0ZWQgZnJhbWVzIG9uCgkgIHRoZSB2aWV3ZmluZGVyIHdoZW4gdGhlIHNvdXJjZSBoYXMgYWxyZWFkeSBwcm9kdWNlZCBuZXcgb25lcwoJICBhbmQgaW1wcm92ZXMgdGhlIGJ1ZmZlciByZWN5Y2xpbmcgcmF0ZSwgaW1wb3J0YW50IGZvciBzb3VyY2VzCgkgIHRoYXQgdXNlIGJ1ZmZlcnBvb2xzLgoKMjAxMS0wOC0yNSAxOTo1Njo1OCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBmaXggZWxlbWVudCBsZWFrCgkgIGFuZCB0aGlzIGNvbmNsdWRlcyBhbiBob3VyIG9mIHllbGxpbmcgYXQgdGhlIGJsb29keSB0ZXN0IGZhaWxpbmcsCgkgIG9ubHkgdG8gdHJhY2sgZG93biB0aGUgcHJvYmxlbSBub3QgYmVpbmcgaW4gdGhlIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTczNjgKCjIwMTEtMDgtMjYgMDA6NTI6NDYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2RlbXV4OiBJbiBwdXNoIG1vZGUsIGRvIG5vdCBzdGFydCBwdWxsIGxvb3AgaWYgdXBzdHJlYW0gc2VlayBmYWlscwoKMjAxMS0wOC0yNiAwMDo0Nzo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvIG5vdCBtYWtlIHRoZSB1cGRhdGVfdGhyZWFkIGpvaW5hYmxlCgoyMDExLTA4LTI2IDAwOjI2OjI5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRW5zdXJlIHRoZSB0YXNrIGlzIHBhdXNlZCBpbiBjYXNlIG9mIGNhY2hlIGVycm9yCgoyMDExLTA4LTI1IDIzOjM3OjQ3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3RvcCB0aGUgdGhyZWFkcyBpbiB0aGUgcHJvcGVyIG9yZGVyCgkgIGZpcnN0IHBhdXNlIHRoZSB0YXNrLCB0aGVuIHN0b3AgYWxsIGZldGNoZXJzLCB0aGVuIHN0b3AgdGhlIHVwZGF0ZSB0aHJlYWQKCSAgdGhlbiBwYXVzZSB0aGUgdGFzayBhZ2Fpbiwgc2luY2UgaXQgbWlnaHQgaGF2ZSBiZWVuIHJlc3RhcnRlZCBieQoJICBhbm90aGVyIHRocmVhZCBpbiB0aGUgbWVhbnRpbWUKCjIwMTEtMDgtMjUgMjM6Mzc6MjUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkbyBub3QgcG9zdCBhbiBlcnJvciBpZiB3ZSBzZWVrL2NhbmNlbCBkdXJpbmcgY2FjaGluZyBvZiBmcmFnbWVudHMKCjIwMTEtMDgtMjUgMjM6Mzc6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBpZiB3ZSdyZSBjYW5jZWxpbmcgYSBmZXRjaGVyLCB3ZSBtdXN0IHN0b3AgaXRzIHRocmVhZAoKMjAxMS0wOC0yNSAyMzozNjoyNyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGxvY2sgdGhlIHVwZGF0ZV90aHJlYWQgbXV0ZXggYmVmb3JlIHN0b3BwaW5nIGl0CgoyMDExLTA4LTI1IDIzOjM1OjU1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogbG9jayB0aGUgZmV0Y2hlciBtdXRleCBiZWZvcmUgc3RvcHBpbmcgaXQKCjIwMTEtMDgtMjUgMjM6MzM6MTAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkbyBub3QgYWxsb3cgdHdvIGZldGNoZXJzIHRvIHJ1biBzaW11bHRhbm91c2x5CgoyMDExLTA4LTIzIDIwOjQ5OjMzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU3RvcCB0aGUgc3RyZWFtaW5nIHRhc2sgb24gUEFVU0VEX1RPX1JFQURZIHN0YXRlIGNoYW5nZQoKMjAxMS0wOC0yNSAxOToyNDo1NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IG1ha2UgY2FtZXJhYmluMiB0ZXN0IGJ1aWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTczNjMKCjIwMTEtMDgtMjUgMTI6NDk6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYwoKMjAxMS0wNy0xMiAyMTo0ODozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBBZGQgbW9yZSBkZWJ1ZwoKMjAxMS0wNy0xMiAxOTowOTowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IE1heCBldmVudCB0eXBlIGlzIDE1CgoyMDExLTA0LTE0IDE1OjQ2OjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgZHRtZnNyYzogQWxpZ24gRFRNRiBzb3VuZCBidWZmZXJzIHdpdGggbGFzdC1zdG9wIGZyb20gZXZlbnQKCSAgQWxzbyBtYWtlIHN1cmUgdGhlIHRpbWVzdGFtcHMgbmV2ZXIgZ28gYmFja3dhcmRzCgoyMDExLTA3LTExIDIxOjMxOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBDb3JyZWN0bHkgcmVjb2duaXplIHRoZSBlbmQgb2YgYSBidWZmZXIKCjIwMTEtMDctMTEgMjA6NDc6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IE1ha2Ugc3VyZSBydHBkdG1mc3JjIHRpbWVzdGFtcHMgZG9uJ3Qgb3ZlcmxhcAoKMjAxMS0wNy0xMSAyMDo0NjoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogUHV0IHRoZSBpbnRlciBkaWdpdCBpbnRlcnZhbCBhdCB0aGUgZW5kLCBub3QgYXQgdGhlIHN0YXJ0CgkgIFRoZSByZWFzb24gaXMgdG8gbGV0IHJ0cGR0bWZtdXggZHJvcCBidWZmZXJzIGR1cmluZyB0aGUgaW50ZXIgZGlnaXQgaW50ZXJ2YWwsCgkgIHRoaXMgd2F5LCB0aGVyZSB3aWxsIGJlIG1vcmUgc2lsZW5jZSBhcm91bmQgdGhlIERUTUYgdG9uZXMgc28gSVZGcyB3aWxsIGhhdmUKCSAgYSBiZXR0ZXIgY2hhbmNlIHJlY29nbml6aW5nIHRoZW0uCgoyMDExLTA0LTE0IDE3OjA4OjU3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgcnRwZHRtZnNyYzogU3RhcnQgYXQgdGhlIGxhc3Rfc3RvcCBmcm9tIHRoZSBzdGFydCBldmVudCBpZiB0aGVyZSB3YXMgb25lCgkgIFRoZSBnb2FsIGlzIHRvIHRyeSB0byBub3QgaGF2ZSBhIEdBUCBiZXR3ZWVuIHRoZSBhdWRpbyBhbmQgdGhlIERUTUYKCjIwMTEtMDQtMTQgMTQ6MzQ6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBkdG1mbXV4OiBBZGQgbGFzdC1zdG9wIHRvIGR0bWYtZXZlbnQgdXBzdHJlYW0gZXZlbnRzCgkgIEFkZCB0aGUgcnVubmluZyB0aW1lIG9mIHRoZSBsYXN0IG91dHB1dHRlZCBidWZmZXIgdG8gdGhlCgkgIHVwc3RyZWFtICJkdG1mLWV2ZW50IiBldmVudHMgc28gdGhhdCB0aGUgZHRtZiBzb3VyY2UgZG9lcyBub3QKCSAgbGVhdmUgYSBnYXAuCgoyMDExLTA0LTE0IDE2OjQ5OjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgcnRwZHRtZnNyYzogUmVzcGVjdCBwdGltZSBmcm9tIHRoZSBjYXBzCgkgIFJlc3BlY3QgdGhlIHB0aW1lIGZyb20gdGhlIGNhcHMgZm9yIHRoZSBEVE1GIHBhY2tldHMKCjIwMTEtMDctMTEgMjE6MzA6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IEp1c3QgZXJyb3Igb3V0IGlmIHRoZXJlIGlzIG5vIGNsb2NrCgoyMDExLTA4LTI0IDE2OjUzOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IG1ha2UgZ3N0X2thdGVfdXRpbF9pc191dGY4X3N0cmluZygpIGlubGluZSB0byBmaXggY29tcGlsZXIgd2FybmluZyB3aXRoIG9sZGVyIGxpYmthdGUgdmVyc2lvbnMKCSAgZ3N0a2F0ZXV0aWwuYzoyMzA6MTogZXJyb3I6ICdnc3Rfa2F0ZV91dGlsX2lzX3V0Zjhfc3RyaW5nJyBkZWZpbmVkIGJ1dCBub3QgdXNlZAoKMjAxMS0wOC0yNCAxNTozMjoxMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJICByc25kdmQ6IGVuc3VyZSBtZXRhZGF0YSBpcyB3cml0YWJsZSB3aGVuIHdyaXRpbmcgdG8gaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzI1MAoKMjAxMS0wOC0yNCAwOTozNToxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVc2UgRkFMU0UgaW5zdGVhZCBvZiAwIGZvciBib29sIHBhcmFtZXRlcgoKMjAxMS0wOC0yMyAyMjo0NDoxNyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE5lZWQgdG8gc2VuZCBhIG5ld3NlZ21lbnQgYWZ0ZXIgYSBzZWVrCgoyMDExLTA4LTIzIDIyOjM4OjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU2VuZCBidWZmZXJpbmcgbWVzc2FnZXMgb24gdGhlIGJ1cwoKMjAxMS0wOC0yMyAyMjozODowNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGNhY2hlIHRoZSBudW1iZXIgb2YgZnJhZ21lbnRzIHdlIGFyZSByZXF1aXJlZCB0byBjYWNoZQoKMjAxMS0wOC0yMyAyMjo0MDoyNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZvcndhcmQgc2Vlay9kdXJhdGlvbiBxdWVyeS9ldmVudCB0byB0aGUgc2lua3BhZAoKMjAxMS0wOC0yNCAwMTowMzozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE9wdGltaXplIHN0YXJ0IHVwIGEgbGl0dGxlIGJ5IHJlbW92aW5nIHNvbWUgcGFkIGNoZWNrcwoJICBTb21lIHBhZCBjaGVja3MgYXJlIGd1YXJhbnRlZWQgdG8gd29yaywgc28gd2UgY2FuIGRpc2FibGUgdGhlbQoJICBieSB1c2luZyBnc3RfZWxlbWVudF9saW5rX3BhZHNfZnVsbAoKMjAxMS0wOC0yMyAxOToyNjozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjI6IFJlbW92ZSBmcm9tIGV4cGVyaW1lbnRhbAoJICBSZW1vdmUgY2FtZXJhYmluMiBmcm9tIGV4cGVyaW1lbnRhbCwgYWxsb3dpbmcgaXQgdG8gYmUgYnVpbHQKCSAgd2l0aG91dCBuZWVkaW5nIHRvIHBhc3MgLS1lbmFibGUtZXhwZXJpbWVudGFsIG9uIGNvbmZpZ3VyZS4KCjIwMTEtMDgtMjMgMTk6MTM6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBbHdheXMgc2V0IGVuY29kZWJpbiBmbGFncyB3aGVuIGdvaW5nIHRvIHJlYWR5CgkgIFdoZW4gZ29pbmcgZnJvbSBOVUxMIHRvIFJFQURZIHdlIHdhbnQgdGhlIGVuY29kZWJpbiBmbGFncyB0byBiZQoJICBzZXQsIGFuZCBub3Qgb25seSBhZnRlciBjcmVhdGluZyBlbmNvZGViaW4gKG9uIHRoZSBmaXJzdCBydW4pCgoyMDExLTA4LTIzIDExOjU4OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgbmV3IGVudHJ5IHRvIGZsYWdzIHByb3BlcnR5CgkgIEFkZHMgYSBuZXcgZW50cnkgdG8gY2FtZXJhYmluMiBmbGFncyB0byBkaXNhYmxlIHZpZXdmaW5kZXIKCSAgY29udmVyc2lvbiBlbGVtZW50cy4KCjIwMTEtMDgtMjMgMTE6MTk6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkgIGNhbWVyYWJpbjI6IHZpZXdmaW5kZXJiaW46IEFkZCBwcm9wZXJ0eSBmb3IgZGlzYWJsaW5nIGNvbnZlcnRlcnMKCSAgQWRkcyBhIG5ldyBwcm9wZXJ0eSB0byBkaXNhYmxlIGNvbnZlcnRlcnMgZWxlbWVudHMgZm9yIHBlcmZvcm1hbmNlCgkgIHJlYXNvbnMuIEl0IHNob3VsZCBvbmx5IGJlIHVzZWQgaWYgdGhlIGFwcGxpY2F0aW9uIGtub3dzIHRoZXkgYXJlbid0CgkgIG5lZWRlZC4KCjIwMTEtMDgtMTkgMTc6Mjg6NTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZG8gbm90IHRyeSB0byBjb21wYXJlIGEgUENSIHdpdGggaXRzZWxmIGZvciBzdGF0aXN0aWNzCgkgIEVzcGVjaWFsbHkgYXMgb25lIG9mIHRoZSBsb2dzIHdpbGwgY2F1c2UgYSBkaXZpZGUgYnkgemVyby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjkyNwoKMjAxMS0wOC0xOSAxMzozMjoxNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBkbyBub3Qga2VlcCBhIGRhbmdsaW5nIHBvaW50ZXIKCSAgV2hlbiByZW1vdmluZyB0aGUgY3VycmVudCBwcm9ncmFtLCBpdCB3aWxsIGdldCBmcmVlZCBieSB0aGUKCSAgaGFzaCB0YWJsZSByZW1vdmFsIGNhbGxiYWNrLCBzbyBlbnN1cmUgd2UgY2xlYXIgb3VyIHBvaW50ZXIKCSAgdG8gaXQuCgkgIEZpeGVzIGEgY3Jhc2ggbGF0ZXIgb24gaW4gZ3N0X3RzX2RlbXV4X3B1c2ggdHJ5aW5nIHRvIGFjY2VzcyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjkyNwoKMjAxMS0wOC0yMSAyMDozNjowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IHBhc3Mgb24gdGltZWQgZXZlbnQgbWV0YWRhdGEgYXMgdGFncyB3aGVuIHdlIGNhbgoJICBNZXRhZGF0YSBhdHRhY2hlZCB0byBvdGhlciBvYmplY3RzIHRoYXQgbWF5IGJlIHVzZWQgaW4gdGhpcwoJICBldmVudCBhcmUgbm90IHBhc3NlZCwgYXMgaXMgYmluYXJ5IG1ldGFkYXRhLgoKMjAxMS0wOC0yMyAxMDozMjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIEFDX01TR19DSEVDS0lORygpIHRvIHRoZSBWUDhFX1NFVF9UVU5JTkcgcHJlc2VuY2UgY2hlY2sKCjIwMTEtMDgtMTkgMTk6MTc6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDg6IHByb2JlIGZvciB0aGUgbmV3IHR1bmluZyBBUEkgdG8ga2VlcCBidWlsZGluZyB3aXRoIG9sZGVyIGxpYnZweAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2OTI4CgoyMDExLTA4LTE4IDEzOjIxOjE4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJICByc3ZnZGVjOiB1c2UgaW5wdXQgYnVmZmVyIHRpbWluZ3MgaWYgcG9zc2libGUKCSAgU1ZHIGRhdGEgbWF5IGNvbWUgdGhyb3VnaCBtdWx0aXBsZSBidWZmZXJzLCBzbyBrZWVwIHRyYWNrIG9mIHRoZQoJICB0aW1lc3RhbXAgb2YgdGhlIGZpcnN0IGJ1ZmZlciwgYW5kIHVzZSBpdCBpbiBwcmVmZXJlbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI4Mjg0CgoyMDExLTA4LTIyIDE3OjEwOjI0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogZG8gbm90IGNvbnNpZGVyIGFuIGVtcHR5IFNQVSB0byBiZSBhIGZhdGFsIGVycm9yCgkgIEluc3RlYWQsIGp1c3QgZW5jb2RlIG5vdGhpbmcgYW5kIGdvIG9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MDkxCgoyMDExLTA4LTIyIDE3OjE1OjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogZG8gbm90IGNsZWFyIG91dCBoaWdoIGJpdHMgZnJvbSBkaXNwbGF5IGFyZWEKCSAgaHR0cDovL2R2ZC5zb3VyY2Vmb3JnZS5uZXQvc3B1X25vdGVzIGRvZXMgbm90IG1lbnRpb24gdGhhdCBoaWdoIGJpdHMKCSAgYXJlIHRvIGJlIG1hc2tlZCwgYW5kIG5vdCBjbGVhcmluZyB0aGVtIG1ha2VzIGEgc2FtcGxlIHdvcmssIHdoZXJlCgkgIGNsZWFyaW5nIHRoZW0geWllbGRlZCBsZWZ0ID4gcmlnaHQuCgkgIEhpc3RvcnkgZnJvbSB0aGUgZHZkc3B1IHBsdWdpbiwgZnJvbSB3aGVyZSB0aGlzIGNvZGUgd2FzIGNvcGllZCwKCSAgZG9lcyBub3Qgc2hlZCBhbnkgbGlnaHQsIGFzIHRyYWNpbmcgdGhpcyBjb2RlJ3Mgb3JpZ2luIHNob3dzCgkgIHRoZSBzYW1lIGJpdG1hc2tzIGJlaW5nIHRoZXJlIGluIDIwMDcgd2hlbiBpdCB3YXMgaW1wb3J0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcwOTEKCjIwMTEtMDgtMjIgMTY6NTI6MTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkgIGR2ZHNwdTogZG8gbm90IGNsZWFyIG91dCBoaWdoIGJpdHMgZnJvbSBkaXNwbGF5IGFyZWEKCSAgaHR0cDovL2R2ZC5zb3VyY2Vmb3JnZS5uZXQvc3B1X25vdGVzIGRvZXMgbm90IG1lbnRpb24gdGhhdCBoaWdoIGJpdHMKCSAgYXJlIHRvIGJlIG1hc2tlZCwgYW5kIG5vdCBjbGVhcmluZyB0aGVtIG1ha2VzIGEgc2FtcGxlIHdvcmssIHdoZXJlCgkgIGNsZWFyaW5nIHRoZW0geWllbGRlZCBsZWZ0ID4gcmlnaHQuCgkgIEhpc3RvcnkgZG9lcyBub3Qgc2hlZCBhbnkgbGlnaHQsIGFzIHRyYWNpbmcgdGhpcyBjb2RlJ3Mgb3JpZ2luIHNob3dzCgkgIHRoZSBzYW1lIGJpdG1hc2tzIGJlaW5nIHRoZXJlIGluIDIwMDcgd2hlbiBpdCB3YXMgaW1wb3J0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjAxMTkKCjIwMTEtMDgtMjMgMDk6NTI6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRmlyc3QgdHJ5IGlmIHVwc3RyZWFtIGhhbmRsZXMgc2Vla2luZyBpbiBUSU1FIGZvcm1hdCBiZWZvcmUgc2Vla2luZyBpbiB0aGUgZGVtdXhlcgoKMjAxMS0wOC0yMyAwOTo0MDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXJzdCBzZW5kIFNFRUtJTkcgcXVlcmllcyB1cHN0cmVhbQoKMjAxMS0wOC0yMyAwOToyNzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBTZW5kIERVUkFUSU9OIHF1ZXJ5IHVwc3RyZWFtIGZpcnN0CgoyMDExLTA4LTIzIDA5OjIzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFVzZSBGQUxTRSBpbnN0ZWFkIG9mIDAgZm9yIGEgYm9vbCBwYXJhbWV0ZXIKCjIwMTEtMDgtMTYgMTk6NTM6MzEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzd2l0Y2ggcGFkcyB3aGVuIHdlIHNlZWsgKG5lZWRfc2VnbWVudCkgc2luY2UgdHNkZW11eCBkb2Vzbid0IGNvcGUgd2VsbCB3aXRoIGEgcmVzZXQKCjIwMTEtMDgtMjMgMDI6MzY6MjUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBZGQgYSBGSVhNRSBjb21tZW50LiBsb29wIHRhc2sgc2hvdWxkIGJlIGEgcGFkIHRhc2sKCjIwMTEtMDgtMjIgMjM6NDE6MzkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3Qgc2VlayBpbiBhIGxpdmUgc3RyZWFtCgoyMDExLTA4LTIyIDIzOjQxOjMxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHRha2UgdGhlIHBhZCBzdHJlYW0gbG9jaywgdXNlIHRoZSB0YXNrJ3MgbG9jayBpbnN0ZWFkCgoyMDExLTA4LTE2IDE5OjQ2OjQ5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgRVZFTlRfU0VFSwoKMjAxMS0wOC0yMyAwMTo1NDoyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCB0aGUgR1NUX1FVRVJZX1NFRUtJTkcgcHJvcGVybHkKCjIwMTEtMDgtMjMgMDE6NTQ6MDMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgY29ycmVjdGx5IHRoZSBHU1RfUVVFUllfRFVSQVRJT04KCjIwMTEtMDgtMTYgMTk6NDE6MDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3QgdXNlIEdTVF9UQVNLX1dBSVQgaW4gdGhlIHRhc2sgZnVuY3Rpb24KCSAgVGhlIHRhc2sgZnVuY3Rpb24gdXNlcyBHU1RfVEFTS19XQUlUIHdoaWNoIGRvZXMgYSBnX2NvbmRfd2FpdCBnaXZpbmcgaXQKCSAgdGhlIEdTVF9PQkpFQ1RfR0VUX0xPQ0sgb2YgdGhlIHRhc2suIFRoZSBtdXRleCBnZXRzIGxvY2tlZCB3aGVuCgkgIGdfY29uZF93YWl0IHJldHVybnMsIHNvIGlmIHdlIGRvbid0IGxvY2svdW5sb2NrIGl0LCBpdCB3aWxsCgkgIHN0YXkgbG9ja2VkIGZvcmV2ZXIsIHByZXZlbnRpbmcgdGhlIHRhc2sgZnJvbSBldmVyIGZpbmlzaGluZy4KCSAgV2Ugc2hvdWxkbid0IGxvY2sgdGhlIHRhc2sgb2JqZWN0IGxvY2ssIHNvIGxldCdzIHJlbW92ZSB0aGUgR1NUX1RBU0tfV0FJVAoJICBhbmQgbWFrZSB0aGUgdGFzayBwYXVzZSBpbnN0ZWFkIGlmIHRoZXJlIGFyZSBubyBidWZmZXJzIGluIHRoZSBxdWV1ZS4KCjIwMTEtMDgtMTggMjM6NTI6MzcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBkbyBub3Qgc2VuZCBhIG5ldy1zZWdtZW50IG9uIHN0cmVhbSByZW1vdmFsCgkgIFdoZW4gYSBwcm9ncmFtIGlzIGNoYW5nZWQsIHN0cmVhbV9hZGRlZCBpcyBjYWxsZWQgd2hpY2ggc2V0cyB0aGUKCSAgbmVlZF9uZXdzZWdtZW50IHRvIFRSVUUsIHRoZW4gc3RyZWFtX3JlbW92ZWQgaXMgY2FsbGVkLCB3aGljaCBjYWxscwoJICB0aGUgZmx1c2hfcGVuZGluZ19kYXRhLCB3aGljaCBjaGVja3MgZm9yIHRoZSBuZXdzZWdtZW50IGFuZCBjYXVzZXMKCSAgaXQgdG8gc2VuZCBhIG5ldy1zZWdtZW50LgoJICBXZSBtdXN0IG5vdCBzZW5kIHRoZSBuZXdzZWdtZW50IHdoZW4gZmx1c2hpbmcgdGhlIHBlbmRpbmcgZGF0YSBvbiB0aGUKCSAgcmVtb3ZlZCBzdHJlYW0uIFdlIHNob3VsZCBvbmx5IHB1c2ggaXQgd2hlbiBmbHVzaGluZyBkYXRhIG9uIHRoZSBuZXdseQoJICBhZGRlZCBzdHJlYW1zIChhZnRlciB0aGV5IGZpbmlzaCBwYXJzaW5nIHRoZWlyIFBUUyBoZWFkZXIpCgoyMDExLTA4LTE2IDIyOjA1OjE0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IG5ld3NlZ21lbnQgd2hlbiBzd2l0Y2hpbmcgcHJvZ3JhbXMKCSAgSWYgYSBwcm9ncmFtL3N0cmVhbSBpcyBjaGFuZ2VkLCB0aGVuIGEgbmV3c2VnbWVudCBpcyBzZW50IHdoaWNoIG11c3QKCSAgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBiYXNlIHNlZ21lbnQgc2luY2UgaXQgaGFwcGVucyBsYXRlci4gV2UgbXVzdAoJICBzaGlmdCB0aGUgc3RhcnQgcG9zaXRpb24gYnkgdGhlIHRpbWUgZWxhcHNlZCBzaW5jZSB0aGUgbmV3c2VnbWVudAoJICBhbmQgdGhlIGN1cnJlbnQgUFRTIG9mIHRoZSBzdHJlYW0KCjIwMTEtMDgtMTYgMTk6NTQ6MDQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBpbnRlcnBvbGF0ZSBnYXAgYW5kIGZpeCB0aW1lc3RhbXBzIGRlcGVuZGluZyBvbiB1cHN0cmVhbSBzZWdtZW50CgoyMDExLTA4LTE4IDIzOjU0OjU5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBLZWVwIGEgc2VwYXJhdGUgdmFyaWFibGUgZm9yIHRoZSBjdXJyZW50IHZhcmlhbnQgdXNlZAoJICBCeSB1c2luZyBhIHNlcGFyYXRlIHZhcmlhYmxlLCBmaXJzdCBpdCBhbGxvd3MgdXMgdG8gc29ydCB0aGUgbGlzdHMKCSAgb2YgYWx0ZXJuYXRlcyBidXQga2VlcCB0aGUgcG9pbnRlciBvbiB0aGUgZmlyc3Qgb2NjdXJlbmNlIGluIHRoZSBtYWluCgkgIHBsYXlsaXN0ICh0byByZXNwZWN0IHRoZSBzcGVjIG9mIHN0YXJ0aW5nIHdpdGggdGhlIGJpdHJhdGUgc3BlY2lmaWVkCgkgIGZpcnN0IGluIHRoZSBtYWluIHBsYXlsaXN0KS4gSXQgYWxzbyBhdm9pZCBwbGF5aW5nIHdpdGggdGhlIGxpc3RzIHZhcmlhYmxlCgkgIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHN0b3JlIHRoZSBsaXN0IG9mIHBsYXlsaXN0cyBhbmQgbm90IGFzIGEgcG9pbnRlcgoJICB0byB0aGUgY3VycmVudCBvbmUuCgkgIEFsc28gZml4ZXMgYSBtZW1sZWFrIHdpdGggdGhlIGdfbGlzdF9mb3JlYWNoIGZyZWVpbmcgdGhlIGxpc3RzLCBpZiBpdCB3YXNuJ3QKCSAgcG9pbnRpbmcgdG8gdGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlIGxpc3QuCgoyMDExLTA4LTIxIDE4OjQ0OjQzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBmaXggY29tcGlsYXRpb24gb24gTGludXgKCjIwMTEtMDgtMTggMTQ6Mjk6NTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgc3ViZGV2aWNlIHByb3BlcnR5CgoyMDExLTA3LTA3IDE2OjQ0OjMxIC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL0xpbnV4Q09NLmg6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvbGludXgvTGludXhDT00uaDoKCSogc3lzL2RlY2tsaW5rL3dpbi9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvd2luL0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvd2luL0RlY2tMaW5rQVBJX2kuYzoKCSAgZGVja2xpbms6IGFkZCBzdXBwb3J0IGZvciBXaW5kb3dzCgkgIEJ1aWxkcyB3aXRoIE1TVkMsIG5vdCB0ZXN0ZWQgaW4gTWluR1cgb3IgYW55dGhpbmcgZWxzZS4gQWRkZWQKCSAgQ09NIGhhbmRsaW5nIGNvZGUsIGJvcnJvd2VkIGZyb20gZHNob3d2aWRlb3NpbmsuIE1vdmVkIExpbnV4CgkgIHNwZWNpZmljIGZpbGVzIHRvIC4vbGludXggYW5kIGFkZGVkIFdpbmRvd3Mgc3BlY2lmaWMgZmlsZXMgdG8KCSAgLi93aW4gKGdlbmVyYXRlZCBmcm9tIElETCBmaWxlcyBpbiBWUzkpLiBBZGRlZCBtYWNyb3MgdG8gaGFuZGxlCgkgIEJTVFIgYW5kIGRlZmluZWQgYm9vbCBhcyBCT09MLiAgRml4ZXMgIzY1NTM2Mi4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTA3IDE0OjM0OjAxIC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IGltcHJvdmUgZnJhbWUgaGFuZGxpbmcKCSAgU2VuZCBORVdTRUdNRU5UIG9uIHN0YXJ0LiBTZW5kIHdhcm5pbmcgaW5zdGVhZCBvZiBlcnJvciBvbgoJICBkcm9wcGVkIGZyYW1lcy4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTA3IDE0OjIwOjM3IC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IGZpeCBkZWJ1Z2dpbmcgaW4gY2FwdHVyZS5jcHAgYnkgbWFraW5nIGNhdGVnb3J5IGV4dGVybgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMDcgMTQ6MTM6MDAgLTA0MDAgIEpvc2h1YSBNLiBEb2UgPG9zc0BudmwuYXJteS5taWw+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkgIGRlY2tsaW5rOiB1c2UgbXV0ZXhlcyBmcm9tIGdsaWIgaW5zdGVhZCBvZiBwdGhyZWFkCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0xNiAxNzoxOTo0OSAtMDMwMCAgVGlhZ28gQ8Opc2FyIEthdGNpcGlzIDx0aWFnb2thdGNpcGlzQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5oOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS92YWRfcHJpdmF0ZS5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS92YWRfcHJpdmF0ZS5oOgoJICByZW1vdmVzaWxlbmNlOiBuZXcgcGx1Z2luCgkgIEZpeGVzOiAjNTk3ODIyLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDgtMjEgMTQ6NDE6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFByZXZlbnQgYXVkaW9zcmMgZnJvbSBzZW5kaW5nIHVuZGVzaXJlZCBlb3MKCSAgQmFzZXNyYyBkZXJpdmVkIGNsYXNzZXMgc2VuZCBhbiBlb3Mgd2hlbiB0aGV5IGNoYW5nZSBzdGF0ZQoJICBmcm9tIHBhdXNlZCB0byByZWFkeSBhbmQgdGhhdCBicmVha3MgdmlkZW8gcmVjb3JkaW5ncyBvbiBjYW1lcmFiaW4yCgkgIGFzIGl0IG1ha2VzIHRoZSB3aG9sZSBhdWRpbyBicmFuY2ggcGFkcyBmbHVzaGluZy4KCSAgUHJldmVudCBpdCBieSB1c2luZyBhIHBhZCBwcm9iZSB0aGF0IG9ubHkgYWxsb3dzIHRoZSBlb3MgdG8gcGFzcwoJICB3aGVuIGl0IGlzIGNhdXNlZCBieSBhIHN0b3AtY2FwdHVyZSBhY3Rpb24uCgoyMDExLTA4LTIxIDE0OjA3OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IFVzZSBhdWRpb3Rlc3RzcmMgb24gdGVzdHMKCSAgVXNlIGF1ZGlvdGVzdHNyYyBvbiB0ZXN0cyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBzeXN0ZW0ncyBkZWZhdWx0CgkgIGF1ZGlvc3JjLCBhdm9pZGluZyBhbnkgcHJvYmxlbXMgdGhhdCBhIGxvY2FsIGF1ZGlvIHNldHVwIG1pZ2h0CgkgIGhhdmUuCgoyMDExLTA4LTE4IDE4OjI3OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIGdzdF9wYWRfc2VuZF9ldmVudCBpbnN0ZWFkIG9mIGV2ZW50ZnVuYyBtYWNybwoKMjAxMS0wOC0xNCAwNDo0MTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBJbXByb3ZpbmcgdGVzdHMKCSAgQWRkaW5nIHNvbWUgYWRkaXRpb25hbCBjaGVja3MgZm9yIGN1c3RvbSBjYW1lcmFiaW4yIG1lc3NhZ2VzCgkgIEFsc28gaW1wcm92ZXMgcmVsaWFiaWxpdHkgb2YgdGhlIHRlc3RzIGJ5IHdhaXRpbmcgZm9yIHRoZSBwcmV2aWV3LWJ1ZmZlciBtZXNzYWdlLgoJICBUaGlzIG1lc3NhZ2UgaXMgZ2VuZXJhdGVkIGZyb20gdGhlIHByZXZpZXcgcGlwZWxpbmUsIGFuZCBtaWdodCBhcnJpdmUgbGF0ZXIgdGhhbiB0aGUKCSAgaW1hZ2UvdmlkZW8tZG9uZSBmcm9tIHRoZSBtYWluIGNhbWVyYWJpbjIgcGlwZWxpbmUsIHRoZSB0ZXN0cyBuZWVkIHRvIHdhaXQgZm9yIGl0IGV2ZW4KCSAgYWZ0ZXIgZ2V0dGluZyB0aGUgaW1hZ2UvdmlkZW8tZG9uZS4KCjIwMTEtMDgtMTggMTU6MTI6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBdm9pZCBhc3NlcnRpb25zIHdoZW4gcGx1Z2luIGNyZWF0aW9uIGZhaWxzCgkgIENhcHNmaWx0ZXJzIGFyZSBjcmVhdGVkIG9uIHRoZSBjb25zdHJ1Y3RvciBhbmQgdGhlaXIgcHJvcGVydGllcyBjYW4KCSAgYmUgc2V0L2dldCBmcm9tIGNhbWVyYWJpbjIncyBzZXQvZ2V0X3Byb3BlcnR5IGZ1bmN0aW9ucy4gVGhlIHVzZXIgd2l0aAoJICBhIGJyb2tlbiBzZXR1cCB3b3VsZCBjYXVzZSBhc3NlcnRpb25zIHdoZW4gdHJ5aW5nIHRvIHNldC9nZXQgdGhlCgkgIGNhcHR1cmUgY2FwcyBvZiB0aGlzIGNhbWVyYWJpbjIuCgkgIEEgcHJvcGVyIG1pc3NpbmctcGx1Z2luIG1lc3NhZ2Ugd2lsbCBiZSBwb3N0ZWQgd2hlbiB0aGUgdXNlciB0cmllcyB0bwoJICBzZXQgY2FtZXJhYmluMiB0byBSRUFEWSBzdGF0ZS4KCjIwMTEtMDgtMjAgMDA6NDg6MjAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgdHNtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjawoJICByZW1vdmUgYW4gaWYgKGJlc3QpIGNoZWNrIHdoZXJlIGJlc3QgIT0gTlVMTCBoYXMgYWxyZWFkeSBiZWVuIGNoZWNrZWQKCjIwMTEtMDgtMTYgMTk6NTE6MzQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2Jhc2U6IHJlaW5pdGlhdGUgc2VnbWVudCBhdCBmbHVzaC1zdG9wIGV2ZW50IG9ubHkKCjIwMTEtMDgtMTYgMTk6NDM6MDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IFNldCBidWZmZXIgdGltZXN0YW1wIHNpbmNlIHdlIHNlbmQgYSBUSU1FIHNlZ21lbnQKCjIwMTEtMDgtMDIgMTk6MjE6NDcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbGxvdyBiYW5kd2lkdGggc3dpdGNoaW5nIGR1cmluZyBjYWNoaW5nIG9mIGZyYWdtZW50cwoKMjAxMS0wOC0wMiAxOToyMToxOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHNldCB0aGUgcGFkJ3MgY2FwcyBiZWZvcmUgYWRkaW5nIGl0CgoyMDExLTA4LTE3IDExOjAyOjEyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkgIG9mYTogZmluZ2VycHJpbnQgY3JlYXRpb24gY2FuIGZhaWwKCSAgVGhlcmUgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHdheSB0byByZXRyaWV2ZSBpbmZvcm1hdGlvbgoJICBhYm91dCB3aHkgZmFpbHVyZSBvY2N1cmVkLCB1bmZvcnR1bmF0ZWx5LgoJICBXaGVuIGZhaWx1cmUgb2NjdXJzLCBkbyBub3QgcG9zdCBhIE5VTEwgZmluZ2VycHJpbnQgdGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2NjQxCgoyMDExLTA4LTE3IDEwOjU1OjU5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkgIG9mYTogY2xlYW51cAoJICBBdm9pZCByZXBlYXRpbmcgY2FzdGluZyB0byBHc3RBdWRpb0ZpbHRlciB3aGVuIG9uZSB3aWxsIGRvCgkgIFVzZSBvYmplY3QgcmVsYXRlZCBsb2dnaW5nIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGdldCBqdXN0IHRoZSBsb2dzIHdlIHdhbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY0MQoKMjAxMS0wOC0xNyAxMTowNzo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBvZmE6IGRvIG5vdCBjcmVhdGUgZmluZ2VycHJpbnQgb24gRU9TIGlmIHJlY29yZCBpcyBGQUxTRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2NjQxCgoyMDExLTA4LTE4IDEwOjM5OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogUmVtb3ZlIHVudXNlZCBhbmQgdXNlbGVzcyB2YXJpYWJsZSBpbiB0YWdzIGhhbmRsaW5nCgoyMDExLTA4LTE4IDA4OjAyOjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBGaXggbG9ja2luZywgZXNwZWNpYWxseSBpZiBib3RoIHBhZHMgaGF2ZSBkaWZmZXJlbnQgc3RyZWFtaW5nIHRocmVhZHMKCjIwMTEtMDgtMTggMDc6NDI6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBEb24ndCBjYWxsIGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCgpIGluIGNsYXNzX2luaXQKCSAgVGhpcyBpcyBhbHJlYWR5IGRvbmUgYnkgdGhlIEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm8KCjIwMTEtMDgtMTcgMTk6MDE6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTE2IDEwOjI0OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5oOgoJICBhaWZmbXV4OiBkcm9wIGRhdGEgYWZ0ZXIgNGlzaCBHQiBhbmQgbW9hbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0Mjc4CgoyMDExLTA4LTE2IDEwOjAyOjU5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSAgYWlmZm11eDogdXNlIGd1aW50MzIgZm9yIGd1aW50MzIgcGFyYW1ldGVycwoJICBUaGlzIG1ha2VzIGV4cGxpY2l0IHRoYXQgdGhlIHJhbmdlIGlzIGxpbWl0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQyNzgKCjIwMTEtMDgtMTYgMTA6MDI6MTEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJICBhaWZmbXV4OiBhdm9pZCBpbnRlZ2VyIG92ZXJmbG93CgkgIFRoZXNlIHZhbHVlcyBhcmUgMzIgYml0cywgYW5kIHdpZHRoIGlzIGEgbXVsdGlwbGUgb2YgOC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDI3OAoKMjAxMS0wOC0xNiAxOTozOTo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkgIGNlbHRkZWM6IG1ha2UgdGhpcyBjb21waWxlIHdpdGggZ2l0IGxpYmNlbHQKCSAgY2VsdF9tb2RlX2luZm8gd2FzIHJlbW92ZWQsIGluIGZhdm9yIG9mIGEgX2N0bC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY4NgoKMjAxMS0wOC0xNiAxODozNDo1OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBvZmE6IGRvbid0IGNyYXNoIHdoZW4gdGhlcmUncyBubyBkYXRhIHRvIGNyZWF0ZSBhIGZpbmdlcnByaW50IGZyb20KCSAgRml4ZXMgYSBjcmFzaCB3aGVuIG5vIGRhdGEgZmxvd2VkIHRocm91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2NDEKCjIwMTEtMDgtMTYgMTk6NDc6MDIgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IFVzZSBnc3RfYml0X3JlYWRlcl9za2lwIHRvIHNraXAgbW9yZSB0aGFuIDMyIGJpdHMuCgkgIEdFVF9CSVRTIGlzIGEgbWFjcm8gZm9yIGdzdF9iaXRfcmVhZGVyX2dldF9iaXRzX3VpbnQzMiwgd2hpY2ggY2Fubm90CgkgIHJlYWQgbW9yZSB0aGFuIDMyIGJpdHMgYW5kIHdpbGwgZmFpbCBpbiB0aGlzIGNhc2Ugd2hlcmUgaXQgaXMgY2FsbGVkCgkgIHRvIHJlYWQgNzkgYml0cy4gU2luY2Ugd2Ugd2FudCB0byBza2lwIHRob3NlIGJpdHMsIGdzdF9iaXRfcmVhZGVyX3NraXAKCSAgaXMgbW9yZSBhcHByb3ByaWF0ZSBpbiB0aGlzIGNhc2UuCgoyMDExLTA4LTE1IDAyOjA4OjE0ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogZ2V0IHRoZSBmcmFtZXJhdGUgZnJvbSBjYXBzCgkgIC4uLmFuZCBjb25maWd1cmUgUVRLaXQgYWNjb3JkaW5nbHkuIEhhcmRjb2RpbmcgdG8gMzBmcHMgd2FzIHByZXR0eSAtYmFkLgoKMjAxMS0wOC0xMyAxNTo1NTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBBZGQgdGVzdCBmb3IgYXVkaW8tZmlsdGVyIHByb3BlcnR5CgkgIENoZWNrcyB0aGF0IHRoZSBhdWRpby1maWx0ZXIgaXMgcHJvcGVybHkgcGx1Z2dlZCBpbiB0aGUgcGlwZWxpbmUKCSAgYW5kIHJlY2VpdmVzIGJ1ZmZlcnMgd2hlbiByZWNvcmRpbmcgYSB2aWRlby4KCjIwMTEtMDgtMTEgMTg6NTk6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBhdWRpby1maWx0ZXIgcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIGFkZCBhIGN1c3RvbSBHc3RFbGVtZW50IHRvIHRoZSBhdWRpbwoJICBicmFuY2ggb2YgdGhlIHBpcGVsaW5lLiBUaGlzIGFsbG93cyB0aGUgdXNlciB0byBkbyBjdXN0b20gYXVkaW8KCSAgcHJvY2Vzc2luZy9hbmFseXNpcyB3aGVuIHJlY29yZGluZyB2aWRlb3MuCgoyMDExLTA4LTEyIDIyOjM5OjUzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYmFzZXZpc3VhbGl6ZXI6IGFkZCBtb3JlIHNoYWRlciB2YXJpYW50cyBhbmQgc2ltcGxpZnkgY29kZQoJICBVc2UgbWFjcm9zIHRvIHNpbXBseWZ5IHRoZSBzaGFkaW5nIGNvZGUuIFRob3NlIHdpbGwgZWFzZSB0byBhZGQgc3VwcG9ydCBmb3IKCSAgb3RoZXIgY29sb3JzcGFjZXMgaW4gdGhlIGZ1dHVyZS4gQWRkIG1vcmUgdmFyaWFudHMgZm9yIHRoZSBzaGFkaW5nIChsZWZ0LHJpZ2h0LAoJICBob3Jpei1pbiwgdmVydC1vdXQsIHZlcnQtaW4pLgoKMjAxMS0wOC0xMiAyMToyMjoyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICBiYXNldmlzdWFsaXplcjogbW9yZSBkb2NzCgoyMDExLTA4LTEyIDIxOjE4OjQ0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYmFzZWF1ZGlvdmlzdWFsaXplcjogcHJvdGVjdCBjb25maWcgd2l0aCBhIGxvY2sKCSAgQmVmb3JlIGl0IHdhcyBlYXN5IHRvIGNyYXNoIHRoZSBlbGVtZW50cyB3aGVuIHVzaW5nIGEgeGltYWdlc2luayBhbmQgdHJpZ2dlcmluZwoJICByZW5lZ290aWF0aW9uIGJ5IHJlc2l6aW5nLgoKMjAxMS0wOC0xMiAxNjo1Nzo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkgIHNwZWN0cmFzY29wZTogbWFrZSBhIGNvcHkgb2YgdGhlIGF1ZGlvZGF0YSBiZWZvcmUgZG93bm1peGluZyBhbmQgd2luZG93aW5nCgkgIFRoZSBidWZmZXJzIGNvbWUgZnJvbSB0aGUgYWRhcHRlciBhbmQgdGhlIGRhdGEgbWlnaHQgb3ZlcmxhcC4gV2UgZG9uJ3Qgd2FudCB0bwoJICBtb2RpZnkgaXQgaW4gcGxhY2UuCgoyMDExLTA4LTEyIDEyOjI1OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFByb3h5IHRoZSB3aWR0aC9oZWlnaHQvZnJhbWVyYXRlL1BBUiBjb25zdHJhaW50cyBvZiBkb3duc3RyZWFtIGNhcHMgdG8gdXBzdHJlYW0KCSAgVGhpcyBhbGxvd3MgdG8gc3BlY2lmeSBjb25zdHJhaW50cyBvbiB0aGUgY29tcHJlc3NlZCBkb3duc3RyZWFtIGNhcHMKCSAgYnkgbXV4ZXJzIG9yIGNhcHNmaWx0ZXJzLCB3aGljaCB3aWxsIHRoZW4gYmUgZm9yd2FyZGVkIHRvIHVwc3RyZWFtCgkgIGFuZCBhbGxvd3MgdmlkZW8gY29udmVydGVycyB0byBmdWxmaWxsIHRoZSBjb25zdHJhaW50cy4KCSAgQ29kZSBiYXNlZCBvbiBNYXJrIE5hdXdlbGFlcnRzIGF1ZGlvIGVuY29kZXIgYmFzZSBjbGFzcy4KCjIwMTEtMDgtMTIgMTI6MTM6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogUmVtb3ZlIG9sZCA6OmdldGNhcHMoKSBjb21tZW50CgoyMDExLTA4LTEyIDEyOjA4OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IFVwZGF0ZSBmb3IgYmFzZXZpZGVvZW5jb2RlciA6OmdldF9jYXBzKCkgcmVtb3ZhbAoKMjAxMS0wOC0xMiAxMjowODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBVcGRhdGUgZm9yIGJhc2V2aWRlb2VuY29kZXIgOjpnZXRfY2FwcygpIHJlbW92YWwKCjIwMTEtMDgtMTIgMTI6MDg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgZm9yIGJhc2V2aWRlb2VuY29kZXIgOjpnZXRfY2FwcygpIHJlbW92YWwKCjIwMTEtMDgtMTIgMTI6MDY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogUmVtb3ZlIDo6Z2V0X2NhcHMoKSB2ZnVuYwoJICBTdWJjbGFzc2VzIGNhbiBzZXQgdGhlIGNhcHMgbW9yZSBlZmZpY2llbnRseSBhbmQgdGhpcyBvbmx5CgkgIGNhdXNlZCBhZGRpdGlvbmFsIGluZGlyZWN0aW9ucy4KCjIwMTEtMDgtMDkgMDk6Mjk6MjEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IGRvIG5vdCBhc3NlcnQgb24gdGhlIHZhbHVlcyBvZiBkYXRhIHJlYWQgZnJvbSBpbnB1dAoJICBJbnN0ZWFkLCBsb2cgYSB3YXJuaW5nLCBhbmQgcmV0dXJuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYzODI3CgoyMDExLTA4LTAzIDE2OjAyOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFVzZSB0aGUgY2FjaGVkIHZpZGVvIGZyYW1lIHNpemUgaW5zdGVhZCBvZiByZWNhbGN1bGF0aW5nIGl0CgoyMDExLTA4LTA4IDE3OjUzOjE2ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lZGluZ2VyOiBGaXggc2V0IGJ1dCB1bnVzZWQgdmFyaWFibGVzCgkgIFJlbW92ZSBzb21lIGRlYWQgY29kZSB0aGF0IHRyaWdnZXJzICJzZXQgYnV0IHVudXNlZCB2YXJpYWJsZXMiCgkgIGZyb20gR2NjIDQuNi4gIEZpeGVzICM2NTYxNjYKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA4LTA4IDE2OjQ0OjIwICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IEZpeCBzZXQgYnV0IHVudXNlZCB2YXJpYWJsZXMKCSAgUmVtb3ZlIHNvbWUgZGVhZCBjb2RlIHRoYXQgdHJpZ2dlcnMgInNldCBidXQgdW51c2VkIHZhcmlhYmxlcyIgZnJvbSBHY2MKCSAgNC42LiAgRml4ZXMgIzY1NjE2NC4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA4LTA2IDEyOjEzOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIHZpZGVvLWRvbmUgbWVzc2FnZQoJICB2aWRlby1kb25lIG1lc3NhZ2Ugd2lsbCBiZSBwb3N0ZWQgd2hlbiBhIHZpZGVvIHJlY29yZGluZyBpcwoJICBmaW5pc2hlZC4gU2ltaWxhciB0byBpbWFnZS1kb25lIG1lc3NhZ2UuCgoyMDExLTA4LTA1IDE1OjQ4OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIHRvcC1sZXZlbCBlbGVtZW50IGRvY3VtZW50YXRpb24KCjIwMTEtMDgtMDUgMTM6MzQ6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXhpbmcgdHlwbwoKMjAxMS0wOC0wNCAxMzozMzoyMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQGdvb2dsZS5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5oOgoJICBtb3Rpb25jZWxsczogdHVybiB0d28gZ2xvYmFsIHZhcnMgaW50byBzdGF0aWMgdmFyaWFibGVzCgkgIE1vdmUgMiB2YXJpYWJsZSB0byBtb3Rpb25jZWxsc193YXJwcGVyIGFuZCBtYWtlIHRoZW0gc3RhdGljLgoKMjAxMS0wOC0wNCAxMzozMzo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBBZGQgbWlzc2luZyBoZWFkZXIgZmlsZQoKMjAxMS0wOC0wNCAxMToyODozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBBZGQgZ3N0ZGVja2xpbmsuaCB0byBsaXN0IG9mIGhlYWRlcnMKCjIwMTEtMDgtMDQgMDk6NDk6NDYgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBmaXggc2VxdWVuY2UgaGVhZGVyIHBhcnNpbmcKCSAgQWZ0ZXIgYml0cmF0ZSB0aGVyZSdzIDExIGJpdHMgKDEgbWFya2VyIGJpdCArIFZCViBidWZmZXIgc2l6ZSkgYmVmb3JlIHRoZSBsb2FkCgkgIGludHJhIHF1YW50aXNlciBmbGFnLgoKMjAxMS0wOC0wNCAwOTo0MDo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMDQgMDk6MzY6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29tbW9uCgkgIGNvbmZpZ3VyZS5hYwoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmMKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oCgkgIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYwoKMjAxMS0wNy0yMSAwODo1ODoyNyArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8dG9tbWkubXlvaGFuZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IGFkZCBtaXNzaW5nIEZMSUNLRVJfUkVEVUNUSU9OIGNhcGFiaWxpdHkKCSAgR3N0UGhvdG9ncmFwaHkgQVBJIGNvbnRhaW5zIGZ1bmN0aW9ucyB0byBnZXQvc2V0IGZsaWNrZXIgcmVkdWN0aW9uCgkgIG1vZGUsIGJ1dCBHc3RQaG90b0NhcHMgZW51bWVyYXRpb24gZG9lc24ndCBoYXZlIGl0ZW0gZm9yIGl0LCBzbyBlbGVtZW50cwoJICBhcmUgbm90IGFibGUgdG8gcmVwb3J0IHdoZXRoZXIgdGhleSBzdXBwb3J0IHRoaXMgZmVhdHVyZSBvciBub3QuCgkgIEFsc28gYWRkIHVzZWZ1bCBHU1RfUEhPVE9HUkFQSFlfQ0FQU19BTEwgZm9yIGVhc2lseSBzZWxlY3RpbmcgYWxsCgkgIGNhcGFiaWxpdGllcyBhdCBvbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1MzE4CgoyMDExLTA4LTAzIDEzOjM3OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3ViZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmg6CgkgIHN1YmVuYzogQWRkIHdlYnZ0dGVuYyBlbGVtZW50CgoyMDExLTA4LTAzIDEzOjM1OjQxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSAga2F0ZWVuYzogRml4IHVuaW5pdGlhbGl6ZWQgZXJyb3IKCjIwMTEtMDctMDkgMjM6MjI6MjYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogcmVtb3ZlIHNoYXBlX291dHB1dCBoYW5kbGluZwoKMjAxMS0wNy0wOSAyMzowNzozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBSZW1vdmUgdW51c2VkIHNoYXBlX291dHB1dCBjb2RlCgoyMDExLTA3LTA5IDE4OjUzOjI0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogQWRkIG1vcmUgcHJvcGVydGllcwoKMjAxMS0wNi0xOSAxNjowNjo0NiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBhZGQgbWluL21heHNlY3Rpb24tcGN0IG9wdGlvbgoJICBUaGlzIG9wdGlvbnMgc2hvdWxkIGJlIGdvb2QgdG8gcmVkZXVjZSBkZWNvZGUgQ1BVIGxvYWQuCgkgIGZvciBsb3dlbmQgaGFyZHdhcmU6CgkgIG1pbnNlY3Rpb24tcGN0PTE1IG1heHNlY3Rpb24tcGN0PTQwMAoJICBmb3IgaGllbmQgaHc6CgkgIG1pbnNlY3Rpb24tcGN0PTUgbWF4c2VjdGlvbi1wY3Q9ODAwCgkgIHNlZSBleGFtcGxlOgoJICBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy90b29scy9lbmNvZGVyLXBhcmFtZXRlcnMvIzItcGFzc192YnJfZW5jb2RpbmdfZm9yX3Ntb290aF9wbGF5YmFja19vbl9sb3ctZW5kX2hhcmR3YXJlCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTE5IDExOjA1OjM2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IGFkZCBsYWctaW4tZnJhbWVzIG9wdGlvbi4KCSAgVGhpcyBvcHRpb24gc2V0IG1heGltdW0gb2YgZnJhbWVzIGNvZGVjIHNob3VsZCByZW1lbWJlciwKCSAgdG8gbWFrZSBiZXR0ZXIgcHJlZGlrdGlvbiBmb3IgYWx0LXJlZiBmcmFtZXMuCgkgIFNlZSBleGFtcGxlOgoJICBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy90b29scy9lbmNvZGVyLXBhcmFtZXRlcnMvIzItcGFzc19iZXN0X3F1YWxpdHlfdmJyX2VuY29kaW5nCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTE5IDA3OjE2OjU3ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHVzZSBtdWx0aXBhc3MuY2FjaGUgZmlsZSBuYW1lIGFzIGRlZmF1bHQgZm9yIG11bHRpcGFzcyBtb2RlLgoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wOSAxNjowNTowNyAtMDQwMCAgTXVrdWwgTWFqbXVkYXIgPG11a3VsLm1ham11ZGFyQGdtYWlsLmNvbT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBBZGQgcHJvcGVydGllcyBmb3IgVkJSIGVuY29kaW5nCgkgIFByb3BlcnR5ICJxdWFsaXR5IiB0byBzcGVjaWZ5IFZCUiBxdWFudGl6ZXIgcXVhbGl0eSBhbmQgcHJvcGVydHkKCSAgImJydHlwZSIgdG8gY2hvb3NlIGJldHdlZW4gQUJSIGFuZCBWQlIgZW5jb2RpbmcuIFRoZSBkZWZhdWx0IGlzIG5vdyBWQlIKCSAgd2l0aCBxdWFsaXR5PTEwMC4KCSAgRml4ZXMgYnVnICM2NTQzMTAuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wNyAxNjowNzo1MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgYXVkaW8taW5wdXQgcHJvcGVydHkKCjIwMTEtMDctMTggMTU6MjU6MDUgKzEwMDAgIFRpbSAnbWl0aHJvJyBBbnNlbGwgPG1pdGhyb0BtaXRoaXMuY29tPgoKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJICBpbnRlcjogQWRkaW5nIG1pc3NpbmcgYmFzZSByZXF1aXJlbWVudHMuCgkgIEZpeGVzOiAjNjU0ODA2LgoKMjAxMS0wOC0wMyAxNToyMToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGFkZCBtb3JlIG1pc3NpbmcgcGx1Z2luIGNoZWNrcwoJICBTcHJpbmtsZSBzb21lIG1vcmUgbWlzc2luZyBwbHVnaW4gY2hlY2tzIGFyb3VuZAoKMjAxMS0wOC0wMyAxMzoxMjoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBhIG1pc3NpbmcgZWxlbWVudCBjaGVjayBhbmQgcmVtb3ZlIFRPRE8KCSAgQWRkIG1pc3NpbmcgZWxlbWVudCBjaGVja3MgZm9yIGVsZW1lbnRzIGNyZWF0ZWQgYXQgX2luaXQKCSAgZnVuY3Rpb25zIGFuZCByZW1vdmUgVE9ETyBhYm91dCBpdAoKMjAxMS0wOC0wMyAxMzo1NzowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVtb3ZlIHJlZHVuZGFudCBpbWFnZS1xdWV1ZQoJICBFbmNvZGViaW4gaXMgdXNlZCBmb3IgaW1hZ2UgZW5jb2RpbmcgYW5kIGl0IGFscmVhZHkgY29udGFpbnMKCSAgYSBxdWV1ZSwgc28gd2UgY2FuIHJlbW92ZSBjYW1lcmFiaW4yIGltYWdlIHF1ZXVlLgoKMjAxMS0wOC0wMyAxMzo0MjoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBmaXggdXAgY29weXJpZ2h0cwoKMjAxMS0wNi0yOSAxNToxNDoyOSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGdzdC1jYW1lcmFiaW4yLXRlc3Q6IEFkZCBhdWRpbyBjYXB0dXJlIGNhcHMgb3B0aW9uCgoyMDExLTA4LTAyIDE1OjE0OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IE1ha2UgYWNjZXNzIHRvIHRoZSBsaXN0IG9mIGZyYW1lcyB0aHJlYWRzYWZlCgoyMDExLTA4LTAyIDIzOjUzOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgYmF5ZXI6IGJhY2sgYXJvdW5kIGNvbXBpbGVyIHdhcm5pbmdzIGluIG9yYy1nZW5lcmF0ZWQgY29kZSBieSBkaXNhYmxpbmcgLVdlcnJvciBmb3IgdGhpcyBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjY3NwoKMjAxMS0wOC0wMiAyMjo1NzoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSAgRml4IHNvbWUgbW9yZSB2YXJpYWJsZS1zZXQtYnV0LW5vdC11c2VkIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA4LTAyIDIxOjE0OjA2ICswMjAwICBSb2JlcnQgSm9iYmFneSA8am9iYmFneS5yb2JlcnRAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBGaXggY2FtZXJhYmluMiBHX09CSkVDVCBjYXN0CgkgIEFkZHMgbWlzc2luZyBjYXN0IHRvIGZpeCBidWlsZCBlcnJvci4KCjIwMTEtMDgtMDIgMTA6NDk6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBXb3JrYXJvdW5kIGZvciByaW5nYnVmZmVyIG5vdCByZXN5bmNpbmcgb24gUkVBRFkKCSAgQWRkIGEgd29ya2Fyb3VuZCB0byBmaXggdGltZXN0YW1wcyBtZWFud2hpbGUgYnVnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgzNTkgaXMgZml4ZWQuCgoyMDExLTA3LTMwIDE2OjEyOjMxICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yIHJlbW92ZSByZWR1bmRhbnQgdmlld2ZpbmRlci1jb2xvcnNwYWNlIGFuZCB2aWV3ZmluZGVyLXNjYWxlCgkgIGNhbXJhYmluMiBjb25uZWN0cyBhIHZpZXdmaW5kZXJiaW4gb24gInZmc3JjIi4gdmlld2ZpbmRlcmJpbiBpcyBtYWRlIG9mOgoJICB2ZmJpbi1jc3AgISB2ZmJpbi12aWRlb3NjYWxlICEgdmlkZW9zaW5rLgoJICB3ZSBzaG91bGQgZWl0aGVyIHJlbW92ZSBjc3AvdmlkZW9zY2FsZSBmcm9tIHdyYXBwZXJjYW1lcmFiaW5zcmMgKGFzCgkgIGRvbmUgaW4gdGhpcyBwYXRjaCkgb3Igd2Ugc2hvdWxkIGdldCByaWQgb2Ygdmlld2ZpbmRlcmJpbiBhbHRvZ2V0aGVyLgoKMjAxMS0wNy0yNiAwNjowNDo0MSArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IHJlbW92ZSB1bnVzZWQgZ2V0X2FsbG93ZWRfaW5wdXRfY2FwcwoJICBUaGUgdXNlIG9mIHRoaXMgbWV0aG9kIHdhcyByZW1vdmVkIGluOgoJICBjb21taXQgNTM5ZjEwZjRkOTllMWEwNzQ4ODEyODkyNTRkMWQxMDkxNTljZjllNQoJICBiYXNlY2FtZXJhc3JjOiBNb3JlIGNsZWFudXAKCSAgVGhlIGNvZGUgZnJvbSB3cmFwcGVyY2FtZXJhYmluc3JjIGlzIGZyb20gdjRsMmNhbWVyYXNyYyBidXQgaXMgdW51c2VkOgoJICBnZXRfYWxsb3dlZF9pbnB1dF9jYXBzIGlzIG5vdCBjYWxsZWQgYW55d2hlcmUuCgoyMDExLTA3LTI2IDA1OjU5OjA5ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IGRvbid0IHVzZSBjbGFzcyBvZmZzZXRzIGZvciBzdGFydC9zdG9wLWNhcHR1cmUgc2lnbmFsIGhhbmRsZXJzCgoyMDExLTA3LTI2IDA1OjQzOjM0ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBkb2N1bWVudCB3aHkgd2Ugc2V0IHByZXZpZXcgdG8gUExBWUlORwoKMjAxMS0wNy0yNiAwNDo0Mjo0OSArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogZG9jdW1lbnQgY2FsbGJhY2tzCgkgIE5vdGUgZm9yIGVhY2ggY2FsbGJhY2s6CgkgIC0gd2hlbiBpdCBpcyBjYWxsZWQsCgkgIC0gd2hldGhlciBpdCBpcyBtYW5kYXRvcnkgb3Igb3B0aW9uYWwuCgoyMDExLTA3LTI2IDAzOjA0OjQ3ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiBwcmV2aWV3OiByZW1vdmUgdW51c2VkIG5ld19wcmVyb2xsIGNhbGxiYWNrCgoyMDExLTA3LTI4IDEzOjE4OjU3IC0wMzAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFN5bmNocm9uaXplIGNsb2NrIGFuZCBiYXNlIHRpbWUgdG8gYXVkaW9zcmMKCSAgV2hlbiBhdWRpbyBzb3VyY2UgZ29lcyB0byBSRUFEWSBpdCBsb3NlcyBpdHMgY2xvY2sgYW5kIGJhc2UgdGltZSwKCSAgdGhpcyBwYXRjaCBzZXRzIHRoZW0gYmFjayBhZnRlciBicmluZ2luZyB0aGUgYXVkaW8gc291cmNlIGJhY2sgdG8gUEFVU0VELgoKMjAxMS0wNy0yOCAxMjo1NjoxMiAtMDMwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBQcmV2ZW50IGF1ZGlvIHNvdXJjZSBmcm9tIHByb3ZpZGluZyBjbG9jawoJICBUaGUgYXVkaW8gc291cmNlIGluc2lkZSBjYW1lcmFiaW4yIGlzIHB1dCB0byBSRUFEWSBhbmQgYmFjayB0bwoJICBQTEFZSU5HIHdoZW4gc3RhcnRpbmcgY2FwdHVyZSwgY2F1c2luZyB0aGUgcGlwZWxpbmUgdG8gbG9zZSBpdHMKCSAgY2xvY2suIEFzIGNhbWVyYWJpbjIgaXNuJ3QgcHV0IHRvIFBBVVNFRC0+UExBWUlORyBhZ2FpbiBkdXJpbmcKCSAgdGhpcywgYSBuZXcgY2xvY2sgaXNuJ3Qgc2VsZWN0ZWQgZm9yIGVsZW1lbnRzLgoKMjAxMS0wNi0zMCAxMTowOTo0NCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBBZGQgZmxhZ3MgcHJvcCB0byB0b2dnbGUgZW5jb2RlYmluIGNvbnZlcnNpb24gZWxlbWVudHMKCSAgQSBmbGFncyBwcm9wZXJ0eSBoYXMgYmVlbiBhZGRlZCB0byBlbmNvZGViaW4gdG8gdG9nZ2xlIHdoZXRoZXIgdGhlCgkgIGNvbnZlcnNpb24gZWxlbWVudHMgKGZmbXBlZ2NvbG9yc3BhY2UsIHZpZGVvc2NhbGUsIGF1ZGlvY29udmVydCwKCSAgYXVkaW9yZXNhbXBsZSwgYXVkaW9yYXRlKSBhcmUgY3JlYXRlZCBhbmQgbGlua2VkIGludG8gdGhlIGFwcHJvcHJpYXRlCgkgIGJyYW5jaGVzIG9mIGVuY29kZWJpbi4KCSAgTm90IGluY2x1ZGluZyB0aGVzZSBlbGVtZW50cyBhdm9pZHMgc29tZSBzbG93IGNhcHMgbmVnb3RpYXRpb24gYW5kCgkgIGFsbG93cyB0aGUgZmlyc3QgYnVmZmVycyB0byBmbG93IHRocm91Z2ggZW5jb2RlYmluIG11Y2ggbW9yZSBxdWlja2x5LgoJICBIb3dldmVyLCBpdCBpbXBvc2VzIHRoYXQgdGhlIHVuY29tcHJlc3NlZCBpbnB1dCBpcyBhcHByb3ByaWF0ZSBmb3IgdGhlCgkgIHRhcmdldCBwcm9maWxlIGFuZCBlbGVtZW50cyBzZWxlY3RlZCB0byBtZWV0IHRoYXQgcHJvZmlsZS4KCjIwMTEtMDYtMjkgMTU6MzU6NDIgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogUHJlcGFyZSBhdWRpb3NyYyBiZWZvcmUgc3RhcnQtY2FwdHVyZQoJICBJZiB3ZSBicmluZyB0aGUgYXVkaW8gc291cmNlIHVwIHRvIHRoZSBQQVVTRUQgc3RhdGUgYmVmb3JlIGVtaXR0aW5nIHRoZQoJICBzdGFydC1jYXB0dXJlIHNpZ25hbCB0byB0aGUgY2FtZXJhIHNvdXJjZSwgd2hlbiBzdWJlcXVlbnRseSB0YWtpbmcgdGhlCgkgIGF1ZGlvIHNvdXJjZSB0byB0aGUgUExBWUlORyBzdGF0ZSwgaXQgd2lsbCBiZWdpbiBjYXB0dXJlIG1vcmUgcXVpY2tseS4KCjIwMTEtMDYtMjkgMTU6MTg6NDcgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZW1vdmUgcmVkdW5kYW50IGVsZW1lbnRzCgkgIFNpbmNlIGNhbWVyYWJpbjIgaGFzIHN3aXRjaGVkIHRvIGVuY29kZWJpbiBhbmQgZW5jb2RlYmluIGhhcyBpdHMgb3duCgkgIHF1ZXVlcyBhbmQgY29udmVyc2lvbiBlbGVtZW50cywgdGhvc2UgcHJlY2VkaW5nIGVuY29kZWJpbiBhcmUgbm8gbG9uZ2VyCgkgIG5lY2Vzc2FyeSBhbmQgYXMgc3VjaCBjYW4gYmUgcmVtb3ZlZC4KCjIwMTEtMDgtMDIgMTI6MjQ6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IERlZmluZSBsaXN0IG9mIG5vbi1wb3J0ZWQgcGx1Z2lucwoKMjAxMS0wOC0wMiAxMTo0Mjo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24gc3VibW9kdWxlCgoyMDExLTA4LTAxIDE4OjQ5OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFRha2UgaW50byBhY2NvdW50IHVwc3RyZWFtIG5ld3NlZ21lbnQgZXZlbnRzCgkgIElmIHRoZSBpbmNvbWluZyBuZXdzZWdtZW50IGV2ZW50IHdhcyBpbiB0aW1lLCB1c2UgdGhhdCBwb3NpdGlvbiB2YWx1ZQoJICBmb3IgdGhlIGRvd25zdHJlYW0gbmV3c2VnbWVudHMuCgoyMDExLTA4LTAxIDE4OjQ4OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogU2VuZCBORVdTRUdNRU5UIGV2ZW50cwoJICBQcmV2aW91c2x5IGhsc2RlbXV4IHdhc24ndCBzZW5kaW5nIG91dCBhbnkgbmV3c2VnbWVudC4KCSAgSGVyZSB3ZSBwdXNoIGEgR1NUX0ZPUk1BVF9USU1FIG5ld3NlZ21lbnQsIGFuZCB3aGVuZXZlciBwb3NzaWJsZSB3ZQoJICB0cnkgdG8gaW5kaWNhdGUgdGhlIHByb3BlciBzdGFydCB0aW1lLgoJICBUaGlzIGFsbG93cyBkb3duc3RyZWFtIGVsZW1lbnRzIHRvIHJlbGF5IHRoZSBzdGFydC90aW1lIHZhbHVlcyBwcm9wZXJseQoJICB0byB0aGUgc2lua3MsIGFsbG93aW5nIGJldHRlciBzdHJlYW0gc3dpdGNoaW5nLgoKMjAxMS0wOC0wMSAxNTo0NjoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBSZW1vdmUgcHJvZ3JhbXMgb24gRU9TCgkgIEFsbG93cyBzdWJjbGFzc2VzIHRvIHByb3Blcmx5IGZsdXNoIG91dCBwZW5kaW5nIGRhdGEuCgoyMDExLTA4LTAxIDEwOjU0OjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlZmFjdG9yIHN0cmVhbS9wcm9ncmFtIHJlbW92YWwKCSAgVGhlIHByb2dyYW1fc3RvcHBlZCB2bWV0aG9kIHdhcyBjYWxsZWQgYmVmb3JlIHN0cmVhbV9yZW1vdmVkIHZtZXRob2QKCSAgd2FzIGJlaW5nIGNhbGxlZC4gU2luY2Ugd2Ugb25seSBkaWQgc3RyZWFtLXJlbGF0ZWQgb3BlcmF0aW9ucyBpbiB0aGVyZSwKCSAgd2UganVzdCByZW1vdmUgdGhlIHByb2dyYW1fc3RvcHBlZCB2bWV0aG9kIGFuZCBkbyBldmVyeXRoaW5nIGluIHRoZQoJICBzdHJlYW1fcmVtb3ZlZCBvbmUuCgkgIEFsc28sIG1ha2Ugc3VyZSB3ZSBmbHVzaCBvdXQgYWxsIHBlbmRpbmcgZGF0YSBiZWZvcmUgc2VuZGluZyBFT1MuCgoyMDExLTA3LTI4IDE4OjIxOjA0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBQcmV2ZW50IHN0YWNrIGdhcmRlbmluZyBieSB1c2luZyB0aGUgcmlnaHQgdHlwZQoJICBzdHJlYW1fdHlwZSBpcyBzdG9yZWQgYXMgZ3VpbnQgaW5zaWRlIHRoZSBHc3RTdHJ1Y3R1cmUgYnV0IHdhcyByZXRyZWl2ZWQKCSAgdXNpbmcgdmFsaXN0IHdpdGggYSBwb2ludGVyIHRvIGd1aW50MTYuIFRoaXMgd291bGQgY2F1c2Ugc3RhY2sgZ2FyZGVuaW5nCgkgIHdoZW4gY29kZSBpcyBjb21waWxlZCB3aXRob3V0IG9wdGltaXNhdGlvbiAoZS5nLiBpbiAtTzAgdGhlIGNvbXBpbGVyIHdvbnQKCSAgcGFkIHRoZSBzdGFjayB0byBvcHRpbWlzZSBvdXQgcmVxdWlyZWQgbWFzaykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTU1NDAKCjIwMTEtMDctMjkgMjE6MjY6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJICB0ZXN0czogZml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gZmFhZCB1bml0IHRlc3QKCjIwMTEtMDctMjkgMTk6NDM6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguaDoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuaDoKCSAgaWQzbXV4OiB1c2Ugbm93LXB1YmxpYyBHc3RUYWdNdXggYmFzZSBjbGFzcyBmcm9tIGxpYmdzdHRhZwoKMjAxMS0wNy0yOCAyMDozODozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJICB0YWdtdXg6IHJlcXVpcmUgc3ViY2xhc3MgdG8gaW5zdGFsbCBzaW5rIHBhZCB0ZW1wbGF0ZQoJICBSZXF1aXJlIHRoZSBzdWJjbGFzcyB0byBpbnN0YWxsIGJvdGggc291cmNlIGFuZCBzaW5rIHBhZAoJICB0ZW1wbGF0ZXMuIEFsc28sIHByaW50IHNvbWUgd2FybmluZ3MgaWYgdGhlIHN1YmNsYXNzIGRvZXNuJ3QKCSAgZG8gdGhhdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU1NTQzNwoKMjAxMS0wNy0yNyAyMjozNDoyMyArMDIwMCAgUm9iZXJ0IEpvYmJhZ3kgPGpvYmJhZ3kucm9iZXJ0QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuaDoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0Lmg6CgkgIGdzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdDogdGVzdCB0b29sIHdoYXQgY2FuIHRvIGRvIGR5bmFtaWMgY2hhbmdlIHByb3BlcnRpZXMKCjIwMTEtMDctMjcgMTg6NTg6MTUgKzAyMDAgIFJvYmVydCBKb2JiYWd5IDxqb2JiYWd5LnJvYmVydEBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmNwcDoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmg6CgkgIG1vdGlvbmNlbGxzOiBuZXcgZWxlbWVudCB0byBkZXRlY3QgYXJlYXMgb2YgbW90aW9uCgoyMDExLTA3LTI2IDE3OjAyOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBoc2xkZW11eDogSGFuZGxlIGNoYW5nZSBvZiBtZWRpYSB0eXBlcwoJICBXaGVuIHN3aXRjaGluZyBiaXRyYXRlcywgd2UgbWlnaHQgZW5kIHVwIHN3aXRjaGluZyB0byBhIGRpZmZlcmVudAoJICBtZWRpYS10eXBlIChsaWtlIGZyb20gYWFjIHRvL2Zyb20gbXBlZy10cykuCgkgIEZvciB0aGlzIHN3aXRjaCB0byBiZWhhdmUgcHJvcGVybHkgaW4gZGVjb2RlYmluMiwgdGhpcyBwYXRjaCBhZGRzOgoJICAqIGR5bmFtaWMgc291cmNlIHBhZHMgKHdoaWNoIHdpbGwgYmUgYWRkZWQvcmVtb3ZlZCB3aGVuZXZlciBhIHN0cmVhbQoJICBtZWRpYSB0eXBlIGNoYW5nZXMKCSAgKiByZS1jaGVja2luZyB0aGUgZnJhZ21lbnQgbWVkaWEgdHlwZSB3aGVuZXZlciB3ZSBzd2l0Y2ggdG8gYSBkaWZmZXJlbnQKCSAgcGxheWxpc3QKCjIwMTEtMDctMjYgMTM6NDc6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG9sZCBjb21waWxlcnMKCjIwMTEtMDctMjcgMTE6MDI6NDEgKzAxMDAgIE9sYWYgU2VpYmVydCA8cmhpYWx0b0BhemVub21laS5rbnVmZmVsLm5ldD4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCB3cm9uZyB1c2FnZSBvZiBHU1RfRUxFTUVOVF9FUlJPUiBtYWNyb3MgYW5kIGNvbXBpbGF0aW9uIG9uIE5ldEJTRAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1MzE5CgoyMDExLTA3LTI3IDEwOjU2OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0cGNhcHBhcnNlLmM6IEluIGZ1bmN0aW9uICdnc3RfcGNhcF9wYXJzZV9jaGFpbic6CgkgIGdzdHBjYXBwYXJzZS5jOjM4MTo2OiBlcnJvcjogJ2V0aF90eXBlJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9dW5pbml0aWFsaXplZF0KCSAgZ3N0cGNhcHBhcnNlLmM6MzU0OjExOiBub3RlOiAnZXRoX3R5cGUnIHdhcyBkZWNsYXJlZCBoZXJlCgoyMDExLTA3LTI2IDE5OjExOjE2ICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogZml4IFNMTCBwYXJzaW5nCgkgIFRoZSBjdXJyZW50IGNvZGUgaXMgbm90IGNoZWNraW5nIGZvciBldGhlcm5ldCB0eXBlLCBhcyBpdCdzIHN1cHBvc2VkIHRvLAoJICBidXQgbGluayBsYXllciBkZXZpY2UgdHlwZSBhbmQgaXQncyBoYXJkLWNvZGVkIHRvIG9ubHkgYWNjZXB0IGR1bXBzIGZyb20KCSAgZXRoZXJuZXQgKEFSUEhSRF9FVEhFUjsgMSkuIFdlIGRvbid0IGNhcmUgd2hlcmUgdGhlIGR1bXAgd2FzIGZldGNoZWQKCSAgZnJvbSAod2xhbiwgM0csIGV0Yy4pCgkgIFdoYXQgd2UgY2FyZSBhYm91dCBpcyB0aGUgdGhhdCB0aGUgZXRoZXJuZXQgdHlwZSBpcyBJUCAoRVRIRVJORVRfSVA7CgkgIDB4ODAwKSwgd2hpY2ggaXMgY2xlYXJseSBmaWVsZCAxNDoKCSAgaHR0cDovL3d3dy50Y3BkdW1wLm9yZy9wY2FwM19tYW4uaHRtbAoJICBBbmQgZG8gYSBiaXQgb2YgY2xlYW51cC4KCSAgU2lnbmVkLW9mZi1ieTogRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0Bub2tpYS5jb20+CgoyMDExLTA3LTIxIDEzOjI2OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2Jhc2UvdHNkZW11eDogRml4IHN0cmVhbS9wYWQgYWN0aXZhdGlvbiBvcmRlcgoJICBXZSBmaXJzdCBhY3RpdmF0ZSBuZXcgc3RyZWFtcyBiZWZvcmUgc2h1dHRpbmcgZG93biBvbGQgb25lcy4KCSAgV2UgZW1pdCBuby1tb3JlLXBhZHMgYWZ0ZXIgd2UgYWRkIG5ldyBzdHJlYW1zIGFuZCBlbWl0IEVPUyBiZWZvcmUKCSAgcmVtb3Zpbmcgb2xkIG9uZXMuCgkgIEFsc28gY2xlYW51cC9yZWZhY3RvciBhIGJpdCBtb3JlIG9mIHRoZSBjb2RlIGFjY29yZGluZ2x5CgoyMDExLTA3LTIyIDEyOjI2OjA3ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvUE9SVElORzoKCSAgY2FtZXJhYmluMjogYWRkIGxvY2F0aW9uPU5VTEwgZG9jcyB0byBQT1JUSU5HCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE5MTgKCjIwMTEtMDctMjIgMTE6Mzg6MzAgKzAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBJZiBsb2NhdGlvbiBpcyBOVUxMIGRvIG5vdCBlbmNvZGUgaW1hZ2VzCgkgIFVzaW5nIGEgTlVMTCBzdHJpbmcgZm9yIGxvY2F0aW9uIG1lYW5zIHRoYXQgdGhlIGFwcGxpY2F0aW9uCgkgIGRvZXNuJ3Qgd2FudCB0aGUgaW1hZ2UgdG8gYmUgZW5jb2RlZCwgYnV0IHdhbnRzIHRvIHJlY2VpdmUKCSAgdGhlIHByZXZpZXcgaW1hZ2UuIChPbmx5IHdvcmtzIGZvciBpbWFnZSBjYXB0dXJlcykKCSAgVXNlZnVsIGZvciBhcHBsaWNhdGlvbiB0aGF0IHdhbnQgdGhlIGNhcHR1cmUgaW4gbWVtb3J5IG9ubHksIGxpa2UKCSAgZGlzcGxheWluZyB0byB0aGUgdXNlciBiZWZvcmUgaXQgY2hvc2VzIHRvIGVuY29kZSBvciB0YWtlIGFub3RoZXIKCSAgcGljdHVyZSBpbiBhdmF0YXIgY2FwdHVyaW5nIHNjZW5hcmlvcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTkxOAoKMjAxMS0wNy0yMSAwODowNDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBVcGRhdGUgZm9yIEdzdEJhc2VWaWRlb0VuY29kZXI6OmZpbmlzaCgpIHNpZ25hdHVyZSBjaGFuZ2UKCjIwMTEtMDctMjEgMDg6MDM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgZm9yIEdzdEJhc2VWaWRlb0VuY29kZXI6OmZpbmlzaCgpIHNpZ25hdHVyZSBjaGFuZ2UKCjIwMTEtMDctMjEgMDg6MDM6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogVXBkYXRlIGZvciBHc3RCYXNlVmlkZW9FbmNvZGVyOjpmaW5pc2goKSBzaWduYXR1cmUgY2hhbmdlCgoyMDExLTA3LTIxIDA1OjQ0OjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEFsbG93IGZpbmlzaGluZyBvZiBmcmFtZXMgd2l0aCBubyBzcmNfYnVmZmVyIHRvIGRyb3AvZnJlZSB0aGUgR3N0VmlkZW9GcmFtZQoKMjAxMS0wNy0yMCAwODozOTo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBPbmx5IGdldCBjYXBzIGZyb20gdGhlIHN1YmNsYXNzIGlmIHRoZXkgd2VyZSBub3Qgc2V0IHlldCBieSB0aGUgc3ViY2xhc3MKCjIwMTEtMDctMjAgMDk6MjU6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogRGVsYXkgc2VuZGluZyBvZiBzZXJpYWxpemVkIHNpbmsgZXZlbnRzIHVudGlsIGZpbmlzaF9mcmFtZSgpCgoyMDExLTA3LTIwIDA5OjA5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEFkZCA6OnJlc2V0IHZmdW5jIGFuZCBoYW5kbGUgOjpyZXNldC86OmZpbmlzaCB0aGUgc2FtZSB3YXkgYXMgaW4gdGhlIGRlY29kZXIKCjIwMTEtMDctMjAgMTk6MTY6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJICBwZXNwYXJzZTogRml4IHN0dWZmaW5nIGJ5dGUgaGFuZGxpbmcKCSAgV2UgaW4gZmFjdCBnZXQgdGhlIHNpemUgb2YgdGhlIGhlYWRlciAoaW5jbHVkaW5nIHN0dWZmaW5nIGJ5dGVzKSwgdGhlcmVmb3JlCgkgIHVzZSB0aGF0IGluc3RlYWQgb2YgdHJ5aW5nIHRvIHNraXAgMHhmZiBieXRlcyBvdXJzZWx2ZXMgc2luY2Ugc29tZSBtZWRpYQoJICBzdHJlYW1zIGRvIHN0YXJ0IHdpdGggMHhmZiAobGlrZSBtcGVnIGF1ZGlvJ3MgaW5pdGlhbCAweGZmZikuCgoyMDExLTA3LTE4IDE0OjUzOjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgRml4IGNvbXBpbGF0aW9uIGZvciB1bnVzZWQgYnV0IG5vdCBzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDU3MgoKMjAxMS0wNy0yMCAwODo1Nzo0NyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wNy0xOSAxMjo1MDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBVc2UgYSB0ZW1wb3JhcnkgR3N0VmlkZW9TdGF0ZSB1bnRpbCB0aGUgc3ViY2xhc3MgYWNjZXB0ZWQgdGhlIGNhcHMKCSAgQWxzbyBzdG9yZSB0aGUgY2FwcyBpbiB0aGUgR3N0VmlkZW9TdGF0ZSBhbmQgYXNzdW1lIGEgUEFSIG9mIDEvMSBpbnN0ZWFkCgkgIG9mIDAvMSBpZiBubyBQQVIgaXMgc3BlY2lmaWVkIGluIHRoZSBjYXBzLgoKMjAxMS0wNy0xOSAwOTozNjo1MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2Jhc2UvdHNkZW11eDogQWRkIG1vcmUgY29tbWVudHMgYW5kIHJlbW92YWwgdW51c2VkIHZhcmlhYmxlCgoyMDExLTA3LTE5IDA5OjM2OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogQXZvaWQgZG91YmxlIHJlbW92YWwgb2Ygc3RyZWFtcwoJICBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIFBDUiBwaWQgaXMgdGhlIHNhbWUgYXMgYSBhdWRpby92aWRlbyBQSUQuCgoyMDExLTA3LTE5IDA5OjM0OjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzYmFzZTogQWRkIGEgR0xpc3Qgb2Ygc3RyZWFtcyB0byB0aGUgcHJvZ3JhbQoJICBBbGxvd3MgZmFzdGVyIGl0ZXJhdGlvbiBvZiBhbGwgcHJvZ3JhbSBzdHJlYW1zLgoJICBXZSBzdGlsbCBrZWVwIHRoZSBBcnJheSB0byBhbGxvdyBmYXN0IHJldHJpZXZhbCBvZiBzdHJlYW0gYnkgUElELgoKMjAxMS0wNy0xOSAwODo0NTo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2Jhc2U6IFVzZSBhIGJpdCBhcnJheSBpbnN0ZWFkIG9mIGFuIGFycmF5IG9mIGdib29sZWFuCgkgIE1ha2VzIGtub3dfcHNpIGFuZCBpc19wZXMgMzIgdGltZXMgc21hbGxlcgoKMjAxMS0wNy0xOSAwODozNzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDctMTggMTQ6MTQ6MzEgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBmaXggaGFybWxlc3MgdHlwbyBpbiB2YXJpYWJsZSBpbml0aWFsaXphdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODQwCgoyMDExLTA3LTEyIDE5OjA0OjI3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZW1vdmUgYSBjaGVjayBtYWRlIHVzZWxlc3MgYnkgdGhlIGxhc3QgY29tbWl0CgoyMDExLTA3LTEyIDE5OjAxOjQ3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhc3N1bWUgYnl0ZS1zdHJlYW0gaWYgc3RyZWFtLWZvcm1hdCBhbmQgY29kZWNfZGF0YSBhcmUgbWlzc2luZyBmcm9tIGlucHV0IGNhcHMKCjIwMTEtMDctMDYgMjM6MjQ6MjcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGlnbm9yZSBjb2RlY19kYXRhIGlmIHN0cmVhbS1mb3JtYXQ9Ynl0ZS1zdHJlYW0KCSAgU29tZSBlbmNvZGVycyBzZXQgY29kZWNfZGF0YSBldmVuIHdoZW4gb3V0cHV0dGluZyBieXRlLXN0cmVhbS4gQmVmb3JlIHRoaXMgcGF0Y2gKCSAgaDI2NHBhcnNlIHdvdWxkIGluY29ycmVjdGx5IGRldGVjdCBzdWNoIHN0cmVhbXMgYXMgQVZDLgoKMjAxMS0wNy0xOCAwOToxMjoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVzZSBzdGFuZGFsb25lIFBFUyBwYXJzZXIKCjIwMTEtMDctMTcgMTQ6MTc6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBzdGFuZGFsb25lIFBFUyBwYXJzZXIKCjIwMTEtMDctMTcgMDk6NDk6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSAgbXBlZ2RlZnM6IGNsYXJpZnkgc29tZSBzdHJlYW0gaWRzCgoyMDExLTA3LTE2IDEzOjUxOjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogd2hvb3BzLCB0c2RlbXV4IGlzbid0IHJlYWR5IHlldCBmb3IgcHJpbWFyeSByYW5rIDopCgoyMDExLTA3LTE2IDEzOjQ3OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgbXBlZ3RzYmFzZS90c2RlbXV4OiBDbGVhbnVwcyBhbmQgY29tbWVudHMKCjIwMTEtMDctMTYgMTM6NDQ6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggbmV3c2VnbWVudCBjcmVhdGlvbiBmb3IgcHVzaCBtb2RlCgkgIEFuZCBhbGwgcmVsZXZlbnQgY29tbWVudHMgdG8gd2hhdCBpdCBzaG91bGQgYmUgZG9pbmcsIHJlZmFjdG9yIGV2ZXJ5dGhpbmcKCSAgYSBiaXQuIFN0aWxsIG5vdCBwZXJmZWN0IC4uLiBidXQgYmV0dGVyLgoJICBGaXhlcyAjNjU0NjU3CgoyMDExLTA3LTE1IDEyOjA4OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IFN0b3JlIGluY29taW5nIG5ld3NlZ21lbnRzCgoyMDExLTA3LTE1IDIwOjU3OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4Lmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmg6CgkgIHRhZ211eDogY29uc3QtaWZ5IEdzdFRhZ0xpc3QgYXJndW1lbnQgb2YgcmVuZGVyIHZmdW5jcwoKMjAxMS0wNy0xNSAyMDozOToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICB0YWdtdXg6IGZpeCB1cCBwcml2YXRlIGJhc2UgY2xhc3MgaGVhZGVyIHNvIGl0IGNhbiBiZSBtYWRlIHB1YmxpYwoJICBNb3ZlIHByaXZhdGUgYml0cyBpbnRvIGEgcHJpdmF0ZSBzdHJ1Y3QsIGFkZCBzb21lIHBhZGRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NTU0MzcKCjIwMTEtMDctMTUgMTY6MTA6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBXZSBuZWVkIGNvcmUvYmFzZSBmcm9tIGdpdAoJICBVcGRhdGUgcmVxdWlyZW1lbnRzIGFmdGVyIG91dC1vZi1vcmRlciAwLjEwLjM1IHJlbGVhc2UKCjIwMTEtMDctMTMgMTc6MTU6MzYgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBmaXggbmFtZSBvZiAnaW1hZ2UtZG9uZScgYnVzIG1lc3NhZ2UKCSAgVXNlIHRoZSBjb3JyZWN0IGJ1cyBtZXNzYWdlIGZvciBjYW1lcmFiaW4yIGltYWdlIGRvbmUgYW5kIHJlbW92ZXMKCSAgY2hlY2sgdGhhdCBpcyBubyBsb25nZXIgbmVlZGVkIGZvciB0aGVzZSB0ZXN0cy4KCjIwMTEtMDctMTUgMTA6MDQ6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiByZW5hbWUgb2Zmc2V0IHByb3BlcnR5IHRvIHRzLW9mZnNldAoJICAuLi4gc28gYXMgdG8gcHJvbW90ZSBjb25zaXN0ZW5jeSB3aXRoIHNvbWUgb3RoZXIgZWxlbWVudHMgaW4gdGhlIHdpbGQuCgoyMDExLTA3LTE0IDE5OjMwOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXU6IGZpeCBzb21lIHZhcmlhYmxlLXNldC1idXQtdW51c2VkIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA3LTE1IDAwOjAzOjEwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IGFjdHVhbGx5IHNldCBzZWVuX3BhdD1UUlVFIHdoZW4gd2Ugc2VlIGEgUEFUCgoyMDExLTA2LTI2IDIwOjMyOjUzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIG5lb25odHRwc3JjOiBpbXBsZW1lbnQgVVJJIHF1ZXJ5CgoyMDExLTA3LTE0IDIyOjA4OjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogU3BsaXQgdXAgd2hldGhlciB3ZSBzYXcgYSBQQVQgYW5kIGl0cyBvZmZzZXQKCSAgRml4ZXMgdGhlIGlzc3VlIHdpdGggc3RyZWFtcyB0aGF0IGRvbid0IHNldCBhbiBvZmZzZXQgb24gdGhlaXIgYnVmZmVycywKCSAgbGlrZSB0aG9zZSBjb21pbmcgZnJvbSBobHNkZW11eC4KCSAgRml4ZXMgIzY1MzQ4MQoKMjAxMS0wNy0xNCAxNzowNjozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IHByb3Blcmx5IGFwcGx5IHRzIG9mZnNldAoKMjAxMS0wNy0xNCAxNjo1MDoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBwY2FwcGFyc2U6IG9wdGlvbmFsbHkgb3V0cHV0IHJlbGF0aXZlIHRpbWVzdGFtcHMsIHBvc3NpYmx5IHNoaWZ0ZWQgYnkgb2Zmc2V0CgkgIFRoYXQgaXMsIG91dHB1dCB0aW1lc3RhbXBzIGNhbiB0aGVuIGVpdGhlciBiZSB0aGUgYWJzb2x1dGUgY2FwdHVyZSB0aW1lLAoJICBvciB0aGUgcmVsYXRpdmUgY2FwdHVyZSB0aW1lICh3LnIudC4gdG8gZmlyc3Qgb3V0cHV0IGJ1ZmZlciksIG9yIHRoZSByZWxhdGl2ZQoJICBjYXB0dXJlIHRpbWUgaW5jcmVtZW50ZWQgYnkgc29tZSBvZmZzZXQuCgoyMDExLTA3LTE0IDE2OjQwOjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogYWxzbyBzdXBwb3J0IGV4dHJhY3RpbmcgdGNwIGRhdGEKCjIwMTEtMDctMTQgMTQ6Mzc6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBhZGQgc29tZSBtb3JlIHVuaXQgdGVzdCBiaW5hcmllcyB0byAuZ2l0aWdub3JlCgoyMDExLTA3LTEzIDEzOjQ0OjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIGRvY3M6IFJldmVydCB3cm9uZ2x5IGNvbW1pdHRlZCBjaGFuZ2VzIHRvIC5hcmdzLy5oaWVyYXJjaHkKCjIwMTEtMDctMTMgMTM6NDI6MDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFJlc3RvcmUgc29tZSB1bnVzZWQgdmFyaWFibGVzIGFzIGNvbW1lbnRzCgoyMDExLTA3LTEzIDEzOjM5OjQ2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IFJlc3RvcmUgZXJyb25lb3VzbHkgcmVtb3ZlZCBkYXRhKysKCSAgQWxzbywgcHV0IGJhY2sgc29tZSB1bnVzZWQgY29kZSBpbiBjb21tZW50IGFuZCByZXBsYWNlIC8vIGNvbW1lbnRzIGJ5IC8qICovCgoyMDExLTA3LTEzIDEzOjM4OjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWdkZW11eDogUmVzdG9yZSBlcnJvbmVvdXNseSByZW1vdmVkIGRhdGErKwoJICBBbHNvLCBwdXQgYmFjayBzb21lIHVudXNlZCBjb2RlIGluIGNvbW1lbnQgYW5kIHJlcGxhY2UgLy8gY29tbWVudHMgYnkgLyogKi8KCjIwMTEtMDctMTMgMTA6NDI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZWRpbmdlcjogRml4IGNvbXBpbGF0aW9uIGFuZCBzZXQtYnV0LW5vdC11c2VkIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA3LTEzIDEwOjMzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IEZpeCBjb21waWxhdGlvbiBieSBpbmNsdWRpbmcgdGhlIG5ldyBnc3RiYXNldmlkZW91dGlscy5oIGhlYWRlciBhbmQgZml4aW5nIHNvbWUgc2V0IGJ1dCBub3QgdXNlZCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODoyMjozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGV4YW1wbGVzL2NhbWVyYWJpbjogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjIwOjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MTg6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJICByZXNpbmR2ZDogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjE2OjU0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MTM6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5jOgoJKiBzeXMvZHZiL2NhbXNlc3Npb24uYzoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSAgZHZiOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MTA6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIHZpZGVvbWVhc3VyZTogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjA5OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSAgdHRhOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MDg6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkgIHNkaTogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjA1OjI1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MDM6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IFJlamVjdCB1bmtub3duIGJpdHN0cmVhbSB2ZXJzaW9ucwoKMjAxMS0wNy0xMiAxNzo1OTo1NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE3OjU3OjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTc6NTY6MjUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxNzo1MzozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4IHVudXNlZC1idXQtc2V0IHdhcm5pbmdzCgoyMDExLTA3LTEyIDE3OjUwOjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggdW51c2VkLWJ1dC1zZXQgd2FybmluZ3MKCjIwMTEtMDctMTIgMDE6MTg6MTYgKzA1MzAgIFNhbWVlciBOYWlrIDxzYW1lZXIuc3Vic2NyaXB0aW9uc0BkYW1hZ2VoZWFkLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHNlZ2ZhdWx0IGlmIGdzdF9jb2xsZWN0X3BhZHNfcG9wICgpIHJldHVybnMgbm8gYnVmZmVyCgkgIEluIG1wZWd0c211eF9jaG9vc2VfYmVzdF9zdHJlYW0gKCkgY2FsbCBpZiB0aGUgZ3N0X2NvbGxlY3RfcGFkc19wb3AgKCkgY2FsbAoJICByZXR1cm5zIG5vIGJ1ZmZlciAoTlVMTCksIHRoZSBwbHVnaW4gU2VnRmF1bHRzIGluIHRoZSBnc3RfYnVmZmVyX3VucmVmIGNhbGwuCgkgIFRvIGZpeCB0aGlzIHdlIGNoZWNrIGlmIGEgdmFsaWQgYnVmZmVyIGlzIHJldHVybmVkIGJlZm9yZSBjYWxsaW5nCgkgIGdzdF9idWZmZXJfdW5yZWYgKCkuCgkgIEZpeGVzIGJ1ZyAjNjU0NDE2LgoKMjAxMS0wNy0xMSAxMjo1OTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBGaXJzdCBpbmZvcm0gc3ViY2xhc3MgYWJvdXQgcmVzZXR0aW5nIGJlZm9yZSByZXNldHRpbmcvZnJlZWluZyBhbGwgaW50ZXJuYWwgc3RhdGUKCSAgVGhlIHN1YmNsYXNzIG1pZ2h0IHdhbnQgdG8gYWNjZXNzIHRoZSBvbGQgc3RhdGUuCgoyMDExLTA3LTExIDEyOjM2OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFRyYWNrIHByZXNlbnQgcG9zaXRpb24gb24gZGlzY29udCBiZWZvcmUgcmVzZXR0aW5nIGl0CgoyMDExLTA3LTExIDExOjUyOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IEFsc28gcHJvdGVjdCB0aGUgbGlzdCBvZiBwZW5kaW5nIGZyYW1lcyBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzIHdoZW4gcHVzaGluZyBhbGwgcGVuZGluZ3MgZXZlbnRzCgoyMDExLTA3LTExIDExOjI4OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvY29kZWM6IFByb3RlY3QgYWNjZXNzIHRvIHRoZSBsaXN0IG9mIHBlbmRpbmcgZnJhbWVzIHdpdGggdGhlIG9iamVjdCBsb2NrCgkgIFRoaXMgaXMgcmVxdWlyZWQgaWYgOjpmaW5pc2hfZnJhbWUoKSBhbmQgYWxsIGJ1ZmZlciBvdXRwdXQgaGFwcGVucwoJICBvbiBhIGRpZmZlcmVudCB0aHJlYWQgdGhhbiB0aGUgc2lua3BhZCBzdHJlYW1pbmcgdGhyZWFkLgoKMjAxMS0wNy0xMSAwOTozNToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBTZXQgdGhlIGNvcnJlY3QgbGlzdHMgdG8gTlVMTCBhZnRlciBmcmVlaW5nCgoyMDExLTA3LTExIDA4OjU0OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFdvcmsgd2l0aCBhIGNvcHkgb2YgdGhlIEdzdFZpZGVvU3RhdGUgaW4gc2V0Y2FwcyB1bnRpbCB0aGUgY2FwcyBhcmUgYWNjZXB0ZWQKCSAgQWxzbyBmaXggYSByZWZjb3VudCBwcm9ibGVtIHdpdGggdGhlIGNvZGVjX2RhdGEuCgoyMDExLTA3LTA5IDExOjQwOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBNb3ZlIHRoZSB1dGlscyBmcm9tIHRoZSBjb2RlYyBoZWFkZXIgdG8gaXRzIG93biBoZWFkZXIKCjIwMTEtMDctMDkgMTE6MzE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVc2UgZGVzdHJveSBub3RpZnkgdG8gZnJlZSB0aGUgY29kZXIgaG9vawoKMjAxMS0wNy0wOSAxMTowOToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBVc2UgR1NsaWNlIGZvciBhbGxvY2F0aW5nIEdzdFZpZGVvRnJhbWUgYW5kIGRvbid0IGR1cGxpY2F0ZSBjb2RlIGluIHRoZSBkZWNvZGVyIGJhc2UgY2xhc3MKCjIwMTEtMDYtMjggMTE6NDc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBEb24ndCByZW9yZGVyIHNlcmlhbGl6ZWQgc3JjIGV2ZW50cwoJICBBbmQgYWxsb3cgdG8gZHJvcCBFT1MgYnkgdGhlIHN1YmNsYXNzIGlmIDo6ZmluaXNoIHJldHVybnMKCSAgRFJPUFBFRC4gVGhpcyByZXF1aXJlcyB0aGF0IHRoZSBzdWJjbGFzcyBzZW5kcyBFT1MgbWFudWFsbHkgbGF0ZXIuCgkgIEZpeGVzIGJ1ZyAjNjUzNTQ0LgoKMjAxMS0wNi0yNyAwOTo0MTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogQWRkIHRoZSBjYXBzIHRvIHRoZSBHc3RWaWRlb1N0YXRlIGFuZCBjbGVhbiB1cCBjYXBzL2NvZGVjX2RhdGEgcHJvcGVybHkKCSAgSGF2aW5nIGFjY2VzcyB0byB0aGUgY2FwcyBpbiA6OnNldF9mb3JtYXQgY2FuIGJlIHVzZWZ1bCBpZgoJICBub24tc3RhbmRhcmQgY2FwcyBmaWVsZHMgbGlrZSB0aGUgaDI2NCBhbGlnbm1lbnQgbXVzdCBiZSBhY2Nlc3NlZC4KCjIwMTEtMDctMDkgMTA6NTc6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IEFkZCBkZXN0cm95IG5vdGlmeSBmb3IgdGhlIGNvZGVyX2hvb2sgdG8gcHJldmVudCBtZW1vcnkgbGVha3MKCSAgRml4ZXMgYnVnICM2NTQyOTMuCgoyMDExLTA3LTA4IDExOjUyOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFByb3Blcmx5IHJldHVybiBzZWVraW5nIGVycm9ycyBpZiB0aGUgcmVxdWVzdGVkIHBvc2l0aW9uIGNhbid0IGJlIGZvdW5kCgoyMDExLTA3LTA3IDE2OjAwOjQ0IC0wNzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaW50ZXIvLmdpdGlnbm9yZToKCSAgaW50ZXI6IGFkZCBpZ25vcmUgZmlsZSBmb3IgaW50ZXJtZWRpYXRlIGZpbGVzCgoyMDExLTA3LTA3IDE1OjU5OjA1IC0wNzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJICBkb2NzOiBhZGQgY2FtZXJhYmluMiB0byB0aGUgZG9jcyBhbmQgdXBkYXRlIHRoZSBkb2MgZmlsZXMKCjIwMTEtMDctMDcgMTU6NTU6NTkgLTA3MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJICBjYW1lcmFiaW4yOiBkb24ndCBtZXNzIHdpdGggY2FtZXJhYmluICgxKSBuYW1lc3BhY2UKCSAgVXNlIGFuIGV4dHJhICcyJyB0byBzdGF5IG91dCBvZiB0aGUgb2xkIG5hbWVzcGFjZS4KCjIwMTEtMDctMDcgMTE6MTE6NDIgLTA3MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGtlZXAgc2VjdGlvbiBmaWxlIHNvcnRlZAoKMjAxMS0wNy0wNyAxMDo1Mjo1MCAtMDcwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBpbXByb3ZlIHRoZSBkb2NzCgkgIEZpeCB0aGUgc3ludGF4LCBhZGQgbW9yZSBleHBsYW5hdGlvbiBhbmQgeHJlZiB0aGUgcHJvcGVydGllcy4KCjIwMTEtMDYtMDUgMDA6NTQ6MTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1czogZHVwbGljYXRlIGZyb20gQ0VMVAoJICBDb3B5IHRoZSBjZWx0IHBsdWdpbiBhbmQgY29udmVydCBpdCB0byBPcHVzLiAgTW9zdGx5IHdvcmtzLgoKMjAxMS0wNy0wNiAxNTo1NjozMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogSEQgbW9kZXMgYXJlIHNxdWFyZSBwaXhlbHMKCjIwMTEtMDctMDUgMTA6MTk6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgLURHU1RfVVNFX1VOU1RBQkxFX0FQSSB0byB0aGUgY29tcGlsZXIgZmxhZ3MgdG8gYXZvaWQgd2FybmluZ3MKCjIwMTEtMDctMDQgMTY6MTg6MTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5oOgoJICBkaXJhY3BhcnNlOiBtYWtlIGRpcmFjcGFyc2Ugd29yayBjb3JyZWN0bHkKCjIwMTEtMDctMDMgMTg6MzI6MzcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IHByb3Blcmx5IHNldCB1cCBhbmFsb2cgaW5wdXQKCjIwMTEtMDYtMjggMjM6NDc6MTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBBZGQgbW9yZSBtb2RlcwoKMjAxMS0wNi0wMyAxOTo0MTozMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL2dzdGludGVyLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcjogbmV3IGludGVybWVkaWF0ZSBzdXJmYWNlIHBsdWdpbgoJICBUaGlzIHNldCBvZiBlbGVtZW50cyBhbGxvd3MgZWFzaWx5IHJlbmRlcmluZyBhdWRpbyBhbmQgdmlkZW8gdG8KCSAgYW4gaW50ZXJtZWRpYXRlIHN1cmZhY2UgdGhhdCBpcyB0aGVuIHVzZWQgYXMgYSBzb3VyY2UgaW4gYSBkaWZmZXJlbnQKCSAgcGlwZWxpbmUuCgoyMDExLTA2LTE4IDE1OjUxOjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBKUEVHIFlDYkNyIG1hdHJpeAoKMjAxMS0wNi0xOCAxNTo1Njo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHVwZGF0ZSBmb3IgbmV3IGxpYnZweCBhcGkKCjIwMTEtMDYtMjYgMTk6Mjk6MjQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBGaXggYnVmZmVyIGR1cmF0aW9uCgoyMDExLTA2LTI2IDE1OjE1OjU0ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGdlbmVyYXRlIGEgdGltZXN0YW1wIGZvciBhbHQtcmVmIGZyYW1lcy4KCSAgSXQgd2lsbCBmaXggaGFuZGxpbmcgb2YgYWx0cmVmL2ludmlzaWJsZSBmcmFtZXMgc2luY2UgbWF0cm9za2EtbXV4CgkgIGRyb3AgYW55IGZyYW0gd2l0aCBubyB0aW1lc3RhbXAuCgkgIHNlZSBhbHNvOgoJICBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy9jb2RlL3NwZWNzL2NvbnRhaW5lci8KCSAgVGhlIGVuY29kZXIgd2lsbCBjdXJyZW50bHkgc2V0IHRoZSBBUidzIHRpbWVzdGFtcCBhcyBjbG9zZSBhcyBwb3NzaWJsZQoJICB0byB0aGUgcHJldmlvdXMgZnJhbWUgd2hpbGUgYXR0ZW1wdGluZyB0byBwcm92aWRlIGEgdGltZXN0YW1wIHRoYXQgaXMKCSAgc3RyaWN0bHkgaW5jcmVhc2luZy4gSW4gY2FzZXMgd2hlcmUgdGhlIHRpbWUgYmFzZSBnaXZlbiB0byB0aGUgZW5jb2RlcgoJICBhdCBjb25maWd1cmUgdGltZSBpcyBub3QgZ3JhbnVsYXIgZW5vdWdoIHRvIGFsbG93IGZvciB0aGlzIHRoZSBBUgoJICB3aWxsIHNoYXJlIHRoZSBzYW1lIHRpbWVzdGFtcCBhcyBELCBidXQgc2hvdWxkIGJlCgkgIHRyZWF0ZWQgYXMgaGF2aW5nIG5vIGR1cmF0aW9uLgoJICBGaXhlcyBidWcgIzY1Mjk1MQoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTA2LTI1IDIzOjU1OjI4ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgd2luaW5ldDogRml4IGNvbmZpZ3VyZSBjaGVjayBieSBpbmNsdWRpbmcgd2luZG93cy5oCgkgIEZpeGVzIGJ1ZyAjNjUzMTYxLgoKMjAxMS0wNi0wNyAxMzo1NTozOCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBGaXggY29uZmlndXJlIGNoZWNrIGFuZCBtYWtlZmlsZXMKCSAgRml4ZXMgYnVnICM2NTIwMzUuCgoyMDExLTA2LTI1IDE1OjEyOjQ1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgdHRhOiBkZWNyZWFzZSByYW5rIHRvIE5PTkUKCSAgQXBwZWFycyB0byBiZSB1dHRlcmx5IGluY2FwYWJsZSBvZiBwYXJzaW5nIGFuZCBkZWNvZGluZyBUVEEgc3RyZWFtcy4KCSAgSGFzbid0IGJlZW4gdXBkYXRlZCB0byBkbyBUVEEyLiAgSWYgeW91IHdhbnQgdGhpcyBlbGVtZW50IHRvIHdvcmssCgkgIGZpeCB0aGUgYmxvb2R5IHRoaW5nLiAgVGhlIGdzdC1mZm1wZWcgZGVjb2RlciB3b3JrcyBmaW5lLgoJICBBbHNvIGZpeGVkIGFuIG9idmlvdXMgZW5kaWFubmVzcyBpc3N1ZSBhbG9uZyB0aGUgd2F5LgoJICBGaXhlczogIzY1MjkyNAoKMjAxMS0wNi0xOCAxNzo0NzozNiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBhZGQgY2hlY2sgaWYgd2UgaGF2ZSBsZWdhbCBhc3BlY3QtcmF0aW8gYmVmb3JlIHJlc2V0IGl0LgoJICB0aGUgY29tbWl0IGY5YjU1MmYwNDk0ZSAodnA4ZGVjOiBzZXQgcGFyIHRvIDEvMSkKCSAgd2lsbCBmaXggc2l0dWF0aW9uIHdoZXJlIG5vIGFzcGVjdC1yYXRpbyBpcyBzZXQsIGJ1dCBpdCBicmFrZQoJICBzdHJlYW0gd2l0aCBhdmFpbGFibGUgYXNwZWN0LXJhdGlvLiBUaGlzIHBhdGNoIGZpeCBpdC4KCSAgRml4ZXM6ICM2NTI5MDIuCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMDYtMjMgMjA6MTE6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBkb24ndCB1c2UgR0xpYiAyLjI4IEFQSQoJICBEb24ndCB1c2UgR0xpYiAyLjI4IEFQSSwgd2Ugc3RpbGwgb25seSByZXF1aXJlID49IDIuMjQuCgoyMDExLTA2LTIzIDExOjI4OjUzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjliOTgxZiB0byA2MDVjZDlhCgoyMDExLTA2LTIyIDIyOjI1OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogU2V0IHRhZ3NldHRlcnMgdG8gbWVyZ2UgcmVwbGFjZSBtb2RlCgkgIFRoZSBkZWZhdWx0IGZvciB0YWdzZXR0ZXJzIGlzIHRvIHVzZSBtZXJnZSBrZWVwIG1vZGUsIHNvIHRhZ3MKCSAgd291bGQgbmV2ZXIgYmUgcmVwbGFjZWQgYW5kIGFsbCBjYXB0dXJlcyB3b3VsZCBoYXZlIHRoZSBzYW1lIHRhZ3MuCgkgIFRoaXMgY29tbWl0IHdhdGNoZXMgYWxsIGVsZW1lbnRzIGFkZGVkIGludG8gZW5jb2RlYmluIGFuZCBzZXRzCgkgIGFsbCB0YWdzZXR0ZXJzIHRvIG1lcmdlIHJlcGxhY2UgbW9kZQoKMjAxMS0wNi0yMiAxODo1ODoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBVc2UgYSBzaW5nbGUgbG9jYXRpb24gZm9yIGJvdGggbW9kZXMKCSAgSW1wbGVtZW50IHRoZSBsb2NhdGlvbiBwcm9wZXJ0eSBqdXN0IGxpa2UgaXQgd29ya3MgaW4gY2FtZXJhYmluLCB0aGUKCSAgc2FtZSBsb2NhdGlvbiBpcyB1c2VkIGZvciBib3RoIGltYWdlcyBhbmQgdmlkZW9zCgoyMDExLTA2LTIyIDE2OjI3OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBTZW5kIHNlcmlhbGl6ZWQgY3VzdG9tIGV2ZW50cyBmb3IgZmlsZW5hbWUgY2hhbmdlcyBpbiBpbWFnZSBzaW5rCgkgIFVzaW5nIHNlcmlhbGl6ZWQgY3VzdG9tIGV2ZW50cyBmb3Igc3dpdGNoaW5nIGltYWdlIGNhcHR1cmUgc2F2aW5nCgkgIGxvY2F0aW9uIG1ha2VzIGNhbWVyYWJpbjIgc2F2ZSBlYWNoIGNhcHR1cmUgY29ycmVjdGx5IHRvIHRoZSBsb2NhdGlvbgoJICB0aGF0IHdhcyBzZXQgZHVyaW5nIHRoZSBtb21lbnQgc3RhcnQtY2FwdHVyZSB3YXMgY2FsbGVkLCBhbmQgbm90CgkgIHRoZSBtb21lbnQgdGhlIGZpbGVzaW5rIHdhcyB3cml0aW5nIHRvIGRpc2suCgkgIFRoaXMgcHJldmVudHMgY2FwdHVyZXMgdG8gYmUgb3ZlcndyaXRlbiBieSByYWN5bmVzcyBhbW9uZyBzdGFydC1jYXB0dXJlCgkgIGFuZCBzZXR0aW5nIGxvY2F0aW9uIGZvciBpbWFnZXMuCgoyMDExLTA2LTIyIDE1OjU2OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTm8gbmVlZCB0byBjaGFuZ2Ugc3RhdGUgb2YgdGhlIHdob2xlIGltYWdlIGJyYW5jaAoJICBXZSBvbmx5IG5lZWQgdG8gY2hhbmdlIHRoZSBzdGF0ZSBvZiB0aGUgZmlsZXNpbmsgdG8gc3dpdGNoIGl0cwoJICBzYXZpbmcgbG9jYXRpb24uIFRoaXMgbWlnaHQgc3RpbGwgY2F1c2Ugc29tZSBwcm9ibGVtcyBvZiBkcm9wcGluZwoJICBjYXB0dXJlZCBidWZmZXJzLCBidXQgaXQgaXMgYmV0dGVyIHRoYW4gY2hhbmdpbmcgdGhlIHN0YXRlIG9mCgkgIHRoZSB3aG9sZSBicmFuY2guCgoyMDExLTA2LTIyIDE1OjM3OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIG5hbWVzIGZvciBpbWFnZSBhbmQgdmlkZW8gZW5jb2RlYmluCgkgIE5hbWluZyBlbmNvZGViaW5zIGFzIGltYWdlLWVuY29kZWJpbiBhbmQgdmlkZW8tZW5jb2RlYmluIHRvIG1ha2UKCSAgaXQgZWFzaWVyIGZvciBkZWJ1Z2dpbmcgY2FtZXJhYmluMi4KCjIwMTEtMDYtMTcgMTc6MjY6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTEtMDYtMTcgMTQ6MzI6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogQWRkcyBuZXcgdGVzdCB0byBjaGVjayBpbWFnZSBsb2NhdGlvbiBjb3JyZWN0bmVzcwoJICBUaGlzIG5ldyB0ZXN0IGNoZWNrcyB0aGF0IGltYWdlcyBhcmUgc2F2ZWQgd2l0aCB0aGUgZmlsZW5hbWUgc2V0dGluZwoJICBvbiBsb2NhdGlvbiBvbiB0aGUgbW9tZW50IG9mIHRoZSBzdGFydC1jYXB0dXJlCgoyMDExLTA2LTE1IDA4OjIwOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTWlub3IgZGVidWcgbWVzc2FnZSBmaXgKCjIwMTEtMDUtMTMgMTE6MjU6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBBZGRzIHBlcmZvcm1hbmNlIG1lYXN1cmVtZW50IHRvIGdzdC1jYW1lcmFiaW4yLXRlc3QKCSAgQWRkcyBwZXJmb3JtYW5jZSAodGltaW5nKSBtZWFzdXJlIGZlYXR1cmUgdG8gZ3N0LWNhbWVyYWJpbjItdGVzdCwgaXQgYWxsb3dzCgkgIHVzZXJzIHRvIHNwZWNpZnkgc29tZSB0YXJnZXQgdmFsdWVzIGZvciBjb21tb25seSBtZWFzdXJlZCB0aW1lcyBhbmQgdGhlCgkgIGFwcGxpY2F0aW9uIHdpbGwgcHJpbnQgb3V0IGEgdGFibGUgb2YgdmFsdWVzIGF0IHRoZSBlbmQgb2YgaXRzIGV4ZWN1dGlvbgoJICB3aXRoIHRoZSBtZWFzdXJlZCB0aW1lcyBhbmQgYXZlcmFnZXMgb2YgdGhlbS4KCjIwMTEtMDYtMjIgMTA6MTM6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgbGVnYWN5aDI2NHBhcnNlOiBjcmVhdGUgY29ycmVjdCBhdmMgY29kZWMtZGF0YQoJICBGaXhlcyAjNjUzMDEzLgoKMjAxMS0wNi0yMSAxMjo0NTozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBsZWdhY3loMjY0cGFyc2U6IGZpeCBvdXRwdXQgY2FwcyBhbGlnbm1lbnQgZm9yIGF2YyBpbnB1dAoJICAuLi4gcGFydGljdWxhcmx5IHdoZW4gc3BsaXR0aW5nIHBhY2tldGl6ZWQgaW5wdXQuCgkgIEZpeGVzICM2NTI5OTUuCgoyMDExLTA2LTIxIDEyOjQzOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYXZjIGlucHV0IG11c3QgZWl0aGVyIHBhc3MtdGhyb3VnaCBvciBiZSBzcGxpdCBpbnRvIGJ5dGVzdHJlYW0gY2h1bmtzCgkgIC4uLiBzaW5jZSBwYXJzaW5nIGNvZGUgaXMgbm90IG1lYW50IHRvIHJlY2VpdmUgYXZjIGRhdGEuCgkgIEZpeGVzICM2NTMwODcuCgoyMDExLTA2LTIxIDEyOjQxOjQ3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYXZvaWQgYm9ndXMgZnJhbWUgcGFyc2luZyBzdGF0ZQoKMjAxMS0wNi0yMCAxMjo0NzozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJICBkZWNrbGluazogdXBkYXRlIERlY2tMaW5rIEFQSSB3cmFwcGVycwoKMjAxMS0wNi0yMCAwMDozODowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgY29ubmVjdGlvbiB0eXBlCgoyMDExLTA2LTA1IDIxOjE5OjU4IC0wNzAwICBSYWZhZWwgRGluaXogPHJhZmFlbEByaXNldXAubmV0PgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJICBkZWNrbGlua3Npbms6IEFkZCBhdWRpbyBzdXBwb3J0CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0wNSAyMToyNDo1OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IEFkZCB2YXJpb3VzIGZlYXR1cmVzCgkgIEJldHRlciBtb2RlIHN1cHBvcnQsIGlucHV0IHNvdXJjZSBwcm9wZXJ0eSwgYXVkaW8gc3VwcG9ydC4KCjIwMTEtMDYtMDUgMjE6MjQ6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJICBkZWNrbGluazogcmVtb3ZlIHVudXNlZCBjb2RlCgoyMDExLTA2LTA1IDIxOjE3OjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IHJlaW5kZW50CgoyMDExLTA2LTE3IDE2OjEyOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IG9ubHkgZnJlZSB0aGUgaW5kZXggYXJyYXkgaWYgaXQgZXhpc3RzCgkgIE9ubHkgZnJlZSB0aGUgYXJyYXkgaWYgaXQgZXhpc3RzLgoJICBDb250YWlucyBhbiB1bnJlbGF0ZWQgaW5kZW50YXRpb24gZml4LCBjb3VydGVzeSBvZiBnc3QtaW5kZW50CgoyMDExLTA2LTE4IDAxOjExOjA1ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIHVwZGF0ZSBkb2NzIGdlbmVyYXRlZCBmaWxlcwoKMjAxMS0wNi0xOCAwMTowOTo1MSArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGV4dC9ydG1wL01ha2VmaWxlLmFtOgoJKiBleHQvcnRtcC9nc3RydG1wLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmg6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgUlRNUDogYWRkIHJ0bXBzaW5rIGVsZW1lbnQgZm9yIG91dHB1dCB0byBhbiBSVE1QIHNlcnZlcgoKMjAxMS0wNi0xNiAxNzoxNzowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSAgdGVzdHM6IGFkZCBjb2xvcnNwYWNlIHVuaXQgdGVzdAoJICBDb21wYXJlcyBjb2xvcnNwYWNlIHJlc3VsdCB3aXRoIGZmbXBlZ2NvbG9yc3BhY2Ugb3V0cHV0IHVzaW5nIFNTSU0uCgkgIEFsc28gcHJvYmVzIGZvciBwb3NzaWJsZSBjcmFzaGVzIGZvciBvZGQgd2lkdGggYW5kIGhlaWdodCBpbWFnZSBieSBhcHBseWluZwoJICBhbGwgcG9zc2libGUgY29sb3JzcGFjZSB0cmFuc2Zvcm1hdGlvbnMuCgoyMDExLTA2LTE3IDEyOjEwOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5oOgoJICBkZWJ1Z3V0aWxzOiBhZGQgY29tcGFyZSBlbGVtZW50CgoyMDExLTA2LTE1IDE4OjIwOjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogZml4IG9kZCB3aWR0aCBhbmQgaGVpZ2h0IGhhbmRsaW5nIGluIHNvbWUgZmFzdHBhdGggY2FzZXMKCjIwMTEtMDYtMTYgMTk6MDY6MDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBJbXByb3ZlIGRvY3VtZW50YXRpb24gb2YgaW50ZXJuYWwgc2htcGlwZQoKMjAxMS0wNi0xNSAxNjozMjowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLnZjcHJvajoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIE1vdmVkICdjb2xvcnNwYWNlJyBmcm9tIC1iYWQgdG8gLWJhc2UKCjIwMTEtMDYtMTUgMTY6MDY6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgYW5kcm9pZC9hYWNwYXJzZS5tawoJICBhbmRyb2lkL2FtcnBhcnNlLm1rCgkgIGFuZHJvaWQvaDI2NHBhcnNlLm1rCgkgIGFuZHJvaWQvbWV0YWRhdGEubWsKCSAgYW5kcm9pZC9xdG11eC5tawoJICBhbmRyb2lkL3NkcGVsZW0ubWsKCSAgY29uZmlndXJlLmFjCgkgIGdzdC9xdG11eC9nc3RxdG11eC5jCgkgIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAxMS0wNi0xMyAxMToxMjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIHdpbmluZXRzcmM6IGRvbid0IHVzZSBHX0NPTlNUX1JFVFVSTgoJICBJdCdzIGdvaW5nIHRvIGJlIGRlcHJlY2F0ZWQgcmVhbGx5IHNvb24uCgoyMDExLTA2LTEyIDEyOjU1OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IFNwZWVkIHVwIHRoZSBzdGFydCBjb2RlIHNlYXJjaCBhbGdvcml0aG0KCSAgQmFzZWQgb24gOTZhN2Y5YzhiMTE5NTEyOWYwYzIxNTdjYmJjYmFhNmNhYjQ1MDU2ZQoJICBNYWtlcyBpdCAzLTQgdGltZXMgZmFzdGVyCgoyMDExLTA2LTEyIDEyOjQwOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IEZpeCBzaW5rIHBhZCB0ZW1wbGF0ZQoJICBubyB3b25kZXIgaXQgd2FzIG5ldmVyIHBpY2tlZCB1cCAuLi4KCjIwMTEtMDYtMTIgMTE6Mjc6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBmcmVlIHVuZXhpc3RlbnQgUEFUCgkgIEFuZCBjbGVhbnVwIGZpbmRfdGltZXN0YW1wcyBhIGJpdAoKMjAxMS0wNS0xOCAxOTozMzo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE1vcmUgZml4ZXMgdG8gaGFuZGxlIG5vbi0xODggYnl0ZSBwYWNrZXRzCgoyMDExLTA1LTE1IDE0OjA0OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0czogU3RvcCBzY2FubmluZyBmb3Iga2V5ZnJhbWVzIGFzIGVhcmx5IGFzIHBvc3NpYmxlCgoyMDExLTAzLTMxIDE0OjM2OjAyICswMjAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWx3YXlzIHRyeSB0byBzZWVrIGZvciB0byBhIGtleWZyYW1lCgkgIGtleWZyYW1lIGlzIGV4cGVjdGVkIHRvIGxpZSBpbiB0aGUgdGhlIG5leHQgfjI1MDAgbXMKCjIwMTEtMDMtMjMgMTg6NTA6MjUgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggdGltZXN0YW1wcyBpbiBuZXdzZWdlbWVudCBldmVudCBhZnRlciBzZWVraW5nCgoyMDExLTAzLTMwIDExOjI2OjE4ICswMjAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IHBheWxvYWQgcGFyc2luZyBmb3IgSC4yNjQKCjIwMTEtMDMtMjggMTA6MjA6NDMgKzAyMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBpbXBsZW1lbnQga2V5X3VuaXQgc2Vla2luZyBmb3IgTVBFRzIgdmlkZW8KCjIwMTEtMDMtMjIgMTY6NDk6MTMgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhY2N1cmF0ZSBzZWVraW5nCgkgICogcGVzIGhlYWRlciBwYXJzaW5nIGZvciBwdHMgaXMgdWdseSwgcmVmYWN0b3IKCSAgKiB0aW1lc3RhbXBzL25ld3NlZ21lbnQgYWZ0ZXIgc2Vla2luZyBpcyBzdGlsbCBvZmYKCjIwMTEtMDItMjIgMTI6MzM6NTYgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBwdXNoIGJhc2VkIHNlZWtpbmcgYmFzZWQgb24gUENSCgkgIGJ1ZmZlciB0aW1lc3RhbXBzIGFyZSBjb252ZXJ0ZWQgdG8gR3N0Q2xvY2tUaW1lIHRvIGNvdmVyIHBjci9wdHMgd3JhcHMuCgkgIG11bHRpcGxlIHBjci9wdHMgd3JhcHMgYXJlIGhhbmRsZWQgd2l0aCBhbiBpbmRleCB3aGljaCBlbnN1cmVzIGF0IG1vc3QKCSAgYSBzaW5nbGUgcGNyIHdyYXBhcm91bmQgYmV0d2VlbiB0d28gZW50cmllcy4KCSAgdGhlIGxhc3Qgc2VlbiBwY3IgaXMgcmVjb3JkZWQgdG8gaGF2ZSBhIG5lYXJieSBpbmRleCBwb2ludCBmb3Igc2hvcnQgc2Vla3MKCSAgcmVzdW1pbmcgcGxheWJhY2sgbWlnaHQgYmUgZGVsYXllZCBpZiB0aGUgcG9zdGlvbiBpcyBub3QgYSBrZXlmcmFtZQoJICBUT0RPOiByZXBsYWNlIG1hbnVhbCBwYWNrZXQgc2Nhbm5pbmcgYW5kIHBhcnNpbmcgaW4gdGhlIGluaXRpYWwgZHVyYXRpb24gZXN0aW1hdGlvbgoKMjAxMS0wMi0yMyAxNToyMToyMiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGNyZWF0ZSBmdW5jdGlvbiBmb3IgcGNyIHBhcnNpbmcKCjIwMTEtMDQtMTEgMTQ6NTM6MjggKzAyMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBhZGFwdGF0aW9uIGZpZWxkIGxlbmd0aCA9PSAwIGlzIHZhbGlkCgkgIGl0IGNhbiBiZSB1c2VkIHRvIGluc2VydCBhIHNpbmdsZSBzdHVmZmluZyBieXRlCgkgIGRvIG5vdCBwYXJzZSB0aGUgZm9sbG93aW5nIHBheWxvYWQgYXMgYWRhcHRhdGlvbiBmaWVsZAoKMjAxMS0wNi0wNyAxNDoxNDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgQWRkIGdzdC9pbnZ0ZWxlY2luZSB0byBDUlVGVF9ESVJTCgoyMDExLTA2LTA3IDEzOjQ0OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIEdMaWIgPj0gMi4yNAoJICBNYWtlIGltcGxpY2l0IHJlcXVpcmVtZW50IGV4cGxpY2l0LgoKMjAxMS0wNi0wNiAxNToyMzoyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdGVzdHM6IGFkZCBhIHRlc3QgZm9yIGJhc2VhdWRpb3Zpc3VhbGl6ZXIKCjIwMTEtMDYtMDYgMTU6MjA6MzAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYmFzZWF1ZGlvdmlzdWFsaXplcjogZml4IGxhc3QgYmxvY2sgY29uZGl0aW9uCgkgIEFsc28gcHVzaCBvdXQgdGhlIGxhc3QgZnJhbWUgaWYgd2UgaGF2ZSBleGFjdCBhbW91bnQgb2Ygc2FtcGxlcy4gRml4IHRoZSBhZGFwdGVyCgkgIGZsdXNoaW5nIHRvIG5vdCBjYXVzZSBlbmRsZXNzIGxvb3BzLiBEcm9wIGEgcmVkdW5kYW50IGF2YWlsKCkgY2hlY2suCgoyMDExLTA2LTA0IDIwOjQxOjQ5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGFkZCBhIFJFQURNRSB3aXRoIGNvbW1lbnRzIGFuZCBwbGFucwoKMjAxMS0wNi0wNCAyMDozNDoyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXZ4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpdnhlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFjZW92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGluc3lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhdGNoZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW8zZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBkb2NzOiB1cGRhdGUgaW5zcGVjdCBmaWxlcwoKMjAxMS0wNi0wNCAxNjoxMjo0MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSAgZG9jczogYWRkIG5ldyBhdWRpb3Zpc3VhbGl6ZXJzIHRvIHRoZSBwbHVnaW4gZG9jcwoKMjAxMS0wNi0wNCAxNTo1NjoxNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyczogcmVtb3ZlIHNvbWUgbm90IG5lZWRlZCBib2lsZXJwbGF0ZQoKMjAxMS0wNi0wNCAxNTo1Mjo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSAgYXVkaW92aXN1YWxpemVyczogYWRkIGEgc3BhY2VzY29wZSBlbGVtZW50CgkgIEFkZCBhbm90aGVyIGVsZW1lbnQgdGhhdCBtYXBzIGxlZnQvcmlnaHQgY2hhbm5lbCB0byB4LHkgY29vcmRpbmF0ZXMuCgoyMDExLTA2LTA0IDE1OjM4OjQ2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkgIHN5bmFlc2NvcGU6IHR3ZWFrIHRoZSBhbGdvcml0aG0KCSAgU3BlZWQtdXAgdGhlIGNhbGN1bGF0aW9uIGEgYml0LiBLZWVwIGEgZmV3IHZhbHVlcyBhcyBkb3VibGVzLiBUdW5lIHRoZSBzY2FsaW5nCgkgIHRvIGdldCBuaWNlcyBjb2xvcnMuCgoyMDExLTA2LTA0IDE0OjM3OjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGRvYy1ibG9iIGFuZCBjb21tZW50IHVwZGF0ZXMKCjIwMTEtMDYtMDQgMTQ6MzM6MjkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHJlbmFtZSBiYXNlY2xhc3MgZnJvbSBiYXNlc2NvcGUgdG8gYmFzZWF1ZGlvdmlzdWFsaXplcgoKMjAxMS0wNi0wNCAxNDoyNTo1NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL3BsdWdpbi5jOgoJKiBnc3Qvc2NvcGVzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0d2F2ZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvcGx1Z2luLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHJlbmFtZSBzY29wZXMgcGx1Z2luIHRvIGF1ZGlvdmlzdWFsaXplcnMKCjIwMTEtMDUtMzEgMTQ6NDI6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0c3luYWVzY29wZS5jOgoJICBzY29wZXM6IGZpeCBlbGVtZW50cyBkZXNjcmlwdGlvbnMKCjIwMTEtMDUtMzAgMjM6NDU6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkgIHNwZWN0cmFzY29wZTogdXNlIGFkZF9waXhlbCBmb3Igbm9uLXdoaXRlIHBpeGVscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTMwIDIzOjM2OjQyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NvcGVzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvcGx1Z2luLmM6CgkgIHNjb3BlczogYWRkIGEgbmV3IGVsZW1lbnQgc2ltaWxhciB0byBzeW5hZXN0aGVzaWEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yOCAyMzoyMjo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3R3YXZlc2NvcGUuYzoKCSAgc2NvcGVzOiBkcmF3IHBpeGVscyB3aXRoIHNpZ25sZSAzMmJpdCB3cml0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yOCAxNDozNjo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuaDoKCSAgYmFzZXNjb3BlOiBhZGQgbW9yZSBzaGFkaW5nIGVmZmVjdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yOCAxNDowODowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuaDoKCSAgYmFzZXNjb3BlOiBhZGQgYSBwcm9wZXJ0eSB0byBtb2RpZnkgdGhlIGFtbW91bnQgb2Ygc2hhZGluZwoJICBBZGQgYW5vdGhlciBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBzaGFkaW5nIHBlciBjb2xvciBjaGFubmVsLiBGaXggZW5kaWFuZXNzCgkgIGlzc3VlcyBpbiB0aGUgc2hhZGluZyBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI3IDIzOjI1OjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL3BsdWdpbi5jOgoJICBiYXNlc2NvcGU6IGFkZCBhIGJhY2tidWZmZXIgYW5kIGFwcGx5IHNoYWRpbmcgZWZmZWN0cwoJICBLZWVwIHRoZSBsYXN0IGZyYW1lIGFuZCBhcHBseSBzaGFkZSBhbmQgZ2VvbWV0cnkgZWZmZWN0cy4gRXhwb3NlIHRoZSBzaGFkaW5nCgkgIGVmZmVjdHMgYXMgYSBjb250cm9sbGFibGUgZ29iamVjdCBwcm9wZXJ0eSBvbiB0aGUgYmFzZWNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI3IDIzOjEyOjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5jOgoJICBiYXNlc2NvcGU6IGFsbG93IHN1YmNsYXNzZXMgdGVsbGluZyBob3cgbWFueSBzYW1wbGUgdGhleSBuZWVkIHBlciBmcmFtZQoJICBUaGlzIGFsbG93cyBlLmcuIEZGVCBiYXNlZCBlbGVtZW50cyB0byByZXF1aXJlIGVub3VnaCBkYXRhLiBJZiB0aGV5IG5lZWQgbW9yZQoJICBkYXRhIHRoYW4gd2hhdCB3ZSBnZXQsIHdlIGZsdXNoIGxlc3MgZnJvbSB0aGUgYWRhcHRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yNyAyMjo1MzoxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSAgYmFzZXNjb3BlOiByZW1vdmUgc29tZSBjb21tZW50cwoJICBUaG9zZSBjb21tZW50cyB3aGVyZSBwb2ludGluZyB0byBleGFtcGxlIGNhbGxzIHRoYXQgd2UgZG8gaW4gdGhlIHN1YmNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI3IDE0OjQzOjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL3BsdWdpbi5jOgoJICBzY29wZXM6IGFkZCBhIHNpbXBsZSBmZnQgYmFzZWQgc2NvcGUKCSAgQWRkIGEgMm5kIGRlbW8gc2NvcGUgdGhhdCB1c2VzIGEgZmZ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI3IDExOjE0OjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zY29wZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0d2F2ZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvcGx1Z2luLmM6CgkgIHNjb3BlczogZmlyc3QgdmVyc2lvbiBvZiBhIHNjb3BlcyBwbHVnaW4gdXNpbmcgYSBuZXcgYmFzZWNsYXNzCgkgIEFkZCBhIG5ldyBiYXNlY2xhc3MgZm9yIHdyaXRpbmcgdmlzdWFsaXNhdGlvbiBwbHVnaW5zLiBQcm92aWRlIGEgc2ltcGxlIHdhdmUKCSAgb3NjaWxsb3Njb3BlIGFzIGEgZmlyc3Qgc3ViY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDQtMjkgMTM6MzM6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBBdm9pZCBkb3VibGUgc2Nhbm5pbmcgb2YgcGljdHVyZXMKCSAgVGhlIGluY29taW5nIGRhdGEgaGFzIGFscmVhZHkgYmVlbiBzY2FubmVkIGluIG1wZWdfcGFja2V0aXplcl9hZGRfYnVmLgoJICBXZSBjYW4gdGhlcmVmb3JlIHN0b3Agc2Nhbm5pbmcgZm9yIHBpY3R1cmUgZGF0YSBhcyBzb29uIGFzIHdlJ3ZlIHBhcnNlZAoJICB0aGUgaGVhZGVyLiBNYWtlcyBtcGVndmlkZW9wYXJzZSAyIHRpbWVzIGZhc3Rlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODkzMwoKMjAxMS0wNi0wNSAxMzo1NjowOCAtMDcwMCAgTGV2ZW50ZSBGYXJrYXMgPGxmYXJrYXNAbGZhcmthcy5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBsb3dlciByYW5rIHRvIHNlY29uZGFyeQoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMDUgMTM6Mzg6NDYgLTA3MDAgIExldmVudGUgRmFya2FzIDxsZmFya2FzQGxmYXJrYXMub3JnPgoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4Lmg6CgkgIGQzZHZpZGVvc2luazogY29tcGlsZSBmaXgKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTA1IDEwOjM0OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludnRlbGVjaW5lL01ha2VmaWxlLmFtOgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IFJlbW92ZSBpbiBmYXZvciBvZiBmaWVsZGFuYWx5c2lzCgoyMDExLTA2LTA0IDE4OjU0OjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBIYW5kbGUgcGl4ZWwtYXNwZWN0LXJhdGlvCgkgIEZpeGVzOiAjNjUxNzc5LiAgRnJvbSBSYWltbyBKw6RydmkuCgoyMDExLTA2LTA0IDE4OjQzOjQ1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHguaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMS5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguaDoKCSAgZDNkdmlkZW9zaW5rOiBBZGQgcGx1Z2luCgkgIEZpeGVzICM2NTE3ODIuICBQYXRjaCBmcm9tIHZhcmlvdXMgYXV0aG9ycywgYnkgd2F5IG9mIG9zc2J1aWxkLgoKMjAxMS0wNi0wNCAxNDowNDo0NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIFdvcmsgYXJvdW5kIGNoYW5nZXMgaW4gZ19hdG9taWMgQVBJCgkgIFNlZSAjNjUxNTE0IGZvciBkZXRhaWxzLgoKMjAxMS0wNi0wNCAxMzo1MToyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuYzoKCSAgdmRwYXU6IHJlbW92ZSBvbGQgZ2xpYiBjb21wYXRpYmlsaXR5IGNvZGUKCjIwMTEtMDYtMDMgMTk6MzY6NTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBzZXQgcGFyIHRvIDEvMQoKMjAxMS0wNi0wMyAxOTozNjoxMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBCZXR0ZXIgaGFuZGxpbmcgb2YgaW52YWxpZCBwYXIKCjIwMTEtMDUtMzAgMTc6MDM6MTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuYzoKCSAgdmlkZW9maWx0ZXIyOiBGaXggY29weXJpZ2h0CgoyMDExLTA2LTA0IDIwOjM1OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBnc3Q6IHNvbWUgbW9yZSB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5nIGZpeGVzCgoyMDExLTA1LTMwIDE3OjU0OjI2ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSAgUmVtb3ZlIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBUaGlzIGlzIG5lZWRlZCB0byBzYXRpc2Z5IHRoZSBuZXcgLVd1bnVzZWQtYnV0LXNldC12YXJpYWJsZSBhZGRlZCBpbgoJICBHQ0MgNC42OiBodHRwOi8vZ2NjLmdudS5vcmcvZ2NjLTQuNi9jaGFuZ2VzLmh0bWwKCjIwMTEtMDUtMDkgMTQ6MzU6NDIgLTAzMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmEuZnVqaWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBhIGZpbHRlciB0byB3cmFwcGVyY2FtZXJhYmluc3JjCgkgIENhbWVyYWJpbjIgYWxsb3dzIHNldHRpbmcgYSBmaWx0ZXIgZm9yIGltYWdlLCB2aWRlbyBvciB2aWV3ZmluZGVyLCBidXQKCSAgbm90IG9uZSBmaWx0ZXIgZm9yIGFsbCB0aHJlZSBhdCB0aGUgc2FtZSB0aW1lLiBJIGFkZGVkIGEgZmlsdGVyIHRvCgkgIHdyYXBwZXJjYW1lcmFiaW5zcmMgdG8gYWxsb3cgc2V0dGluZyBhIGdsb2JhbCBmaWx0ZXIgd2hlbiB1c2luZyB0aGlzCgkgIHNvdXJjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTgyMgoKMjAxMS0wNS0yNiAwMDowOToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiByZW1vdmUgdW51c2VkIHZhcgoKMjAxMS0wNS0yNSAyMzoyOToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogVXNlIGZ1bGwgbmFtZXMgaW4gcHJvcGVydGllcwoJICBJbXByb3ZlIEFQSSBieSB1c2luZyBzb3VyY2UgaW5zdGVhZCBvZiBzcmMgaW4gcHJvcGVydGllcwoKMjAxMS0wNS0yMyAxMzozNjoyNyArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBkbyBub3QgdW5yZWYgcGFkIHRlbXBsYXRlCgoyMDExLTA1LTI5IDEzOjE2OjIxICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBmaXggYXZjIGNoZWNrIHNvIHRoYXQgaXQgdHJpZXMgdG8gbGluayB0byBBVkNWaWRlb1NlcnZpY2VzCgkgIEF2b2lkcyBhdmMgcGx1Z2luIGZyb20gYmVpbmcgYnVpbHQgd2hlbiBBVkNWaWRlb1NlcnZpY2VzIGlzIG5vdCBpbnN0YWxsZWQKCjIwMTEtMDUtMjYgMTI6MjM6MDEgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogQWRkIC0taW1hZ2UtZm9ybWF0dGVyIGNvbW1hbmQtbGluZSBvcHRpb24KCSAgQWRkIGNvbW1hbmQtbGluZSBvcHRpb24gdG8gZ3N0LWNhbWVyYWJpbi10ZXN0IGZvciBjb25maWd1cmluZyBjYW1lcmFiaW4KCSAgbWV0YWRhdGEgZm9ybWF0dGVyIGVsZW1lbnQuCgoyMDExLTA1LTMxIDEzOjA4OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSAgZmFhYzogRml4IHVuaXQgdGVzdCBhZnRlciBsYXRlc3QgZmFhYyBjaGFuZ2VzCgoyMDExLTA1LTMxIDEyOjU1OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBzY2FubmluZyBvbiBzbWFsbCBmaWxlcwoJICBXZSB3ZXJlIHByZXZpb3VzbHk6CgkgICogU3RvcHBpbmcgZWFybHkgaW4gdGhlIGluaXRpYWwgUENSIHNjYW4KCSAgKiBHaXZpbmcgYSBuZWdhdGl2ZSBvZmZzZXQgZm9yIHRoZSBzZWNvbmQgUENSIHNjYW4KCjIwMTEtMDUtMzEgMTI6NTQ6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRG9uJ3QgY2FsbCBwcm9ncmFtX3N0b3BwZWQgd2l0aCBhIE5VTEwgcHJvZ3JhbQoKMjAxMS0wNS0xOSAxMjo1NTozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBsZWdhY3loMjY0cGFyc2U6IERlbGF5IHB1c2hpbmcgYnVmZmVycyB1bnRpbCB3ZSBoYXZlIHdpZHRoL2hlaWdodAoKMjAxMS0wNS0yNyAxMToxMzowOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiByZW1vdmUgdGVtcGxhdGUgc3RhbXAgY29tbWVudAoKMjAxMS0wNS0zMCAyMzo0MzozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuaDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLm9yYzoKCSAgYmF5ZXIycmdiOiBDb252ZXJ0IHRvIE9yYwoJICBTZXJpb3VzbHkgZmFzdGVyLiAgQWxnb3JpdGhtIGlzIG5lYXJseSB0aGUgc2FtZSBhcyBiaWxpbmVhciwgd2hpY2gKCSAgZ2l2ZW4gdGhlIHNwZWVkIG9mIHRoaXMgY29kZSwgc2hvdWxkIGJlIGNvbnNpZGVyZWQgdGhlIGJhc2VsaW5lIG9mCgkgIHF1YWxpdHkuICBTcGVlZCBhcHBlYXJzIHRvIGJlIGxpbWl0ZWQgYnkgbWVtb3J5IGJhbmR3aWR0aCwgc28gSQoJICBkaWRuJ3QgYm90aGVyIHRyeWluZyB0byBtYWtlIGl0IGFueSBmYXN0ZXIuCgoyMDExLTA1LTMwIDE2OjU2OjMzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiBSZXdyaXRlIHNpZ25hbCBwcm9jZXNzaW5nLiBNdWNoIGZhc3Rlci4KCjIwMTEtMDUtMzAgMTc6NTQ6MjYgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIFJlbW92ZSB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgVGhpcyBpcyBuZWVkZWQgdG8gc2F0aXNmeSB0aGUgbmV3IC1XdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgYWRkZWQgaW4KCSAgR0NDIDQuNjogaHR0cDovL2djYy5nbnUub3JnL2djYy00LjYvY2hhbmdlcy5odG1sCgoyMDExLTA1LTMwIDEzOjAxOjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgUmV2ZXJ0ICJkdmRzcHU6IEZpeCBwYWQgdGVtcGxhdGVzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDczMjgyOGUzMWNiYWNlNTllNmNlNGYyNjJiODMzOWU0M2VkMGM2MzEuCgkgIEl0IHdhcyBpbiBmYWN0IGFuIGlzc3VlIGluIGNvcmUKCjIwMTEtMDUtMzAgMTM6MDE6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQcm90ZWN0IGFnYWluc3QgcHJvZ3JhbSBiZWluZyByZW1vdmVkCgoyMDExLTA1LTMwIDEyOjI3OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgZmFjZW92ZXJsYXk6IEFkZCBnc3QtcGx1Z2lucy1iYXNlIENGTEFHUyBhbmQgTElCUyB0byBmaXggY29tcGlsYXRpb24KCjIwMTEtMDUtMzAgMTI6MjQ6MzEgKzAyMDAgIExhdXJhIEx1Y2FzIEFsZGF5IDxsYXVyYWx1Y2FzQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZhY2VvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5Lmg6CgkgIGZhY2VvdmVybGF5OiBBZGQgZWxlbWVudCB0aGF0IGRpc3BsYXlzIGFuIFNWRyBpbWFnZSBvdmVyIGEgZGV0ZWN0ZWQgZmFjZQoJICBGaXhlcyBidWcgIzY0Mjc1OS4KCjIwMTEtMDUtMzAgMDg6NDg6MjkgKzAyMDAgIFRvbSBEZXNleW4gPHRvbS5kZXNleW5AYmFyY28uY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IEFsc28gY29uc2lkZXIgbm9uLWFjY2VsZXJhdGVkIERpcmVjdEZCIHN1cmZhY2VzCgkgIEZpeGVzIGJ1ZyAjNjMxMzkwLgoKMjAxMC0wOS0wMiAyMzozMToyMyArMDMwMCAgTWFydGluIFN0b3Jzam8gPG1hcnRpbkBtYXJ0aW4uc3Q+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgcXR3cmFwcGVyOiBEZWNvZGUgYXVkaW8gdW50aWwgYWxsIGlucHV0IGRhdGEgaXMgY29uc3VtZWQKCSAgVGhlIHNwZWNpYWwgcmV0dXJuIHZhbHVlIGlzIHJldHVybmVkIGZyb20gb3VyIGJ1ZmZlciBjYWxsYmFjawoJICB3aGVuIGFsbCBpbnB1dCBkYXRhIGhhcyBiZWVuIGNvbnN1bWVkLgoKMjAxMS0wNS0wMyAxNDoxNDoyMCArMDMwMCAgTWFydGluIFN0b3Jzam8gPG1hcnRpbkBtYXJ0aW4uc3Q+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgcXR3cmFwcGVyOiBSZXBsYWNlIHRoZSBoYWNraXNoIDQyIG1hZ2ljIG51bWJlciB3aXRoIGEgZGVmaW5lCgoyMDExLTA1LTMwIDA4OjQzOjU5ICswMjAwICBKdWxpZW4gTU9VVFRFIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgZHNob3dkZWN3cmFwcGVyOiBGaXggQ09NIGluaXRpYWxpemF0aW9uCgkgIEZpeGVzIGJ1ZyAjNjI1MTkwLgoKMjAxMS0wNS0zMCAwODo0Mzo0MCArMDIwMCAgSnVsaWVuIE1PVVRURSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IEZpeCBlbGVtZW50IHJlZ2lzdHJhdGlvbiB1c2luZyBkYXRhIGluIHRoZSB0eXBlIGluc3RlYWQgb2YgYSBnbG9iYWwKCjIwMTEtMDUtMjkgMTg6MTY6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEZpeCBwYWQgdGVtcGxhdGVzCgkgIE91ciBjYXBzIGludGVyc2VjdGlvbiBjb2RlIGlzIGEgYml0IHRvbyB0b3VjaHkgYWJvdXQgd2hhdCBhbiBlbGVtZW50CgkgIHJldHVybnMgY29tcGFyZWQgdG8gaXRzIHBhZCB0ZW1wbGF0ZXMuCgoyMDExLTA1LTI5IDEzOjA1OjMxICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY2hlY2sgZm9yIG91dCBvZiByYW5nZSBwcHNfaWQgb25lIGxheWVyIHVwCgoyMDExLTA1LTI5IDEzOjAzOjM4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDUtMjkgMTI6NTQ6NDAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgbGVnYWN5aDI2NHBhcnNlOiBjaGVjayBmb3Igb3V0IG9mIHJhbmdlIHBwc19pZCBvbmUgbGF5ZXIgdXAKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZyBjb21wYXJpbmcgZ3VpbnQ4IGFuZCBNQVhfUFBTX0NPVU5UIHdoaWNoIGlzID4gR19NQVhVSU5UOAoKMjAxMS0wNS0yNyAxMTowNTo0NiArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSAgRml4IG1pc3NpbmcgaGVhZGVyIGZpbGUgYW5kIHVwZGF0ZSBzcGVjIHRvIHdvcmsgYXJvdW5kIGN1cnJlbnQgY29tcGlsZXIgaXNzdWVzCgoyMDExLTA1LTI3IDEwOjQ0OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICBmYWFjOiBmaXggQ0ZMQUdTIGFuZCBMSUJTIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTA1LTI3IDEwOjQ0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogU2V0IHRoZSBjb3JyZWN0LCB2YWxpZCBzYW1wbGUgcmF0ZXMgaW4gdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzCgoyMDExLTA1LTI3IDEwOjQxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogTWFrZSBzdXJlIHRvIGFsc28gcmV0dXJuIG9ubHkgYSBzdWJzZXQgb2YgdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzIGluIGdldGNhcHMKCjIwMTEtMDUtMjcgMTA6MzU6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBTZXQgdGhlIGNvcnJlY3QsIHZhbGlkIHNhbXBsZSByYXRlcyBpbiB0aGUgcGFkIHRlbXBsYXRlIGNhcHMKCjIwMTEtMDUtMjcgMTA6MzI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBUaGUgZW5jb2RlciBsaWJyYXJ5IGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIDEgb3IgMiBjaGFubmVscwoKMjAxMS0wNS0yNyAxMDozMTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogQWRkIHByb2ZpbGUgYW5kIGxldmVsIHRvIHRoZSBjYXBzCgkgIEZpeGVzIGJ1ZyAjNjUwNTk1LgoKMjAxMS0wNS0yNyAxMDoxMTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IEFkZCB0aGUgcHJvZmlsZSBhbmQgbGV2ZWwgdG8gdGhlIGNhcHMKCSAgQWxzbyBuZWdvdGlhdGUgdGhlIHByb2ZpbGUgZnJvbSB0aGUgZG93bnN0cmVhbSBwZWVyIGNhcHMKCSAgaW5zdGVhZCBvZiB1c2luZyBhIHByb3BlcnR5LgoJICBGaXhlcyBidWcgIzY1MDU5NC4KCjIwMTEtMDUtMjcgMDk6NDA6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBVc2UgUFJPUF8gaW5zdGVhZCBvZiBBUkdfIGZvciB0aGUgcHJvcGVydHkgZW51bXMKCjIwMTEtMDUtMjYgMDk6NTk6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSAgZGVidWdzcHk6IFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgoyMDExLTAxLTE0IDE3OjQyOjUwICswMTAwICBHdWlsbGF1bWUgRW1vbnQgPGdlbW9udEBpZ2FsaWEuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuaDoKCSAgZGVidWdzcHk6IGFkZCBuZXcgZWxlbWVudAoJICBUaGlzIGVsZW1lbnQgYWxsb3dzIHlvdSB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgYnVmZmVycyB3aXRoIGJ1cyBtZXNzYWdlcy4gSXQKCSAgcHJvdmlkZXMgdGhlIHNhbWUga2luZCBvZiBpbmZvcm1hdGlvbiBhcyBpZGVudGl0eSBkb2VzIHRocm91Z2ggYSBub3RpZnkgc2lnbmFsCgkgIG9uIGEgc3RyaW5nIHByb3BlcnR5LCBidXQgaW4gYSBtb3JlIHByb2dyYW1tZXItZnJpZW5kbHkgd2F5LgoKMjAxMS0wNS0yNiAwOTo0Njo1OCArMDIwMCAgR2FicmllbCBTdHJpbXR1IDxnYWJyaWVsc3RyaW10dUB5YWhvby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBGaXggcGFyc2luZyBvZiBQU0kgdGFibGUgSURzCgkgIEZpeGVzIGJ1ZyAjNjM1OTE3LgoKMjAxMS0wNS0yNiAwOToyMjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICBkYzEzOTRzcmM6IEltcGxlbWVudCBMQVRFTkNZIHF1ZXJ5CgkgIEJhc2VkIG9uIHRoZSBMQVRFTkNZIHF1ZXJ5IGNvZGUgaW4gdjRsMnNyYyBhbmQgdGhlIHBhdGNoCgkgIGJ5IFRyaXN0YW4gTWF0dGhld3MuIEZpeGVzIGJ1ZyAjNjI1NTIwLgoKMjAxMS0wNS0yNSAyMzoxNDoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBibGFja2xpc3QgbW9yZSBzeXMgZWxlbWVudHMgZnJvbSB0aGUgc3RhdGUgdGVzdHMKCSAgQWxzbyB3cmFwIHRoZSBsaXN0IG9mIGJsYWNrbGlzdGVkIGVsZW1lbnRzIGFuZCB0cmltIHNvbWUgd2hpdGVzcGFjZS4KCjIwMTEtMDUtMjUgMjM6MTM6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogZW5zdXJlIHVuaXFlIHByb3BlcnR5IG5hbWVzCgkgIENvcHkgYW5kIGFkanVzdCB0aGUgY29kZSBmcm9tIGxhZHNwYSBwbHVnaW4gdG8gZW5zdXJlIHVuaXF1ZSBnb2JqZWN0IHByb3BlcnR5CgkgIG5hbWVzLgoKMjAxMS0wNS0yNSAyMDo1MjowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2M3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnNHZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3RzIGZvciBhIG51bWJlciBvZiB2aWRlbyBwYXJzZXJzCgoyMDExLTA1LTI1IDIwOjQ5OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogYWRkaXRpb25hbCBvZmZzZXQgdHJhY2tpbmcgaW4gcGFyc2VyIHRlc3QgaGVscGVyCgoyMDExLTA1LTI1IDIwOjQ4OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSAgdGVzdHM6IGFkZGl0aW9uYWwgcGFyYW1ldGVyaXphdGlvbiBmb3IgcGFyc2VyIHRlc3QgaGVscGVyCgkgIEFsbG93IGNvbnRleHQgY2FsbGJhY2tzIHRvIHBlcmZvcm0gY3VzdG9tIGJ1ZmZlciB2ZXJpZmljYXRpb24KCSAgYW5kIGN1c3RvbSBlbGVtZW50IHNldHVwLiAgQWxzbyBtb3ZlIHNvbWUgc3RhdGljIHRyYWNraW5nIHZhcmlhYmxlcwoJICBpbnRvIGhlbHBlciBzdHJ1Y3QgYW5kIGV4cG9zZSB0aGUgbGF0dGVyIHN0cnVjdCBmb3IgdXNlIGJ5IHVuaXQgdGVzdAoJICAoY2FsbGJhY2tzKS4KCjIwMTEtMDUtMjUgMTU6MjY6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwbHVnIHNvbWUgbW9yZSBidWZmZXIgbGVha3MKCjIwMTEtMDUtMjUgMTM6NTM6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb21wZW5zYXRlIGZvciBza2lwcGVkIGJ5dGVzIGluIHBhcnNpbmcgc3RhdGUgb2Zmc2V0cwoKMjAxMS0wNS0yNSAxMzo1MzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBjbGVhcmluZyBhZGFwdGVyIGZvcm1pbmcgYXZjIG91dHB1dCBmcmFtZQoJICAuLi4gd2hpY2ggbmVlZHMgdG8gYmUgcmVzZXQgdXBvbiBhIG5ldyBmcmFtZSBhbmQgb3RoZXJ3aXNlIChvbmx5KQoJICBmb3IgYXZjIGlucHV0IGluIHBhc3N0aHJvdWdoIG1vZGUgKHJhdGhlciB0aGFuIG9uIGV2ZXJ5IGNoYWluIGNhbGwpLgoKMjAxMS0wNS0yNSAxMTo1MDowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGhhbmRsZSBhbGwgdmFsaWQgcHBzX2lkCgkgIC4uLiB3aGljaCBhcmUgaW4gcmFuZ2UgMC0yNTUuCgoyMDExLTA1LTE1IDEzOjIzOjM5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWxsb3cgZnVsbCBuZWdvdGlhdGlvbiBmb3IgcGFja2V0aXplZCBpbnB1dAoJICAuLi4gYnkgZGVmYXVsdGluZyB0byBhbGxvdyBzcGxpdHRpbmcgcGFja2V0aXplZCBpbnB1dCBhbmQgaGF2aW5nCgkgIG5lZ290aWF0aW9uIHdpdGggZG93bnN0cmVhbSBkZWNpZGluZyB3aGV0aGVyIG9yIG5vdCB0aGlzIGFwcGxpZXMuCgkgIEFsc28gZW5hYmxlIHBhc3MtdGhyb3VnaCBwYXJzaW5nIG1vZGUgaWYgaW5wdXQgYW5kIG91dHB1dCBmb3JtYXQKCSAgKHN0cmVhbS1mb3JtYXQgYW5kIGFsaWdubWVudCkgbWF0Y2guCgkgIEFQSTogR3N0SDI2NFBhcnNlOnNwbGl0LXBhY2tldGl6ZWQgKHJlbW92ZWQpCgkgIEZpeGVzICM2NTAyMjguCgoyMDExLTA1LTI0IDIxOjUwOjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogYWxzbyBleHRyYWN0IHdpZHRoIGFuZCBoZWlnaHQgaW50byBjYXBzCgoyMDExLTA0LTIxIDIyOjQyOjQ1ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHVuaXQgdGVzdCBmb3IgQVBQMS9leGlmICYgY29tbWVudCBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg0NzgKCjIwMTEtMDUtMjUgMTQ6NDI6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJICBtcGVnMmVuYzogZml4IGJ1aWxkIHdpdGggMS45LjAgcmVsZWFzZSBhZ2FpbiBhZnRlciByZWNlbnQgZml4ZXMgZm9yIG1qcGVndG9vbHMgMi4wLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDk3MAoKMjAxMS0wNS0yNSAxNToxMDoxOSArMDIwMCAgQW5kcmVhcyBGcmlzY2ggPGZyYXhpbmFzQG9wZW5kcmVhbWJveC5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBwb2ludGVyIG91dHB1dCBpbiBzdHJlYW0tbm90LWFzc29jaWF0ZWQgZGVidWcgb3V0cHV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTEwNTAKCjIwMTEtMDUtMjQgMTU6NDI6NDQgKzAyMDAgIEfDtnR6IFdhc2NoayA8d2FzY2hrQG1hbmRyaXZhLm9yZz4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuY2M6CgkgIG1wZWcyZW5jOiBzdXBwb3J0IG1qcGVndG9vbHMgMi4wCgkgIFRoaXMgYWRkcyBjb25kaXRpb25hbCBpbmNsdWRlcyBmb3IgdGhlIHJlbmFtZWQgaGVhZGVycyBpbiBtanBlZ3Rvb2xzIDIuMC4KCSAgRml4ZXM6ICM2NTA5NzAuCgoyMDExLTA1LTIzIDE3OjI5OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgeHZpZGRlYzogQWRkIHZpZGVvL21wZWcsbXBlZ3ZlcnNpb249NCB0byB0aGUgY2FwcwoJICBGaXhlcyBidWcgIzYwOTYzOS4KCjIwMTEtMDUtMjAgMTc6MDY6NDkgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZCBpbWFnZS1mb3JtYXR0ZXIgcHJvcGVydHkKCSAgQWRkIGltYWdlLWZvcm1hdHRlciBwcm9wZXJ0eSBpbiBvcmRlciB0byBsZXQgYXBwbGljYXRpb24gY29uZmlndXJlCgkgIHRoZSBmb3JtYXR0ZXIgZWxlbWVudCBmb3IgbWV0YWRhdGEuCgoyMDExLTA1LTIzIDEzOjU0OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGFkZGl0aW9uYWwgZGVidWcgdHJhY2luZwoKMjAxMS0wNS0yMyAxMjowNjowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogYWRkIG5ldyBtcGVndmlkZW9wYXJzZQoKMjAxMS0wNS0yMyAxMjowMjowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHJlbmFtZSB0byBsZWdhY3ltcGVndmlkZW9wYXJzZQoKMjAxMS0wNS0xOCAwOTo0Nzo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGF2b2lkIHN0YWxlIHBhcnNpbmcgc3RhdGUKCjIwMTEtMDUtMTcgMjI6NDI6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBzaW1wbGlmeSBtaW5pbXVtIGZyYW1lIHNpemUgaGFuZGxpbmcKCjIwMTEtMDUtMTcgMjI6NDI6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBzaW1wbGlmeSBtaW5pbXVtIGZyYW1lIHNpemUgaGFuZGxpbmcKCjIwMTEtMDUtMTcgMjI6Mzk6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBzaW1wbGlmeSBtaW5pbXVtIGZyYW1lIHNpemUgaGFuZGxpbmcKCjIwMTEtMDUtMTcgMjI6MTg6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhdm9pZCBzdGFsZSBwYXJzaW5nIHN0YXRlCgoyMDExLTA1LTEyIDEyOjA3OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuaDoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBwb3J0IHRvIGJhc2VwYXJzZQoKMjAxMS0wNS0yMyAxNTowMzoxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogYnVtcCAtY29yZS8tYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjM0LjEKCSAgLi4uIHNpbmNlIGxhdGVzdCBiYXNlcGFyc2UgQVBJIGlzIHJlcXVpcmVkIGZvciB2aWRlb3BhcnNlcnMuCgoyMDExLTA1LTIzIDE0OjQxOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZ3JhY2VmdWxseSBoYW5kbGUgdHJ1bmNhdGVkIGlucHV0IE5BTCB1bml0cwoJICBSYXRoZXIgdGhhbiBhc3NlcnQnaW5nIGluIHN1Y2ggY2FzZSwgZW1pdCB3YXJuaW5nIGlmIHRoZSBsZW5ndGggb2YgYSBOQUwgdW5pdAoJICBpcyBsZXNzIHRoYW4gZXhwZWN0ZWQgMiBhbmQgZGlzY2FyZCBpdC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgQmVuamFtaW4gTS4gU2Nod2FydHogPGJlbnNAYWx1bS5taXQuZWR1PgoJICBGaXhlcyAjNjUwNDE2LgoKMjAxMS0wNS0yMyAxNjo0NzozMSArMDIwMCAgVmluY2VudCBHw6luaWV1eCA8dmdlbmlldXhAZnJlZS5mcj4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogQWRkIHRpbWVvdXQgcHJvcGVydHkgYW5kIHVzZSBHc3RQb2xsIGluc3RlYWQgb2YgcG9sbAoJICBUaGlzIGFsbG93cyB0byB1c2UgbXVjaCBoaWdoZXIgdGltZW91dCB2YWx1ZXMgYmVjYXVzZSBHc3RQb2xsCgkgIGlzIGludGVycnVwdGlibGUgYW5kIGtlZXBzIHRoZSBudW1iZXIgb2Ygd2FrZXVwcyBkdXJpbmcgc2lnbmFsCgkgIGxvc3MgbG93ZXIuCgkgIEZpeGVzIGJ1ZyAjNjA4MTcxLgoKMjAxMS0wNS0yMyAxNDo1ODowOCArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuYWwvTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXggYnVpbGQgb2Ygb3BlbmFsIHBsdWdpbiBmcm9tIGRpc3RlZCB0YXJiYWxsCgoyMDExLTA1LTIzIDE1OjMyOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuaDoKCSogZXh0L3RlbGV0ZXh0ZGVjL3RlbGV0ZXh0LmM6CgkgIHRlbGV0ZXh0ZGVjOiBNaW5vciBjbGVhbnVwIGFuZCBpbmRlbnRpb24gZml4ZXMKCjIwMTEtMDUtMjMgMTU6MjA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMS0wNS0yMyAxNToxNDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IEZpeCBidWZmZXIgZGF0YSBsZWFrCgoyMDEwLTA5LTEwIDE0OjM0OjQyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmg6CgkgIHRlbGV0ZXh0ZGVjOiBBZGQgc3VwcG9ydCBmb3IgcGFuZ28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTczOQoKMjAxMC0wNi0xMCAxMjo0NDoyNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5oOgoJICB0ZWxldGV4dGRlYzogYWRkIGEgbmV3IG1ldGhvZCB0byBjb252ZXJ0IGEgcGFnZSBpbiBhIGxpc3Qgb2Ygc3RyaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzM5CgoyMDEwLTA5LTA5IDE2OjQxOjMyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IGFkZCBzb21lIGRhdGEgaW4gdGhlIHByZXJvbGwgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk3MzkKCjIwMTAtMDYtMTAgMTM6NTU6MzAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogZml4IGRlYWRsb2NrIG9uIGEgc3RyZWFtIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk3MzkKCjIwMTAtMDYtMTAgMTI6NDI6NDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogZG9uJ3QgdHJ5IHRvIHB1c2ggYW4gZXZlbnQgb24gYSBwYWQgdGhhdCByZXR1cm5lZCBhbiBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzM5CgoyMDEwLTA5LTEzIDExOjU5OjE4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3RlbGV0ZXh0ZGVjL01ha2VmaWxlLmFtOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmg6CgkqIGV4dC90ZWxldGV4dGRlYy90ZWxldGV4dC5jOgoJICB0ZWxldGV4dGRlYzogTmV3IHRlbGV0ZXh0IGRlY29kZXIgcGx1Z2luIGJhc2VkIGluIHp2YmkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTczOQoKMjAxMS0wNS0yMyAxNDoxNDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmFsL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbC5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5oOgoJICBvcGVuYWw6IEFkZCBuZXcgb3BlbmFsc3JjIGVsZW1lbnQKCSAgQmFzZWQgb24gcGF0Y2hlcyBieSBWaWN0b3IgTGluIDxib3Juc3R1YkBnbWFpbC5jb20+CgkgIEZpeGVzIGJ1ZyAjNTUwMjMwLgoKMjAxMS0wNS0yMyAxMzo0MTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5hbC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5hbC9nc3RvcGVuYWwuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5oOgoJICBvcGVuYWw6IEFkZCBuZXcgT3BlbkFMIHNpbmsgZWxlbWVudAoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IENocmlzIFJvYmluc29uIDxjaHJpcy5rY2F0QGdtYWlsLmNvbT4KCSAgRml4ZXMgYnVnICM2MTU2MTUuCgoyMDExLTA1LTIwIDE1OjI1OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRG8gbm90IHNlZ2ZhdWx0IG9uIG51bGwgbG9jYXRpb25zCgkgIFByZXZlbnQgY2FwdHVyZSBmcm9tIHN0YXJ0aW5nIHdoZW4gc2F2aW5nIGxvY2F0aW9uIGlzIHNldCB0bwoJICBOVUxMCgoyMDExLTA1LTIwIDEzOjA0OjU0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5jOgoJICBjYW1hcHBsaWNhdGlvbmluZm86IGZpeCBwb3NzaWJsZSBhcnJheSBvdmVycnVuCgoyMDExLTA1LTIwIDA5OjU4OjUwICswMjAwICBSYWZhZWwgRGluaXogPHJhZmFlbEByaXNldXAubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdbcHRdc2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgQUFDIExBVE0vTE9BUyBzdHJlYW1zCgkgIEZpeGVzIGJ1ZyAjNjE1NjgxLgoKMjAxMS0wNS0xOSAwODowNToxNCArMDIwMCAgVy4gTWljaGFlbCBQZXR1bGxvIDxtaWtlQGZseW4ub3JnPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5oOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmg6CgkgIGFwZXhzaW5rOiBBZGQgc3VwcG9ydCBmb3IgZ2VuZXJhdGlvbiAyIEFpclR1bmVzIGhhcmR3YXJlCgkgIEZpeGVzIGJ1ZyAjNjQ5OTMxLgoKMjAxMS0wNS0yMCAwMDozNTo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGYtZXhhbXBsZTogZml4IHRoZSB7IH0gc2NvcGUKCjIwMTEtMDUtMjAgMDA6MjA6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogZG9uJ3QgbGVhayBmZCBvbiBlcnJvcgoKMjAxMS0wNS0yMCAwMDoxNjowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkgIGxpYnJmYjogZG9uJ3QgbGVhayBwYXNzd29yZCBvbiBlcnJvcgoKMjAxMS0wNS0xOSAyMzo1NzozOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmUgb2Jzb2xldGUgY29tbWVudGVkIG91dCBwYXJ0CgkgIFdlIGRvbid0IGhhdmUgdGhpcyBpbiB0aGUgb3RoZXIgbW9kdWxlcyBhbmQgaXRzIG5vdCBuZWVkZWQuCgoyMDExLTA1LTE5IDIzOjUwOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGludHJvc3BlY3Rpb24gZGF0YQoJICBOb3cgbW9yZSBmaWxlcyBhcmUgbWVyZ2VkIGFuZCBwcm9kdWNlZCBpbiBhIGNhbm9uaWNhbCBmYXNoaW9uLCB3aGljaCBob3BlZnVsbHkKCSAgY3JlYXRlcyBsZXNzIG9yIG5vIGRlbHRhIGluIHRoZSBmdXR1cmUuCgoyMDExLTA1LTE5IDIyOjU4OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDllNWJiZDUgdG8gNjliOTgxZgoKMjAxMS0wNS0xOSAxNDo1ODoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEFkZCB2aWRlby1kZXZpY2UgYXJndW1lbnQKCSAgQWRkcyBhbiBhcmd1bWVudCB0byBzZWxlY3Qgd2hpY2ggdmlkZW8gZGV2aWNlIHNob3VsZCBiZSB1c2VkCgkgIG9uIHRoZSB2aWRlbyBzb3VyY2UgZWxlbWVudCBpbiBjYW1lcmFiaW4yCgoyMDExLTA1LTE5IDE0OjUyOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogRml4IHR5cG8gZnJvbSBwcmV2aW91cyBjb21taXQKCSAgVGhlIHByb3BlcnR5IGlzIGF1ZGlvLXNyYyBhbmQgbm90IGF1ZGlvLXNvdXJjZQoKMjAxMS0wNS0xOSAxNDozMjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEFkZCBhdWRpby1zb3VyY2UgcGFyYW1ldGVyIHRvIGdzdC1jYW1lcmFiaW4yLXRlc3QKCSAgQWRkcyBhbiBvcHRpb24gdG8gc2VsZWN0IHRoZSBhdWRpbyBzb3VyY2UgdG8gYmUgdXNlZCBvbiB2aWRlbwoJICByZWNvcmRpbmdzIG9uIGNhbWVyYWJpbjIgdGVzdCBhcHBsaWNhdGlvbgoKMjAxMS0wNS0xOSAxNDoyMzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIG1pc3NpbmcgWwoJICBBZGRzIG1pc3NpbmcgWyB0byBjb25maWd1cmUgb24gdGhlIENEQVVESU8gcGtnIGNvbmZpZyBjaGVjawoKMjAxMS0wNS0xOSAxODo0NToyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGphc3BlcmVuYzogcmVtb3ZlIHVudXNlZCAnbWltZXR5cGUnIHZhcmlhYmxlCgkgIEFzIG1pbWV0eXBlIGlzIG5vdCB1c2VkLCB3ZSBkb24ndCBuZWVkIHRvIGZldGNoIGl0IGFuZCB0aGVyZWZvcmUgbmVpdGhlciBuZWVkCgkgIHRoZSBzdHJ1Y3R1cmUgcy4KCjIwMTEtMDUtMTkgMTU6MjY6MzggKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB0byBmaXQgd2l0aCBsYXRlc3QgdXBzdHJlYW0gc3BlYyBmaWxlcwoKMjAxMS0wNS0xOCAxNTo0NDowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBNYWtlIGdjYyA0LjYgaGFwcHkKCSAgUmVtb3ZlIHdhcm5pbmdzIGR1ZSB0byBpbml0aWFsaXplZCBidXQgbmV2ZXIgdXNlZCB3YXJuaW5ncwoKMjAxMS0wNS0xOCAxMzozNTozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IG1heCBwcHMgaXMgMjU1CgkgIEZpeGVzICM2NTA0ODQuCgoyMDExLTA1LTEyIDIyOjU0OjQ0ICswMzAwICBCcmlhbiBHaXRvbmdhIE1hcmV0ZSA8bWFyZXRlQHRvc2huaXguY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBDaGFuZ2UgY291bnRlcnMgdG8gNjQgYml0IHVuc2lnbmVkIGludGVnZXJzLgoKMjAxMS0wNS0xMCAxNjoxNDozMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc3dpdGNoIGxpYmNkYXVkaW8gdG8gcGtnLWNvbmZpZwoKMjAxMS0wNC0yNCAxOToxMTozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IHVzZSBnc3QgZGVidWcgZm9yIHRzbXV4IGxpYnJhcnkKCjIwMTEtMDQtMTkgMTU6MDQ6MDUgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSAgYXZjOiBhdmNzcmMgaXMgYWx3YXlzIGVuYWJsZWQKCjIwMTEtMDQtMTkgMTU6MDE6MTUgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSAgYXZjOiBJbmNsdWRlIDIwMCBidXMgY3ljbGVzIGluIGVhY2ggYnVmZmVyIChhYm91dCAzMDAgVFMgcGFja2V0cykKCjIwMTEtMDQtMTkgMTU6MDA6NTMgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSAgYXZjOiBFbWl0IGEgc2luZ2xlIGJ1ZmZlciBwZXIgY2FsbGJhY2sKCjIwMTEtMDQtMTkgMTM6NTM6NTQgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuaDoKCSAgYXZjOiBUcmFjayB0aGUgbnVtYmVyIG9mIGVucXVldWVkIGFuZCBkZXF1ZXVlZCBwYWNrZXRzCgoyMDExLTA0LTE5IDEzOjUzOjIzIC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogRHVtcCB0aW1lc3RhbXAgaW5mb3JtYXRpb24KCjIwMTEtMDQtMTggMTU6Mzc6NTcgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuaDoKCSAgYXZjOiBTYXZlIEFWQyBvYmplY3RzIGluIHRoZSBHc3RBVkNTcmMgb2JqZWN0CgkgIGFuZCBzdG9wIHRoZW0gd2hlbiB0aGUgcGlwZWxpbmUgaXMgc3RvcHBlZAoKMjAxMS0wNC0xOCAxNToxNjowMCAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJICBhdmM6IEN5Y2xlIGFuZCBwYWNrZXQgYXJlIHVuc2lnbmVkCgoyMDExLTA0LTE4IDE1OjE1OjI4IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogYXZjc3JjIGlzIGEgbGl2ZSBzb3VyY2UKCjIwMTEtMDQtMTggMTU6MTQ6NTUgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvTWFrZWZpbGUuYW06CgkgIGF2YzogTG9vayBpbiBBVkNWaWRlb1NlcnZpY2VzIGZvciBoZWFkZXJzCgoyMDExLTA0LTE4IDEyOjI4OjUyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYXZjOiBhdHRlbXB0IG5ldyBjb25maWd1cmUKCjIwMTEtMDQtMTYgMTk6NDI6MDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9hdmMvTWFrZWZpbGUuYW06CgkqIHN5cy9hdmMvZ3N0YXZjcGx1Z2luLmNwcDoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5oOgoJICBhdmM6IEFkZCBBVkMgVmlkZW8gU2VydmljZXMgcGx1Z2luIGZvciBPUy9YCgoyMDExLTA1LTE4IDE2OjEwOjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZkMzUwNzMgdG8gOWU1YmJkNQoKMjAxMS0wNS0xOCAxMzoyNzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IE5hbWUgbWF4L21pbiBxdWFudGl6ZXIgcHJvcGVydGllcyB7bWF4LG1pbn0tcXVhbnRpemVyCgkgIEFsc28gaW1wcm92ZSBxdWFsaXR5IHByb3BlcnR5IGRlc2NyaXB0aW9uLgoKMjAxMS0wNS0xOCAxMzoyNjoyMyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBBZGQgcHJvcGVydGllcyB0byBzZWxlY3QgYSBtYXhpbXVtIGFuZCBtaW5pbXVtIHF1YW50aXplcgoJICBGaXhlcyBidWcgIzY0MTQwNS4KCjIwMTEtMDUtMTggMTM6MTg6NTggKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRml4IHF1YWxpdHkgdG8gKGNvbnN0YW50KSBxdWFudGl6ZXIgbWFwcGluZwoJICBUaGlzIG5vdyBhbGxvd3MgdG8gc2VsZWN0IGFsbCBwb3NzaWJsZSBxdWFudGl6ZXJzIGJldHdlZW4KCSAgMCBhbmQgNjMuCgkgIFNlZSBidWcgIzY0MTQwNS4KCjIwMTEtMDUtMTggMTI6MjQ6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDZkZmNlYSB0byBmZDM1MDczCgoyMDExLTA0LTI4IDE1OjU5OjM4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHZhcmlvdXM6IGZpeCBhdXRob3IgdGFnIGluIGVsZW1lbnQgZGV0YWlscwoKMjAxMS0wNC0yNyAxNjo1NjowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9maWx0ZXI6CgkgIGVsZW1lbnQtdGVtcGxhdGVzOiBpbXByb3ZlIHRoZSBhdWRpb2ZpbHRlciB0ZW1wbGF0ZQoJICBBZGQgY29tbWVudHMuIEFkZCBzdGFydC9zdG9wIG1ldGhvZHMuIEFkZCAoY29tbWVudGVkKSBpbnN0YW5jZSBjYXN0cyBhdCB0aGUKCSAgYmVnaW4gb2YgdGhlIG1ldGhvZC4gTWFrZSB0cmFuc2Zvcm1faXAgcmV0dXJuaW5nIEZMT1dfT0sgYnkgZGVmYXVsdC4KCjIwMTEtMDQtMjcgMTY6NTE6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBpbXByb3ZlIHBsdWdpbl9pbml0KCkKCSAgUmV0dXJuIHRoZSByZXN1bHQgb2YgZ3N0X2VsZW1lbnRfcmVnaXN0ZXIoKS4gVXNlIHRoZSBUWVBFIG1hY3JvIGluc3RlYWQgb2YgdGhlCgkgIF9nZXRfdHlwZSgpIGZ1bmN0aW9uLgoKMjAxMS0wNS0xMiAxMTo1NzoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBzb21lIGJ1ZmZlciBsZWFrcwoJICBGaXhlcyAjNjUwMzIzLgoKMjAxMS0wNS0xMiAxMTo1Njo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeHVwIGJvaWxlcnBsYXRlIGFuZCBkZWJ1ZyBjb2RlIHN0eWxlCgoyMDExLTA1LTEzIDE3OjE4OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogUmVtb3ZlIG9ic29sZXRlIGltYWdlY2FwdHVyZWJpbgoJICBpbWFnZWNhcHR1cmViaW4gaGFzIGJlZW4gcmVwbGFjZWQgYnkgZW5jb2RlYmluLCBubyBuZWVkCgkgIGZvciBpdCBhbnltb3JlCgoyMDExLTA1LTEzIDE2OjI3OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdXNlIGpwZWcgYXMgYSBjb250YWluZXIgdG8gZm9yY2UgamlmbXV4IHVzYWdlCgkgIEppZm11eCBzaG91bGQgYmUgdXNlZCBhcyBpdCBjYW4gZG8geG1wL2V4aWYgdGFnZ2luZywgc28gdGhpcyBwYXRjaAoJICBzZXRzIGpwZWcgYXMgYSBjb250YWluZXIgdG8gZm9yY2UgaXQgdG8gYmUgdXNlZCB0b2dldGhlciB3aXRoCgkgIGEganBlZyBlbmNvZGVyCgoyMDExLTA1LTEyIDExOjE3OjI4ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBkbyBwcm9wZXIgRU9TIGhhbmRsaW5nIG9uIHNlbmRfZXZlbnQoZW9zKQoJICBXZSBmaXJzdCBsZXQgdGhlIGlubmVyIGNhbWVyYSBFT1MuIFRoZW4gd2UgbWFudWFsbHkgcG9zdCBFT1Mgb24gdGhlIGltYWdlIGFuZAoJICB2aWRlbyBzaW5rcyBpZiB0aG9zZSBhcmUgPD0gUkVBRFkgYW5kIHNvIGhhdmUgaWdub3JlZCBFT1MgZXZlbnRzLgoKMjAxMS0wNC0yOCAxNToxMTozNiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB1c2UgZW5jb2RlYmluIHRvIGVuY29kZSBpbWFnZXMKCjIwMTEtMDUtMTMgMTU6MTY6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5jOgoJICBqaWZtdXg6IEJ1bXAgcmFuayB0byBzZWNvbmRhcnkKCSAgamlmbXV4IGlzIGJlaW5nIHVzZWQgZm9yIHF1aXRlIHNvbWUgdGltZSBhbmQgaGFzIG5vIG9wZW4gYnVncwoJICBjdXJyZW50bHksIHNvIHdlIGNhbiBnaXZlIGl0IGEgc2Vjb25kYXJ5IHJhbmsgYXQgbGVhc3QuCgkgIEZpeGVzICM2NDkzOTEKCjIwMTEtMDUtMTMgMTU6MTU6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogQ2hhbmdlIGNsYXNzIHRvIGZvcm1hdHRlcgoJICBqaWZtdXggaXMgYSBmb3JtYXR0ZXIgYW5kIG5vdCBhIG11eGVyCgkgIEZpeGVzICM2NDkzOTEKCjIwMTEtMDUtMTMgMDk6MTE6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBGaXggR09wdGlvbkVudHJ5IGFycmF5CgkgIFVzZSBubyBmbGFncyBpbnN0ZWFkIG9mIHBhc3NpbmcgR19PUFRJT05fQVJHX09QVElPTkFMIHRvIG9wdGlvbnMgdGhhdAoJICBtdXN0IGhhdmUgYW4gYXJndW1lbnQKCjIwMTEtMDUtMTIgMTE6Mzk6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IGJ1aWxkIGZpeGVzCgkgIEFkZCBzb21lIG1pc3NpbmcgZGVwZW5kZW5jaWVzCgoyMDExLTA1LTExIDE4OjM1OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQ2hhbmdpbmcgaG93IHNvbWUgcHJvcGVydGllcyB3b3JrCgkgIFNvbWUgcHJvcGVydGllcyAobGlrZSB2aWV3ZmluZGVyLWZpbHRlcikgb25seSBhcmUgdGFrZW4gaW50byB1c2UKCSAgb24gTlVMTC0+UkVBRFkgdHJhbnNpdGlvbnMgYW5kIHRoZSBnZXQvc2V0IHByb3BlcnR5IHdhcyByZXR1cm5pbmcKCSAgdGhlIGN1cnJlbnRseSBpbiB1c2UgdmFsdWUsIGluc3RlYWQgb2YgdGhlIGxhc3Qgc2V0LgoJICBUaGlzIGlzIGJhZCwgYXMgYWZ0ZXIgc2V0dGluZyAnYScgdG8gJ3gnLCB5b3UgZXhwZWN0IHRoYXQgZ2V0dGluZyAnYScKCSAgd2lsbCByZXR1cm4gJ3gnLiBUaGlzIHBhdGNoIGZpeGVzIGl0LgoJICBJZiBuZWVkZWQsIGxhdGVyIHdlIGNvdWxkIGFkZCBjdXJyZW50LSogcHJvcGVydGllcyB0aGF0IGFyZSByZWFkb25seQoJICBhbmQgZ2V0IHRoZSBjdXJyZW50IHZhbHVlIGluIHVzZS4KCjIwMTEtMDQtMjkgMDg6NTQ6NTYgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL1BPUlRJTkc6CgkgIGNhbWVyYWJpbjI6IFVwZGF0aW5nIFBPUlRJTkcgZmlsZQoKMjAxMS0wNC0yOCAxNjowNTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBtaXNzaW5nIHBsdWdpbiBlcnJvciBtZXNzYWdlcwoJICBXaGVuZXZlciBhIHJlcXVpcmVkIHBsdWdpbiBpcyBtaXNzaW5nLCBjYW1lcmFiaW4yIHNob3VsZCBwb3N0CgkgIGEgbWlzc2luZyBwbHVnaW4gbWVzc2FnZSB0byB0aGUgYnVzCgoyMDExLTA0LTI4IDE0OjM3OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZW5jb2RlYmluIG1pZ2h0IG5vdCBoYXZlIHRoZSByZXF1ZXN0ZWQgcGFkCgkgIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBlbmNvZGViaW4gZG9lc24ndCBoYXZlIHRoZSBwYWQKCSAgY2FtZXJhYmluMiBpcyByZXF1ZXN0aW5nLCBlaXRoZXIgYmVjYXVzZSBvZiBpdHMgY3VycmVudCBwcm9maWxlCgkgIG9yIGJlY2F1c2Ugb2YgbWlzc2luZyBlbGVtZW50cywgbWFraW5nIGl0IGZhaWwgdG8gcHJvdmlkZQoJICB0aGUgcGFkCgoyMDExLTA0LTI3IDE1OjEyOjE4IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IEFkZCBtb3JlIGFyZ3VtZW50cwoJICBBZGQgY29tbWFuZC1saW5lIG9wdGlvbnMgZm9yIHNldHRpbmcgaW1hZ2UtY2FwdHVyZSwgdmlld2ZpbmRlcgoJICBhbmQgdmlkZW8tY2FwdHVyZSBjYXBzIGFzIHN0cmluZ3MuCgkgIFRoZSB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnRpZXMgYXJlIG5vdyB1c2VkIG9ubHkgaWYgdGhlc2UgbmV3IGNhcHMKCSAgcHJvcGVydGllcyBhcmVuJ3Qgc2V0LgoKMjAxMS0wNC0yNiAxNToyMTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogaW1hZ2VjYXB0dXJlYmluOiBGaXggdGFncyBtZXJnaW5nIG1vZGUKCSAgVXNlIG1lcmdlIHJlcGxhY2UgbW9kZSB0byBhbGxvdyBuZXcgdGFncyB0byBvdmVycmlkZSBvbGQgb25lcwoJICBhbmQgZml4IHRoZSB1c2UgY2FzZSB3aGVyZSB0aGUgbGFzdCBzZW50IHRhZ3Mgc2hvdWxkIGJlIHNlcmlhbGl6ZWQKCSAgdG8gdGhlIGNhcHR1cmVkIGltYWdlcy4KCjIwMTEtMDQtMjYgMTQ6NTM6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggdGFnIGhhbmRsaW5nIGZvciB2aWRlb3MKCSAgSW4gdmlkZW8gbW9kZSB0aGUgdGFncyBzaG91bGQgYmUgcHVzaGVkIGFmdGVyIHNlbmRpbmcgdGhlIHN0YXJ0IGNhcHR1cmUKCSAgdG8gdGhlIHNvdXJjZSwgdGhpcyBhbGxvd3MgdGhlIHZpZGVvIHJlY29yZGluZyBlbGVtZW50cyB0byBiZSByZXNldAoJICBhbmQgbGVhdmUgdGhlIGZsdXNoaW5nIHN0YXRlIHRoZXkgd2VyZSBhdCBhZnRlciBhIHByZXZpb3VzIGNhcHR1cmUuCgkgIFRoaXMgZml4ZXMgdGhlIHByb2JsZW0gd2hlcmUgdGFncyBvbmx5IHdvcmsgZm9yIHRoZSBmaXJzdCB2aWRlbyBjYXB0dXJlCgoyMDExLTA0LTI2IDE0OjUwOjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEZpeCBzZXQgYnV0IHVudXNlZCB2YXJpYWJsZSB3YXJuaW5ncwoKMjAxMS0wNC0yNiAxNDo0OTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBGaXggdGFncyBzZXR0aW5nIHRlc3RzCgkgIEZpeGVzIHRoZSB0YWdzIHNldHRpbmcgdGVzdHMgdG8gcmV2ZWFsIGEgYnVnIGluIGNhbWVyYWJpbjIKCSAgdGFnIHNldHRpbmcgbG9naWMuCgoyMDExLTA0LTI1IDE2OjA0OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbjItc3JjLnR4dDoKCSAgY2FtZXJhYmluMjogQWRkaW5nIGNhbWVyYSBzb3VyY2UgZG9jdW1lbnRhdGlvbiBmaWxlCgkgIEFkZHMgYSBzbWFsbCB0ZXh0IGZpbGUgd2l0aCBhIGJyaWVmIGRlc2NyaXB0aW9uIG9mCgkgIHdoYXQgaXMgZXhwZWN0ZWQgZnJvbSBhIGNhbWVyYWJpbjIgc291cmNlIGVsZW1lbnQKCjIwMTEtMDQtMTEgMTU6MzM6MjAgLTAzMDAgIExhdXJpIExlaHRpbmVuIDxsYXVyaS5sZWh0aW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IEhhbmRsZSBlcnJvcnMgZnJvbSBwcmV2aWV3IHBpcGVsaW5lCgkgIEltcGxlbWVudHMgYSBtZXNzYWdlIGhhbmRsaW5nIGZ1bmN0aW9uIHRvIHByZXZpZXcgcGlwZWxpbmUgYnVzLgoJICBJZiBHU1RfTUVTU0FHRV9FUlJPUiBpcyBzZWVuLCBjb25zaWRlcnMgcHJldmlldyBwaXBlbGluZSB1bmFibGUKCSAgdG8gZG8gaXRzIGpvYiBhbmQgcG9zdHMgYW4gZXJyb3IgbWVzc2FnZSB0byBhcHBsaWNhdGlvbi4KCSAgU2V0cyBwaXBlbGluZSBlbGVtZW50IHRvIE5VTEwgc28gdGhhdCBzdWJzZXF1ZW50IGNhbGxzIHRvIHBvc3RfcHJldmlldwoJICBhbmQgc2V0X2NhcHMgZnVuY3Rpb25zIGp1c3QgcmV0dXJucyB3aXRob3V0IHB1c2hpbmcgYW55dGhpbmcgdG8gdGhlCgkgIGRpc3Bvc2VkIHByZXZpZXcgcGlwZWxpbmUuIExlYXZlcyBmdXJ0aGVyIGFjdGlvbnMgdG8gdGhlIGFwcGxpY2F0aW9uLgoKMjAxMS0wNC0wOCAwOToyMjoxMSAtMDMwMCAgTGF1cmkgTGVodGluZW4gPGxhdXJpLmxlaHRpbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJICBiYXNlY2FtZXJhYmluc3JjOiBQcm90ZWN0aW9uIGZvciBwcmV2aWV3cGlwZWxpbmUgd2hlbiBzZXR0aW5nIG5ldyBwcmV2aWV3IGNhcHMKCSAgSW1wbGVtZW50cyBhIHN0YXRlIGluZGljYXRpbmcgZmxhZyB0byBwcmV2aWV3IHBpcGVsaW5lLAoJICBzbyB0aGF0IG5ldyBjYXBzIGFyZSBub3Qgc2V0IGlmIHRoZSBwaXBlbGluZSBpcyBwcm9jZXNzaW5nIGEKCSAgcHJldmlldy4gVGhlIGNhcHMgYXJlIHNldCBhcyBwZW5kaW5nIGFuZCBhcHBsaWVkIHdoZW4gdGhlCgkgIG5leHQgcHJldmlldyBwb3N0IGlzIGNhbGxlZC4KCSAgSW4gdGhpcyBjYXNlIGEgd2FpdCB3YXMgaW1wbGVtZW50ZWQgaW4gdGhlIHBvc3RfcHJldmlldyBmdW5jdGlvbiwKCSAgc28gdGhhdCBuZXcgcHJldmlldyBpbWFnZSBidWZmZXIgd2lsbCB3YWl0IHVudGlsIHRoZSBvdGhlciBwcmV2aWV3cwoJICBoYXZlIGJlZW4gcG9zdGVkIHRvIHRoZSBhcHBsaWNhdGlvbiBhbmQgdGhlIG5ldyBjYXBzIGNhbiBiZSB1c2VkCgkgIHNhZmVseS4KCjIwMTEtMDMtMjkgMTM6NDY6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBGaXggY29tcGlsZSBwcm9ibGVtIHdpdGggZGVidWcgZGlzYWJsZWQKCjIwMTEtMDMtMjMgMTg6NDE6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICBjYW1lcmFiaW4yOiB2aWV3ZmluZGVyYmluOiBQb3N0IG1pc3NpbmcgcGx1Z2luIG1lc3NhZ2VzCgkgIE1ha2VzIHZpZXdmaW5kZXJiaW4gcG9zdCBtaXNzaW5nIHBsdWdpbiBtZXNzYWdlcyB3aGVuIGl0CgkgIGNhbid0IGNyZWF0ZSBhbiBpbnRlcm5hbCBlbGVtZW50cwoKMjAxMS0wMy0yMyAxODo0MDowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkgIGNhbWVyYWJpbjI6IEltcHJvdmUgbWlzc2luZyBwbHVnaW4gbWVzc2FnZQoJICBJbXByb3ZlcyB0aGUgbWVzc2FnZSB0ZXh0IGZvciBtaXNzaW5nIHBsdWdpbiBtZXNzYWdlcyBmcm9tCgkgIGNhbWVyYWJpbjIKCjIwMTEtMDMtMjMgMTc6NDY6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvUE9SVElORzoKCSAgY2FtZXJhYmluMjogVXBkYXRlIHBvcnRpbmcgZmlsZQoJICBVcGRhdGUgcG9ydGluZyBmaWxlIHdpdGggbWVudGlvbiB0aGF0IHN0b3AtY2FwdHVyZSBpcyBub3cKCSAgYXN5bmMuCgoyMDExLTA0LTA4IDE3OjU4OjQyICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZ3N0LWNhbWVyYWJpbjItdGVzdDogQWxsb3cgZ3N0LWxhdW5jaCBwaXBlbGluZXMgZm9yIHNpbmtzCgkgIFVzZSBnc3RfcGFyc2VfbGF1bmNoICgpIHRvIHBhcnNlIHRoZSBzaW5rIHN0cmluZ3MgdG8gYWxsb3cgc3BlY2lmaWNhdGlvbgoJICBvZiBwcm9wZXJ0aWVzIHRvIHNpbmtzIGFuZCBvZiBtb3JlIGFkdmFuY2VkIHNpbmsgZ3JhcGhzLgoKMjAxMS0wNC0wNCAxMzoyODozMiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggZGVidWcgcHJpbnQgdG8gc2hvdyBhdWRpby92aWRlbyBkZXBlbmRpbmcgb24gcGFkIHR5cGUKCjIwMTEtMDMtMzEgMTM6MDg6NDggKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IG9yZGVyIG9mIGVsZW1lbnQgc3RhdGUgY2hhbmdlCgkgIFRvIGNoYW5nZSB0aGUgc3RhdGUgb2YgZWxlbWVudHMgaW4gYSBwaXBlbGluZSwgd2Ugc2hvdWxkIG1pcnJvciB0aGUKCSAgYmVoYXZpb3VyIG9mIEdzdEJpbiB3aGljaCBzdGFydHMgYXQgdGhlIHNpbmsgZWxlbWVudCBhbmQgd29ya3MgaXRzIHdheQoJICB1cHN0cmVhbS4KCjIwMTEtMDQtMDEgMjI6MTM6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBkZWJ1ZyBjb2RlIHN0eWxlIGZpeGVzCgoyMDExLTA0LTAxIDIyOjEzOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogcHJvcGFnYXRlIGRvd25zdHJlYW0gZmxvdyByZXR1cm4gdG8gdXBzdHJlYW0KCjIwMTEtMDQtMDMgMjI6MzU6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogaGFuZGxlIG1pc3NpbmcgZnJhbWVyYXRlIHdoZW4gY2FsY3VsYXRpbmcgdGltZXN0YW1wCgoyMDExLTA0LTAzIDIyOjMyOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGRlYnVnIGNvZGUgc3R5bGUgZml4ZXMKCjIwMTEtMDQtMDEgMjI6MTI6MzAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogdHVuZSBwYXJzaW5nIHNpbmsgY2FwcyBpbnRvIHZpZGVvIHN0YXRlCgkgIC4uLiB0byBwcm92aWRlIHN1YmNsYXNzIHdpdGggbW9yZSBpbmZvcm1hdGlvbiB3LnIudC4gb3JpZ2luYWwgY2Fwcy4KCjIwMTEtMDQtMDEgMTg6NDk6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogdmlkZW8gc3RhdGUgcmVmZXJlbmNlIHRvIGNvZGVjX2RhdGEgaXMgbm90IHJlZmNvdW50ZWQKCSAgLi4uIGJ1dCByYXRoZXIgaW1wbGljaXRseSB2YWxpZCBhcyBsb25nIGFzIHNpbmsgY2FwcyBhcmUgbm90IG1vZGlmaWVkLgoKMjAxMS0wNC0wMSAxODowMDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBpbXByb3ZlIGdsaXRjaCByZXNpbGllbmNlCgkgIFByb3ZpZGUgYSByZXBsYWNlbWVudCBmb3IgR1NUX0VMRU1FTlRfRVJST1IgdG8gYXZvaWQgYWJvcnRpbmcgYXQgdGhlIGZpcnN0CgkgIGF0b20gb3V0IG9mIHBsYWNlLCB3aGlsZSBvbiB0aGUgb3RoZXIgaGFuZCBub3QgZmFpbGluZyBpbmRlZmluaXRlbHkuCgoyMDExLTAzLTMxIDE0OjQ3OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydAoKMjAxMS0wMy0zMCAxMDoyODowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiB1c2UgYmFzZXZpZGVvY29kZWMgZGlzY29udCBmaWVsZAoKMjAxMS0wMy0zMCAxMDoxODoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHJlYWxseSBhbmQgb25seSBzZXQgc3JjIHBhZCBjYXBzIHdoZW5ldmVyIHJlcXVlc3RlZAoJICAuLi4gc2luY2Ugc3ViY2xhc3MgaXMgZXhwZWN0ZWQgdG8gYmUgd2lzZSBlbm91Z2ggdG8ga25vdyB3aGVuIHRvIGRvIHNvLgoKMjAxMS0wMy0zMCAwOToxNzoyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgc29tZSBzYW5pdHkgZW5mb3JjaW5nCgoyMDExLTAzLTMwIDA5OjE1OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBkb2N1bWVudGF0aW9uCgkgIC4uLiBhbmQgcmVtb3ZlIHNvbWUgbW9yZSBzdHJheSB1bnVzZWQgY29kZSBhbmQgbWV0aG9kcy4KCjIwMTEtMDMtMjkgMTU6NDE6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2NvZGVjOiBmdWxseSBmcmVlIHZpZGVvIGZyYW1lCgoyMDExLTAzLTI5IDE1OjQxOjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHN0cmVhbWxpbmUgZGlzY29udCwgZmx1c2ggYW5kIHJlc2V0IGhhbmRsaW5nCgkgIC4uLiB3aGljaCBpcyBub3QgdG8gc2F5IHRoZXJlIGlzIG5vIHJvb20gZm9yIGZ1cnRoZXIgdHdlYWtpbmcgLi4uCgoyMDExLTAzLTI5IDE1OjM5OjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBzb21lIGhlYWRlciBjb21tZW50YXJ5CgoyMDExLTAzLTI5IDEyOjU3OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHJlbW92ZSAoYWxtb3N0KSB1bnVzZWQgZmllbGRzCgkgIC4uLiBhbmQgYWxzbyBzb21lIG1vcmUgdW51c2VkIGNvZGUuCgoyMDExLTAzLTI5IDEwOjQxOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGludm9rZSBzdWJjbGFzcyBzdGFydCBtZXRob2QgYXQgc3RhdGUgY2hhbmdlIGFuZCB1c2Ugc2V0X2Zvcm1hdAoJICBXaGlsZSB0aGlzIGNoYW5nZXMgQVBJIHNsaWdodGx5IChlLmcuIGFjdHVhbGx5IHVzZXMgc2V0X2Zvcm1hdCBub3cpLCB3aGljaCBpcyBPSwoJICBmb3IgdW5zdGFibGUgQVBJLCBpdCBoYXMgZm9sbG93aW5nIG1lcml0czoKCSAgKiBzeW1tZXRyaWMgdy5yLnQuIHN0b3AgYXQgc3RhdGUgY2hhbmdlCgkgICogaW4gbGluZSB3aXRoIG90aGVyIGJhc2UgY2xhc3MgcHJhY3RpY2UKCSAgKiBvdGhlcndpc2Ugbm8gc3ViY2xhc3MgbWV0aG9kIGF0IHN0YXRlIGNoYW5nZSAoZ2xvYmFsIGFjdGl2YXRpb24gdGltZSkKCSAgTW9yZW92ZXIsIHN1YmNsYXNzZXNlIGFyZSBlaXRoZXIgdW5hZmZlY3RlZCBvciB0cml2aWFsbHkgYWRqdXN0ZWQgYWNjb3JkaW5nbHkuCgoyMDExLTA0LTI4IDEyOjAyOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGZpeHVwIHR3ZWFrCgoyMDExLTAzLTI4IDE2OjE1OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBhbmQgdHdlYWsgZGVidWcgc3RhdGVtZW50cwoKMjAxMS0wMy0yOCAxMzozMjoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYXJyYW5nZSBmb3IgbGltaXRlZCBsZWdhY3kgc2Vla2luZyBzdXBwb3J0CgkgIEluIHBhcnRpY3VsYXIsIHR3ZWFrIHNyYyBxdWVyeSBhbmQgZXZlbnQgaGFuZGxpbmcgdG8gcHJvdmlkZSBmb3IKCSAgYnl0ZSA8LT4gdGltZSBjb252ZXJzaW9uLgoKMjAxMS0wMy0yOCAxMToxNTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkgIGJhc2V2aWRlbzogY2F0ZXIgZm9yIGZvcm1hdCBjb252ZXJzaW9uCgoyMDExLTAzLTI4IDEwOjUxOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSAgdmlkZW9jb2RlYzogcmVtb3ZlIHVudXNlZCBmaWVsZHMgYW5kIGNvZGUKCjIwMTEtMDMtMjggMDk6MTQ6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogZml4IGNvcHktYW5kLXBhc3RlIHZhcmlhYmxlIG1pc25vbWVyCgoyMDExLTAzLTI4IDA4OjU5OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHN1YnN1bWUgc2tpcF9mcmFtZSBpbnRvIGZpbmlzaF9mcmFtZQoKMjAxMS0wMy0yOCAwODo1Njo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiByZW1vdmUgdW51c2VkIGNvZGUKCjIwMTEtMDMtMjcgMjI6Mjc6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogY29kZSBjbGVhbnVwIGFuZCBkZWJ1ZyBzdHlsZSBmaXhlcwoKMjAxMS0wMy0yNyAxNjozNjo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogcGFzcyBhbG9uZyBidWZmZXIgZGlzY29udCBmbGFnCgoyMDExLTAzLTI1IDE1OjI5OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDExLTAzLTI1IDA5OjI4OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGFkZCBkb2N1bWVudGF0aW9uIGFuZCByZWxhdGVkIGNvc21ldGljcwoKMjAxMS0wMy0yNCAxNDoxMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IHByb3ZpZGUgcHJvcGVyIHVwc3RyZWFtIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgoyMDExLTAzLTI0IDEzOjU5OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogbWlub3Igb3B0aW1pemF0aW9uIGluIHNldHRpbmcgdXAgaW1hZ2UgYnVmZmVyCgoyMDExLTAzLTI0IDEyOjUwOjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogcmVmYWN0b3IgZnJhbWUgcHJvY2Vzc2luZwoKMjAxMS0wMy0yNCAxMTo1NTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGRvIGluaXQgYXQgc2V0X2Zvcm1hdCB0aW1lCgoyMDExLTAzLTI0IDEwOjE1OjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogZml4IGtleWZyYW1lIGZvcmNpbmcKCjIwMTEtMDMtMjQgMDg6MjM6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogZW5oYW5jZSBzZXRfY2FwcwoJICBTcGVjaWZpY2FsbHksIG9ubHkgaW52b2tlIHNldF9mb3JtYXQgaWYgaW5jb21pbmcgZm9ybWF0IHJlYWxseSBjaGFuZ2VkLAoJICBhbmQgZmluaXNoIGN1cnJlbnQgZm9ybWF0IGlmIHNvIChhbmQgaWYgYW55IGN1cnJlbnQpLgoKMjAxMS0wMy0yMyAyMjoxNzo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBlbGFib3JhdGUgZmluaXNoIHRvIGRyYWluaW5nCgoyMDExLTAzLTI0IDA5OjIxOjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBpbnZva2Ugc3ViY2xhc3Mgc3RhcnQgbWV0aG9kIGF0IHN0YXRlIGNoYW5nZQoJICBXaGlsZSB0aGlzIGNoYW5nZXMgb3JkZXIgdy5yLnQuIHNldF9mb3JtYXQsIHdoaWNoIGlzIE9LIGZvciB1bnN0YWJsZSBBUEksCgkgIGl0IGhhcyBmb2xsb3dpbmcgbWVyaXRzOgoJICAqIHN5bW1ldHJpYyB3LnIudC4gc3RvcCBhdCBzdGF0ZSBjaGFuZ2UKCSAgKiBpbiBsaW5lIHdpdGggb3RoZXIgYmFzZSBjbGFzcyBwcmFjdGljZQoJICAqIGxpdHRsZSBiZW5lZml0IGluIGludm9raW5nIDIgc3ViY2xhc3MgdmlydHVhbCBtZXRob2RzIChzZXRfZm9ybWF0IGFuZCBzdGFydCkKCSAgaW4gaW1tZWRpYXRlIHN1Y2Nlc3Npb247IGFsbCBhY3Rpb25zIGluIHRoZSBzZWNvbmQgY291bGQgYmUgZG9uZSBpbiB0aGUgZmlyc3QKCSAgd2hlcmVhcyBzdWJjbGFzcyBoYXMgbm8gY2hhbmNlIHRvIGRvIGFueXRoaW5nICdnbG9iYWwnIGF0IGFjdGl2YXRpb24gdGltZQoJICBNb3Jlb3ZlciwgY3VycmVudCAtYmFkIHN1YmNsYXNzIHJlbGV2YW50IG1ldGhvZHMgZWl0aGVyIHRyaXZpYWxseSBjb21tdXRlCgkgIG9yIGFyZSBlaXRoZXIgdHJpdmlhbGx5IGFkanVzdGVkIGFjY29yZGluZ2x5LgoKMjAxMS0wMy0yNCAwODoyMTowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBlbmFibGUgY2xpcHBpbmcgYnkgZGVmYXVsdAoKMjAxMS0wMy0yNCAwODoxNzo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiByZXNldCBtb3JlIHN0YXRlCgoyMDExLTAzLTI0IDA4OjU2OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGhlYWRlciBjb3NtZXRpYyBhbmQgZG9jIGZpeGVzCgoyMDExLTAzLTIzIDA5OjQ1OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2NvZGVjOiByZW1vdmUgcmVkdW5kYW50IGNhcHMgZmllbGQKCSAgLi4uIGFzIGl0IGlzIGFscmVhZHkgYXQgaGFuZCBhcyB0aGUgc3JjIHBhZCdzIG5lZ290aWF0ZWQgY2Fwcy4KCjIwMTEtMDMtMjMgMDk6MzI6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogcmVtb3ZlIHVudXNlZCBjb2RlCgoyMDExLTAzLTIzIDA4OjUwOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogdXNlIGJhc2VjbGFzcyBldmVudCB2aXJ0dWFsIGhhbmRsZXIKCjIwMTEtMDMtMjMgMDg6NDk6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogYWRkIGV2ZW50IHZpcnR1YWwgbWV0aG9kIHRvIGFsbG93IHN1YmNsYXNzIGV2ZW50IGhhbmRsaW5nCgoyMDExLTAzLTIzIDA4OjM1OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGltcHJvdmUgR3N0Rm9yY2VLZXlVbml0IGV2ZW50IGhhbmRsaW5nCgoyMDExLTAzLTIyIDEzOjE5OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJICBiYXNldmlkZW9jb2RlYzogZGVidWcgc3R5bGUgZml4ZXMKCjIwMTEtMDMtMjEgMTg6MDI6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJICBiYXNldmlkZW9jb2RlYzogcmVtb3ZlIHVudXNlZCBjb2RlIGNsdXR0ZXJpbmcgdXAgdGhlIHBsYWNlCgkgIEFsc28gbWlub3IgZGVidWcgc3R5bGUgZml4ZXMuCgoyMDExLTAzLTIxIDE3OjQ0OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IHNpbXBsaWZ5IG5lZ290aWF0ZWQgY2hlY2tpbmcKCSAgLi4uIGJ5IGF2b2lkaW5nIHNvbWUgZXh0cmFuZW91cyAodW4pcmVmJ2luZy4KCjIwMTEtMDMtMjQgMTQ6MTY6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogY29kZSBjbGVhbnVwIGFuZCBzb21lIGRlYnVnCgkgIEFsc28gYWRkIHNvbWUgbWlub3IgbG9ja2luZyBhbmQgcmVtb3ZlIHVudXNlZCBiaXRzLgoKMjAxMS0wNS0xNiAwOTowNzo1NyArMDIwMCAgUGlubyBUb3NjYW5vIDx0b3NjYW5vLnBpbm9AdGlzY2FsaS5pdD4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IERvbid0IHVzZSBQQVRIX01BWAoJICBQQVRIX01BWCBpcyBub3QgZGVmaW5lZCBvbiBHTlUgSHVyZCBhbmQgb3RoZXJzLiBBbHNvIGZpeAoJICBmb3JtYXQgc3RyaW5nLgoKMjAxMS0wNS0xNCAxNDo0ODo1NiArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtYXJjYW5kcmUubHVyZWF1QGdtYWlsLmNvbT4KCgkqIGdzdC9kY2NwL2dzdGRjY3BfY29tbW9uLmg6CgkgIGdzdC9kY2NwOiBmaXggYnVpbGQgb24gbmV3ZXIgbWluZ3cKCSAgRml4IHRoaXMgYnVpbGQgZXJyb3I6CgkgIENDICAgICBsaWJnc3RkY2NwX2xhLWdzdGRjY3BwbHVnaW4ubG8KCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuaDoyOTowLAoJICBmcm9tIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoyNDoKCSAgLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcF9jb21tb24uaDozMjowOiB3YXJuaW5nOiBXSU5WRVIgcmVkZWZpbmVkIFtlbmFibGVkIGJ5IGRlZmF1bHRdCgkgIC91c3IvaTY4Ni13NjQtbWluZ3czMi9zeXMtcm9vdC9taW5ndy9pbmNsdWRlL19taW5ndy5oOjIzMTowOiBub3RlOiB0aGlzIGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUgcHJldmlvdXMgZGVmaW5pdGlvbgoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOjI0OjA6CgkgIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuaDo1ODozOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3VpbnQ4X3QnCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6MjU6MDoKCSAgLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuaDo3NDozOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3VpbnQ4X3QnCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6MjY6MDoKCSAgLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuaDo2NzozOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3VpbnQ4X3QnCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6Mjc6MDoKCSAgLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5oOjU4OjM6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAndWludDhfdCcKCSAgbWFrZTogKioqIFtsaWJnc3RkY2NwX2xhLWdzdGRjY3BwbHVnaW4ubG9dIEVycm9yIDEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDE3MQoKMjAxMS0wNS0xNSAxMDowNDo1MCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYnVtcCB0aGUgcmFuayBvZiBxdGtpdHZpZGVvc3JjIHRvIFBSSU1BUlkKCjIwMTEtMDUtMTUgMTA6MDA6NDQgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsczogZml4IGhhbmRsaW5nIG9mIHN0cm9sKCkgb3ZlcmZsb3dzCgoyMDExLTA1LTE0IDEyOjE4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBjcnVmdDogQWRkIGV4dC9hbXJ3YmVuYyBkaXJlY3RvcnksIGl0J3MgZXh0L3ZvYW1yd2JlbmMgbm93CgoyMDExLTA1LTEzIDAxOjAzOjI3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkgIGJhc2V2aWRlZW5jb2RlcjogRml4IHVzZSBhZnRlciBmcmVlIGFmdGVyIHN0YXRlIGNoYW5nZSB0cmFuc2l0aW9uCgoyMDExLTA0LTE4IDIzOjQwOjM1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBub2tpYS5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogUmVtb3ZlIGRlYWQgY29kZSBhbmQgc29tZSBtaW5vciBkb2MgY2hhbmdlcy4KCjIwMTEtMDQtMjQgMjE6MDY6MjkgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQG5va2lhLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJICBlZGdlZGV0ZWN0OiBSZW1vdmUgZGVhZCBjb2RlIGFuZCBzb21lIG1pbm9yIGRvYyBjaGFuZ2VzCgoyMDExLTA0LTE5IDE5OjA5OjMwICswMjAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmRlYmV0aGVuY291cnRAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJICBjb2xvcmVmZmVjdHM6IENvZGluZyBzdHlsZSBmaXhlcwoKMjAxMS0wNC0xOSAxMDozMjo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkgIGFhY2VuYzogSW50ZWdyYXRlIGludG8gdGhlIGRvY3VtZW50YXRpb24KCjIwMTEtMDQtMTkgMTA6MDc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiZW5jL0dzdEFtcndiRW5jLnByczoKCSogZXh0L2FtcndiZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2JlbmMvUkVBRE1FOgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2IuYzoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5oOgoJKiBleHQvdm9hbXJ3YmVuYy9Hc3RWb0FtcndiRW5jLnByczoKCSogZXh0L3ZvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2IuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmg6CgkgIGFtcndiZW5jOiBTd2l0Y2ggdG8gdGhlIGZyZWUgdm8tYW1yd2JlbmMgbGlicmFyeQoJICBBbmQgcmVuYW1lIGV2ZXJ5dGhpbmcgdG8gdm9hbXJ3YmVuYyBpbnN0ZWFkIG9mIGFtcndiZW5jLgoKMjAxMS0wNC0xNSAxMToxOToyMCArMDIwMCAgYmVuamFtaW4gZ2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSAgZmFhYzogRGV0ZWN0IG91dHB1dCBmb3JtYXQgZnJvbSBkb3duc3RyZWFtIGNhcHMgY2hhbmdlIHVuaXQgdGVzdAoKMjAxMS0wNC0xOSAwOTo1MjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdm9hYWVuYzogRml4IENGTEFHUy9MSUJTIG9mIHRoZSB1bml0IHRlc3QKCjIwMTEtMDQtMTkgMDk6NDk6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5oOgoJICB2b2FhY2VuYzogT25seSBnZW5lcmF0ZSBzaW5rY2FwcyBvbmNlIGFuZCBpbiBhIHRocmVhZHNhZmUgd2F5CgoyMDExLTA0LTE5IDA5OjQyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogQWRkIE5VTEwgdGVybWluYXRvciB0byBnc3Rfc3RydWN0dXJlX25ldygpCgoyMDExLTA0LTE5IDA5OjQwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuaDoKCSAgdm9hYWNlbmM6IFNvbWUgbWlub3IgY2xlYW51cAoKMjAxMS0wNC0xOSAwOTozNDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvTWFrZWZpbGUuYW06CgkgIHZvYWFjZW5jOiBGaXggQ0ZMQUdTIGFuZCBMSUJTCgoyMDExLTA0LTE4IDE3OjE5OjAwICswMjAwICBiZW5qYW1pbiBnYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogQWRkIG5ldyBwbHVnaW4gZm9yIGF1ZGlvIEFBQyBlbmNvZGVyIGJhc2VkIG9uIHZvLWFhY2VuYyBsaWIKCSAgQWRkIHBsdWdpbiBhbmQgdW5pdCB0ZXN0LgoJICBGaXhlcyBidWcgIzY0Nzc0OC4KCjIwMTEtMDUtMTQgMTA6MTk6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yMiA9PT0KCjIwMTEtMDUtMTAgMTE6MzU6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMgoJICBIaWdobGlnaHRzOgoJICAtIGhsc2RlbXV4OiBBZGQgSFRUUCBsaXZlIHN0cmVhbWluZyBwYXJzZXIvZGVtdXhlciBlbGVtZW50CgkgIC0gbmV3IGVsZW1lbnRzOiBoMjYzcGFyc2UsIHplYnJhc3RyaXBlLCBwYXRjaGRldGVjdAoJICAtIHNjZW5lY2hhbmdlOiBuZXcgc2NlbmUgY2hhbmdlIGRldGVjdGlvbiBlbGVtZW50CgkgIC0gcmVtb3ZlZCBhdWRpb3BhcnNlcnNiYWQgcGx1Z2luLCBpdCBoYXMgYmVlbiBtb3ZlZCB0byAtZ29vZAoJICAtIG1ha2Ugb3BlbmN2IHBsdWdpbiB3b3JrIHdpdGggT3BlbkNWIDIuMgoJICAtIGNvdW50bGVzcyAoc3RpbGwgZXhwZXJpbWVudGFsKSBjYW1lcmFiaW4yIGZpeGVzIGFuZCBpbXByb3ZlbWVudHMKCSAgLSBleHBlcmltZW50YWwgVlA4IFJUUCBwYXlsb2FkZXIvZGVwYXlsb2FkZXIgKFJUUCBwYXlsb2FkaW5nIG5vdCBmaW5hbGlzZWQgeWV0KQoJICAtIGN1cmxzaW5rOiBhZGQgbGliY3VybC1iYXNlZCBzaW5rIGVsZW1lbnQgKGFjdHMgYXMgY2xpZW50LCBub3Qgc2VydmVyKQoJICAtIGRlY2tsaW5rOiBhZGQgZGVja2xpbmsgcGx1Z2luCgkgIC0gbGluc3lzOiBhZGQgcGx1Z2luIGZvciBMaW5lYXIgU3lzdGVtcyBTREkgYm9hcmRzCgkgIC0gc2RpOiBhZGQgcmF3IFNESSBtdXhpbmcvZGVtdXhpbmcgZWxlbWVudHMKCSAgLSBjYW1lcmFiaW4gbm93IHJlbGllcyBvbiBtdXhlcnMgdG8gbXV4IGJhc2VkIG9uIHJ1bm5pbmcgdGltZSAoaWUuIGxhdGVzdCBiYXNlL2dvb2QvdWdseSByZWxlYXNlcykKCSAgLSBtYW55IG90aGVyIGZpeGVzIGFuZCBpbXByb3ZlbWVudHMKCjIwMTEtMDUtMDUgMDk6NTQ6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkgIGNhbWVyYWJpbjogVXNlIHJ1bm5pbmcgdGltZSBmb3IgbXV4aW5nCgkgIFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgYXVkaW8gc291cmNlIGJ1ZmZlciBwcm9iZSB0aGF0IHdhcyB1c2VkCgkgIHRvIHJlLXRpbWVzdGFtcCBidWZmZXJzIHRvIG1ha2UgdGhlbSBzdGFydCBmcm9tIDAuIEFzIG11eGVycwoJICBoYXZlIGJlZW4gZml4ZWQgdG8gdXNlIHJ1bm5pbmcgdGltZSBpbnN0ZWFkIG9mIHRpbWVzdGFtcHMsIHRoaXMKCSAgaXMgbm90IG5lZWRlZCBhbnltb3JlLgoJICBGaXhlcyBidWcgIzY0NjIxMQoKMjAxMS0wNC0yMSAxOTo1ODowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkgIGNhbWVyYWJpbjogRml4IHR5cG8KCjIwMTEtMDUtMDQgMTI6MzY6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBkbyBub3QgbGVhayBwZWVyIHBhZCByZWZlcmVuY2UKCjIwMTEtMDUtMDMgMTU6NDc6MDIgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBBbHdheXMgcmV0dXJuIHJlZmZlZCBjYXBzIGZyb20gX2dldGNhcHMKCSAgTm90IHJldHVybmluZyByZWYgY2FwcyB3aWxsIGxlYWRzIHRvIGNyYXNoZXMgYW5kIHJlZmNvdW50aW5nIGlzc3VlcyBpbgoJICB1cHN0cmVhbSBlbGVtZW50cwoKMjAxMS0wNC0xNCAxMzozNDo1MyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBzZXQgZHVyYXRpb24gaW4gb3V0Z29pbmcgYnVmZmVycwoJICBDdXJyZW50bHkgd2UgcHVzaCBlYWNoIGZyYWdtZW50IGFzIGEgc2luZ2xlIGJ1ZmZlci4KCjIwMTEtMDUtMDMgMTI6MDE6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IERVUkFUSU9OIHF1ZXJ5IGhhbmRsaW5nCgkgIE9ubHkgYW5zd2VyIGR1cmF0aW9uIHF1ZXJpZXMgaW4gVElNRSBmb3JtYXQgd2l0aCBhIGR1cmF0aW9uCgkgIGluIHNlY29uZHMuIE1ha2Ugc3VyZSB3ZSBkb24ndCByZXR1cm4gR1NUX0NMT0NLX1RJTUVfTk9ORSBhcwoJICBkdXJhdGlvbiAod2hpY2ggaXMgbm9uLTAsIGJ1dCBzdGlsbCBpbnZhbGlkL3VzZWxlc3MpLgoKMjAxMS0wNS0wMyAxMTo1MTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBpbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoKMjAxMS0wNS0wMyAwOTo1NTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBVc2UgdGhlIHVzZXIgY29uZmlnIGRpciBpbnN0ZWFkIG9mIHRoZSBjYWNoZSBkaXIgZm9yIHRoZSBjaGFubmVscyBjb25maWd1cmF0aW9uCgoyMDExLTA0LTI5IDE0OjM3OjA0ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YjogbW92ZWQgZHZiLWNoYW5uZWxzLmNvbmYgdG8gJFhER19DQUNIRV9IT01FCgoyMDExLTA0LTMwIDE5OjQ3OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9mci5wbzoKCSogcG8vdWsucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMS40IHByZS1yZWxlYXNlCgoyMDExLTA0LTMwIDE5OjQ2OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkgIFVwZGF0ZSBvcmMtZ2VuZXJhdGVkIGRpc3RlZCBDIGJhY2t1cCBjb2RlIHRvIG9yYyAwLjQuMTQKCjIwMTEtMDQtMzAgMTk6MTU6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJICBjaG9wbXlkYXRhOiBkb24ndCBwdXNoIGJ1ZmZlcnMgc21hbGxlciB0aGFuIG1pbi1zaXplIG9uIGVvcwoJICBXaGVuIHB1c2hpbmcgdGhlIHJlbWFpbmluZyBkYXRhIG9uIEVPUywgZG9uJ3QganVzdCBwdXNoIHdoYXRldmVyCgkgIGRhdGEgaXMgbGVmdCBpbiB0aGUgYWRhcHRlciwgYnV0IG9ubHkgcHVzaCBkYXRhIHRoYXQncyBhdCBsZWFzdAoJICBvZiBtaW4tc2l6ZS4KCjIwMTEtMDQtMzAgMTk6MDg6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJICBjaG9wbXlkYXRhOiBkb24ndCBtZXNzIHdpdGggYWRhcHRlciBmcm9tIG5vbi1zdHJlYW1pbmcgdGhyZWFkIG9uIEZMVVNIX1NUQVJUCgkgIERvbid0IHRyeSB0byBwdXNoIHJlbWFpbmluZyBkYXRhIGluIHRoZSBhZGFwdGVyIG9uIHJlY2VpdmluZyBhIEZMVVNIIGV2ZW50LAoJICBqdXN0IGZsdXNoIHRoZSBhZGFwdGVyLiBEbyB0aGlzIG9uIEZMVVNIX1NUT1AsIGhvd2V2ZXIsIHdoaWNoIGlzIHNlcmlhbGl6ZWQsCgkgIHVubGlrZSBGTFVTSF9TVEFSVCwgc28gd2UgZG9uJ3QgbWVzcyB3aXRoIHRoZSBhZGFwdGVyIGF0IHRoZSBzYW1lIHRpbWUgYXMKCSAgdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDExLTA0LTMwIDExOjI4OjAzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBhZGQgcGx1Z2luIGRlc2NyaXB0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDkwMDUKCjIwMTEtMDQtMjkgMTI6Mzk6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgbGVhayBidWZmZXJsaXN0IG9uIHN0cmVhbXMgd2l0aG91dCBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg5MjkKCjIwMTEtMDQtMjkgMTI6Mzg6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogVW5yZWYgYnVmZmVycyB3ZSBkb24ndCB1c2UuCgkgIEF2b2lkcyBhIG1hc3NpdmUgbGVhayA6KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4OTI5CgoyMDExLTA0LTI5IDEyOjA4OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IERvbid0IGZvcmdldCB0byBmcmVlIHRoZSBwcm9ncmFtIHN0cmVhbXMgYXJyYXkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODkyOQoKMjAxMS0wNC0yOSAxMjowODowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGcmVlIHBhY2tldCBidWZmZXIgZXZlbiBpZiBpdCBkb2Vzbid0IGhhdmUgYSBwYXlsb2FkCgkgIFRoaXMgY2FuIGhhcHBlbiB3aXRoIEFGQy1vbmx5IHBhY2tldHMuIEF2b2lkcyBsZWFraW5nIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg5MjkKCjIwMTEtMDQtMjggMTA6MDc6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBkZWNrbGluazogQ2hlY2sgZm9yIHB0aHJlYWQuaCBhbmQgbGluayB3aXRoIC1scHRocmVhZAoKMjAxMS0wNC0yOCAxMDowNDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBBZGQgdG8gU1VCRElSUwoKMjAxMS0wNC0yOCAwMDowMDowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkqIHBvL2JnLnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2wucG86CgkqIHBvL3RyLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjEuMyBwcmUtcmVsZWFzZQoKMjAxMS0wNC0yNyAyMzo0MzowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSAgdG9vbHM6IGRpc2FibGUgbmV3IGdzdC1lbGVtZW50LW1ha2VyIHRlc3QKCSAgSXQgZG9lc24ndCBzZWVtIHRvIHdvcmsgaW4gYW4gdW5pbnN0YWxsZWQgc2V0dXAsIGFuZAoJICBicmVha3MgbWFrZSBkaXN0Y2hlY2sgZm9yIG1lLgoKMjAxMS0wNC0yNyAwMToxNDoyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkgIGVsZW1lbnQtbWFrZXI6IHRoZSBicm9la24gdGVtcGxhdGVzIGFyZSBub3QgYnJvZWtuLCBidXQgZGVwZW5kZW5jaWVzCgkgIFJlbmFtZSB0aGUgbGlzdCBhbmQgZGlzdCB0aGVtLiBXZSBuZWVkIHRoZW0gZm9yIHRoZSBhY3R1YWwgdGVtcGxhdGVzLgoKMjAxMS0wNC0yNiAxNToxMzo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBzZXQgQ1BQRkxBR1MgdG8gbWFrZSB0ZW1wbGF0ZXMgdXNpbmcgdW5pbnN0YWxsZWQgaGVhZGVycyB3b3JrCgoyMDExLTA0LTI2IDE0OjIxOjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZ29iamVjdDoKCSAgZWxlbWVudC1tYWtlcjogZml4dXAgZ29iamVjdCB0ZW1wbGF0ZSBhIGJpdCBidXQgZGlzYWJsZSBmb3Igbm93CgkgIFRoZSB0ZW1wbGF0ZSBjb250YWlucyB0aGluZ3Mgd2UgYWxyZWFkeSBkZWZpbmUgYnkgZGVmYXVsdC4KCjIwMTEtMDQtMjYgMTQ6MTA6MDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZmlsdGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwZGVwYXlsb2FkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvY2RkYWJhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3RhZ2RlbXV4OgoJICBlbGVtZW50LXRlbXBsYXRlczogZml4IHRlbXBsYXRlcwoJICBVc2UgdGhlIG9iamVjdCBjbGFzcyBhbmQgbm90IHRoZSBvYmplY3QgaW4gdGhlIGluaXQgZnVuY3Rpb24uIFNldCB0aGUgdm1ldGhvZHMuCgkgIEFkZCBkZWZhdWx0IHJldHVybnMuCgoyMDExLTA0LTI2IDE0OjA4OjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSAgZWxlbWVudC1tYWtlcjogZG9uJ3QgZGlzdCBpbmNvbXBsZXRlIHRlbXBsYXRlcwoJICBNb3ZlIG5vdCB3b3JraW5nIHRlbXBsYXRlcyB0byBhIHNlcGFyYXRlIHZhcmlhYmxlIHRvIGhpZ2hsaWdodCB0aGUgZmFjdCB0aGF0CgkgIHRoZXkgbmVlZCBtb3JlIHdvcmsuIFRoZXNlIG5lZWQgYXQgbGVhc3QgdGhlIGNsYXNzIGFuZCB0eXBlIGZpZWxkcyBmaWxsZWQuCgoyMDExLTA0LTI2IDEzOjQ0OjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXItdGVzdC5zaDoKCSAgZWxlbWVudC1tYWtlci10ZXN0OiB0cnkgdG8gcnVuIGVsZW1lbnQtbWFrZXIgZm9yIGFsbCB0ZW1wbGF0ZXMKCSAgQWRkIGFuIGVhc3kgd2F5IHRvIGNoZWNrIHRoZSBlbGVtZW50LW1ha2VyIHRlbXBsYXRlcy4KCjIwMTEtMDQtMjYgMTM6NDI6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBtYWtlIGl0IGZhaWwsIHdoZW4gY29tcGlsYXRpb24gZmFpbHMKCjIwMTEtMDQtMTkgMTU6MDk6NTQgLTA0MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBhbGxvdyB0byBydW4gZnJvbSBhIGRpZmZlcmVudCB3b3JraW5nIGRpcmVjdG9yeQoJICBHZXQgdGhlIGRpcm5hbWUgZm9yIHRoZSBzY3JpcHQgYW5kIHVzZSB0aGF0IHRvIHJlZmVyZW5jZSB0aGUgdGVtcGxhdGVzLiBVc2UgdGhlCgkgIHRlbXBsYXRlZGlyIHZhcmlhYmxlIHRvIGNoZWNrIGZvciB0ZW1wbGF0ZXMuCgoyMDExLTA0LTE2IDE5OjQyOjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBsb3dlcmNhc2lmeSBpbnB1dAoJICBUaGlzIGFsbG93cyB1c2luZyBjYXBpdGFsaXplZCBhY3JvbnltcyBpbiBjbGFzcyBuYW1lcywgc28gdXNpbmcKCSAgIkFWQ19zcmMiIG9uIHRoZSBjb21tYW5kIGxpbmUgd2lsbCBjcmVhdGUgZmlsZW5hbWUgZ3N0YXZjc3JjLmMsCgkgIGNsYXNzIG5hbWUgR3N0QVZDU3JjLCBhbmQgc3ltYm9sIG5hbWVzIGdzdF9hdmNfc3JjXyouCgoyMDExLTA0LTI0IDE2OjQyOjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXgsdHNkZW11eDogQWRkIGJ5dGUtc3RyZWFtIHRvIGgyNjQgY2FwcwoJICBGaXhlcyAjNjA2NjYyLgoKMjAxMS0wNC0yNCAxNjowMDowMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBEb24ndCBhbGxvdyBidWZmZXJzIGFmdGVyIEVPUwoJICBGaXhlcyAjNjQ3ODUyLgoKMjAxMS0wNC0yNCAxNTo0OTo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IERvbid0IGR1cGxpY2F0ZSBjb2RlIGluIGJhc2V2aWRlb2NvZGVjCgkgIEJvdGggYmFzZXZpZGVvZW5jb2RlciBhbmQgYmFzZXZpZGVvY29kZWMgd2VyZSBzZXR0aW5nCgkgIHN5c3RlbV9mcmFtZV9udW1iZXIsIGxlYWRpbmcgdG8gY29uZnVzaW9uLiAgRml4ZXMgIzY0Nzg1My4KCjIwMTEtMDQtMTQgMTY6MjE6MTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBDaGVjayBpZiBjYXBzIGFyZSBzZXQgZGlyZWN0bHkKCSAgRml4ZXMgIzY0Nzg1NC4KCjIwMTEtMDQtMTcgMDA6MDg6MzkgKzAxMDAgIE1paGFpIERyYWdoaWNpb2l1IDxtaWhhaS5kcmFnaGljaW9pdUBnbWFpbC5jb20+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IGZpeCBpbmZpbml0ZSBsb29waW5nIGJ5IGZhZGluZyBvdXQgYWZ0ZXIgdHdvIGxvb3BzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDczNjQKCjIwMTEtMDQtMjQgMTQ6MDQ6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjM2NhZmUxIHRvIDQ2ZGZjZWEKCjIwMTEtMDQtMjIgMDk6Mzc6MjkgKzAxMDAgIEZhYnJpemlvIE1pbG8gPG1pc3RvYmFhbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5Lmg6CgkgIG9wZW5jdjogbWFrZSB3b3JrIHdpdGggb3BlbkNWIDIuMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxNzk2CgoyMDExLTA0LTE5IDE3OjAyOjQ1ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEFkZCBsYXRlc3QgcGx1Z2lucyB0byBzcGVjIGZpbGUKCjIwMTEtMDQtMTUgMjI6MjU6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBBZGQgYnl0ZS1zdHJlYW0gdG8gaDI2NCBjYXBzCgoyMDExLTA0LTE4IDEyOjAxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIHdhdnBhY2s6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMTo1NzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSAgb2ZhOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTE6NTA6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDExOjQ2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSAgZGVja2xpbms6IFJlbW92ZSB1bnVzZWQvdW5uZWVkZWQgQ0ZMQUdTL0xJQlMgYW5kIG1vdmUgJChMSUJNKSB0byBMSUJBREQKCjIwMTEtMDQtMTggMTE6NDM6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2xpbnN5cy9NYWtlZmlsZS5hbToKCSAgbGluc3lzOiBMaW5rIHdpdGggbGliZ3N0YmFzZSBmb3IgYmFzZXNpbmsvYmFzZXNyYwoJICBBbmQgcmVtb3ZlIGVtcHR5IGFuZCB1bnVzZWQgdmFyaWFibGVzLgoKMjAxMS0wNC0xNyAxOTowOTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBEaXN0IGFsbCBoZWFkZXJzIGFuZCBwdXQgdGhlbSBpbiBub2luc3RfSEVBREVSUwoKMjAxMS0wNC0xNyAxOTowOToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbGluc3lzL01ha2VmaWxlLmFtOgoJICBsaW5zeXM6IERpc3QgYWxsIGhlYWRlcnMgYW5kIHB1dCB0aGVtIGluIG5vaW5zdF9IRUFERVJTCgoyMDExLTA0LTE3IDExOjU0OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggbGluc3lzL2RlY2tsaW5rIGNoZWNrcyBmb3IgTGludXgKCjIwMTEtMDQtMTcgMDE6MTA6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjEuMiBwcmUtcmVsZWFzZQoKMjAxMS0wNC0xNyAwMTowOTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5oOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkgIGV4dCwgZ3N0OiB1cGRhdGUgZGlzdGVkIG9yYyBiYWNrdXAgZmlsZXMKCjIwMTEtMDQtMTcgMDA6NTQ6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzIGZvciBwcmUtcmVsZWFzZQoKMjAxMS0wNC0xNiAxNjozNjowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoKMjAxMS0wNC0xNCAyMDo0Njo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHJlZmFjdG9yIGJsaXR0aW5nLCBhdm9pZCB3cml0aW5nIHBhc3QgZW5kIG9mIGJ1ZmZlcgoJICBQcmV2aW91cyBibGl0dGluZyBjb2RlIGNvdWxkIHBvdGVudGlhbGx5IHdyaXRlIHBhc3QgdGhlCgkgIGVuZCBvZiB0aGUgYnVmZmVyIGlmIHRoZSB4IG9yIHkgcG9zaXRpb24gd2FzIG9kZCwgYW5kIGZvcgoJICB0aGUgc2FtZSB1bmRlcmx5aW5nIHJlYXNvbiwgZGlkbid0IGdldCB0aGUgY2hyb21hIHJlZ2lzdHJhdGlvbgoJICBjb3JyZWN0IGluIHRoZSBvZGQgcG9zaXRpb24gY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzgzMAoKMjAxMS0wNC0xNiAxMToxODo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgb24gbWFjb3N4CgoyMDExLTA0LTE0IDIwOjM5OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSAgY2FtZXJhYmluOiBEbyBub3QgZm9yZ2V0IHRvIHVucmVmIHRoZSBmZm1wZWdjb2xvcnNwYWNlCgkgIERvIG5vdCBsZWFrIHRoZSBmZm1wZWdjb2xvcnNwYWNlIGJ5IHVucmVmaW5nIGl0IGF0IGRpc3Bvc2UKCjIwMTEtMDQtMTQgMTY6NDg6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3Q6IGNhbWVyYWJpbjogTW9yZSBsZWFrIGZpeGVzCgoyMDExLTA0LTE1IDEwOjQxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIG00L2dzZXR0aW5ncy5tNDoKCSAgbTQ6IFVwZGF0ZSBnc2V0dGluZ3MgbTQgbWFjcm9zCgoyMDExLTA0LTE0IDE2OjI0OjQ3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBvcmMgcmVxdWlyZW1lbnQgdG8gMC40LjExCgoyMDExLTA0LTE1IDAwOjA5OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBGaXggc29tZSB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTQgMTk6NTM6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZ29iamVjdDoKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IGNsZWFuIHVwIGdvYmplY3QgdGVtcGxhdGUgYSBiaXQKCSAgUmVtb3ZlIHBvaW50bGVzcyBnX3JldHVybl9pZl9mYWlsIChHX0lTX0ZPTyAob2JqKSkgY2hlY2tzIGluCgkgIHZmdW5jIGltcGxlbWVudGF0aW9ucy4gQ29tbWVudCBvdXQgdW51c2VkIHZhcmlhYmxlcyB0byBhdm9pZAoJICB3YXJuaW5ncyB3aXRoIGdjYyA0LjYuCgoyMDExLTA0LTE0IDE4OjM2OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkgIGFzZm11eDogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xNCAxODozNjowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkgIGJheWVyOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTE0IDE0OjMyOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IExlYWsgZml4ZXMgZm9yIHRoZSB1bml0IHRlc3RzCgkgIExlYWsgZml4ZXMgcmVsYXRlZCB0byBub3QgcmVtb3ZpbmcgdGhlIHNvdXJjZSByZXR1cm5lZCBmcm9tCgkgIGdzdF9idXNfYWRkX3dhdGNoCgoyMDExLTA0LTE0IDEzOjI3OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBTb21lIGxlYWsgZml4ZXMKCSAgTGVhayBmaXhlcyByZWxhdGVkIHRvIHJlbW92aW5nIHRoZSBzb3VyY2UgcmV0dXJuZWQgZnJvbQoJICBnc3RfYnVzX2FkZF93YXRjaAoKMjAxMS0wNC0xMyAxNTowNToxNSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG8udmVyZGVqb0Bjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9BbmRyb2lkLm1rOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9Hc3RBbmRyb2lkLmNwcDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvYXVkaW9mbGluZ2VyX3dyYXBwZXIuY3BwOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9hdWRpb2ZsaW5nZXJfd3JhcHBlci5oOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9nc3RhdWRpb2ZsaW5nZXJyaW5nYnVmZmVyLmg6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2dzdGF1ZGlvZmxpbmdlcnNpbmsuYzoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvZ3N0YXVkaW9mbGluZ2Vyc2luay5oOgoJICBSZW1vdmUgYXVkaW9mbGluZ2Vyc2luawoJICBSZW1vdmUgYXVkaW9mbGluZ2Vyc2luaywgaXQncyBpbiBnc3QtYW5kcm9pZCBub3cuCgoyMDExLTA0LTE0IDE2OjQ5OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTQgMTY6MTQ6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkgIGJhc2VjYW1lcmFzcmM6IGFkZCB1bnN0YWJsZS1BUEkgd2FybmluZ3MgaWYgR1NUX1VTRV9VTlNUQUJMRV9BUEkgaXMgbm90IGRlZmluZWQKCSAgU28gcGVvcGxlIGtub3cgdGhpcyBpcyB1bnN0YWJsZSBBUEkgZXZlbiBpZiBpdCBlbmRzIHVwIHJpZ2h0IG5leHQKCSAgdG8gb3VyIG90aGVyIEFQSS4KCjIwMTEtMDQtMTQgMTY6MTE6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L21lZGlhLWluZm8vLmdpdGlnbm9yZToKCSAgbGliczogcmVtb3ZlIGxlZnRvdmVyIG1lZGlhLWluZm8gZGlyZWN0b3J5CgoyMDExLTA0LTEzIDIyOjQ4OjI4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBtM3U4OiByZXR1cm4gZHVyYXRpb24gaW4gbmFub3NlY29uZHMKCjIwMTEtMDQtMTMgMjM6MzU6NTAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggaGFuZGxpbmcgb2YgZW5kIG9mIHBsYXlsaXN0CgkgIERvbid0IHNlbmQgdGhlIEVPUyBldmVudCB1bnRpbCB3ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIHBsYXlsaXN0CgkgIGFuZCB0aGUgcXVldWUgaXMgcmVhbGx5IGVtcHR5LgoKMjAxMS0wNC0xMyAyMjoyNTo1NyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBleGFtcGxlIHBpcGVsaW5lCgoyMDExLTA0LTEzIDIzOjA2OjE4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogaWdub3JlIHNlZWsgZXZlbnRzIHVudGlsIGl0J3MgaW1wbGVtZW50ZWQKCjIwMTEtMDQtMTMgMjI6MTc6MDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkaXNwb3NlIHRoZSBmZXRjaGVyIGZyb20gdGhlIHNhbWUgdGhyZWFkIGl0J3MgY3JlYXRlZAoKMjAxMS0wNC0xNCAxMToyODo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazo6IGZpeCBjb21waWxhdGlvbiB3aXRoIG9sZGVyIEdMaWIKCSAgZ19vYmplY3Rfbm90aWZ5X2J5X3BzcGVjKCkgaXMgbmV3IGluIEdMaWIgMi4yNiwgYnV0IHdlIG9ubHkgcmVxdWlyZSAyLjIyLgoKMjAxMS0wNC0xNCAwNzoyMTo1MCArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggYSBsb3Qgb2YgbmV3IHBsdWdpbnMKCjIwMTEtMDQtMTMgMjM6NTk6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IEFkZHMgdGVzdCBmb3IgbmV3IGV4cG9zdXJlIGNvbXBlbnNhdGlvbiB0YWcKCSAgQWRkcyBhIHRlc3QgZm9yIEdTVF9UQUdfQ0FQVFVSSU5HX0VYUE9TVVJFX0NPTVBFTlNBVElPTiBvbgoJICBqaWZtdXggY2hlY2sgdGVzdHMuCgoyMDExLTA0LTEzIDIxOjU4OjM2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgZHRtZjogTW92ZSBkdXBsaWNhdGUgI2RlZmluZXMgaW50byBhIGNvbW1vbiBpbmNsdWRlCgkgIENlbnRyYWxpemUgZHVwbGljYXRlZCBjb25zdGFudHMgc28gdGhleSBoYXZlIHRoZSBzYW1lIHZhbHVlLgoJICBBbHNvIHN0YW5kYXJkaXNlIG1pbmltdW0gdG9uZSBkdXJhdGlvbiB0byAyNTBtcyBhbmQgbWluaW11bSBpbnRlci10b25lCgkgIGludGVydmFsIHRvIDEwMG1zLgoKMjAxMS0wNC0xMyAyMjozMzozNyAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBQcmVzZXJ2ZSB1bnVzZWQgaW1hZ2ViaW4gb3IgdmlkZW9iaW4gb24gTlVMTAoJICBJZiB2aWRlbyBvciBpbWFnZSBtb2RlIGlzIG5ldmVyIHNlbGVjdGVkIHRoZW4gcmVzcGVjdGl2ZSBiaW4gaXMgaW4gTlVMTCBzdGF0ZS4KCSAgUHJlc2VydmUgdGhpcyBzdGF0ZSB3aGVuIHJlc2V0dGluZyBjYW1lcmFiaW4gZnJvbSBQQVVTRUQgdG8gUkVBRFkuCgoyMDExLTA0LTEzIDIyOjA3OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJICBwbm06IGFkZCBMSUJUT09MRkxBR1MgPSAtLXRhZz1kaXNhYmxlLXN0YXRpYwoKMjAxMS0wNC0xMyAyMDoyNjoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IEltcGxlbWVudCBnZXRjYXBzIGZ1bmN0aW9uCgkgIFRoaXMgYWxsb3dzIHRvIHNldCB3aWR0aC9oZWlnaHQvZXRjIHJlc3RyaWN0aW9ucyB0byBiZSBzZXQgZG93bnN0cmVhbS4KCSAgRml4ZXMgYnVnICM2NDc0OTguCgoyMDExLTA0LTEyIDIxOjQ3OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5oOgoJKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4cGx1Z2luLmM6CgkqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHF0bXV4OiByZW1vdmUgcXRtdXggcGx1Z2luLCBpdCBoYXMgbW92ZWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjY5OQoKMjAxMS0wNC0xMyAxNjozMToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGxpYmV4aWYgcGtnLWNvbmZpZyBjaGVjawoJICBUaGVyZSdzIG5vIGV4aWYgcGx1Z2luIHNvIGRvbid0IHVzZSBBR19HU1RfQ0hFQ0tfRkVBVFVSRS4KCSAgRml4ZXMgYnVnICM2NDc1NjQuCgoyMDExLTA0LTEyIDE2OjQyOjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogUmVtb3ZlIGxlZnRvdmVyIE1BRU1PX0JST0tFTiBkZWZpbmVzCgkgIFJlbW92ZSBkZWZpbmVzIHRvIHdvcmsgYXJvdW5kIGJ1Z3MgaW4gb2xkIE1hZW1vIHJlbGVhc2VzCgoyMDExLTA0LTExIDE0OjQ0OjE3IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBjb3JuZXIgY2FzZSBmb3IgcHJldmlldyBwb3N0aW5nCgkgIEZpeCBjb3JuZXIgY2FzZSB3aGVyZSB2aWRlbyBwcmV2aWV3IGltYWdlIGlzIG5vdCBwb3N0ZWQgaWYgc3RvcHBpbmcKCSAgdmlkZW8gY2FwdHVyZSBpbW1lZGlhdGVseSBhZnRlciBjYXB0dXJlIHN0YXJ0LgoKMjAxMS0wNC0xMSAxODozMTo0NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogc3VidHJhY3QgaWQtc3RyIHNpemUgZnJvbSB0aGUgcmVtYWluaW5nIHJlYWQKCSAgRml4ZXMgYSByZWdyZXNzaW9uIGZyb20gdGhlIHBhdGNoZXMgaW4gYnVnICM2MjY2MTguCgoyMDExLTA0LTExIDE4OjMwOjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBqcGVnOiBzZXQgdGFncyB0byBOVUxMIGF0IGluaXQgdGltZSBhbmQgYWZ0ZXIgZnJlZWluZyB0aGVtCgoyMDExLTA0LTExIDE4OjI5OjI4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAganBlZzogY29tbWVudCBhbmQgbG9nZ2luZyBjaGFuZ2VzCgoyMDExLTA0LTEwIDE5OjUzOjM1ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGFkZCBnc3RfanBlZ19wYXJzZV9yZW1vdmVfbWFya2VyKCkKCSAgVGhpcyBmdW5jdGlvbiB3aWxsIHJlbW92ZSB0aGUgd2hvbGUgbWFya2VyIGZyb20gdGhlIGJ1ZmZlci4KCSAgQWxzbyB3ZSBzZXQgaXQgYXMgdGhlIGRlZmF1bHQgYmVoYXZpb3IgZm9yIG1hcmtlciBKUEd7MC0xM30/IGluIG9yZGVyIHRvIGF2b2lkCgkgIGEgdXNlbGVzcyAjaWYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0wOC0xMyAxMjozODowMiArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiByZWZhY3RvciBDT00gcGFyc2luZwoJICBhZGQgZ3N0X2pwZWdfcGFyc2VfY29tICgpIGFuZCBnZXRfdXRmOF9mcm9tX2RhdGEgKCkgdG8gZXh0cmFjdCBhbmQKCSAgdmFsaWRhdGUgY29tbWVudCBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0xNiAxODoyMjowNyArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiByZWZhY3RvciBBUFAxIHBhcnNpbmcKCSAgYWRkIGdzdF9qcGVnX3BhcnNlX2FwcDEgKCkgYW5kIGV4dHJhY3RfYW5kX3F1ZXVlX3RhZ3MgKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0yMSAxNTowNTo0MyArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBsb2cgaWQgd2hlbiBza2lwcGluZyBhbiB1bmhhbmRsZWQgQVBQIG1hcmtlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTE2IDE3OjQ3OjE3ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHNraXAgYWxsIEFQUCBtYXJrZXJzLCBleGNlcHRpbmcgQVBQMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTIxIDE1OjA5OjE3ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGFkZCBnZXRfdGFnX2xpc3QgKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMS0wNC0xMSAwMDozNjozNSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBhbmRyb2lkL05PVElDRToKCSogYW5kcm9pZC9oMjY0cGFyc2UubWs6CgkqIGFuZHJvaWQvbWV0YWRhdGEubWs6CgkqIGFuZHJvaWQvcXRtdXgubWs6CgkqIGFuZHJvaWQvc2RwZWxlbS5tazoKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21lbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kYXRhdXJpc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmJzdWJvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9oZHZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludnRlbGVjaW5lL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZmcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9qcDJrZGVjaW1hdG9yL01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3BzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogZ3N0L3NkaS9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NlZ21lbnRjbGlwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWF4cmF0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvQW5kcm9pZC5tazoKCSAgYW5kcm9pZDogbWFrZSBpdCByZWFkeSBmb3IgYW5kcm9nZW5pemVyCgkgIFJlbW92ZSB0aGUgYW5kcm9pZC8gdG9wIGRpcgoJICBGaXhlIHRoZSBNYWtlZmlsZS5hbSB0byBiZSBhbmRyb2dlbml6ZWQKCSAgVG8gYnVpbGQgZ3N0cmVhbWVyIGZvciBhbmRyb2lkIHdlIGFyZSBub3cgdXNpbmcgYW5kcm9nZW5pemVyIHdoaWNoIGdlbmVyYXRlcyB0aGUgbmVlZGVkIEFuZHJvaWQubWsgZmlsZXMuCgkgIEFuZHJvZ2VuaXplciBjYW4gYmUgZm91bmQgaGVyZTogaHR0cDovL2dpdC5jb2xsYWJvcmEuY28udWsvP3A9dXNlci9kZXJlay9hbmRyb2dlbml6ZXIuZ2l0CgoyMDExLTA0LTEwIDAwOjIyOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJICBlbGVtZW50LW1ha2VyOiBkaXN0IG5ldyB2aWRlb2ZpbHRlcjIgdGVtcGxhdGUKCjIwMTEtMDQtMDkgMTM6NDA6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxMS0wNC0wOSAxMDowMzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogQWRkIGxhc3QtbWVzc2FnZSBwcm9wZXJ0eSBhbmQgbmV2ZXIgcHJpbnQgYW55dGhpbmcgdG8gc3Rkb3V0CgkgIEluc3RlYWQgZXZlcnl0aGluZyB3aWxsIGJlIHB1dCBpbnRvIHRoZSBsYXN0LW1lc3NhZ2UgcHJvcGVydHkgYW5kCgkgIGdzdC1sYXVuY2ggLXYgd2lsbCBwcmludCBhbGwgY2hhbmdlcyBvZiB0aGUgcHJvcGVydHkuIFRoaXMgbWFrZXMKCSAgdGhlIGJlaGF2aW91ciBvZiBmcHNkaXNwbGF5IGNvbnNpc3RlbnQgd2l0aCB0aGUgZmFrZXNpbmsvaWRlbnRpdHkvZXRjCgkgIGJlaGF2aW91ci4KCjIwMTEtMDQtMDkgMDk6NTA6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IFJlbmFtZSB2ZXJib3NlIHByb3BlcnR5IHRvIHNpbGVudCBmb3IgY29uc2lzdGVuY3kKCjIwMTEtMDQtMDkgMDA6Mzc6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcGFyc2U6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIC1iYWQgdmVyc2lvbiBvZiBiYXNlcGFyc2UgbGlicmFyeSwgbm93IGluIGNvcmUKCjIwMTEtMDQtMDIgMTg6MzA6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJICB2aWRlb3BhcnNlcnM6IHBvcnQgdG8gYmFzZXBhcnNlLCB3aGljaCBpcyBub3cgaW4gbGliZ3N0YmFzZSBpbiBjb3JlCgoyMDExLTA0LTA4IDEyOjExOjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyc2JhZC5jOgoJICBzY2VuZWNoYW5nZTogbmV3IHNjZW5lIGNoYW5nZSBkZXRlY3Rpb24gZWxlbWVudAoKMjAxMS0wNC0wOCAxMDoyNjo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjI6CgkgIGVsZW1lbnQtbWFrZXI6IEFkZCB2aWRlb2ZpbHRlcjIgdGVtcGxhdGUKCjIwMTEtMDQtMDggMTk6MzI6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGFuZHJvaWQvYWFjcGFyc2UubWs6CgkqIGFuZHJvaWQvYW1ycGFyc2UubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWMzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWdhdWRpb3BhcnNlLmM6CgkgIFJlbW92ZSBhdWRpb3BhcnNlcnMgcGx1Z2luLCBpdCBoYXMgYmVlbiBtb3ZlZCB0byAtZ29vZAoKMjAxMS0wNC0wOCAxNDowODoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiBVc2UgUFJPUF8gaW5zdGVhZCBvZiBBUkdfIGZvciB0aGUgcHJvcGVydHkgZW51bXMKCjIwMTEtMDQtMDcgMTU6MTU6NTcgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5OiBBZGQgdmVyYm9zZSBwcm9wZXJ0eQoJICBXaGVuIHRoaXMgcHJvcGVydHkgaXMgc2V0IHRvIFRSVUUgdGhlIGVsZW1lbnQgd2lsbCBkaXNwbGF5IHN0YXRpc3RpY3MKCSAgb24gc3Rkb3V0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3MDMwCgoyMDExLTA0LTA1IDIxOjA0OjU0ICswMjAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiB1cGRhdGUgZm9yIGxhdGVzdCBHc3RYT3ZlcmxheSBjaGFuZ2VzCgkgIEZyb20geHdpbmRvd19pZCB0byB3aW5kb3dfaGFuZGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTU1CgoyMDExLTA0LTA3IDE4OjMwOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHJlbGF4IHN5bmMgbWF0Y2ggYSBiaXQgd2hlbiBkcmFpbmluZwoJICAuLi4gdG8gYXQgbGVhc3QgYWxsb3cgaW5pdGlhbCBjYXBzIGNoYW5nZSAoYnV0IG5vIGZ1cnRoZXIgY2FwcyBqaXR0ZXIpLgoKMjAxMS0wNC0wNiAxNTo1ODowNyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmg6CgkgIGZpZWxkYW5hbHlzaXM6IFVzZSBSRkYgZmxhZyB0byBpbmRpY2F0ZSBidWZmZXJzIHRvIGRyb3AgZG93bnN0cmVhbQoJICBVc2Ugb2YgdGhlIEdBUCBmbGFnIGlzIG5vdCByZWFsbHkgY29ycmVjdCBoZXJlIGFuZCBtYWtlcyBpdCBkaWZmaWN1bHQgdG8KCSAgaGFuZGxlIHJlYWwgR0FQIGJ1ZmZlcnMgaW4gZGVpbnRlcmxhY2UuIFRoZSBSRkYgZmxhZyBpcyB1bnVzZWQgYW5kIGNhbgoJICBiZSByZXVzZWQgd2l0aCBzaW1pbGFyIHNlbWFudGljcyAtIHRoZSBidWZmZXJzIG1hcmtlZCB3aXRoIFJGRiB0aGF0IGFyZQoJICBpbiBhIHRlbGVjaW5lIHN0YXRlIGNvbnRhaW4gb25seSB1bm5lZWRlZCByZXBlYXRlZCBmaWVsZHMgYW5kIHNvIGNhbiBiZQoJICBkcm9wcGVkLgoKMjAxMS0wNC0wNSAxOToyNjoxNSArMDMwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogZW5zdXJlIGdzdF9wb2xsX3dhaXQgaXMgY2FsbGVkIGZpcnN0IG9uIGRlc2NyaXB0b3JzCgkgIFdlIG5lZWQgdG8gY2FsbCBnc3RfcG9sbF93YWl0IGJlZm9yZSBjYWxsaW5nIGdzdF9wb2xsXyogc3RhdHVzCgkgIGZ1bmN0aW9ucyBvbiB0aGF0IG5ldyBkZXNjcmlwdG9yLCBzbyByZXN0YXJ0IHRoZSBsb29wLCBzbyBfd2FpdAoJICB3aWxsIGhhdmUgYmVlbiBjYWxsZWQgb24gYWxsIGVsZW1lbnRzIG9mIHNlbGYtPnBvbGwsIHdoZXRoZXIKCSAgdGhleSBoYXZlIGp1c3QgYmVlbiBhZGRlZCBvciBub3QuICovCgoyMDExLTA0LTA2IDIwOjQwOjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNobTogRml4IE1TR19OT1NJR05BTCBjaGVjawoJICBJbmNsdWRlIHN5cy9zb2NrZXQuaCBiZWZvcmUgY2hlY2tpbmcgZm9yIE1TR19OT1NJR05BTCwgYWxzbwoJICBjaGVjayB0aGF0IHN5cy9zb2NrZXQuaCBiZWZvcmUgZG9pbmcgYW55IG90aGVyIGNoZWNrcyBmb3Igc2htCgoyMDEwLTEyLTE1IDEwOjM5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgcmVseSBvbiB0aGUgYXBwbGljYXRpb24gcnVubmluZyB0aGUgZGVmYXVsdCBHTGliIG1haW4gbG9vcAoJICBEb24ndCB1c2UgZ19pZGxlX2FkZCgpIGFuZCBmcmllbmRzIHRvIHNjaGVkdWxlIHRoaW5ncyB3ZSBjYW4ndCBkbyBmcm9tIHRoZQoJICBzdHJlYW1pbmcgdGhyZWFkIGluIGFub3RoZXIgdGhyZWFkLiBUaGUgYXBwIG1heSBub3QgYmUgcnVubmluZyB0aGUgZGVmYXVsdAoJICBHTGliIG1haW4gbG9vcC4gSW5zdGVhZCwganVzdCBzcGF3biBhIHRocmVhZC4KCSAgQWxzbywgd2UgbmVlZCB0byBjYXJlIGZvciB3aGVuIGFjZXNzaW5nIGEgcGFkIHZhcmlhYmxlLCBhcyBhbm90aGVyIHRocmVhZAoJICBtaWdodCBoYXZlIHRha2VuIGNhbWVyYWJpbiB0byBOVUxMIHdoaWxlIHRoaXMgZ3N0X2NhbWVyYWJpbl9pbWdiaW5fZmluaXNoZWQKCSAgZGlkbid0IHJ1bi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNTY1NQoKMjAxMS0wNC0wNCAyMDo1NTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiByZXF1aXJlIHRpZ2h0ZXIgc3luYyBtYXRjaCB3aGVuIGRyYWluaW5nCgoyMDExLTA0LTA0IDE1OjU3OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFjY2JlMDkgdG8gYzNjYWZlMQoKMjAxMS0wNC0wNCAxMjoyMToyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1vcmUgaGVscGZ1bCBkZWJ1ZyBlcnJvciBtZXNzYWdlIHdoZW4gbm8gbmVlZGVkIGR1cmF0aW9uIG9uIGlucHV0IGJ1ZmZlcnMKCSAgRml4ZXMgIzY0NjI1Ni4KCjIwMTEtMDQtMDIgMDE6MjE6MzQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB2YWxpZGF0ZSBwcm9wZXJseSB1dGYtOCBwbGF5bGlzdAoKMjAxMS0wNC0wMiAwMToxMDozNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogbTN1ODogY2xlYXIgdGhlIGxpc3Qgb2YgbWVkaWEgZmlsZXMgYmVmb3JlIHVwZGF0aW5nIHRoZSBwbGF5bGlzdAoKMjAxMS0wNC0wMiAwMTowODowMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogdXNlIGFuZCBhZGFwdGVyIGluc3RlYWQgb2YgY29zdGZ1bCBidWZmZXIgam9pbnMKCjIwMTEtMDQtMDEgMTM6NTM6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgc2V0dGluZyBvZiBwbHVnaW5kaXIgZnJvbSBNYWtlZmlsZXMKCjIwMTEtMDMtMjYgMTc6NTU6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBGaXggbmVnb3RpYXRpb24gZXJyb3JzCgoyMDExLTAzLTI2IDE3OjQzOjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvOiBBZGQgZnVuY3Rpb24gdG8gYWxsb2NhdGUgc3JjIGJ1ZmZlcgoKMjAxMS0wNC0wMSAxNjo1Mjo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbm90aGVyIHdpbmRvd3MgYnVpbGQgZml4CgkgIFJlcGxhY2UgJWxsZCB3aXRoICV1IGFzIEdTVF9CVUZGRVJfU0laRSBpcyBhIGd1aW50CgoyMDExLTA0LTAxIDE2OjEyOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHM6IEZpeCBjb21waWxhdGlvbiBvbiB3aW5kb3dzCgkgIFVzZSBzdHJpbmcgbGl0ZXJhbCBvbiBwcmludGluZyBmb3JtYXQKCjIwMTEtMDQtMDEgMTM6Mzk6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBQcm9jZXNzaW5nIHNob3VsZCBzdG9wIG9uIFJFQURZCgkgIFRoZSB2aWRlb2JpbiBhbmQgaW1hZ2ViaW4gZnJvbSBjYW1lcmFiaW4gaGF2ZSB0aGVpciBzdGF0ZXMKCSAgbG9ja2VkIGFuZCBhcmVuJ3QgcHV0IHRvIFJFQURZIHdoZW4gYWxsIHRoZSByZXN0IG9mIGNhbWVyYWJpbgoJICBpcyBzZXQgdG8gaXQuCgkgIFRoaXMgbWlnaHQgY2F1c2Ugb25lIG9mIHRoZW0gdG8gYmUgc3RpbGwgcHJvY2Vzc2luZyBhbmQgcG9zdAoJICBhbiBFT1MgYWZ0ZXIgY2FtZXJhYmluIGlzbid0IGV4cGVjdGluZyBpdCBhbnltb3JlLCB0aGlzIGNhdXNlcwoJICBhbiBhc3NlcnRpb24gYXMgdGhlIHByb2Nlc3NpbmcgY291bnRlciB3b3VsZCBhbHJlYWR5IGJlIDAgYW5kCgkgIHdvdWxkIGJlIGRlY3JlbWVudGVkLgoKMjAxMS0wNC0wMSAxNTowMDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuYzoKCSAgc2VnbWVudGNsaXA6IEtlZXAgYSByZWZlcmVuY2Ugb2YgZXZlbnRzIHVudGlsIHRoZSBldmVudCBpcyBwYXJzZWQKCjIwMTEtMDQtMDEgMTQ6NDc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIG1wZWdhdWRpb3BhcnNlOiBQYXJzZSBlbmNvZGVyIGRlbGF5IGFuZCBlbmNvZGVyIHBhZGRpbmcgZnJvbSB0aGUgTEFNRSBoZWFkZXIgaWYgcHJlc2VudAoKMjAxMS0wMy0zMSAxNjoyMToxMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobTogTWFrZSBkZWZhdWx0IHBlcm0gdStydyBnK3IgZm9yIHNobSBhcmVhCgoyMDExLTAzLTMwIDE1OjUzOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHVwZGF0ZSBmb3IgbWVkaWEgdHlwZSB3YXMgcmVuYW1pbmcgZnJvbSBwbGF5bGlzdC9tM3U4IHRvIGFwcGxpY2F0aW9uL3gtaGxzCgoyMDExLTAzLTMwIDExOjMzOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBBZGQgaGxzIHBsdWdpbgoKMjAxMS0wMy0zMCAxMDoxMToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTb21lIG1pbm9yIGNsZWFudXAKCSAgVXNlIEdTVF9ERUJVR19GVU5DUFRSIGFuZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgoyMDExLTAzLTMwIDAzOjM0OjM5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IGluZGVudGF0aW9uIGFuZCBkb2NzIHNlY3Rpb25zCgoyMDExLTAzLTI5IDIzOjE4OjI0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgbGVlayB0aGUgcXVlcnkKCjIwMTEtMDMtMjkgMjM6MDY6MTQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBjaGVjayBpZiB0aGUgdGFzaydzIGNvbmQgd2FzIHNpZ25hbGVkIGJlY2F1c2UgaXQncyB0aGUgZW5kIG9mIHBsYXlsaXN0CgoyMDExLTAzLTEyIDEzOjMyOjU3ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcG9zdCBhIG1lc3NhZ2UgaW4gdGhlIGJ1cyB3aGVuIHRoZSBwbGF5bGlzdCBjaGFuZ2VzCgoyMDExLTAzLTEyIDEzOjE1OjUyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgdXBkYXRlIHRoZSBwbGF5bGlzdCBpZiB3ZSBzdGF5IGluIHRoZSBzYW1lIGJpdHJhdGUKCjIwMTEtMDMtMTIgMTM6MDA6MDYgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgVVJJIHF1ZXJpZXMKCjIwMTEtMDMtMTIgMTI6NTA6MjUgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZHVyYXRpb24gcXVlcmllcwoKMjAxMS0wMy0xMiAxMjoyODo0MiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IG0zdTg6IHByb3RlY3QgcHVibGljIG1ldGhvZHMgcHJvcGVybHkKCjIwMTEtMDMtMTIgMTI6MjA6MzIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBtM3U4OiBhZGQgc3VwcG9ydCB0byBnZXQgdGhlIGR1cmF0aW9uIGZyb20gYSBwbGF5bGlzdAoKMjAxMS0wMi0xNiAwMzo1MTowOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHByaW50IGFuIGVycm9yIGlmIHRoZSBkb3dubG9hZCB3YXMgY2FuY2VsbGVkCgoyMDExLTAyLTE2IDAzOjQ5OjQ5ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogbWFrZSBzdXJlIHRoZSBmZXRjaGVyIHN0YXRlIGNoYW5nZSBpcyBjb21wbGV0ZSBiZWZvcmUgY29udGludWluZwoKMjAxMS0wMi0xNiAwMToxOTo0NSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IGxlYWsgdGhlIGZpcnN0IGJ1ZmZlcgoKMjAxMS0wMi0xNiAwMDo1NTozMCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGNsZWFuIHVwIGNvZGUgYSBsaXR0bGUgYml0CgoyMDExLTAyLTE2IDAwOjUzOjQ4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogb25seSBjaGVjayBmb3IgdGhlIGVuZCBvZiBwbGF5bGlzdCB3aGVuIHRoZSBxdWV1ZSBpcyBlbXB0eQoKMjAxMS0wMi0xNSAyMjo0MDoyMSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogbWFrZSBzdXJlIHRvIHN0b3AgZnJhZ21lbnRzIGNhY2hlIGlmIHNvbWV0aGluZyBjYW5jZWxsZWQgaXQKCjIwMTEtMDItMTUgMjE6NTU6MjYgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZXVzZSB0aGUgY29kZSBpbiByZXNldCgpIHRvIGZyZWUgcmVzb3VyY2VzIGluIGRpc3Bvc2UoKQoKMjAxMS0wMi0xNSAyMTo0OToyMCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogdXNlIGEgdHlwZWZpbmRlciB0byBzZXQgdGhlIGNhcHMgaW4gdGhlIHNvdXJjZSBwYWQKCjIwMTEtMDItMTUgMDQ6Mzk6MzQgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBhZGQgbW9yZSBjb21tZW50cyBhbmQgZG9jdW1lbnQgYmV0dGVyIGFsbCB0aGUgdGhyZWFkcyBpbnZvbHZlZAoKMjAxMS0wMi0xNSAwMzo0MjoyOSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGhhbmRsZSA0MDQgZnJvbSB0aGUgc291cmNlIGVsZW1lbnQKCjIwMTEtMDItMTUgMDM6NDE6NDMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzdG9wIHRoZSBmZXRjaGVyIGluIHRoZSBQQVVTRURfVE9fUkVBRFkgdHJhbnNpdGlvbiwgbm90IHdoZW4gZGlzcG9zaW5nKCkKCjIwMTEtMDItMTUgMDM6NDE6MDEgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IG1ha2Ugc3VyZSB3ZSBkb24ndCBzdG9wIHRoZSBmZXRjaGVyIHR3aWNlIGZyb20gZGlmZmVyZW50IHRocmVhZHMKCjIwMTEtMDItMTUgMDI6MTM6NTYgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBxdWVyeSB0aGUgdXJpIHVwc3RyZWFtIGJlZm9yZSB1cGRhdGluZyB0aGUgcGxheWxpc3QKCjIwMTEtMDItMTQgMTg6NTE6MzIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkLmg6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogQWRkIEhUVFAgbGl2ZSBzdHJlYW1pbmcgZGVtdXhlciBlbGVtZW50CgkgIEJhc2VkIG9uIHByZXZpb3VzIHdvcmsgYnkgTWFyYy1BbmRyw6kgTHVyZWF1CgoyMDExLTAzLTIxIDEwOjU3OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBBZGQgR3N0VGFnWG1wV3JpdGVyIHN1cHBvcnQKCSAgQWRkcyBHc3RUYWdYbXBXcml0ZXIgaW50ZXJmYWNlIHRvIGppZm11eCBlbGVtZW50CgoyMDExLTAzLTIxIDEwOjU2OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZGluZyBHc3RUYWdYbXBXcml0ZXIgaW50ZXJmYWNlCgkgIEFkZHMgR3N0VGFnWG1wV3JpdGVyIGludGVyZmFjZSBzdXBwb3J0IHRvIHF0bXV4CgoyMDExLTAzLTI3IDIzOjUwOjI0ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBub2tpYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBleHQvb3BlbmN2L2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHR3cml0ZS5oOgoJICBvcGVuY3YgdGV4dCBvdmVybGF5OiByZW5hbWUgYW5kIGRvY3VlbW50CgkgIFJlbmFtZSB0aGUgZWxlbWVudCB0ZXh0d3JpdGUgdG8gb3BlbmN2dGV4dG92ZXJsYXkuIEFkZCBwcm9wZXIgc3RydWN0dXJpbmcgdG8KCSAgb3BlbmN2IHRleHRvdmVybGF5IGVsZW1lbnQuCgkgIEZpeGVzOiAjNjQwNTYxCgoyMDExLTAzLTI3IDEzOjU3OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRml4IDY0LWJpdCBwcmludGYgZm9ybWF0IHByb2JsZW0KCjIwMTEtMDMtMjcgMjA6MDk6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdXNpbms6IGZpeCBidWcgd2hlcmUgd2UgZGlkbid0IHNldHVwIHZkcGF1IG9uIGEgdXNlciBzZXQgd2luZG93CgoyMDExLTAzLTI3IDE5OjQ3OjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJICB2ZHBhdTogZml4dXAgR3N0Rmxvd1JldHVybiBoYW5kbGluZwoJICBQcmV2aW91c2x5IHRoZSBkaWZmZXJlbnQgZGVjb2RlcnMgd291bGQgZGlzY2FyZCBlcnJvdW5vdXMgR3N0Rmxvd1JldHVybnMgY29taW5nCgkgIGZyb20gZG93bnN0cmVhbS4gTm93IHdlIHByb3Blcmx5IHJldHVybiB0aGVzZSBmdXJ0aGVyIHVwc3RyZWFtIHNvIHRoYXQgd2UKCSAgcHJvcGVybHkgZXJyb3Igb3V0IG9uIGVnLiBuZWdvdGlhdGlvbiBwcm9ibGVtcy4KCjIwMTEtMDMtMjcgMTk6NDA6NDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSAgdmRwYXU6IHNtYWxsIGluZGVudGF0aW9uIGZpeAoKMjAxMC0wOS0wNiAxNzo0MjoxNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBkb24ndCBpZ25vcmUgcmV0dXJuIHZhbHVlIG9mIGdzdF9iYXNlX3ZpZGVvX2RlY29kZXJfZmluaXNoX2ZyYW1lCgoyMDExLTAzLTI3IDE3OjQyOjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJICBkc2hvdzogZml4IGxpc3QgaXRlcmF0aW9uIGNvZGUKCjIwMTEtMDMtMjcgMTc6MjI6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSAgZGNjcHNlcnZlcnNpbms6IGZpeCBsaXN0IGl0ZXJhdGlvbiBjb2RlCgkgIEZpeCBzdWJvcHRpbWFsIGxpc3QgaXRlcmF0aW9uIGNvZGUsIGFuZCBhZGQgc29tZSBGSVhNRXMuCgoyMDExLTAzLTI2IDEyOjQ1OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wYXRjaGRldGVjdC9NYWtlZmlsZS5hbToKCSAgcGF0Y2hkZXRlY3Q6IGxpbmsgYWdhaW5zdCBsaWJtCgkgIExpbmsgYWdhaW5zdCBsaWJtLiBJbmNsdWRlIG1hdGgtY29tcGF0LmggaGVhZGVyLiBEb24ndCBsaW5rIGFnYWluc3QKCSAgb3JjLCBzaW5jZSBpdCdzIG5vdCBhY3R1YWxseSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1NzExCgoyMDExLTAzLTI2IDE2OjEyOjE4ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIFVzZSBjb3JyZWN0IGNsb2NrIHdoZW4gY2hlY2tpbmcgd2hldGhlciB0byB3cml0ZSBhIG5ldyBQQ1IKCSAgVGhlIFBDUiBjbG9ja3MgYWdhaW5zdCB0aGUgMjdNSHogU0NSIGNsb2NrLCBzbyBjaGVjayBpdCBjb3JyZWN0bHkKCSAgdG8gYXZvaWQgd3JpdGluZyB0aGUgUENSIHRvbyBvZnRlbi4KCSAgUGFydGlhbGx5IGZpeGVzOiAjNjExMDQ2CgoyMDExLTAzLTI2IDE1OjU4OjIxICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBSZXdyaXRlIE0yVFMgcGFja2V0IG91dHB1dAoJICBNYWtlIHN1cmUgd2Ugb25seSB3cml0ZSB0aGUgYm90dG9tIDMwIGJpdHMgb2YgdGhlIFBDUiB0byB0aGUgbTJ0cyBoZWFkZXIuCgkgIERvbid0IHVzZSBmbG9hdGluZyBwb2ludCBjb21wdXRhdGlvbiBmb3IgaXQsIGFuZCByZW1vdmUgd2VpcmQgYml0IGZpZGRsaW5nCgkgIHRoYXQgbWVzc2VzIHVwIHRoZSBQQ1IgaW4gYSB3YXkgSSBjYW4ndCBmaW5kIGFueQoJICBqdXN0aWZpY2F0aW9uL2RvY3VtZW50YXRpb24gZm9yLgoJICBEb24ndCBhY2NpZGVudGFsbHkgbG9zZSBQQ1IgcGFja2V0cyBmcm9tIHRoZSBvdXRwdXQuCgkgIEZpeCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBtMnRzLW1vZGUgcHJvcGVydHkgc28gaXQncyBjbGVhciBpdCdzIGEgZmxhZywKCSAgYW5kIHdoaWNoIHNldHRpbmcgZG9lcyB3aGF0LgoJICBGaXhlczogIzYxMTA2MSAjNjQ0NDI5CgkgIFBhcnRpYWxseSBmaXhlczogIzY0NTAwNgoKMjAxMS0wMy0yNiAxMToxNDowMSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgRml4IGEgRklYTUUsIGFuZCBzb21lIHdoaXRlc3BhY2UvY29kZSBzdHlsZSBiaXRzLgoJICBBbHNvLCBhZGQgYSBuZXcgY29weXJpZ2h0IG5vdGljZSBmb3IgbWUuCgoyMDExLTAzLTI1IDIyOjMzOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTkzYjcxNyB0byAxY2NiZTA5CgoyMDExLTAzLTI1IDE0OjU2OjQzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI3N2UyYmYgdG8gMTkzYjcxNwoKMjAxMS0wMy0yNSAwOTozMjozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ4ODE0YjYgdG8gYjc3ZTJiZgoKMjAxMS0wMy0yNSAwOTowODo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhYWEyODYgdG8gZDg4MTRiNgoKMjAxMS0wMy0yNSAwODozMzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBBZGQgZmxvYXQgY2FwcyB0byB0aGUgdGVtcGxhdGUgY2FwcwoKMjAxMS0wMy0yNCAxNjoxNjoyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggd2luMzIgYnVpbGQKCjIwMTEtMDMtMjQgMjI6MzI6NDIgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBlbnN1cmUgY2xlYW51cCBvZiBwZXMvc2VjdGlvbiBmaWx0ZXIgaGVscGVyIHN0cnVjdHVyZXMKCSAgSW4gcGFydGljdWxhciwgdGhlIHNlY3Rpb25fZmlsdGVyIHdvdWxkIG5vdCBiZSBjbGVhcmVkIGZvciBhIHByaXZhdGUgc2VjdGlvbgoJICBzdHJlYW0sIGxlYWtpbmcgYSBHc3RBZGFwdGVyLiBTZWVuIG9uIGJ1ZyAjNjQ1NTAyLgoKMjAxMS0wMy0yNCAyMjoxMDo0MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGRvbid0IGxlYWsgcGFkIG5hbWUKCSAgQXMgc2VlbiBvbiBidWcgIzY0NTUwMi4KCjIwMTEtMDMtMjQgMjE6NDY6MDkgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZyZWUgUFBTIE5BTCBidWZmZXJzIG9uIGNsZWFudXAKCSAgT2J2aW91c2x5IGEgdHlwby4gRml4ZXMgYnVnICM2NDU1MDIuCgoyMDExLTAzLTI0IDIxOjQ0OjA3ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkb24ndCBsZWFrIGFsbCBOQUwgYnVmZmVycwoJICBnc3RfYnVmZmVyX3JlcGxhY2UoKSBkb2Vzbid0IHN0ZWFsIHRoZSByZWYuIFBhcnRpYWwgZml4IGZvciBidWcgIzY0NTUwMi4KCjIwMTEtMDMtMjQgMTg6NDk6NTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmFlYzZiOSB0byA2YWFhMjg2CgoyMDExLTAzLTI0IDE0OjUxOjEyICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogZml4IHN0cmVhbV9pbmZvIGRlc2NyaXB0b3IgcGFyc2luZwoKMjAxMS0wMy0wOSAyMzowNjoxNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBkY2FwYXJzZTogQnVtcCByYW5rIHRvIHByaW1hcnkrMQoJICBTZWVtcyB0byB3b3JrIGZpbmUgd2l0aCBhIHJlYXNvbmFibHkgd2lkZSByYW5nZSBvZiBtZWRpYSwgc28gYnVtcGluZwoJICByYW5rLgoKMjAxMS0wMy0yNCAxMDowODo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmZwYXJzZTogQWRkIHN1cHBvcnQgZm9yIDMyIGJpdCBhbmQgNjQgYml0IGZsb2F0aW5nIHBvaW50IGZvcm1hdHMKCjIwMTEtMDMtMjQgMDk6NTg6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogVGhlIFNTTkQgaGVhZGVyIGlzIDE2IGJ5dGVzIGxhcmdlLCBub3QgOCArIDE2IGJ5dGVzCgkgIEZpeGVzIGJ1ZyAjNjQ1NTY4IGFuZCBwbGF5YmFjayBpbiBwdWxsIG1vZGUgZm9yIHNhbXBsZSB3aWR0aHMgPiA4IHRoYXQKCSAgYXJlIG5vdCBhIG11bHRpcGxlIG9mIDIgYnl0ZXMgKGUuZy4gMjQgYml0IHNhbXBsZXMpLgoKMjAxMS0wMy0yNCAwOToyOTowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBVc2UgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2NlaWwoKSBpbnN0ZWFkIG9mIGEgY3VzdG9tIGZ1bmN0aW9uCgoyMDExLTAzLTI0IDEzOjQzOjAxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogRG9uJ3QgZXhwb3J0IGJpdHJhdGUgaWYgb3Blbi92YXJpYWJsZS9sb3NzbGVzcwoJICBsaWJkY2EgcmV0dXJucyB0aGUgYml0cmF0ZSBhcyAxLzIvMyBmb3Igb3Blbi92YXJpYWJsZS9sb3NzbGVzcyBmaWxlcwoJICByZXNwZWN0aXZlbHkuIFRoaXMgbWFrZXMgc3VyZSB3ZSBkb24ndCBlbWl0IHRoZXNlIHZhbHVlcy4KCjIwMTEtMDMtMjQgMDk6MjI6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICBjZWx0ZGVjOiBSZWFkIHRoZSBhZGRpdGlvbmFsLCBvcHRpb25hbCBleHRyYSBoZWFkZXJzIGZyb20gdGhlIGNhcHMgdG9vCgoyMDExLTAzLTI0IDA5OjE0OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJICBjZWx0ZGVjOiBHZXQgYW5kIHVzZSBzdHJlYW1oZWFkZXJzIGZyb20gdGhlIGNhcHMgaWYgcG9zc2libGUKCSAgVGhpcyBhbGxvd3MgcGxheWJhY2sgb2YgZmlsZXMgd2hlcmUgdGhlIHN0cmVhbWhlYWRlciBidWZmZXJzIHdlcmUKCSAgZHJvcHBlZCBmb3Igc29tZSByZWFzb24gYW5kIGFsc28gc2V0cyB0aGUgc3JjcGFkIGNhcHMgZWFybGllci4KCjIwMTEtMDMtMjMgMjI6NTM6NTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdAoJICBJdCBhcHBlYXJzIHRoZSBwYXRjaCwgd2hpY2ggSSd2ZSBiZWVuIGNhcnJ5aW5nIGFyb3VuZCBmb3JldmVyLAoJICBoYWQgYmVlbiBhbHJlYWR5IGFwcGxpZWQuCgoyMDExLTAyLTIwIDE0OjE2OjE4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBtZXJnZSB1dGlscyBoZWFkZXIgaW50byBiYXNldmlkZW9jb2RlYwoKMjAxMC0xMi0zMCAxODoyNTowNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBPdXRwdXQgZWxlbWVudCBtZXNzYWdlIHdpdGggZnJhbWUgc3RhdHMKCjIwMTEtMDItMjYgMDA6Mjg6MzIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuaDoKCSAgcGF0Y2hkZXRlY3Q6IG5ldyBlbGVtZW50CgkgIERldGVjdHMgTXVuc2VsbCBDb2xvckNoZWNrZXIgaW4gYSB2aWRlbyBpbWFnZSBhbmQgYXV0b21hdGljYWxseQoJICB3aGl0ZSBiYWxhbmNlcyBhbmQgY29sb3IgY29ycmVjdHMgYmFzZWQgb24gdGhlIGRldGVjdGVkIHZhbHVlcy4KCSAgVGhpcyBlbGVtZW50IGlzIG9ubHkgYSBkZW1vbnN0cmF0aW9uIGF0IHRoaXMgc3RhZ2UsIGl0IG5lZWRzIHRvCgkgIGJlIHNlcGFyYXRlZCBpbnRvIHR3byBlbGVtZW50cy4KCjIwMTEtMDItMjcgMDA6NDg6MTkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQGVudHJvcHl3YXZlLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvTGludXhDT00uaDoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIGRlY2tsaW5rIHBsdWdpbgoJICBTb3VyY2UgYW5kIHNpbmsgZWxlbWVudHMgZm9yIEJsYWNrTWFnaWMgRGVja0xpbmsgU0RJIGNhcmRzLgoKMjAxMS0wMy0xNyAxNzozODo1OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2xpbnN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXMuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5oOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5oOgoJKiBzeXMvbGluc3lzL2luY2x1ZGUvYXNpLmg6CgkqIHN5cy9saW5zeXMvaW5jbHVkZS9tYXN0ZXIuaDoKCSogc3lzL2xpbnN5cy9pbmNsdWRlL3NkaS5oOgoJKiBzeXMvbGluc3lzL2luY2x1ZGUvc2RpYXVkaW8uaDoKCSogc3lzL2xpbnN5cy9pbmNsdWRlL3NkaXZpZGVvLmg6CgkgIGxpbnN5czogQWRkIHBsdWdpbiBmb3IgTGluZWFyIFN5c3RlbXMgU0RJIGJvYXJkcwoKMjAxMC0wOS0xNCAxMTozMDozMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9zZGkvZ3N0c2RpLmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5oOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5oOgoJICBzZGk6IEFkZCByYXcgU0RJIG11eGluZy9kZW11eGluZyBlbGVtZW50cwoKMjAxMS0wMy0xNyAxOTowMzoyOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xvZ29pbnNlcnQuYzoKCSAgbG9nb2luc2VydDogRml4IG1lbWxlYWtzLCBhZGQgdGVzdAoKMjAxMC0xMS0xNSAxMTozNzoxMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgbG9nb2luc2VydDogQWRkIGRhdGEgcHJvcGVydHkKCjIwMTEtMDMtMjMgMTU6NDk6MTggKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBnc3QtY2FtZXJhYmluMi10ZXN0OiBGaXggcHJlbWF0dXJlIHNodXRkb3duCgkgIFdlIG11c3Qgd2FpdCBmb3IgY2FtZXJhYmluMidzIHN0b3AtY2FwdHVyZSBwcm9jZWR1cmVzIHRvIGZpbmlzaCBiZWZvcmUgcXVpdHRpbmcKCSAgdGhlIG1haW4gbG9vcCBvciBmaXJpbmcgb2ZmIHRoZSBuZXh0IGNhcHR1cmUuIElmIHdlIGdldCBzdHVjayB3YWl0aW5nIGZvcgoJICBjYW1lcmFiaW4yIHRvIGJlY29tZSBpZGxlLCB0aGlzIGlzIGEgYnVnIHRoYXQgbmVlZHMgZml4aW5nLgoKMjAxMS0wMy0yMyAxNjozMjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE9ubHkgbWFyayB2aWRlbyBjYXB0dXJlIGFzIGZpbmlzaGVkIGFmdGVyIEVPUwoJICBJbnN0ZWFkIG9mIHByb2JpbmcgdGhlIHZpZGVvc2luayBzaW5rcGFkIGZvciBwYXNzaW5nIEVPUywgYmV0dGVyCgkgIHRvIHdhaXQgZm9yIEVPUyBmcm9tIHRoZSBidXMuCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGUgZmlsZXNpbmsgaGFzIGFscmVhZHkgcHJvY2Vzc2VkIGl0IGFuZCBpcwoJICByZWFkeSB0byBjbG9zZSB0aGUgZmlsZS4gVGhpcyBpcyB1c2VkIHRvIG5vdGlmeSBhcHBsaWNhdGlvbnMKCSAgdGhhdCBjYW1lcmFiaW4yIGlzIGlkbGUgYW5kIGNhbiBiZSBzaHV0IGRvd24uCgoyMDExLTAzLTE4IDE1OjQ5OjEyICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogY2FtZXJhYmluMjogd3JhcHBlcmNhbWVyYWJpbnNyYzogQWRkIHJlYWQtb25seSBtYXgtem9vbSBwcm9wCgkgIFRoaXMgaXMgbm90IGltcGxlbWVudGVkIGluIGFueSBvZiBvdXIgcmVhbCBzb3VyY2VzIHRvIHdoaWNoIHdyYXBwZXJjYW1lcmFiaW5zcmMKCSAgbWlnaHQgY29ubmVjdCBidXQgdGhpcyBpcyBvcHRpb25hbCBhbmQgY2FuIGJlIGltcGxlbWVudGVkIGF0IGFueSB0aW1lLiBBCgkgIGxpbWl0IG9uIHRoZSBzb2Z0d2FyZSB6b29tIGxldmVsIHVzaW5nIHZpZGVve2Nyb3Asc2NhbGV9IHdvdWxkIGJlIGFyYml0cmFyeS4KCjIwMTEtMDMtMjMgMTI6Mzg6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogSW1wcm92ZSBpZGxlIHByb3BlcnR5IHVzYWdlCgkgIFVzZSByZXNvdXJjZSB3YXJuaW5nIG1lc3NhZ2VzIHRvIG5vdGlmeSBjYW1lcmFiaW4yIHRoYXQgYSBjYXB0dXJlCgkgIGFzIGFib3J0ZWQgb3IgY291bGRuJ3QgYmUgc3RhcnRlZCwgbWFraW5nIGl0IGRlY3JlbWVudCB0aGUKCSAgcHJvY2Vzc2luZyBjb3VudGVyIGFuZCBtYWtpbmcgdGhlIGlkbGUgcHJvcGVydHkgbW9yZSByZWxpYWJsZS4KCjIwMTEtMDMtMjIgMTI6MDQ6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBObyBuZWVkIHRvIGZvcmNlIGF1ZGlvc3JjIHRvIG51bGwgb24gc3RvcF9jYXB0dXJlCgkgIFNldHRpbmcgdGhlIGF1ZGlvIHNvdXJjZSB0byBudWxsIGlzbid0IG5lZWRlZCBhbmQgaXQgY291bGQKCSAgbWFrZSB0aGUgRU9TIHRoYXQgaXMgc3RpbGwgZmxvd2luZyBiZSBkcm9wcGVkIGlmIGF1dG9hdWRpb3NyYwoJICBpcyB1c2VkIGJlY2F1c2UgaXRzIHBhZHMgZ28gZmx1c2hpbmcgYmVmb3JlIHRoZSBFT1MgZ2V0cyBwdXNoZWQKCSAgZnJvbSB0aGUgcmVhbCBzb3VyY2UuCgoyMDExLTAzLTIyIDA4OjMyOjQ4IC0wMzAwICBMYXVyaSBMZWh0aW5lbiA8bGF1cmkubGVodGluZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiBDaGVjayBpZiBzZXQgcHJldmlldyBjYXBzIGFyZSB0aGUgc2FtZQoJICBDaGVja3MgaWYgdGhlIG5ldyByZWNlaXZlZCBwcmV2aWV3LWNhcHMgYXJlIGVxdWFsIHRvIHdoYXQgaXMKCSAgYWxyZWFkeSBpbiB1c2UsIHNraXBzIHRoZSBwcmV2aWV3LWNhcHMgc2V0dGluZyBsb2dpYyBpbiBjYXNlCgkgIG5ldyBjYXBzIGFyZSBzYW1lIGFzIGN1cnJlbnQgb25lcy4KCjIwMTEtMDMtMTUgMTU6NDc6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogQWRkcyBhbm90aGVyICdpZGxlJyB0ZXN0CgkgIEFkZHMgYW5vdGhlciB0ZXN0IHRoYXQgY2hlY2tzIHRoYXQgdGhlIGlkbGUgcHJvcGVydHkgd29ya3MKCSAgY29ycmVjdGx5IHdoZW4gYm9ndXMgc3RhcnQtY2FwdHVyZSBjYWxscyBhcmUgbWFkZS4KCSAgVGhpcyBmYWlscyBjdXJyZW50bHksIGJ1dCBzaG91bGQgcmVtaW5kIHVzIG9mIGZpeGluZyBpdCBpbgoJICB0aGUgZnV0dXJlIGJ5IGRlZmluaW5nIGEgcHJvcGVyIGVycm9yIHJlcG9ydGluZyBmcm9tIGNhbWVyYQoJICBzb3VyY2VzIHRvIGNhbWVyYWJpbjIKCjIwMTEtMDMtMTUgMTU6MzQ6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogU3ByaW5rbGUgc29tZSAnaWRsZScgcHJvcGVydHkgY2hlY2tzCgkgIEFkZHMgc29tZSBjaGVja3MgZm9yICdpZGxlJyBwcm9wZXJ0eSBpbiBjYW1lcmFiaW4yIHRlc3RzCgoyMDExLTAzLTE1IDE1OjExOjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGRzIG5ldyBpZGxlIHByb3BlcnR5CgkgIEFkZHMgaWRsZSBwcm9wZXJ0eSAoanVzdCBsaWtlIGNhbWVyYWJpbjEpLCBhIGJvb2xlYW4gdGhhdAoJICBpcyB0cnVlIHdoZW4gY2FtZXJhYmluMiBpc24ndCBwcm9jZXNzaW5nIGFuZCBjYW4gYmUgc2h1dCBkb3duCgkgIHdpdGhvdXQgbG9zaW5nIGRhdGEuCgoyMDExLTAzLTE1IDEwOjUwOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZHMgdGVzdHMgZm9yIG5ldyBpbWFnZSBjYXB0dXJlIHByb3BlcnRpZXMKCSAgQWRkcyB0ZXN0cyB0byBjaGVjayB0aGF0IGNoYW5naW5nIGVuY29kZXIvbXV4ZXIgZm9yIGltYWdlIGNhcHR1cmUKCSAgd29ya3MKCjIwMTEtMDMtMTUgMTA6MTE6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgcHJvcGVydGllcyBmb3IgaW1hZ2UgY2FwdHVyZSBzZXR0aW5ncwoJICBBZGRzIHByb3BlcnRpZXMgZm9yIHNlbGVjdGluZyBpbWFnZSBlbmNvZGVyIGFuZCBtdXhlciBmb3IKCSAgaW1hZ2UgY2FwdHVyZQoKMjAxMS0wMy0xNCAxNDozMzo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE1vcmUgZGVidWcgbG9nCgkgIFNtYWxsIHJlZmFjdG9yaW5nIGFuZCBhZGRpbmcgbW9yZSBkZWJ1ZyBsb2cgdG8gZW5jb2RlYmluIHJlbGF0ZWQKCSAgcGF0aHMKCjIwMTEtMDMtMTQgMTQ6MzA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBTZXQgcHJldmlldyBwaXBlbGluZSBOVUxMCgkgIFNldCBwcmV2aWV3IHBpcGVsaW5lIHRvIE5VTEwgd2hlbiBmcmVlZCB0byBiZSBhYmxlIHRvCgkgIHJlY3JlYXRlIGl0IG9uIHRoZSBmb2xsb3dpbmcgbGluZXMKCjIwMTEtMDMtMjMgMjI6MDI6MzcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBFeHBvc2UgZnJhbWUgc2l6ZSBpbiBjYXBzCgkgIFRoaXMgZXhwb3J0cyB0aGUgc2l6ZSBvZiB0aGUgZnJhbWUgKG51bWJlciBvZiBieXRlcyBmcm9tIG9uZSBzeW5jIHBvaW50CgkgIHRvIHRoZSBuZXh0KSBhcyB0aGUgImZyYW1lX3NpemUiIGZpZWxkIGluIGNhcHMuCgoyMDExLTAzLTA5IDIzOjAzOjEwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogRXhwb3NlIGJsb2NrIHNpemUgaW4gY2FwcwoJICBUaGlzIHNldHMgdGhlICJibG9ja19zaXplIiBmaWVsZCBvbiBjYXBzIGFzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcwoJICBlbmNvZGVkIGluIG9uZSBmcmFtZS4KCjIwMTEtMDMtMjIgMjA6NTM6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgcnVubmluZyB0aW1lIGZvciBzeW5jaHJvbml6YXRpb24KCSAgU2VlIGFsc28gIzQzMjYxMi4KCjIwMTEtMDMtMjIgMTM6MTg6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjaGFpbiB1cCB0byBwYXJlbnQgZmluYWxpemUKCjIwMTEtMDMtMjIgMTM6NDY6NDIgKzAxMDAgIENocmlzIEUgSm9uZXMgPGNocmlzQGNocmlzZWpvbmVzLmNvbT4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogQ29ycmVjdGx5IGhhbmRsZSBuZXdzZWdtZW50IGV2ZW50cyB3aXRoIHN0b3A9PS0xCgkgIEZpeGVzIGJ1ZyAjNjQ1NDIwLgoKMjAxMS0wMy0yMiAxMjozNDoyMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiByZWR1bmRhbnQgdXNlcyBvZiBBQ19NU0dfUkVTVUxUKCkKCSAgY2xlYW5lZCB0aGUgcmVkdW5kYW50IHVzZXMgb2YgQUNfTVNHX1JFU1VMVCgpIGluIGNvbmZpZ3VyZS5hYwoKMjAxMS0wMy0xOCAxOTozNDo1NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW46IHdpbmdvIHNpZ25lZCBjb21tZW50CgoyMDExLTAzLTIxIDEzOjMxOjE1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5oOgoJICB6ZWJyYXN0cmlwZTogQWRkIG5ldyBHc3RWaWRlb0ZpbHRlcjIgYmFzZSBjbGFzcwoJICBBbiBleHBlcmltZW50LiAgTm90IGNvbXBsZXRlbHkgaGFwcHkgd2l0aCBpdC4KCjIwMTEtMDMtMjEgMjA6NDA6MTQgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEhhbmRsZSBhbGwgSVNPODg1OS14IGVuY29kaW5ncyBpbiBnZXRfZW5jb2RpbmcoKQoJICAuLi4gYWNjb3JkaW5nIHRvIEVUU0kgRU4gMzAwIDQ2OCwgIlNlbGVjdGlvbiBvZiBjaGFyYWN0ZXIgdGFibGUiCgoyMDExLTAyLTIxIDExOjQ0OjAxICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZG8gbm90IHRyeSB0byBwYXJzZSBwYWNrZXRzIGNvbnRhaW5pbmcgc2VjdGlvbiBkYXRhIGFzIFBFUwoKMjAxMS0wMi0yMSAxMTo0Mjo1NCArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhZGQgc3RyZWFtIHR5cGVzIGZvciBEU00gQ0MgQSwgQiwgQywgRAoKMjAxMS0wMy0yMSAxODo1NDo0NiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBwbGF5YmFjayBpZiBQTVQgaXMgc2VlbiBiZWZvcmUgUEFUCgkgIFRoZSBzdHJlYW0gZm9yIHRoZSBQTVQgcGlkIGhhcyB0byBiZSBjbGVhcmVkIHNpbmNlIHRoZSB2ZXJzaW9uIGNoZWNraW5nCgkgIGluIHRoZSBwYWNrZXRpemVyIHdvbid0IGVtaXQgdGhlIHNhbWUgUE1UIGFnYWluIG90aGVyd2lzZS4KCjIwMTEtMDMtMjEgMTY6NTE6MTYgKzAxMDAgIEFuZHJlYXMgRnJpc2NoIDxhbmRyZWFzLmZyaXNjaEBtdWx0aW1lZGlhLWxhYnMuZGU+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFNldCBwYXJzZWQ9dHJ1ZSBpbiB0aGUgc3JjcGFkIGNhcHMKCSAgRml4ZXMgYnVnICM2NDU0MTIuCgoyMDExLTAzLTIxIDEwOjM4OjU4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IExvd2VyIHRoZSByYW5rIHRvIE1BUkdJTkFMCgkgIFRoZSByYXRpb25hbGUgaXMgdGhhdCBpdCBjYW4ndCBiZSBwcm9wZXJseSB1c2VkIHJpZ2h0IG5vdyB3aGVuIHVzaW5nCgkgIGl0IHRvIGVuY29kZSBtcGVnMnZpZGVvIGJlY2F1c2Ugb2YgdGhlIG5lZWRzLXRvLWJlLXJld3JpdHRlbiBwcm9wZXJ0aWVzCgkgIGFuZCBmb3JtYXQgbmVnb3RpYXRpb24uIE90aGVyIGVuY29kZXJzIHdpbGwgbmVnb3RpYXRlIGluIGEgbXVjaCBzYW5lcgoJICBmYXNoaW9uLgoJICBPbmUgc3VjaCBleGFtcGxlIGlzIHRoYXQgd2hlbiB5b3UgcGljayBtcGVnMmVuYyBmb3IgbXBlZzJ2aWRlbywgdGhlCgkgIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSAnZm9ybWF0JyBwcm9wZXJ0eSBpcyAiR2VuZXJpYyBNUEVHLTEiLCB3aGljaCBpcwoJICBjb21wbGV0ZWx5IHdyb25nIGlmIGRvd25zdHJlYW0gY2FwcyBhcmUgbXBlZzIuIFRoZSB3aG9sZSBuZWdvdGlhdGlvbgoJICBjb2RlIG5lZWRzIHNvbWUgc2VyaW91cyBsb3ZpbmcgYmVmb3JlIHRoaXMgcGx1Z2luIGNhbiBiZSBidW1wZWQgYmFjawoJICB1cCB0byBhIGhpZ2hlciByYW5rLgoKMjAxMS0wMy0xNiAwOTo1MDozNCArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogYWRkICJmcmFtZXMtZHJvcHBlZCIgYW5kICJmcmFtZXMtcmVuZGVyZWQiIHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzQ2OQoKMjAxMS0wMy0xOCAwOTozMzoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlbW92ZSBzb21lIHVudXNlZCB2YXJpYWJsZXMgaW4gdGhlIEk0MjAgYmxlbmRpbmcgZnVuY3Rpb24KCjIwMTEtMDMtMTcgMjA6MTk6MjcgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBGaXggdXNpbmcgYWxwaGEgdmFsdWVzIGluIGJsaXR0aW5nLgoJICBVc2UgZWFjaCBwaXhlbCdzIG93biBhbHBoYSB2YWx1ZSBpbnN0ZWFkIG9mIGF2ZXJhZ2UgYWxwaGEgdmFsdWUgd2hlbgoJICBjYWxjdWxhdGluZyBjb2xvciBjb21wb25lbnRzLiBGaXhlcyBidWcgIzYzOTc2My4KCjIwMTEtMDMtMTcgMTY6MzQ6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgdnA4OiBmaXggTElCQUREIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTAzLTE2IDE1OjUzOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGFkZCBGSVhNRSBmb3IgbWFraW5nIHRoZSBiYXNlIGNsYXNzIHVzZSB4aW5nIHNlZWsgdGFibGVzIGJldHRlcgoKMjAxMS0wMy0xNyAxNjo0MTo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogRG9uJ3QgdXNlICJzdW4iIGFzIGEgdmFyaWFibGUgbmFtZSwgYnJlYWtzIG9uIFNvbGFyaXMKCSAgU2VlbXMgbGlrZSB0aGUgU29sYXJpcyBjb21waWxlciBoYXMgLURzdW49MSwgc28gZG9uJ3QgdXNlCgkgIHN1biBhcyBhIHZhcmlhYmxlIG5hbWUKCSAgUGF0Y2ggYnkgVGltIE1vb25leSA8bW9vbmV5QGRvZ2JlcnQuY2MubmRzdS5ub2Rhay5lZHU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDUwNTMKCjIwMTEtMDMtMTcgMTU6Mjc6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc2htOiBDaGVjayBmb3IgTVNHX05PU0lHTkFMIG1hY3JvCgkgIERvbid0IGJ1aWxkIHRoZSBwbHVnaW4gaXMgTVNHX05PU0lHTkFMIGlzIG5vdCBkZWZpbmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDUwNTMKCjIwMTEtMDMtMTYgMTg6NTI6MjQgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IEtlZXAgc2htc2luayByZWZlcmVuY2VkIHdoaWxlIHRoZXJlIGFyZSBzdGlsbCBidWZmZXJzIGFyb3VuZAoKMjAxMS0wMy0xNiAxODo1MTo1MCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogQWxsb3cgU2htUGlwZSB0byBzYXZlIGEgZGF0YSBwb2ludGVyIGZvciBhcHBsaWNhdGlvbnMKCjIwMTEtMDMtMTYgMTg6NTE6MDIgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogS2VlcCB0aGUgU2htUGlwZSBhbGl2ZSBhcyBsb25nIGFzIHRoZXJlIGFyZSBibG9ja3MgbGVmdAoKMjAxMS0wMy0wOSAxOTozNDozOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBPbmx5IGNvbm5lY3QgdG8gc2luayBpbiBQTEFZSU5HIGluIGxpdmUgbW9kZQoKMjAxMS0wMy0wOSAxOTozNDoyNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBLZWVwIEdzdFBvbGwgZm9yIHdob2xlIHNyYyBsaWZldGltZQoKMjAxMS0wMy0xNSAwOToxNTozNSAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkIGFuIGFzc2VydGlvbiB0byBwcmV2aWV3IHBpcGVsaW5lIGdlbmVyYXRpb24KCSAgQWRkcyBhbiBhc3NlcnRpb24gaW4gY2FzZSB0aGUgcHJldmlldyBwaXBlbGluZSBpcyBOVUxMIGFuZCBhbHNvCgkgIGV4cGxpY2l0bHkgaW5pdGlhbGl6ZXMgcHJldmlldyBjYXBzIHRvIE5VTEwgZm9yIGNsYXJpdHkuCgoyMDExLTAzLTE0IDE4OjI1OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogQWRkIGRlcHRoIGFuZCBlbmRpYW5uZXNzIHRvIHRoZSBjYXBzCgkgIFNvbWUgZGVjb2RlcnMgY2FuIG9ubHkgaGFuZGxlIHNwZWNpZmljIGVuZGlhbm5lc3Mgb3IgYSBmaXhlZAoJICBkZXB0aCBhbmQgdGhpcyBhbGxvd3MgYmV0dGVyIG5lZ290aWF0aW9uLgoJICBGaXhlcyBidWcgIzY0NDIwOC4KCjIwMTEtMDMtMTQgMTI6Mzk6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggYnJva2VuIHBhZCBjYXBzIHJlZmNvdW50IGhhbmRsaW5nCgkgIGdzdF9jYXBzX21ha2Vfd3JpdGFibGUoKSB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGNhcHMgcGFzc2VkIGluLCBidXQKCSAgdGhlIGNhbGxlciBkb2Vzbid0IG93biBhIHJlZiB0byB0aGUgY2FwcyBoZXJlLCBiZWNhdXNlIEdTVF9QQURfQ0FQUwoJICBkb2Vzbid0IHJldHVybiBhIHJlZi4gTG9va3MgbGlrZSB0aGUgY29kZSByZWxpZWQgb24gYSBjYXBzIGxlYWsKCSAgZWxzZXdoZXJlIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuCgoyMDExLTAzLTE0IDEyOjMzOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZG9uJ3QgZXJyb3Igb3V0IGlmIGRvd25zdHJlYW0gZmFpbHMgdG8gaGFuZGxlIHRoZSBuZXdzZWdtZW50IGV2ZW50CgkgIElmIGRvd25zdHJlYW0gZG9lc24ndCBoYW5kbGUgdGhlIG5ld3NlZ21lbnQgZXZlbnQsIGRvbid0IGVycm9yIG91dCAoZXNwLgoJICBub3Qgd2l0aG91dCBwb3N0aW5nIGEgcHJvcGVyIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyksIGJ1dCBqdXN0IGNvbnRpbnVlLgoJICBJZiB0aGVyZSdzIGEgcHJvYmxlbSwgd2UnbGwgZmluZCBvdXQgd2hlbiB3ZSBzdGFydCBwdXNoaW5nIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQzOTUKCjIwMTEtMDMtMTEgMTQ6NDA6NDQgKzAwMDAgIEFuZHJlYXMgRnJpc2NoIDxhbmRyZWFzLmZyaXNjaEBtdWx0aW1lZGlhLWxhYnMuZGU+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTEtMDMtMTEgMTg6MjM6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBTZXQgcXVldWVzIHRvIHNpbGVudAoJICBPcHRpbWl6ZSBhIGxpdHRsZSBieSBzZXR0aW5nIHF1ZXVlcyB0byBzaWxlbnQKCjIwMTEtMDMtMTEgMTY6MjA6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlZmFjdG9yaW5nIGVuY29kZWJpbiB1c2FnZQoJICBSZWZhY3RvciBzb21lIGNvbW1vbiBjb2RlIHJlZ2FyZGluZyBlbmNvZGViaW4gdXNhZ2UgaW4gY2FtZXJhYmluMgoKMjAxMS0wMy0xMSAxNzowNzowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBGaXggbnVtYmVyIG9mIGl0ZXJhdGlvbiBvZiB0ZXN0cwoJICBUaGVyZSBhcmUgMyB0YWdsaXN0IHRlc3RzLCBub3QgMgoKMjAxMS0wMy0xMSAxMDozMjozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogU29tZSBtZW1sZWFrIGZpeGVzCgoyMDExLTAzLTA4IDA5OjQzOjU4ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGJhc2VjYW1lcmFzcmM6IHdyYXBwZXJjYW1lcmFiaW5zcmM6IGNhbWVyYWJpbjI6IEV4cG9zZS9hZGQgZmxvYXRpbmcgcG9pbnQgem9vbSBwcm9wZXJ0eQoKMjAxMS0wMy0wNCAxNTo1Mzo0MiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZW1vdmUgZGVhZCBkZWZpbml0aW9uCgkgIFRoaXMgZGVmaW5pdGlvbiBpcyB1bnVzZWQgaW4gdGhpcyBjb2RlLgoKMjAxMS0wMy0xMCAxMTozODoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEF2b2lkIGNsZWFyaW5nIHJlY29yZGluZyBjYXBzCgkgIFdoZW4gcmVjb3JkaW5nIDIgdmlkZW9zIGluIHNlcXVlbmNlIHdpdGggdGhlIHNhbWUgdmlkZW8tY2FwdHVyZS1jYXBzLAoJICB0aGUgc2Vjb25kIHZpZGVvIHdvdWxkIGdldCBhIG5vdC1uZWdvdGlhdGVkIGVycm9yIGJlY2F1c2UgdGhlCgkgIHNyYyBjYXBzIHdlcmUgYmVpbmcgY2xlYXJlZCB3aXRob3V0IGFueSBpbnRlbnRpb24gb2YKCSAgcmVuZWdvdGlhdGluZyBpdCBiYWNrIHRvIHRoZSByZXF1ZXN0ZWQgY2FwdHVyZSBjYXBzLgoJICBUaGlzIHBhdGNoIGF2b2lkcyB0aGlzIGNhcHMgcmVzZXQgcHJvY2VkdXJlIHVubGVzcyBhIG5ldwoJICBjYXBzIHdhcyBzZXQuCgoyMDExLTAzLTExIDE0OjM3OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiBBZGQgY29ycmVjdCB0ZW1wbGF0ZSBjYXBzIGFuZCBlbGVtZW50IGRldGFpbHMKCjIwMTEtMDMtMTEgMTA6NDA6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGZpeCBMREFERC9MSUJTIHBhdGggb3JkZXIgZm9yIGNhbWVyYWJpbjIgZXhhbXBsZQoKMjAxMS0wMy0xMSAxMDozNDoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGRvbid0IGxlYWsgZWxlbWVudCBuYW1lIHN0cmluZ3MKCSAgRG9uJ3QgbGVhayBzdHJpbmcgY29weSByZXR1cm5lZCBieSBnc3RfZWxlbWVudF9nZXRfbmFtZSgpLiBBbHNvLCBjaGVjawoJICBmb3IgY2VydGFpbiBlbGVtZW50cyBieSBjaGVja2luZyB0aGUgcGx1Z2luIGZlYXR1cmUgLyBmYWN0b3J5IG5hbWUsIG5vdAoJICB0aGUgYXNzaWduZWQgb2JqZWN0IG5hbWUuCgoyMDExLTAzLTExIDEwOjI2OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IHJlbW92ZSBtb3JlIHRhcmtpbi90aGVvcmFleHAgYnVpbGQgY3J1ZnQKCjIwMTEtMDMtMTAgMTM6Mzk6NDAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkqIGV4dC90YXJraW4vUkVBRE1FOgoJKiBleHQvdGFya2luL1RPRE86CgkqIGV4dC90YXJraW4vV0hBVF9USEVfSEVDS19JU19USElTX0NPREVfRE9JTkc6CgkqIGV4dC90YXJraW4vYml0Y29kZXIuaDoKCSogZXh0L3Rhcmtpbi9nb2xvbWIuaDoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW4uYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuaDoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSogZXh0L3Rhcmtpbi9pbmZvLmM6CgkqIGV4dC90YXJraW4vbWVtLmM6CgkqIGV4dC90YXJraW4vbWVtLmg6CgkqIGV4dC90YXJraW4vcmxlLmg6CgkqIGV4dC90YXJraW4vdGFya2luLmM6CgkqIGV4dC90YXJraW4vdGFya2luLmg6CgkqIGV4dC90YXJraW4vd2F2ZWxldC5jOgoJKiBleHQvdGFya2luL3dhdmVsZXQuaDoKCSogZXh0L3Rhcmtpbi93YXZlbGV0X2NvZWZmLmM6CgkqIGV4dC90YXJraW4vd2F2ZWxldF94Zm9ybS5jOgoJKiBleHQvdGFya2luL3l1di5jOgoJKiBleHQvdGFya2luL3l1di5oOgoJKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmg6CgkgIHRoZW9yYSx0YXJraW46IFJlbW92ZSBhbmNpZW50IHVudXNlZCBjb2RlCgoyMDExLTAzLTEwIDE2OjAzOjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcHJvdmlkZSBmb3IgUFRTIG1ldGFkYXRhIHdoZW4gc28gY29uZmlndXJlZAoJICAuLi4gYW5kIG5vdCBvbmx5IHdoZW4gc29ydC1vZiBmZWVsaW5nIGxpa2UgaXQuCgkgIEluIGFueSBjYXNlLCBpZiBpdCB0dXJucyBvdXQgYWxsIHJlYWxseSBpcyBpbiBvcmRlciwKCSAgYW5kIHByZXN1bWFibHkgRFRTID09IFBUUywgdGhlbiBubyBjdHRzIHdpbGwgYmUgcHJvZHVjZWQgYW55d2F5LgoKMjAxMS0wMy0xMCAxNjowMjo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFsc28gdHJhY2sgb3JpZ2luYWwgUFRTIGJ1ZmZlciB0aW1lc3RhbXAgaW4gcmVvcmRlciBkdHMtbWV0aG9kCgoyMDExLTAzLTA5IDE0OjUzOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRm9yY2UgRU9TIG9uIGF1ZGlvIHNyYwoJICBXZSBjYW4ndCByZWx5IG9uIGF1ZGlvIHNvdXJjZXMgcHVzaGluZyBFT1Mgd2hlbiBnb2luZyBQQVVTRUQtPlJFQURZCgkgIGJlY2F1c2UgdGhpcyBpcyBhIGJhc2VzcmMgYmFoYXZpb3IgYW5kIHdoZW4gdXNlZCBpbnNpZGUgYXV0b2F1ZGlvc3JjCgkgIHRoZSBnaG9zdHBhZCBnb2VzIGZsdXNoaW5nIGJlZm9yZSB0aGUgcmVhbCBzb3VyY2UgcHVzaGVzIHRoZSBFT1MsCgkgIHNvIGl0IGlzIGRyb3BwZWQuCgoyMDExLTAzLTA0IDA2OjA2OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogTm8gbmVlZCBmb3Igc3RhcnRpbmcgc2VnbWVudAoKMjAxMS0wMy0wNCAwNjowOTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgZ3N0Y2FtZXJhYmluMjogU2V0IGVuY29kZWJpbidzIHZpZGVvcmF0ZSBhbmQgYXVkaW9yYXRlIHByb3BlcnRpZXMKCSAgTGlzdGVuIHRvIGVuY29kZWJpbidzIGVsZW1lbnQtYWRkZWQgc2lnbmFsIHRvIGJlIGFibGUgdG8gc2V0CgkgIHNraXAtdG8tZmlyc3Qgb24gYm90aCBhdWRpb3JhdGVzIGFuZCB2aWRlb3JhdGVzLgoKMjAxMS0wMi0xNSAxNDo1ODoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEhhbmRsZSBhdWRpbyBlbGVtZW50cyBzdGF0ZXMKCSAgQXVkaW8gZWxlbWVudHMgYXJlIHB1dCBpbnRvIGJpbiBvbmx5IHdoZW4gbmVlZGVkLCBzbyB3ZSBuZWVkCgkgIHRvIGJlIGNhcmVmdWwgd2l0aCB0aGVpciBzdGF0ZXMgYXMgY2FtZXJhYmluMiB3b24ndCBtYW5hZ2UKCSAgdGhlbSBpZiB0aGV5IGFyZSBvdXRzaWRlIHRoZSBiaW4uCgkgIEFsc28gd2Ugc2hvdWxkIHJlc2V0IHRoZWlyIHBhZCdzIGZsdXNoaW5nIHN0YXR1cyBiZWZvcmUKCSAgc3RhcnRpbmcgYSBuZXcgY2FwdHVyZS4KCjIwMTEtMDEtMjEgMTI6NDc6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB0ZXN0czogVXBkYXRlIHRlc3RzIHRvIGNoZWNrIGZvciBhdWRpbyBzdHJlYW1zCgkgIEFkZCBhIGNoZWNrIHRoYXQgcmVzdWx0aW5nIHJlY29yZGVkIHZpZGVvIGZpbGVzIGhhdmUgYXVkaW8gc3RyZWFtcy4KCjIwMTEtMDEtMjEgMTA6NTY6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjogYWRkaW5nIGF1ZGlvIHJlbGF0ZWQgcHJvcGVydGllcwoJICBBZGRzIDQgYXVkaW8gcHJvcGVydGllcyByZWxhdGVkIHRvIGF1ZGlvIHJlY29yZGluZwoJICAqIGF1ZGlvLXNyYwoJICAqIG11dGUKCSAgKiBhdWRpby1zdXBwb3J0ZWQtY2FwdHVyZS1jYXBzCgkgICogYXVkaW8tY2FwdHVyZS1jYXBzCgoyMDExLTAxLTIwIDA5OjM0OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgYXVkaW8gc3VwcG9ydCBmb3IgdmlkZW8gcmVjb3JkaW5ncwoJICBBZGRzIGFuIGF1ZGlvIHNvdXJjZSBhbmQgYXVkaW8gY2Fwc2ZpbHRlci9xdWV1ZS9jb252ZXJ0LCBjcmVhdGluZwoJICBhIG5ldyBicmFuY2ggb24gY2FtZXJhYmluMiB0aGF0IGlzIHVzZWQgdG8gZmVlZCBlbmNvZGViaW4gd2l0aAoJICBhdWRpbyBidWZmZXJzIGZvciB2aWRlbyByZWNvcmRpbmcuCgoyMDExLTAyLTI4IDE1OjQzOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIGxvZ2dpbmcgZm9yIHN0b3AtY2FwdHVyZSBzaWduYWwKCjIwMTEtMDItMjQgMTg6Mjg6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgdmlld2ZpbmRlciBjYXBzIHJlbGF0ZWQgcHJvcGVydGllcwoJICBBZGRzIHByb3BlcnRpZXMgdG8gY2hlY2sgd2hhdCBjYXBzIGFyZSBzdXBwb3J0ZWQgb24gdGhlCgkgIHZpZXdmaW5kZXIgKGZyb20gdGhlIGNhbWVyYXNyYyB2aWV3ZmluZGVyIHBhZCkgYW5kIGFub3RoZXIKCSAgb25lIHRvIHNldCBhIGNhcHMgZm9yIHRoZSB2aWV3ZmluZGVyLgoKMjAxMS0wMi0yNCAxNzo0MjoyMSAtMDMwMCAgTGF1cmkgTGVodGluZW4gPGxhdXJpLmxlaHRpbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiBhZGQgdmlydHVhbCBmdW5jdGlvbiB0byBub3RpZnkgc3ViY2xhc3Mgb2YgY2hhbmdpbmcgcHJldmlldyBjYXBzCgkgIEFkZHMgYSB2aXJ0dWFsIGZ1bmN0aW9uIHRvIGJhc2VjYW1lcmFzcmMgaW4gY2FzZSBzdWJjbGFzc2VzIHdhbnQgdG8gYmUKCSAgbm90aWZpZWQgb2YgY2hhbmdpbmcgcHJldmlldyBjYXBzLiBUaGlzIGlzIHVzZWZ1bCBpZiB0aGUgc3ViY2xhc3Mgd2FudHMKCSAgdG8gcG9zdCB0aGUgcHJldmlldyBpdHNlbGYgb3IgaWYgaXQgd2FudHMgdG8gcHJvdmlkZSBhIHByZXZpZXcgYnVmZmVyCgkgIGFzIGNsb3NlIHRvIGFzIHBvc3NpYmxlIHRvIHRoZSB1c2VyJ3MgcmVxdWVzdGVkIHJlc29sdXRpb24gdG8gdGhlCgkgIHByZXZpZXcgZ2VuZXJhdGlvbiBwaXBlbGluZS4KCjIwMTEtMDItMjIgMTM6MTA6MTUgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogYWRkIG9wdGlvbiBmb3Igc2V0dGluZyB0aGUgd3JhcHBlciBjYW1lcmEgc291cmNlCgoyMDExLTAyLTIxIDE3OjA0OjA2ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IGFkZCBlbmNvZGluZyBwcm9maWxlIGxvYWRpbmcKCjIwMTEtMDItMTcgMTQ6NTE6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBGaXggbmV3c2VnbWVudCBwdXNoaW5nCgkgIFNlbmQgdXBkYXRlIG5ld3NlZ21lbnRzIGluc3RlYWQgb2Ygbm9uLXVwZGF0ZSBvbmVzCgkgIGZvciB0aGUgdmlkZW8gYnJhbmNoIHdoZW4gc3RhcnRpbmcgcmVjb3JkaW5ncwoKMjAxMS0wMi0xNSAxNDo1OTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFNldCBzb21lIHF1ZXVlJ3MgcHJvcGVydGllcwoJICBTZXRzIHZpZXdmaW5kZXIgcXVldWUgdG8gbGVha3kgYW5kIHRlbGwgaW1hZ2UgYnJhbmNoCgkgIHF1ZXVlIHRvIGRvbid0IGNhcmUgYWJvdXQgZHVyYXRpb25zCgoyMDExLTAyLTEwIDExOjUwOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVhZHkgaXMgZW5vdWdoIGZvciBmb3JjaW5nIGEgY2FwcyBjaGFuZ2UKCjIwMTEtMDItMDkgMTk6MTQ6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBDaGVjayBmb3IgZG93bnN0cmVhbSBjYXBzIG9uIGZpcnN0IGNhcHR1cmVzCgkgIFVzZSB2aWRlb19yZW5lZ290aWF0ZSBhbmQgaW1hZ2VfcmVuZWdvdGlhdGUgYm9vbGVhbnMgdG8gbWFrZQoJICB0aGUgdmlkZW9zcmMgbmVnb3RpYXRlIHRoZSBjYXB0dXJlIGNhcHMgb24gdGhlIGZpcnN0IGNhcHR1cmUgYmVjYXVzZQoJICB0aGUgY2FwcyBtaWdodCBiZSBzZXQgYmVmb3JlIHdyYXBwZXJjYW1lcmFiaW5zcmMgZ29lcyBpbnRvIFBMQVlJTkcKCSAgYW5kIHBhZHMgZHJvcCB0aGUgaW50ZXJuYWwgcmVuZWdvdGlhdGUgZXZlbnQuCgkgIFRoaXMgaXMgcmVxdWlyZWQgYXMgdGhlIG91dHB1dC1zZWxlY3RvciBpcyB1c2luZyB0aGUgJ25vbmUnIG5lZ290aWF0aW9uCgkgIG1vZGUuCgoyMDExLTAyLTA5IDE5OjA5OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQXZvaWQgZml4YXRpbmcgY2FwdHVyZSBjYXBzCgkgIFdoZW4gc2V0dGluZyB0aGUgaW50ZXJuYWwgY2Fwc2ZpbHRlciBjYXBzIGZvciBjYXB0dXJlIHdlIHNob3VsZCBwdXQKCSAgdGhlIGZ1bGwgY2FwcyBpbnN0ZWFkIG9mIHRyeWluZyB0byBmaXhhdGUgaXQgb3Vyc2VsdmVzLiBUaGlzIHdheSB3ZSBsZXQKCSAgdGhlIGVsZW1lbnRzIChhbmQgbW9zdGx5IHRoZSBzb3VyY2UpIHNlbGVjdCB0aGUgYmVzdCBmb3JtYXQgaW5zdGVhZAoJICBvZiBkZWZhdWx0aW5nIHRvIHdoYXQgdGhlIHBhZCBmaXhhdGlvbiBmdW5jdGlvbiBwaWNrcy4KCjIwMTEtMDItMDkgMDg6Mjc6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBBbGxvdyBmcmVlIGltYWdlIGRpbWVuc2lvbnMKCSAgQ2hhbmdlcyB0aGUgZGVmYXVsdCB3aWR0aC9oZWlnaHQgb2YgY2FwdHVyZXMgc28gdGhhdCBpdCB3aWxsCgkgIGJlIGF1dG9waWNrZWQgYnkgY2FtZXJhYmluMiBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgYW4gb3B0aW9uCgoyMDExLTAyLTA5IDA4OjE1OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogQmFja3BvcnQgZml4IGZyb20gY2FtZXJhYmluIGV4YW1wbGUKCSAgV2Ugc2hvdWxkIG9ubHkgY2hlY2sgaWYgdGhlIHh3aW5kb3cgc2hvdWxkIGJlIGNyZWF0ZWQgaWYgd2UgYWxyZWFkeQoJICBwYXJzZWQgdGhlIGFyZ3VtZW50cyBvZiB0aGUgcHJvZ3JhbQoKMjAxMS0wMi0wNCAxNDo1Mzo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIGNhbWVyYWJpbjI6IE1vdmluZyBwcmV2aWV3IGltYWdlIHByb3BlcnRpZXMgdG8gYmFzZWNhbWVyYXNyYwoJICBNb3ZlcyBwcmV2aWV3IGltYWdlIHJlbGF0ZWQgcHJvcGVydGllcyB0byBiYXNlY2FtZXJhc3JjIGFzIHRoYXQKCSAgc2hvdWxkIGJlIHByZXNlbnQgb24gYWxsIGNhbWVyYXNyY3MKCjIwMTEtMDItMDggMTU6NTE6NDIgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogRml4IGdldHRpbmcgZWxlbWVudCBpbXBsZW1lbnRpbmcgcGhvdG9ncmFwaHkgaWZhY2UKCjIwMTEtMDItMDMgMTI6MDI6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICBjYW1lcmFiaW4yOiBNb3ZlIHByZXZpZXcgaGVscGVyIGZ1bmN0aW9ucyB0byBiYXNlY2FtZXJhYmluc3JjCgkgIE1vdmUgcHJldmlldyBoZWxwZXIgZnVuY3Rpb25zIHRvIGJhc2VhY2FtZXJhYmluc3JjIHNvIHRoZXkgY2FuCgkgIGJlIHJldXNlZCBieSBtdWx0aXBsZSBjYW1lcmFiaW4yIHNvdXJjZXMuCgoyMDExLTAyLTAzIDE2OjU4OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBBZGQgZ3N0LWNhbWVyYWJpbjItdGVzdAoJICBBZGRzIGdzdC1jYW1lcmFiaW4yLXRlc3QgZXhhbXBsZSBhcHBsaWNhdGlvbiwgc2ltaWxhciB0bwoJICBnc3QtY2FtZXJhYmluLXRlc3QgZm9yIGNhbWVyYWJpbi4KCSAgSXQgaXMgdXNlZnVsIGZvciB0YWtpbmcgcGljdHVyZXMgYW5kIHJlY29yZGluZyB2aWRlb3MgdXNpbmcKCSAgY2FtZXJhYmluMiBhbmQgcHJvdmlkaW5nIGFyZ3VtZW50cyBmb3IgbW9zdCBvZiBjYW1lcmFiaW4yCgkgIHByb3BlcnRpZXMKCjIwMTEtMDItMDQgMTI6MzY6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgdmlld2ZpbmRlci1zaW5rIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZXQgdGhlIHZpZXdmaW5kZXIncyBzaW5rIG9mIGNhbWVyYWJpbjIKCjIwMTEtMDMtMDkgMTM6MTk6NTAgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkgIGZpZWxkYW5hbHlzaXM6IGZpeCBkb3VibGUgZnJlZSgpIGNyYXNoZXMKCjIwMTEtMDMtMDggMTc6Mjk6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTAzLTA4IDE3OjAzOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJICBtZXRhOiB1cGRhdGUgZm9yIG5ldyBBUEkKCjIwMTEtMDMtMDggMTE6MTk6NDEgKzAwMDAgIEJ5ZW9uZy1yeWVvbCBLaW0gPGJyb2ZraW1zQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkgIHZpZGVvZmlsdGVyczogbGluayB0byBsaWJtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQxNzYKCjIwMTEtMDMtMDcgMjI6NDE6MzAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogdXBkYXRlIHVybCBmb3IgcG9ydC1ncm91cHMgZXh0ZW5zaW9uCgoyMDExLTAzLTA3IDEwOjM2OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291bmR0b3VjaDogVGhlIHBrZy1jb25maWcgZmlsZSBpbiB2ZXJzaW9uIDEuNSBpcyBjYWxsZWQgc291bmR0b3VjaAoKMjAxMS0wMi0yNiAxNjoyMDo1MiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXJzYmFkLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5oOgoJICB6ZWJyYXN0cmlwZTogTmV3IGVsZW1lbnQKCSAgQWRkcyB6ZWJyYSBzdHJpcGVzIHRvIG92ZXJleHBvc2VkIHZpZGVvLgoKMjAxMS0wMy0wNCAxNzozNzowNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGV4dDogQWx3YXlzIGRpc3QgdGhlIGN1cmwgZGlyZWN0b3J5CgkgIEV2ZW50IGlmIHdlIGNhbid0IGJ1aWxkIGl0LiBGaXhlcyBtYWtlIGRpc3QKCjIwMTEtMDMtMDQgMTc6MjY6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSAgc2ZzaW5rOiB1c2UgYmFzZXNpbmsgcHJlcm9sbCBsb2NrCgoyMDExLTAzLTA0IDEzOjM5OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICB2ZHBhdTogZGlzYWJsZSB1bnRpbCBzb21lb25lIHBvcnRzIGl0CgoyMDExLTAzLTA0IDEzOjI5OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wMy0wNCAxMjoxMToxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzCgkgIE1ha2VzIG1hY29zeCBjb21waWxlciBoYXBweQoKMjAxMS0wMy0wNCAxMjoxMDoyNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJICBjdXJsc2luazogRml4IHByaW50LXJlbGF0ZWQgaXNzdWVzCgoyMDExLTAzLTA0IDExOjU5OjQ0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlCgkgIE1ha2VzIG1hY29zeCBjb21waWxlciBoYXBweS4KCjIwMTEtMDMtMDQgMDk6MjU6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJICBmaWVsZGFuYWx5c2lzOiBhZGQgYmFja3VwIGZpbGVzIGZvciBjb21waWxpbmcgd2l0aG91dCBvcmMKCjIwMTEtMDMtMDMgMDA6NTc6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSAgaDI2M3BhcnNlOiBhbGxvY2F0ZSBIMjYzUGFyYW1zIHN0cnVjdCBvbiB0aGUgc3RhY2sKCSAgSXQncyBmbGF0IGFuZCBub3Qga2VwdCBhcm91bmQgZm9yIGxvbmdlci4KCjIwMTEtMDMtMDMgMDA6NDU6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSAgaDI2M3BhcnNlOiBtaW5vciBjbGVhbi11cHMKCSAgY29uc3QtaWZ5IHNvbWUgYXJndW1lbnRzIGFuZCByZS1pbmRlbnQgaGVhZGVyIGEgbGl0dGxlLgoKMjAxMS0wMi0yOCAxMTo1MTo1NCArMDEwMCAgYmVuamFtaW4gZ2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiBmaXggc3luYyBwcm9wZXJ0eSBkZWZhdWx0IHZhbHVlCgoyMDExLTAzLTAyIDIzOjQzOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IEZpeCBjb21waWxhdGlvbiB3aXRoIGNlbHQgPj0gMC4xMS4wCgkgIEZpeGVzIGJ1ZyAjNjQzNjA3LgoKMjAxMC0wOS0xNSAxNzozMjowOSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZmllbGRhbmFseXNpcy9NYWtlZmlsZS5hbToKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmg6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMub3JjOgoJICBmaWVsZGFuYWx5c2lzOiBBZGQgZmllbGRhbmFseXNpcyBlbGVtZW50CgkgIFRoaXMgZWxlbWVudCBhbmFseXNlcyB2aWRlbyBidWZmZXJzIHRvIGlkZW50aWZ5IGlmIHRoZXkgYXJlIHByb2dyZXNzaXZlLAoJICBpbnRlcmxhY2VkIG9yIHRlbGVjaW5lZCBhbmQgb3V0cHV0cyBidWZmZXJzIHdpdGggYXBwcm9wcmlhdGUgZmxhZ3MgZm9yIGEKCSAgZG93bnN0cmVhbSBlbGVtZW50ICh3aGljaCB3aWxsIGJlIHRoZSBkZWludGVybGFjZSBlbGVtZW50LCBhZnRlciBzb21lCgkgIGZvcnRoY29taW5nIG1vZGlmaWNhdGlvbnMpIHRvIGJlIGFibGUgdG8gb3V0cHV0IHByb2dyZXNzaXZlIGZyYW1lcyBhbmQKCSAgYWRqdXN0IHRpbWVzdGFtcHMgcmVzdWx0aW5nIGluIGEgcHJvZ3Jlc3NpdmUgc3RyZWFtLgoKMjAxMS0wMy0wMSAxMToyMzo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcyBmb3IgcmVjZW50IGNoYW5nZXMgaW4gZ2l0CgoyMDExLTAzLTAxIDExOjE2OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJICBkb2NzOiBhZGQgbmV3IGN1cmwgcGx1Z2luIGFuZCBjdXJsc2luayBlbGVtZW50IHRvIGRvY3MKCjIwMTEtMDMtMDEgMTA6NDk6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFsc28gY2hlY2sgZm9yIHBsYXRmb3JtIHNvY2tldCBoZWFkZXJzIG5lZWRlZCBieSBjdXJsc2luayBlbGVtZW50CgoyMDExLTAzLTAxIDEwOjAzOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmg6CgkgIGN1cmxzaW5rOiBubyBuZWVkIGZvciBhIHByaXZhdGUgaW5zdGFuY2Ugc3RydWN0dXJlCgkgIFRoZSBlbnRpcmUgaW5zdGFuY2Ugc3RydWN0dXJlIGlzIHByaXZhdGUgYW55d2F5LgoKMjAxMS0wMy0wMSAwOTo1Njo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJICBjdXJsc2luazogY2xlYW4gdXAgcHJvcGVydHkgcmVnaXN0cmF0aW9uIGNvZGUKCSAgRml4IHNvbWUgdHlwb3MsIHVzZSBzYW1lIHN0eWxlIGFzIGluIGFsbCBvdGhlciBwbHVnaW5zLCBhdm9pZGluZwoJICB1bm5lY2Vzc2FyeSB0ZW1wb3JhcnkgR1BhcmFtU3BlYyB2YXJpYWJsZXM7IHVzZSBHX1BBUkFNX1NQRUNfU1RBVElDX1NUUklOR1MuCgoyMDExLTAyLTI2IDIwOjIxOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBjdXJsOiBhZGQgY29uZmlndXJlIGNoZWNrIGFuZCBob29rIHVwIHRvIGJ1aWxkIHN5c3RlbQoKMjAxMS0wMi0yNiAyMDoyMDozMyArMDAwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5oOgoJICBjdXJsOiBhZGQgbGliY3VybC1iYXNlZCBzaW5rIGVsZW1lbnQKCSAgU2luayBhY3RzIGFzIGEgY2xpZW50IGFuZCBjYW4gY29ubmVjdCB0byBzZXJ2ZXJzIHRvCgkgIHVwbG9hZCBtZWRpYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTQ5NgoKMjAxMS0wMi0yNSAxNDoyNDoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSAganAya2RlYzogcG9zdCBwcm9wZXIgZXJyb3Igd2hlbiB0aGUgaW1hZ2UncyBjb2xvdXIgc3BhY2UgaXMgbm90IHN1cHBvcnRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzMTE1CgoyMDExLTAyLTI4IDIwOjE5OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBjeWd3aW4vbWluZ3c7IGVuYWJsZSBwbHVnaW4gbGlua2luZyB0byBzdGF0aWMgbGliCgkgIFVzZWZ1bCBmb3IgRGlyZWN0WCBwbHVnaW4ocykuCgkgIEZpeGVzICM2NDI1MDcuCgoyMDExLTAyLTI4IDE5OjU4OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBleHBvcnQgcGx1Z2luIGRlc2NyaXB0aW9uIG1vcmUgcGxhdGZvcm0gaW5kZXBlbmRlbnQKCSAgRml4ZXMgIzY0MjUwNC4KCjIwMTEtMDItMjggMTg6MzM6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxZGU3ZjZhIHRvIDZhZWM2YjkKCjIwMTEtMDItMjcgMTk6Mzk6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5oOgoJICBtZXRhOiBmaXggZm9yIG5ldyBtZXRhZGF0YSBhcGkKCjIwMTEtMDItMjYgMTQ6NTQ6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgbXhmOiBmaXggY2xhc3Mgc3RydWN0CgkgIEZpeCBjbGFzcyBwYXJlbnQgc3RydWN0dXJlCgkgIE1ldGFkYXRhIGlzIG5vdyBHT2JqZWN0CgoyMDExLTAyLTI2IDE0OjIyOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5oOgoJICBtaW5pb2JqZWN0OiBwb3J0IHJzbmR2ZAoKMjAxMS0wMi0yNiAxMzozOTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIG1pbmlvYmplY3Q6IHBvcnQgdG8gbmV3IDAuMTEgQVBJCgkgIFJlbW92ZSBtaW5pb2JqZWN0IGFuZCBidWZmZXIgc3ViY2xhc3Nlc3VzaW5nIEdPYmplY3Qgc3ViY2xhc3NlcyBhbmQKCSAgbWV0YWRhdGEuCgoyMDExLTAyLTI4IDEyOjA2OjEyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoJICB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMTEtMDItMjYgMTM6NTM6NDQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBSZXZlcnQgImFhY3BhcnNlOiBhbGxvdyBwYXJzZWQgZnJhbWVzIG9uIHNpbmsgcGFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGU0OWI4OWQ1YzVhMTI0NGZhMGRjYjhiYjQ5OTZlMzhmYjliZmY5ZTUuCgoyMDExLTAyLTI1IDE5OjU5OjA1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogc2V0IGRpdGhlcmluZyBlbnVtIGRpcmVjdGx5CgoyMDExLTAyLTI1IDE5OjU3OjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgcjIxMAoKMjAxMS0wMi0yMyAxNzoyNTowMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBhbGxvdyBwYXJzZWQgZnJhbWVzIG9uIHNpbmsgcGFkCgoyMDExLTAyLTIzIDE3OjI0OjE0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWFrZV9tZXRhZGF0YV93cml0YWJsZSgpIGZpeAoKMjAxMS0wMi0yNCAwOToyOTo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgamlmbXV4OiB0ZXN0czogSW5jcmVhc2UgYnVzIHdhaXRpbmcgdGltZW91dAoJICBEb3VibGUgYnVzIHdhaXRpbmcgdGltZW91dCBhcyBzb21ldGltZXMgdGhlIHRlc3Qgd291bGQgZmFpbAoJICBiZWNhdXNlIGl0IHdvdWxkIHRpbWVvdXQgYW5kIGdldCBubyBtZXNzYWdlcyBmcm9tIHRoZSBidXMuCgoyMDExLTAyLTIxIDEzOjI0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVuYW1lIEdUeXBlIGZyb20gR3N0QXVkaW9CYXNlUGFyc2VCYWQgdG8gR3N0QmFzZVBhcnNlQmFkCgkgIFdlIHVzZSBpdCBmb3IgdmlkZW8gYXMgd2VsbCBub3cuCgoyMDExLTAyLTIxIDEyOjE0OjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIFJldmVydCAiQ2hlY2sgdGhhdCBjb2xsZWN0cGFkcyBleGlzdHMgYmVmb3JlIHJlbW92aW5nIHBhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2ZDg3NDA0NzZjY2QzYTM0OThkYzRmMThjMTk3MzM2NDM4MjVjN2I4LgoJICBEZXBlbmRzIG9uIGEgY29yZSBjb21taXQgdGhhdCB3YXMgcmV2ZXJ0ZWQKCjIwMTEtMDItMjAgMjM6NTc6MTkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgQ2hlY2sgdGhhdCBjb2xsZWN0cGFkcyBleGlzdHMgYmVmb3JlIHJlbW92aW5nIHBhZAoJICBUaGUgY29yZSBub3cgY2FsbHMgcmVsZWFzZSBwYWQgZnJvbSBmaW5hbGl6ZSwgYXQgd2hpY2ggcG9pbnQKCSAgdGhlIGNvbGxlY3RwYWRzIG1pZ2h0IGhhdmUgYWxyZWFkeSBiZWVuIGZyZWVkLgoKMjAxMS0wMi0yMCAyMzowMTozMCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEZpeCBZVVYtPlJHQiBtYXRyaXhpbmcKCjIwMTEtMDItMjAgMjI6NDM6NTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICBjb2xvcnNwYWNlOiBBZGQgZGl0aGVyaW5nCgkgIERpdGhlcmluZyBvbmx5IGhhcHBlbnMgd2hlbiBhIDE2LWJpdC1wZXItY2hhbm5lbCBmb3JtYXQgaXMKCSAgaW52b2x2ZWQuCgoyMDExLTAxLTExIDEwOjMyOjQ3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgeHZpZGRlYzogYm9kZ2UgdG8gYXZvaWQgY3Jhc2hlcwoJICBJdCBzZWVtcyB4dmlkY29yZSBvdmVycmVhZHMgaXRzIGlucHV0IGJ1ZmZlciwgc28gYSBuYXN0eSB3b3JrYXJvdW5kCgkgIGlzIHRvIGFsbG9jYXRlIHNvbWUgbW9yZSBtZW1vcnkgKDE2IGJ5dGVzIHNlZW0gdG8gYmUgZW5vdWdoKS4KCSAgVGhlcmUgaXMgbm8gYXBwYXJlbnQgaW1hZ2UgY29ycnVwdGlvbiB3aXRoIHRoZXNlIGV4dHJhIGJ5dGVzIHNldCB0byAwLAoJICB2YWxncmluZCBpcyBtdWNoIGhhcHBpZXIsIGFuZCB0aGUgY3Jhc2hlcyBnbyBhd2F5LgoJICBJdCBpcyB1Z2x5LCBhbmQgc2xvd2VyIHRob3VnaC4gQnV0IHRoZW4sIHh2aWRkZWMgaXMgY3VycmVudGx5CgkgIG5vdCBhdXRvcGx1Z2dlZCBmb3IgcGxheWJhY2sgYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM0MTA3CgoyMDExLTAyLTIwIDE0OjE0OjI3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgY29sb3JzcGFjZTogZml4IGEgZmV3IGZvcm1hdHMKCjIwMTEtMDItMTkgMTM6MTI6NDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgMTYtYml0LXBlci1jaGFubmVsIGhhbmRsaW5nCgoyMDExLTAyLTE5IDEzOjEzOjEzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRml4IG1lbWxlYWsKCjIwMTEtMDItMTkgMTM6MDc6MzkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkgIGJhc2V2aWRlb2NvZGVjOiByZW1vdmUgcGFyc2VyIGluIGZhdm9yIG9mIGJhc2VwYXJzZQoKMjAxMS0wMi0xOCAxNToyNDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgdmlkZW9wYXJzZXJzOiBjaGFuZ2UgcGx1Z2luIGZpbGVuYW1lIGZyb20gbGliZ3N0aDI2M3BhcnNlKiB0byBsaWJnc3R2aWRlb3BhcnNlcnNiYWQqCgkgIER1ZSB0byBhIHJlZ2lzdHJ5IGJ1ZyB5b3UgbWF5IG5lZWQgdG8gbWFudWFsbHkgcmVtb3ZlIHlvdXIKCSAgcmVnaXN0cnkgZmlsZSB0byBtYWtlIHRoZSBuZXcgcGx1Z2luIGFwcGVhciB3aXRoID4wIGZlYXR1cmVzLgoKMjAxMS0wMi0xOCAxNToxNzoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBmaXggbG9nIG1lc3NhZ2UgcHJpbnRmIGZvcm1hdAoKMjAxMS0wMi0xOCAxNTowNTozMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0cmltIHRyYWlsaW5nIHdoaXRlc3BhY2UKCjIwMTEtMDItMTggMTU6MDU6MDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIGRlbHRhLXVuaXQgZmxhZ3MgaW5zdGVhZCBvZiBub25lCgoyMDExLTAyLTE4IDE1OjAwOjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzoKCSAgaW5kZXhpbmctZXhhbXBsZTogdXNlIHByb3BlciBzaWduYWwgbmFtZXMKCjIwMTEtMDItMTggMDk6NDA6MDAgKzAxMDAgIE9saXZpZXIgQXViZXJ0IDxvbGl2aWVyLmF1YmVydEBsaXJpcy5jbnJzLmZyPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IGFsbG93IG5lZ2F0aXZlIHZhbHVlcyBmb3IgeC95L3dpZHRoL2hlaWdodAoKMjAxMS0wMi0xOCAxMjozOTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICB2aWRlb3BhcnNlcnM6IGZpeCBidWlsZAoJICBBZGQgaW5jbHVkZXMgYW5kIGxpbmsgYWdhaW5zdCBuZXcgbGliZ3N0YmFzZXBhcnNlIGluIHRoZQoJICBidWlsZCB0cmVlLgoKMjAxMS0wMi0xNyAxNDozMjo0NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkgIG1wZWd0c2RlbXV4OiBGaXggZGlzdGluZyBvZiBoZWFkZXJzCgoyMDExLTAyLTE3IDEzOjIyOjI4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogdXBkYXRlIGRvY3VtZW50YXRpb24gZm9yIEFQSSBjaGFuZ2VzCgoyMDEwLTEwLTEzIDE2OjEyOjAyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IGZpeCBiYXNlcGFyc2UgdGVzdAoKMjAxMC0xMC0wOSAxNTowODozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2RpcmFjX3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZGlyYWNfcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IEFkZCBkaXJhYyBwYXJzZXIKCjIwMTEtMDItMTcgMTM6MjA6NDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGRvIHRlc3QgYnVpbGQgd2l0aCAtZlBJQwoKMjAxMC0xMC0wOSAxNTowNjoxMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcGFyc2U6CgkgIGVsZW1lbnQtbWFrZXI6IEFkZCBiYXNlcGFyc2UgdGVtcGxhdGUKCjIwMTAtMTAtMTMgMTU6Mzk6NTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJICBiYXNlcGFyc2U6IENyZWF0ZSBiYXNlcGFyc2UgbGlicmFyeQoKMjAxMS0wMi0xNiAyMToxNzo1NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHN1YmRlYzogbWFrZSB1cCBjbHV0IHZhbHVlcyBpZiB0aGV5IHdlcmVuJ3Qgc2V0CgoyMDEwLTEyLTA0IDE5OjU1OjMyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHJlbGVhc2VfcGFkCgkgIFJlbW92ZSBib2d1cyBmcmVlaW5nIG9mIHBhZCBlbGVtZW50X3ByaXZhdGUgZGF0YSB0aGF0IHdlCgkgIG5ldmVyIHNldCAoY29sbGVjdHBhZHMgdXNlcyBpdCwgd2hpY2ggY2F1c2VzIGNvbmZ1c2lvbiBoZXJlKS4KCSAgQWxzbywgY2hlY2sgdGhhdCBvdXIgY29sbGVjdHBhZHMgaW5zdGFuY2UgZXhpc3RzIGJlZm9yZSB1c2luZwoJICBpdC4gIFBhcnRpYWwgZml4IGZvciAjNjM2MDExLgoKMjAxMS0wMi0xNyAyMTozMzo1NiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IHVzZSBHX0dVSU5UNjRfRk9STUFUIGFzIGZvcm1hdCBzcGVjaWZpZXIgZm9yIGd1aW50NjQKCSAgZml4ZXMgY29tcGlsYXRpb24gb24gMzJiaXQKCjIwMTEtMDItMTUgMTg6MTI6MDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBGaXggbWVtb3J5IGxlYWsKCjIwMTEtMDItMTAgMTI6MzU6NDcgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIG1wZWd0c2RlbXV4OiByZWxpY2Vuc2UgZ3N0bXBlZ2RlZnMuaCwgZ3N0bXBlZ2Rlc2MuaCBhbmQgZ3N0bXBlZ2Rlc2MuYyB0byBMR1BMIG9ubHkKCSAgd2l0aCBwZXJtaXNzaW9uIGZyb20gdGhlIGxpY2Vuc2UgaGVhZGVyOgoJICAiIiIKCSAgVGhpcyBsaWJyYXJ5IGlzIGxpY2Vuc2VkIHVuZGVyIDIgZGlmZmVyZW50IGxpY2Vuc2VzIGFuZCB5b3UKCSAgY2FuIGNob29zZSB0byB1c2UgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIGVpdGhlciBvbmUgb2YgdGhlbS4gVGhlCgkgIHR3byBsaWNlbnNlcyBhcmUgdGhlIE1QTCAxLjEgYW5kIHRoZSBMR1BMLgoJICAiIiIKCjIwMTEtMDItMTYgMTc6NTc6NDIgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L1RPRE86CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3R0c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IGFkZCBNUEVHIFRTIGRlbXV4ZXIgcmV3cml0ZSBmcm9tIEVkd2FyZCBIZXJ2ZXkKCSAgd2l0aCBjb250cmlidXRpb25zIGZyb20gTWlxdWVsIEFuZ2VsIEZhcnJlIEd1aXUgYW5kIFphaGVlciBBYmJhcyBNZXJhbGkKCjIwMTEtMDItMTcgMTQ6MTI6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0dW5lIFFVRVJZX1NFRUtJTkcgcmVzcG9uc2UKCSAgRXZlbiBpZiB3ZSBjdXJyZW50bHkgZG8gbm90IGhhdmUgYSBkdXJhdGlvbiB5ZXQsIGFzc3VtZSBzZWVrYWJsZSBpZgoJICBpdCBsb29rcyBsaWtlIHdlJ2xsIGxpa2VseSBiZSBhYmxlIHRvIGRldGVybWluZSBpdCBsYXRlciBvbgoJICAod2hpY2ggY29pbmNpZGVzIHdpdGggbmVlZGVkIGluZm9ybWF0aW9uIHRvIHBlcmZvcm0gc2Vla2luZykuCgoyMDExLTAyLTA3IDE0OjQ2OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdHVuZSBRVUVSWV9TRUVLSU5HIHJlc3BvbnNlCgkgIEV2ZW4gaWYgd2UgY3VycmVudGx5IGRvIG5vdCBoYXZlIGEgZHVyYXRpb24geWV0LCBhc3N1bWUgc2Vla2FibGUgaWYKCSAgaXQgbG9va3MgbGlrZSB3ZSdsbCBsaWtlbHkgYmUgYWJsZSB0byBkZXRlcm1pbmUgaXQgbGF0ZXIgb24KCSAgKHdoaWNoIGNvaW5jaWRlcyB3aXRoIG5lZWRlZCBpbmZvcm1hdGlvbiB0byBwZXJmb3JtIHNlZWtpbmcpLgoJICBGaXhlcyAjNjQxMDQ3LgoKMjAxMS0wMi0xNyAxMjoyODo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHJlbW92ZSBleHRyYW5lb3VzIGJ1ZmZlciB1bnJlZgoKMjAxMS0wMi0xNiAxNToyOToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIGljbGVzOiBDb21wbGV0ZWx5IHJlbW92ZSBlcXVhbGl6ZXItdGVzdCBmcm9tIC1iYWQsIGl0J3MgaW4gLWdvb2Qgbm93CgoyMDExLTAyLTE2IDE1OjIzOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIGVxdWFsaXplci10ZXN0OiBJbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5IGFmdGVyIGdzdF9pbml0KCkgdG8gZml4IHNlZ2ZhdWx0CgoyMDExLTAyLTE0IDEyOjUzOjQ5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY5NGQ3MzkgdG8gMWRlN2Y2YQoKMjAxMS0wMi0xNCAxMjoxNDoxMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmUgZHVwbGljYXRlZCBydWxlIGZyb20gTWFrZWZpbGUuYW0KCSAgVGhpcyBjYXVzZXMgYSBtYWtlIHdhcm5pbmcgYW5kIG1pZ2h0IGV2ZW4gY2F1c2UgZGlzdC1mYWlsdXJlLiBPdGhlciBtb2R1bGVzCgkgIGRvbid0IG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRhcmdldCBlaXRoZXIgYW5kIGlmIHdlIGNhbiBmaSBpdCBpbgoJICBjb21tb24vZ3RrLWRvYy1wbHVnaW5zLm1hay4KCjIwMTEtMDItMTQgMTE6NDg6MzQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIHJzdmcgcGx1Z2luIHRvIHRoZSBkb2NzCgoyMDExLTAyLTE0IDExOjQyOjUyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmdkZWM6IGFkZCBiYXNpYyBkb2MtYmxvYgoKMjAxMS0wMi0xMSAxNzo1OTozMSArMDEwMCAgT2xpdmllciBBdWJlcnQgPG9saXZpZXIuYXViZXJ0QGxpcmlzLmNucnMuZnI+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3Znb3ZlcmxheTogaW1wbGVtZW50IHgveS93aWR0aC9oZWlnaHQgKGFic29sdXRlIGFuZCByZWxhdGl2ZSkgcG9zaXRpb25pbmcgYW5kIGRpbWVuc2lvbmluZwoJICBTaWduZWQtb2ZmLWJ5OiBPbGl2aWVyIEF1YmVydCA8b2xpdmllci5hdWJlcnRAbGlyaXMuY25ycy5mcj4KCjIwMTEtMDItMTAgMTY6MDA6MDMgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IGFwcGxpY2F0aW9uIGVsZW1lbnQgbWVtb3J5IGxlYWsgZml4ZXMKCSAgSWYgdmlkZW9iaW4vaW1hZ2ViaW4gd2FzIG5ldmVyIHNldCB0byBSRUFEWSBzdGF0ZSB0aGUgb3duZXJzaGlwCgkgIG9mIGVsZW1lbnRzIGNyZWF0ZWQgYW5kIHNldCBieSBhcHBsaWNhdGlvbiB3ZXJlIG5ldmVyIHRha2VuIGJ5CgkgIGJpbiBhbmQgdGhlcmVmb3JlIGdzdF9vYmplY3Rfc2luayBpcyBjYWxsZWQgZm9yIHRoZXNlIGVsZW1lbnRzCgkgIGJlZm9yZSB1bnJlZmZpbmcgKHRoZXkgbWF5IHN0aWxsIGJlIGluIGZsb2F0aW5nIHN0YXRlIGFuZCBub3QKCSAgdW5yZWZmZWQgcHJvcGVybHkgd2l0aG91dCBzaW5raW5nIGZpcnN0KQoKMjAxMS0wMi0xMCAxMDozNToxOCArMDgwMCAgSHUgR2FuZyA8Z2FuZy5hLmh1QGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5IGludGVyZmFjZTogdXBkYXRlIHRoZSBub2lzZV9yZWR1Y3Rpb24gdHlwZSBmcm9tIGd1aW50IHRvIEdzdFBob3RvZ3JhcGh5Tm9pc2VSZWR1Y3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjgxNAoKMjAxMS0wMi0wOCAyMzozOToyNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IFVwZGF0ZSBtaW4vbWF4IGJpdHJhdGUgYmVmb3JlIGZpcnN0IHBvc3RpbmcgdGhlbQoJICBUaGlzIGF2b2lkcyBwb3N0aW5nIGFuIGluaXRpYWwgbWluLWJpdHJhdGUgb2YgR19VSU5UTUFYIGFuZCBtYXgtYml0cmF0ZQoJICBvZiAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxODU3CgoyMDExLTAyLTA4IDIzOjUwOjEzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBtcGVnYXVkaW9wYXJzZTogUG9zdCBDQlIgYml0cmF0ZSBhcyBub21pbmFsIGJpdHJhdGUKCSAgRXZlbiBpZiBWQlIgaGVhZGVycyBhcmUgbWlzc2luZywgd2UgY2FuJ3QgZ3VhcmFudGVlIHRoYXQgYSBzdHJlYW0gaXMgaW4KCSAgZmFjdCBhIENCUiBzdHJlYW0sIHNvIGl0J3Mgc2FmZXIgdG8gbGV0IGJhc2VwYXJzZSBjYWxjdWxhdGUgdGhlIGF2ZXJhZ2UKCSAgYml0cmF0ZSByYXRoZXIgdGhhbiBhc3N1bWUgYSBDQlIgc3RyZWFtLiBIb3dldmVyLCBpbiBvcmRlciB0byBtYWtlCgkgIC9zb21lLyBtZXRhZGF0YSBhdmFpbGFibGUgYmVmb3JlIHRoZSByZXF1aXNpdGUgbnVtYmVyIG9mIGZyYW1lcyBoYXZlCgkgIGJlZW4gcGFyc2VkLCB0aGlzIHBvc3RzIHRoZSBiaXRyYXRlIGZyb20gdGhlIG5vbi1WQlIgaGVhZGVycyBhcyB0aGUKCSAgbm9taW5hbCBiaXRyYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxODU4CgoyMDExLTAyLTA0IDAxOjAwOjU1IC0wMjAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWx3YXlzIHRha2UgcGhvdG8gd2hlbiBwcmV2aWV3LWNhcHMgaXMgc2V0CgkgIFdoZW4gZmlsZW5hbWUgaXMgbm90IHNldCwgYnV0IHByZXZpZXctY2FwcyBpcyBzZXQsIHRha2UgdGhlIHBob3RvIGFuZAoJICBzZW5kIGl0cyBwcmV2aWV3LgoKMjAxMS0wMS0yNiAxMTo0OTo0OCAtMDIwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgY2FtZXJhYmluOiBFdmVudHMgd2l0aCBzZWxlY3QtYWxsIGluIGlucHV0LXNlbGVjdG9yCgkgIFdoZW4gc2VsZWN0LWFsbCB3YXMgc2V0LCBpbnB1dC1zZWxlY3RvciB3YXNuJ3QgaGFuZGxpbmcgdXBzdHJlYW0gZXZlbnRzLgoJICBOb3cgaW5wdXQtc2VsZWN0b3IgZm9yd2FyZHMgdGhlIGV2ZW50IHRvIGFsbCBvZiBpdHMgc2luayBwYWRzLiBUaGlzCgkgIGNoYW5nZXMgdGhlIGlucHV0LXNlbGVjdG9yIGludGVybmFsIHRvIGNhbWVyYWJpbiB1bnRpbCBpdCBpcyByZXBsYWNlZAoJICB3aXRoIGEgYmV0dGVyIHNvbHV0aW9uLgoKMjAxMS0wMi0wNyAyMzoxNzo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogYXZvaWQgYXNwZWN0LXJhdGlvIGJvcmRlcnMgb3Zlcmx5aW5nIG90aGVyIHdpbmRvd3MKCSAgRml4ZXMgIzYzMjA1Ni4KCjIwMTEtMDItMDcgMjI6NDc6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IGF2b2lkIHJlbmRlcmluZyB0byBpbnZhbGlkIGFyZWEKCSAgQmFzZWQgb24gcGF0Y2ggYnkgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoJICBGaXhlcyAjNTk0MjgwLgoKMjAxMS0wMi0wOCAxMToyNDo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IERvIG5vdCByZS1zZXQgdGhlIGNsb2NrIGlmIGl0IGlzIG51bGwKCSAgQXZvaWRzIG5vdCBuZWVkZWQgd29yayBhbmQgZG9lc24ndCBhc3NlcnQgd2hlbiB0cnlpbmcgdG8KCSAgdW5yZWYgdGhlIG51bGwgcmVmZXJlbmNlCgoyMDExLTAyLTA3IDA5OjUwOjIyICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IGZpeCAtLW5vLXh3aW5kb3cgb3B0aW9uIGhhbmRsaW5nIGluIGdzdC1jYW1lcmFiaW4tdGVzdAoJICAtLW5vLXdpbmRvdyBmbGFnIGlzIGZhbHNlIGJ5IGRlZmF1bHQgYW5kIHNlbGVjdGlvbiBiYXNlZCBvbiB0aGUgb3B0aW9uIHdoZXRoZXIKCSAgdG8gY3JlYXRlIFhXaW5kb3cgaXMgZG9uZSBiZWZvcmUgb3B0aW9ucyBhcmUgcGFyc2VkLiBUaGVyZWZvcmUgWFdpbmRvdyBpcyBuZXZlcgoJICBjcmVhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxNzEyCgoyMDEwLTA5LTA2IDE0OjEwOjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYW1ycGFyc2U6IGEgdmFsaWQgYW1yLXdiIGZyYW1lIHNob3VsZCBub3QgaGF2ZSByZXNlcnZlZCBmcmFtZSB0eXBlIGluZGV4CgkgIFNlZSAjNjM5NzE1LgoKMjAxMS0wMi0wNyAxNDowNTozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogc2V0IEdTVF9MSUJfTERGTEFHUwoJICBBbGlnbnMgR1NUX0xJQl9MREZMQUdTIHdpdGggZS5nLiAtYmFzZSB0byBhcnJhbmdlIGZvciBwcm9wZXIgZXhwb3J0cyBpbiBsaWJzLgoKMjAxMS0wMS0xMiAxNzoxMzowNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGNhbWVyYWJpbi10ZXN0czogZml4IGxvb2t1cCBvZiBVSSBmaWxlcwoJICBUaGVzZSBhcmUgdW5pbnN0YWxsZWQgZXhhbXBsZXMuIFBhc3MgJHNyY2RpciB0byBjcHAgdG8gYnVpbGQgdGhlIGNvcnJlY3QKCSAgbG9jYXRpb24gZm9yIHRoZSBVSSBmaWxlLgoKMjAxMS0wMi0wNCAwOTowODoyNiArMDEwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBZGQgZGVzY3JpcHRpb24gZm9yIGJpdHJhdGUgdW5pdHMuCgoyMDExLTAyLTAzIDE1OjIyOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IEZpeCBwcm9wZXJ0eSBzZXR0aW5nCgkgIFNldCB0aGUgcHJvcGVydHkgb24gdGhlIGNoaWxkIGFuZCBub3Qgb24gaXRzZWxmIGNhdXNpbmcgaW5maW5pdGUKCSAgbG9vcGluZwoKMjAxMS0wMi0wMSAxMToyMDoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBJbXByb3ZlIHByZXZpZXcgY2hlY2tpbmcKCjIwMTEtMDItMDEgMTE6MTk6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEZpeCBwcmV2aWV3IG1lc3NhZ2VzCgkgIEltYWdlIHByZXZpZXdzIHdoZXJlIGJlaW5nIHBvc3RlZCBpbiBzeW5jIHdpdGggdGhlIGJ1ZmZlcnMKCSAgdGltZXN0YW1wcywgdGhpcyBtYWtlcyBubyBzZW5zZSBhcyBwcmV2aWV3cyBzaG91bGQgYmUgcG9zdGVkIEFTQVAuCgkgIEFsc28gYWRkcyBzb21lIGRlYnVnZ2luZyBtZXNzYWdlcy4KCjIwMTEtMDItMDEgMTE6MTk6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEhhbmRsZSBzcmMgc3RhdGUgY2hhbmdlIHRvIGF2b2lkIGxvc2luZyB0aW1lc3RhbXBzCgkgIENhbWVyYWJpbjIgdXNlcyBzdGF0ZSBjaGFuZ2VzIHRvIGZvcmNlIHRoZSBzb3VyY2UgdG8gcmVuZWdvdGlhdGUgaXRzCgkgIGNhcHMgdG8gdGhlIGNhcHR1cmUgZm9ybWF0cy4gVGhlIHN0YXRlIGNoYW5nZXMgbWFrZXMgdGhlIHNvdXJjZSBsb3NlCgkgIGl0cyBjbG9jayBhbmQgYmFzZV90aW1lLCBjYXVzaW5nIGl0IHRvIHN0b3AgdGltZXN0YW1waW5nIHRoZSBidWZmZXJzLgoJICBXZSBzdGlsbCBuZWVkIGEgcHJvcGVyIHdheSB0byBtYWtlIHNvdXJjZXMgcmVuZWdvdGlhdGUgaXRzIGNhcHMsIHNvIHRoaXMKCSAgcGF0Y2ggaXMgYSBoYWNrIHRvIG1ha2UgdGhlIHNvdXJjZSBjb250aW51ZSB0aW1lc3RhbXBpbmcgYnVmZmVycyBldmVuCgkgIGFmdGVyIGNoYW5naW5nIHN0YXRlLiBUaGUgcGF0Y2ggd29ya3MgYnkgZ2V0dGluZyB0aGUgY2xvY2sgYW5kIGJhc2UKCSAgdGltZSBiZWZvcmUgZG9pbmcgdGhlIHN0YXRlIGNoYW5nZSB0byBOVUxMIGFuZCBzZXR0aW5nIHRoZW0gYmFjawoJICBhZnRlciBwdXR0aW5nIGl0IHRvIFBMQVlJTkcgYWdhaW4uIEl0IGFsc28gY2FyZXMgdG8gZHJvcCB0aGUgZmlyc3QKCSAgbmV3IHNlZ21lbnQgYWZ0ZXIgdGhpcyBzdGF0ZSBjaGFuZ2UuCgoyMDExLTAxLTI3IDE1OjM1OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IHByZXZpZXcgZmlsdGVyIHRlc3RzCgkgIEFkZHMgdGVzdHMgdG8gdGhlIHByZXZpZXctZmlsdGVyIHByb3BlcnR5IG9mIGNhbWVyYWJpbjIKCjIwMTEtMDEtMjcgMTQ6Mzk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgY2FtZXJhYmluMjogQWRkIHByZXZpZXctZmlsdGVyIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZWxlY3QgYSBjdXN0b20gZWxlbWVudCBmb3IgcHJldmlldyBwaXBlbGluZQoJICBidWZmZXJzIHByb2Nlc3NpbmcKCjIwMTEtMDEtMjcgMTA6MTk6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogQWRkIHRlc3RzIGZvciBjdXN0b20gZmlsdGVycwoJICBBZGRzIHRlc3RzIHRvIGNoZWNrIHRoYXQgY3VzdG9tIGZpbHRlcnMgZWxlbWVudHMgcmVjZWl2ZSBidWZmZXJzCgoyMDExLTAxLTI2IDE1OjI3OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgY3VzdG9tIGZpbHRlciBwcm9wZXJ0aWVzCgkgIEFkZHMgY3VzdG9tIGZpbHRlciBwcm9wZXJ0aWVzIGZvciBjYW1lcmFiaW4yLiBDdXN0b20gZmlsdGVycwoJICBjYW4gYmUgYWRkZWQgdG8gdmlkZW8vaW1hZ2UvcHJldmlldyBicmFuY2hlcy4KCjIwMTEtMDItMDMgMTY6MjQ6MjQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogSW5pdGlhbGl6ZSB2YXJpYWJsZXMKCSAgTWFrZXMgY29tcGlsZXJzIGhhcHB5CgoyMDExLTAyLTAyIDE4OjQxOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IHVwIGVudW0gbmljayBuYW1lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkxNjUxCgoyMDExLTAxLTMxIDE3OjI0OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcF9jb21tb24uaDoKCSAgZGNjcDogdXNlIHNvY2tsZW5fdCB3aGVyZSBhcHByb3ByaWF0ZSByYXRoZXIgdGhhbiBzcGVjaWZpYyB0eXBlCgkgIEluIHBhcnRpY3VsYXIsIGZpeGVzIEN5Z3dpbiBidWlsZCB3aGVyZSBzb2NrbGVuX3QgaXMgZGVmaW5lZCBhcyBpbnQKCSAgaW4gbGluZSB3aXRoIG5hdGl2ZSB3aW4zMiBhcGkgZGVmaW5pdGlvbi4KCjIwMTEtMDItMDEgMjA6MDE6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSAgcnRwdnA4OiBhbHNvIGxpbmsgYWdhaW5zdCBsaWJnc3RiYXNlLTAuMTAgZm9yIGFkYXB0ZXIgYW5kIGJpdCByZWFkZXIgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDExNzgKCjIwMTEtMDItMDEgMTQ6NDA6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IG1hcCBuZXcgR1NUX1RBR19FTkNPREVEX0JZIHRvIElEM3YyIFRFTkMgZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNzI2OAoKMjAxMS0wMS0zMSAxNzo0NToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICB2aWRlb3BhcnNlcnM6IGRpc3QgaDI2NHBhcnNlLmgsIGZpeGluZyBtYWtlIGRpc3RjaGVjawoJICBTcG90dGVkIGJ5IE5hdGhhbmFlbCBELiBOb2JsZXQKCjIwMTEtMDEtMTQgMTA6MTk6MjggKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBvcHRpbWl6ZSBzZXR0aW5nIG5ldyBjYXBzIGZvciBwcmV2aWV3IGltYWdlIHBpcGVsaW5lCgkgIEF2b2lkIHJlLWNyZWF0aW5nIGFuZCBsaW5raW5nIG9mIHByZXZpZXcgaW1hZ2UgcGlwZWxpbmUgd2hlbgoJICBzZXR0aW5nIG5ldyBwcmV2aWV3IGltYWdlIGNhcHMuIEJhY2twb3J0ZWQgZnJvbSBjYW1lcmFiaW4yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NTAyCgoyMDExLTAxLTMwIDE3OjA4OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkgIHJ0cHZwODogZml4IExJQlMgYW5kIENGTEFHUyBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wMS0yMyAxNzowMjozOCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJICBydHB2cDhkZXBheTogQWNjZXB0IHBhY2tldHMgd2l0aCBvbmx5IG9uZSBieXRlIG9mIGRhdGEKCSAgV2hlbiBmcmFnbWVudGluZyBwYXJ0aW9ucyBpdCBjYW4gaGFwcGVuIHRoYXQgYW4gUlRQIHBhY2tldCBvbmx5IGNhcmllcyAxCgkgIGJ5dGUgb2YgUlRQIGRhdGEuCgoyMDExLTAxLTIzIDE2OjQyOjE3ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDhwYXk6IFRyZWF0IHRoZSBmcmFtZSBoZWFkZXIganVzdCBsaWtlIGFueSBvdGhlciBwYXJ0aXRpb24KCSAgV2hlbiBzZXR0aW5nIHVwIHRoZSBpbml0aWFsIG1hcHBpbmcganVzdCBhY3QgYXMgaWYgdGhlIGdsb2JhbCBmcmFtZQoJICBpbmZvcm1hdGlvbiBpcyBhbm90aGVyIHBhcnRpdGlvbi4gVGhpcyBzYXZlcyBzcGVjaWFsLWNhc2luZyBpdCBsYXRlciBpbgoJICB0aGUgYWN0dWFsIHBhY2tldGl6aW5nIGNvZGUuCgoyMDEwLTA1LTE2IDE3OjIzOjE3ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5oOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IEFkZCBzaW1wbGUgcGF5bG9hZGVycyBhbmQgZGVwYXlsb2FkZXJzIGZvciBWUDgKCSAgTWluaW1hbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy9jb2RlL3NwZWNzL3J0cC8sCgkgIHZlcnNpb24gMC4zLjIKCjIwMTEtMDEtMjggMTI6Mzg6MTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBhZGQgaDI2NHBhcnNlCgkgIEZ1bmN0aW9uYWxseSBlcXVpdmFsZW50IHRvIChsZWdhY3kpaDI2NHBhcnNlIGFuZCByZS11c2VzIHRoZSBsYXR0ZXIncyBsb3cKCSAgbGV2ZWwgTkFMIHBhcnNpbmcsIGJ1dCBvdGhlcndpc2UgYmFzZWQgb24gR3N0QmFzZVBhcnNlLCBhbmQgcmVwbGFjaW5nCgkgIHNvbWUgcHJvcGVydHkgY29uZmlndXJhdGlvbiB3aXRoIGNhcHMgbmVnb3RpYXRpb24uCgoyMDExLTAxLTI3IDE4OjIwOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVuYW1lIHRvIGxlZ2FjeWgyNjRwYXJzZQoKMjAxMS0wMS0yNyAxODoxNjoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9oMjYzcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9oMjYzcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvaDI2M3BhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvaDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGgyNjNwYXJzZTogbW92ZSB0byB2aWRlb3BhcnNlcnMgYW5kIHNlcGFyYXRlIHBsdWdpbiByZWdpc3RyYXRpb24KCjIwMTEtMDEtMjcgMTg6MDM6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiB1cGRhdGUgdG8gbGF0ZXN0IGJhc2VwYXJzZQoKMjAxMS0wMS0wNiAxMjoyOTozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2M3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvaDI2M3BhcnNlL2gyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2gyNjNwYXJzZS5oOgoJICBoMjYzcGFyc2U6IHNodWZmbGUgY29kZSB0byB1bnRhbmdsZSBoMjYzcGFyc2UgYW5kIHBhcmFtZXRlciBwYXJzaW5nCgoyMDExLTAxLTA2IDEyOjM0OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvaDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogcHJvdmlkZSBmb3IgcHJvcGVyIGRlYnVnIGNhdGVnb3J5LCBtaW4gZnJhbWUgc2l6ZSBhbmQgY29kZSBzdHlsZQoKMjAxMC0xMi0xMCAxNjo0MDo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IHJlbW92ZSByZWR1bmRhbnQgZ2V0X2NhcHMKCSAgLi4gYXMgc3JjIHBhZCBhbHJlYWR5IHNldCB0byB1c2UgZml4ZWRfY2FwcwoKMjAxMC0xMi0xMCAxNjoyNjoyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5oOgoJICBoMjYzcGFyc2U6IHNpbXBsaWZ5IHZhbGlkX2ZyYW1lIHBhcnNpbmcKCSAgLi4uIGNvbnNpZGVyaW5nIHRoYXQgYmFzZXBhcnNlIHRha2VzIGNhcmUgb2Ygc2tpcHBpbmcgZXRjCgoyMDEwLTA1LTE0IDAyOjA4OjAzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2gyNjNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2gyNjNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L2gyNjNwYXJzZS9oMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBBZGQgYW4gaDI2M3BhcnNlIGVsZW1lbnQKCSAgVGhpcyBhZGRzIGFuIGgyNjNwYXJzZSBlbGVtZW50IGZvciBwYXJzaW5nIEguMjYzIHN0cmVhbXMsIGJyZWFraW5nIHRoZW0KCSAgdXAgaW50byBmcmFtZS1zaXplZCBidWZmZXJzLCBhbmQgZXhwb3J0aW5nIG1ldGFkYXRhIHN1Y2ggYXMgcHJvZmlsZSBhbmQKCSAgbGV2ZWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjIyNzYKCjIwMTEtMDEtMjcgMTY6NTI6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW1wcm92ZSBoYW5kbGluZyBvZiBkZXBlbmRlbnQgc3Vic3RyZWFtIGZyYW1lcwoJICBJbiBwYXJ0aWN1bGFyLCB0aW1lc3RhbXBzIG9mIHRoZXNlIHNob3VsZCB0cmFjayBtYWluLXN0cmVhbSB0aW1lc3RhbXBzLgoKMjAxMS0wMS0yMSAxNDo1MzozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHR1bmUgZGVmYXVsdCBkdXJhdGlvbiBlc3RpbWF0ZSB1cGRhdGUgaW50ZXJ2YWwKCSAgUmF0aGVyIHRoYW4gYSBmaXhlZCBkZWZhdWx0IGZyYW1lIGNvdW50LCBlc3RpbWF0ZSBmcmFtZSBjb3VudCB0byBhaW0gZm9yCgkgIGFuIGludGVydmFsIGR1cmF0aW9uIGRlcGVuZGluZyBvbiBmcHMgaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgdXNlIG9sZAoJICBmaXhlZCBkZWZhdWx0LgoKMjAxMS0wMS0xNCAxNToxNjowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJldmVyc2UgcGxheWJhY2s7IG1pbmQga2V5ZnJhbWVzIGZvciBmcmFnbWVudCBib3VuZGFyeQoKMjAxMS0wMS0xMyAxNToyNjoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBwcm9wZXJseSBjaGVjayBmb3Igc3VmZmljaWVudCBhdmFpbGFibGUgZGF0YSBwcmlvciB0byBhY2Nlc3MKCjIwMTEtMDEtMTIgMTQ6NDA6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbnN1cmUgbm9uLWVtcHR5IGNhbmRpZGF0ZSBmcmFtZXMKCjIwMTEtMDEtMTEgMTU6MjQ6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBjbGFyaWZ5IHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMS0wMS0xMSAxNToyNDowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3Blcmx5IHRyYWNrIHVwc3RyZWFtIHRpbWVzdGFtcHMKCSAgLi4uIHJhdGhlciB0aGFuIHdpdGggYSBkZWxheS4KCjIwMTEtMDEtMTEgMTU6MjM6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBuZWVkIHByb3BlciBmcmFtZSBkdXJhdGlvbiB0byBvYnRhaW4gc2Vuc2libGUgZnJhbWUgYml0cmF0ZQoKMjAxMS0wMS0xMSAxNToyMjo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BlciBpbml0aWFsIHZhbHVlcyBmb3IgaW5kZXggdHJhY2tpbmcgdmFyaWFibGVzCgoyMDExLTAxLTExIDEyOjA1OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYXJyYW5nZSBmb3IgY29uc2lzdGVudCBldmVudCBoYW5kbGluZwoKMjAxMS0wMS0xMCAxNjo1OTo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGhlYWRlciBzdHlsZSBjbGVhbmluZwoKMjAxMS0wMS0xMCAxNzowNzozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3ZpZGUgc29tZSBtb3JlIGluaXRpYWwgZnJhbWUgbWV0YWRhdGEgaW4gcGFyc2VfZnJhbWUKCSAgLi4uIGFuZCBkb2N1bWVudCBhY2NvcmRpbmdseS4KCjIwMTEtMDEtMTAgMTY6NTY6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIHBhc3N0aHJvdWdoIGludG8gZm9ybWF0IGZsYWdzCgkgIEFsc28gYWRkIGEgZm9ybWF0IGZsYWcgdG8gc2lnbmFsIGJhc2VwYXJzZSB0aGF0IHN1YmNsYXNzL2Zvcm1hdCBjYW4gcHJvdmlkZQoJICAocGFyc2VkKSB0aW1lc3RhbXAgcmF0aGVyIHRoYW4gYW4gZXN0aW1hdGVkIG9uZS4gIEluIHBhcnRpY3VsYXIsIHN1Y2ggInN0cm9uZyIKCSAgdGltZXN0YW1wIHRoZW4gYWxsb3dzIHRvIGUuZy4gZGV0ZXJtaW5lIGR1cmF0aW9uLgoKMjAxMS0wMS0xMCAxNTozNDo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbnRyb2R1Y2UgYSBiYXNlcGFyc2UgZnJhbWUgdG8gc2VydmUgYXMgY29udGV4dAoJICAuLi4gYW5kIGFkanVzdCBzdWJjbGFzcyBwYXJzZXJzIGFjY29yZGluZ2x5CgoyMDExLTAxLTA3IDE2OjM5OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogcmVzdHJpY3QgZHVyYXRpb24gc2Nhbm5pbmcgdG8gcHVsbCBtb2RlIGFuZCBhdm9pZCBleHRyYSBzZXRfY2FwcyBjYWxsCgoyMDExLTAxLTA3IDE1OjU4OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogdXBkYXRlIHNvbWUgZG9jdW1lbnRhdGlvbgoJICBBbHNvIGFkZCBzb21lIG1vcmUgZGVidWcuCgoyMDExLTAxLTA2IDExOjQxOjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWxsb3cgaW5jcmVhc2luZyBtaW5fc2l6ZSBmb3IgY3VycmVudCBmcmFtZSBwYXJzaW5nIG9ubHkKCSAgQWxzbyBjaGVjayB0aGF0IHN1YmNsYXNzIGFjdHVhbGx5IGVpdGhlciBkaXJlY3RzIHRvIHNraXAgYnl0ZXMgb3IKCSAgaW5jcmVhc2VzIGV4cGVjdGVkIGZyYW1lIHNpemUgdG8gYXZvaWQgZ29pbmcgbm93aGVyZSBpbiBib2d1cwoJICBpbmRlZmluaXRlIGxvb3BpbmcuCgoyMDExLTAxLTE0IDE1OjI2OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhZXNwYXJzZTogZml4IHJlZmFjdG9yIHJlZ3Jlc3Npb24gaW4gbG9vcCBiYXNlZCBwYXJzaW5nCgoyMDExLTAxLTA2IDExOjE2OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcGFzcyBhbGwgYXZhaWxhYmxlIGRhdGEgdG8gc3ViY2xhc3MgcmF0aGVyIHRoYW4gbWluaW11bQoJICBBbHNvIHJlZHVjZSBzb21lIGFkYXB0ZXIgY2FsbHMgYW5kIGFkZCBhIGZldyBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAxMC0xMi0xMCAxNTo1OTo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCByZXZlcnNlIHBsYXliYWNrIGhhbmRsaW5nCgoyMDEwLTEyLTEwIDE0OjU2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgdHlwbyBhbmQgZGVidWcgc3RhdGVtZW50IGNsZWFudXAKCjIwMTAtMTItMTAgMTQ6NDA6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiByZWR1Y2UgbG9ja2luZwoJICAuLi4gd2hpY2ggaXMgZWl0aGVyIGFscmVhZHkgbXV0ZSBhbmQvb3IgaW1wbGljaXRseSBoYW5kbGVkIGJ5IFNUUkVBTV9MT0NLLgoKMjAxMS0wMS0yNyAxNzozMjo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1OiBJbml0aWFsaXplIHNvbWUgdmFyaWFibGVzIHRvIG1ha2UgZ2NjIDQuNiBoYXBweQoKMjAxMS0wMS0yNyAxNzoyOToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBJbml0aWFsaXplIHNvbWUgdmFyaWFibGVzIHRvIG1ha2UgZ2NjIDQuNiBoYXBweQoKMjAxMS0wMS0yNiAxODo0NTo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMmtkZWMsIGpwMmtlbmM6IGFkZCBzdXBwb3J0IHYzMDggKDQ6NDo0IFlVVikKCSAgQmVjYXVzZSB3ZSBjYW4uCgoyMDExLTAxLTI2IDE0OjI3OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IFVzZSB0aGUgY29ycmVjdCBmb3IgbGltaXQKCSAgVGhlcmUgYXJlIDMgdGFnbGlzdHMgdG8gYmUgdGVzdGVkLCBub3QgMgoKMjAxMS0wMS0yNiAxMTo0MDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogRG8gbm90IGZvcmdldCB0byB1bnJlZiBzb21lIHN0dWZmCgkgIENsZWFudXAgcHJvcGVybHkgYnkgdW5yZWZpbmcgdGhlIGVuY29kaW5nIHByb2ZpbGUgYW5kIHByZXZpZXcgY2FwcwoKMjAxMS0wMS0yNiAxMDo1NDo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogQWRkIG5hbWVzIHRvIHNvbWUgZWxlbWVudHMKCSAgQWRkcyBuYW1lcyB0byBpbnN0YW5jZXMgb2Ygc29tZSBlbGVtZW50cyB0byBtYWtlIGRlYnVnZ2luZyBlYXNpZXIKCjIwMTEtMDEtMjUgMTg6MTA6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBIYW5kbGUgdmlkZW9zaW5rIHN0YXRlcyBtb3JlIGNhcmVmdWxseQoJICBXaGVuIGdvaW5nIHRvIHJlYWR5LCBjYW1lcmFiaW4yIGNvdWxkIGNyZWF0ZSBhbiBlbXB0eSBmaWxlCgkgIGlmIHRoZSB2aWRlb3Npbmsgd2FzIHB1dCB0byByZWFkeS4gVGhpcyBwYXRjaCBvbmx5IHB1dHMgdmlkZW9zaW5rCgkgIHRvIHJlYWR5IG9uIHRoZSBQQVVTRURfVE9fUkVBRFkgc3RhdGUgY2hhbmdlIGlmIGl0IGlzIG9uIFBBVVNFRAoJICBvciBQTEFZSU5HLgoKMjAxMS0wMS0xNCAxNDowODozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGF2b2lkIGxvb3AgaW4gZnJhbWUgbG9jYXRpbmcgaW50ZXJwb2xhdGlvbgoKMjAxMS0wMS0yNCAyMzozMjozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3Znb3ZlcmxheTogRG8gbm90IHNlZ2ZhdWx0IG9uIHVuZXhpc3RlbnQgZmlsZXMKCSAgV2hlbiBwYXNzaW5nIGFuIHVuZXhpc3RlbnQgZmlsZSB0byByc3Znb3ZlcmxheSBpdCB3b3VsZAoJICBjcmFzaCBiZWNhdXNlIHRoZSBzdmcgbG9hZGluZyB3b3VsZCBmYWlsIHdpdGhvdXQgc2V0dGluZwoJICBhbiBlcnJvci4KCSAgVGhpcyBwYXRjaCBtYWtlcyBpdCBjaGVjayBpZiB0aGUgaGFuZGxlIHdhcyBhY3R1YWxseSBjcmVhdGVkCgkgIGFuZCBsb2dzIGFuIGVycm9yIGluIGNhc2UgaXQgZGlkbid0LiBNYXliZSBpdCBzaG91bGQgcG9zdCBhbgoJICBlcnJvciB0byB0aGUgYnVzLCBidXQgdGhlIHByZXZpb3VzIGVycm9yIGhhbmRsaW5nIGRpZG4ndCwgc28KCSAgSSBqdXN0IGZvbGxvd2VkIHRoZSBzYW1lIGxvZ2ljLgoKMjAxMS0wMS0yNCAxODozNzoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46ICBhZGQgdGltaW5nIHByaW50aW5nIGZvciBwcmV2aWV3IGltYWdlCgkgIE1lYXN1cmUgYW5kIHByaW50IHRoZSB0aW1lIHRha2VuIHRvIGdlbmVyYXRlIHByZXZpZXcgaW1hZ2UuIEFuZAoJICBmaXggYSB0eXBvCgoyMDExLTAxLTI0IDE4OjM2OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVtb3ZlIHVudXNlZCBtYWNybwoKMjAxMS0wMS0xMiAxNjoyNjoxOSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBEb24ndCBzZXQgZGVmYXVsdCB2YWx1ZXMgZm9yIEdzdFBob3RvZ3JhcGh5IGludGVyZmFjZSBzZXR0aW5ncwoJICBEb24ndCBzZXQgYW55IGRlZmF1bHQgdmFsdWVzIGZvciBzb3VyY2UgZWxlbWVudCBHc3RQaG90b2dyYXBoeSBpbnRlcmZhY2UKCSAgc2V0dGluZ3MsIHNvdXJjZSBlbGVtZW50cyBzaG91bGQgaGF2ZSBzYW5lIGRlZmF1bHRzIHRoZW1zZWx2ZXMuCgkgIEFsc28sIHNldHRpbmcgc2NlbmUtbW9kZSBpcyB0cmlja3kgYXMgaXQgaXMgYSBzdXBlcnNldCBvZiBvdGhlciBHc3RQaG90b2dyYXBoeQoJICBzZXR0aW5ncy4gVGhpcyBtaWdodCBjYXVzZSBwcm9ibGVtIHdpdGggZGVmYXVsdHMgZS5nLiBzZXR0aW5nIHNjZW5lLW1vZGUgdG8KCSAgJ25pZ2h0JyBtYXkgY29uZmlndXJlIGZsYXNoLW1vZGUgYXMgJ29uJyBieSBkZWZpbml0aW9uLCBhbmQgYWZ0ZXIgdGhhdAoJICB3ZSBkb24ndCB3YW50IHRvIG92ZXJyaWRlIHRoaXMgZmxhc2gtbW9kZSBzZXR0aW5nIHdpdGggZ3N0LWNhbWVyYWJpbi10ZXN0IGRlZmF1bHQKCSAgdmFsdWUuIE1vcmVvdmVyLCB1c2VyIG5lZWRzIGhhdmUgYW4gb3B0aW9uIHRvIHNldCBzY2VuZSBtb2RlIGZpcnN0IGFuZCB0aGVuIGZvcmNlCgkgIHNvbWUgaW5kaXZpZHVhbCBzZXR0aW5nIHRvIGEgZGlmZmVyZW50IHZhbHVlIGZyb20gdGhlIHNjZW5lLW1vZGUgZGVmaW5pdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTg0MQoKMjAxMS0wMS0yNCAxNzo0Njo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IENoZWNrIHRoZSBzdGFydCB0aW1lIG9mIGJ1ZmZlcnMKCSAgQmUgY2FyZWZ1bCB3aGVuIHRyeWluZyB0byBjcmVhdGUgYSBuZXdzZWdtZW50IGV2ZW50IHRvIGF2b2lkCgkgIHN0YXJ0IHRpbWVzIG9mIC0xIGZyb20gaW52YWxpZCBidWZmZXIgdGltZXN0YW1wcwoKMjAxMS0wMS0xMSAxNTo1MjowMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHNwdTogZG9uJ3Qgd3JpdGUgY2xpcHBlZCBsaW5lcyB0byB0aGUgb3V0cHV0IGJ1ZmZlcgoJICBXZSBtYXkgbm90IGluY3JlbWVudCB0aGUgb3V0cHV0IHBvaW50ZXIsIGJ1dCBpdCdsbCBzdGlsbCBiZSBqdXN0CgkgIG9mZiB0aGUgZW5kIG9mIHRoZSBhbGxvY2F0ZWQgYXJlYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMjg0NwoKMjAxMS0wMS0xOSAxNTowNzoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9QT1JUSU5HOgoJICBjYW1lcmFiaW4yOiBVcGRhdGUgcG9ydGluZyBmaWxlCgkgIEFkZHMgcG9ydGluZyBpbmZvcm1hdGlvbiBhYm91dCB1c2luZyBlbmNvZGViaW4gb24gY2FtZXJhYmluMgoKMjAxMS0wMS0xNCAwODoxMjoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9QT1JUSU5HOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgaW1hZ2UtZG9uZSBtZXNzYWdlCgkgIFBvc3QgYW4gaW1hZ2UtZG9uZSBtZXNzYWdlIHdoZW4gYSBuZXcgaW1hZ2UgaXMgc2F2ZWQgdG8gZGlzawoKMjAxMS0wMS0xMSAxNDo1MDo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEltcGxlbWVudCB0YWdzZXR0ZXIgaW50ZXJmYWNlCgoyMDExLTAxLTExIDEwOjI5OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZCBwcmV2aWV3IGltYWdlIHRvIHRlc3RzCgkgIEFkZHMgdGVzdHMgZm9yIGNoZWNraW5nIHRoYXQgcHJldmlldyBpbWFnZXMgYXJlIHBvc3RlZCB3aXRoCgkgIHRoZSBjb3JyZWN0IGNhcHMgb24gdGVzdHMKCjIwMTEtMDEtMTEgMDk6MTI6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBhIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgZW5jb2RpbmcgcHJvZmlsZQoJICBBZGRzIGEgdmlkZW8tcHJvZmlsZSB0byBhbGxvdyBzZWxlY3Rpbmcgd2hpY2ggZW5jb2RpbmcgcHJvZmlsZQoJICB0byB1c2UgZm9yIHZpZGVvIHJlY29yZGluZ3MKCjIwMTEtMDEtMTEgMDg6NDQ6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgY2FtZXJhYmluMjogUmVtb3ZpbmcgdmlkZW9yZWNvcmRpbmdiaW4KCSAgUmVtb3ZpbmcgdmlkZW9yZWNvcmRpbmdiaW4gYXMgd2Ugbm93IHVzZSBlbmNvZGViaW4gZm9yIGl0CgoyMDEwLTEyLTI3IDExOjI5OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogTW92ZSB0byBlbmNvZGViaW4KCjIwMTEtMDEtMTAgMTU6MTk6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBTZXQgb3V0cHV0LXNlbGVjdG9yIHBhZC1uZWdvdGlhdGlvbi1tb2RlIHRvIG5vbmUKCSAgVXNlIG91dHB1dC1zZWxlY3RvciBub25lIG5lZ290aWF0aW9uIG1vZGUgYXMgaXQgd2FzIHRoZSBkZWZhdWx0IGJlZm9yZQoJICB0aGUgbGFzdCBjaGFuZ2VzLiBUaGlzIGxpa2VseSBuZWVkcyB0byBiZSBmaXhlZCB0byB1c2UgJ2FjdGl2ZScgb24KCSAgY2FtZXJhYmluMgoKMjAxMS0wMS0xMCAxNToxOTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEhhbmRsZSBzdGF0ZSBjaGFuZ2UgZmFpbHVyZXMKCSAgV2hlbiBpdHMgaW50ZXJuYWwgZWxlbWVudCBmYWlscyB0byBjaGFuZ2Ugc3RhdGUsIGRvbid0IGFjdCBhcwoJICBpZiBzdWNjZWVkZWQuCgoyMDEwLTEyLTMwIDAwOjI3OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgY2FtZXJhYmluMjogSW1wbGVtZW50IHByZXZpZXdpbmcKCSAgSW1wbGVtZW50IHByZXZpZXdpbmcgZnVuY3Rpb25hbGl0eSB1c2luZyAyIHByb3BlcnRpZXMuIEEgYm9vbGVhbgoJICAocG9zdC1wcmV2aWV3cykgdGhhdCBpbmRpY2F0ZXMgaWYgcHJldmlld3Mgc2hvdWxkIGJlIHBvc3RlZCwgYW5kIGEKCSAgR3N0Q2FwcyAocHJldmlldy1jYXBzKSB0byBwcm92aWRlIHRoZSBkZXNpcmVkIHByZXZpZXcgY2Fwcy4KCSAgd3JhcHBlcmNhbWVyYWJpbnNyYyBpbXBsZW1lbnRzIHByZXZpZXdpbmcgYnkgc3VwcGx5aW5nIHRoZSBjYXB0dXJlZAoJICBpbWFnZSB0byBhIHBpcGVsaW5lIHRvIGFkYXB0IGl0IHRvIHRoZSByZXF1aXJlZCBjYXBzIGJlZm9yZSBwb3N0aW5nLgoKMjAxMC0xMi0zMCAwMDoyNjowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSAgY2FtZXJhYmluMjogQWRkIG1ldGhvZHMgZm9yIHByZXZpZXcgaW1hZ2UgbWVzc2FnZSBwb3N0aW5nCgkgIEFkZHMgYSBoZWxwZXIgc3RydWN0IGFuZCBmdW5jdGlvbnMgZm9yIGltcGxlbWVudGluZyBhIHByZXZpZXcgbWVzc2FnZQoJICBpbiBjYW1lcmFiaW4yLgoKMjAxMC0xMi0yOSAyMzo0ODozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHRlc3RzOiBVc2UgbWFpbmxvb3BzCgkgIFVzZSBtYWlubG9vcHMgaW5zdGVhZCBvZiBzbGVlcHMgdG8gcmVhZCBidXMgbWVzc2FnZXMgYW5kIGNhdGNoCgkgIGVycm9ycy4KCjIwMTAtMTItMjkgMTQ6MTI6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBVc2UgZHJvcF9lb3MgZnVuY3Rpb24gZnJvbSBjYW1lcmFiaW5nZW5lcmFsCgkgIFRoZXJlIHdhcyBhbHJlYWR5IGEgZXZlbnQgcHJvYmUgZnVuY3Rpb24gZm9yIGRyb3BwaW5nIEVPUyBvbgoJICBjYW1lcmFiaW5nZW5lcmVhbCwgc28gdXNlIHRoYXQgaW5zdGVhZCBvZiByZXBsaWNhdGluZyB0aGUgY29kZQoKMjAxMS0wMS0yNCAxMTo1NTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogaW1hZ2VjYXB0dXJlYmluMjogZml4IHdhcm5pbmdzCgkgIFdhcm5pbmdzIHBhc3NlZCBtZSBieSBvbiB0aGUgbGFzdCBjb21taXRzIHRvIGNhbWVyYWJpbjIgdGVzdHMsCgkgIGZpeGluZyB0aGVtLgoKMjAxMS0wMS0yNCAxMTowNTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBPbmx5IHJ1biBhIHRlc3QgaWYgLWdvb2QgMC4xMC4yNyBpcyBwcmVzZW50CgkgIEEgY2FtZXJhYmluMiB0ZXN0cyBkZXBlbmRzIG9uIHRoZSBjb21taXQKCSAgZGNiYmEwOTMyZGM1NzlhYmQ2YWFiNDQ2MGZhMWE0MTYzNzRlZGExYiBmb3IganBlZ2VuYyBvbiAtZ29vZAoJICB0aGF0IHdhcyByZWxlYXNlZCBvbiAwLjEwLjI3LgoJICBUaGlzIHBhdGNoIG1ha2VzIGl0IGNoZWNrIGZvciB0aGlzIHZlcnNpb24gYmVmb3JlIHJ1bm5pbmcgdGhlCgkgIHRlc3QuCgoyMDExLTAxLTI0IDEwOjA4OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICB0ZXN0czogaW1hZ2VjYXB0dXJlYmluOiBPbmx5IHJ1biBhIHRlc3QgaWYgLWdvb2QgaXMgMC4xMC4yNyBvciBuZXdlcgoJICBPbmUgdGVzdCBvbiBpbWFnZWNhcHR1cmViaW4gcmVxdWlyZXMgZGNiYmEwOTMyZGM1NzlhYmQ2YWFiNDQ2MGZhMWE0MTYzNzRlZGExYgoJICBvbiBnb29kIHRoYXQgd2FzIHJlbGVhc2VkIG9uIDAuMTAuMjcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAyODYKCjIwMTEtMDEtMTggMTc6MzE6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIG5hbWVzIGZvciBtb3JlIGVsZW1lbnRzCgoyMDExLTAxLTI0IDExOjE4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjIxID09PQoKMjAxMS0wMS0yMSAyMToxMzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIxCgoyMDExLTAxLTE5IDIwOjAwOjEzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBGaXggaGFuZGxpbmcgb2YgZGVidWcgY2F0ZWdvcnkKCjIwMTEtMDEtMTkgMTg6MjY6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtaW5kIGdzdF9idWZmZXJfdW5yZWYgbm90IGxpa2luZyBOVUxMCgkgIEZpeGVzICM2Mzk5NTAuCgoyMDExLTAxLTE4IDE4OjE4OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgoyMDExLTAxLTE4IDEzOjAwOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIwLjQgcHJlLXJlbGVhc2UKCjIwMTEtMDEtMTQgMTY6MzA6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBiYXNlcGFyc2U6IEJlIGNhcmVmdWwgdG8gbm90IGxvc2UgdGhlIGV2ZW50IHJlZgoJICBEb24ndCB1bnJlZiB0aGUgZXZlbnQgaWYgaXQgaGFzbid0IGJlZW4gaGFuZGxlZCwgYmVjYXVzZSB0aGUgY2FsbGVyCgkgIGFzc3VtZXMgaXQgaXMgc3RpbGwgdmFsaWQgYW5kIG1pZ2h0IHJldXNlIGl0LgoJICBJIHJhbiBpbnRvIHRoaXMgcHJvYmxlbSB3aGVuIHRyYW5zY29kaW5nIGFuIEFWSSAod2l0aCBtcDMgaW5zaWRlKQoJICB0byBncHAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk1NTUKCjIwMTEtMDEtMTMgMTE6Mjg6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdDogcXRtdXg6IFRlc3RzIHF0bXV4IHJldXNlCgkgIEZvcmNlcyB0aGUgdXNlIG9mIHF0bXV4IGFmdGVyIGl0IGhhcyBiZWVuIHB1dCB0byBQTEFZSU5HIGFuZCBiYWNrCgkgIHRvIE5VTEwgb25jZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MzM4CgoyMDExLTAxLTEzIDE1OjI3OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogc2V0IHNyYyBwYWRzIHdoZW4gc3RhcnRpbmcgZmlsZQoJICAuLi4gcmF0aGVyIHRoYW4gYXQgX2luaXQgdGltZSwgc28gdGhleSBhcmUgYWxzbyBhdmFpbGFibGUgZm9sbG93aW5nIGEKCSAgcGFkIChkZSlhY3RpdmF0aW9uIGN5Y2xlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MzM4CgoyMDExLTAxLTEyIDE2OjM5OjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogZW5zdXJlIHRoZSBrYXRlIHBhZCBkb2VzIG5vdCBzaG9vdCBhaGVhZCBvZiB0aGUgdmlkZW8gcGFkCgkgIFN5bmMgYm90aCBwYWRzIGJ5IHdhaXRpbmcgaW4gdGhlIGthdGUgY2hhaW4gZnVuY3Rpb24uCgkgIERvIG5vdCByZXNldCBvdXIgaW50ZXJuYWwgc2VnbWVudCBmcm9tIHNlZ21lbnQgdXBkYXRlcywgaW4gb3JkZXIKCSAgdG8gYmUgYWJsZSB0byBtYXAgdmlkZW8gcnVubmluZyB0aW1lIHRvIGthdGUgcnVubmluZyB0aW1lLCB0bwoJICBnaXZlIGxpYnRpZ2VyIHRoZSB0aW1lc3RhbXAgaXQgZXhwZWN0cy4gVGhpcyBhbGxvd3MgdXMgdG8gdXNlCgkgIHJ1bm5pbmcgdGltZSB0byBzeW5jIHRvIHZpZGVvLCB3aGljaCBpcyBUaGUgUmlnaHQgV2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAwOTI5CgoyMDExLTAxLTEzIDE4OjM1OjE1IC0wMjAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRW5hYmxlIGNvbnZlcnNpb24gZmxhZ3MKCSAgQ2FtZXJhYmluIGRlZmF1bHQgc2hvdWxkIGp1c3Qgd29yaywgc28gd2UgbmVlZCB0byBlbmFibGUgYXVkaW8sIGltYWdlCgkgIGFuZCB2aWRlbyBjb252ZXJzaW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTQ1NgoKMjAxMS0wMS0xMyAxNzoxMDoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBmaXggc3luYyB3b3JkIGZvciAxNC1iaXQgbGl0dGxlIGVuZGlhbiBjb2RpbmcKCSAgRml4IGNvcHknbidwYXN0ZSBidWcgdGhhdCBtYWRlIHVzIGxvb2sgZm9yIHRoZSByYXcgbGl0dGxlIGVuZGlhbgoJICBzeW5jIHdvcmQgdHdpY2UgaW5zdGVhZCBvZiBsb29raW5nIGZvciB0aGUgMTQtYml0IExFIHN5bmMgd29yZAoJICBhcyB3ZWxsLiBGaXhlcyBwYXJzaW5nIG9mIHN1Y2ggc3RyZWFtcyAoc2VlICM2MzYyMzQgZm9yIHNhbXBsZSBmaWxlKS4KCjIwMTEtMDEtMTMgMTY6Mjc6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgZG9jczogbWlub3IgYmFzZXBhcnNlIGRvY3MvY29tbWVudCBmaXhlcwoJICBSZW1vdmUgY29weSduJ3Bhc3RlIGxlZnRvdmVycy4KCjIwMTEtMDEtMTMgMTM6MzY6MDkgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc2V0IHBhZC1uZWdvdGlhdGlvbi1tb2RlIHRvIGFjdGl2ZSBmb3Igb3V0cHV0LXNlbGVjdG9yCgkgIEZpeGVzICM2Mzk0MTMuCgoyMDExLTAxLTEyIDE2OjU1OjA3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHVzZSBnX2Vycm9yX2ZyZWUgaW5zdGVhZCBvZiBnX2ZyZWUKCjIwMTEtMDEtMTIgMTY6NTA6NTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgY2FtZXJhYmluMjogdXNlIGdfZXJyb3JfZnJlZSBpbnN0ZWFkIG9mIGdfZnJlZQoKMjAxMS0wMS0xMiAxMTo1NzoyOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IERlZmF1bHQgY29sb3JzcGFjZSBpcyBJNDIwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkyOTYKCjIwMTEtMDEtMTEgMjM6NDQ6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjAuMyBwcmUtcmVsZWFzZQoKMjAxMS0wMS0xMSAxNTo1MDo1MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlNTcyYzg3IHRvIGY5NGQ3MzkKCjIwMTEtMDEtMTAgMTk6MTE6MjIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IERvbid0IGZvcmdldCB0aGUgR1R5cGUgd2hlbiB1c2luZyBjYXBzX25ld19zaW1wbGUoKQoKMjAxMS0wMS0xMCAxNjozNjo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGNjYmFhODUgdG8gZTU3MmM4NwoKMjAxMS0wMS0xMCAxNDo1NDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2NDQ1YWQgdG8gY2NiYWE4NQoKMjAxMS0wMS0xMCAxMToyNTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBzaWxseSB3YXkgb2YgY3JlYXRpbmcgY2FwcwoKMjAxMS0wMS0xMCAxMToxODo1MiArMDAwMCAgS2Fyb2wgU29iY3phayA8bmFwZXdub3RyYWZpQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogZml4IHJlLXN5bmNpbmcgb24gaW52YWxpZCBkYXRhIGFmdGVyIHNlZWsKCSAgT3IgcG9zc2libHkgZXZlbiBhdCBzdGFydHVwLiBJZiB3ZSBjb3VsZG4ndCBmaW5kIGEgc3luYyB3aXRoaW4KCSAgdGhlIGZpcnN0IGZldyBieXRlcywgd2UnZCBqdXN0IHB1c2ggbW9yZSBkYXRhIGludG8gdGhlIGFkYXB0ZXIKCSAgYnV0IG5ldmVyIGRpc2NhcmQgYW55IG9mIHRoZSBpbnZhbGlkIGRhdGEgYXQgdGhlIGJlZ2lubmluZywgc28KCSAgd291bGQgbmV2ZXIgYmUgYWJsZSB0byByZS1zeW5jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MDYzCgoyMDExLTAxLTA4IDAzOjEyOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJICBjb2csIHNjaHJvZWRpbmdlcjogZml4IHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggLURHX0RJU0FCTEVfQVNTRVJUCgoyMDExLTAxLTA4IDAzOjEwOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMC4yIHByZS1yZWxlYXNlCgoyMDExLTAxLTA4IDAyOjQ5OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzCgoyMDExLTAxLTA4IDAyOjQ3OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vamEucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTAxLTA4IDAyOjQzOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuaDoKCSAgY2FtZXJhYmluOiB1c2UgcHJpdmF0ZSBpbnB1dC1zZWxlY3RvciB0aGF0IHN0aWxsIGhhcyAic2VsZWN0LWFsbCIgcHJvcGVydHkKCSAgVGhlICJzZWxlY3QtYWxsIiBwcm9wZXJ0eSB3YXMgcmVtb3ZlZCB3aGVuIGlucHV0LXNlbGVjdG9yIHdhcyBtb3ZlZAoJICB0byBjb3JlLCBidXQgY2FtZXJhYmluIHVzZXMgdGhpcywgc28gbWFrZSBjYW1lcmFiaW4gdXNlIGEgcHJpdmF0ZQoJICBjb3B5IHVudGlsIGEgYmV0dGVyIGZpeCBpcyBmb3VuZC4KCjIwMTEtMDEtMDggMDA6MzI6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBNYWtlZmlsZS5hbSBjbGVhbi11cAoJICBBdm9pZCBkdXBsaWNhdGVzIEdTVF9DSEVDS19DRkxBR1MgYW5kIEdTVF9PUFRJT05TX0NGTEFHUyBhcmUgYWxyZWFkeSBpbgoJICBBTV9DRkxBR1MuIEFkZCBMREFERCBpbnN0ZWFkIG9mIEdTVF9DSEVDS19MSUJTIGZvciBjb25zaXN0ZW5jeS4KCjIwMTEtMDEtMDggMDA6MTk6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Ntb290aHdhdmUvZGVtby1vc3NzcmMuYzoKCSAgc21vb3Rod2F2ZTogcmVtb3ZlIG9sZCAwLjggZXhhbXBsZSBjb250YWluaW5nIGNvZGUgd2l0aCBzaWRlZWZmZWN0cyBpbiBnX3JldHVybl9pZl9mYWlsKCkKCSAgTWF5IGp1c3QgYXMgd2VsbCByZW1vdmUgaXQgcmF0aGVyIHRoYW4gZml4IGl0LCBzbyBpdCBkb2Vzbid0IHNob3cKCSAgdXAgaW4gZ3JlcHMgZm9yIHRoaXMgYW55IGxvbmdlci4KCjIwMTEtMDEtMDggMDA6MTg6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IG1ha2UgZ2l0IGlnbm9yZSBuZXcgc2Nocm9lbmMgdGVzdCBiaW5hcnkKCjIwMTEtMDEtMDggMDA6MTc6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggQ0ZMQUdTIGFuZCBMSUJBREQgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDEtMDggMDA6MDg6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBuZXZlciBkaXNhYmxlIGdfYXNzZXJ0KCkgYW5kIGNhc3QgY2hlY2tzIGZvciB0aGUgdW5pdCB0ZXN0cwoJICBUaGUgdW5pdCB0ZXN0cyBhcmUgcmlkZGxlZCB3aXRoIGdfYXNzZXJ0KCkgYW5kIGZyaWVuZHMsIG1ha2Ugc3VyZSB3ZQoJICBkb24ndCBkaXNhYmxlIGFzc2VydCBhbmQgY2FzdCBjaGVja3MgZm9yIHRoZSB1bml0IHRlc3RzIGV2ZW4gaWYKCSAgdGhpcyBoYXMgYmVlbiBzcGVjaWZpZWQgZm9yIHRoZSByZXN0IG9mIHRoZSBjb2RlIGJhc2UsIGUuZy4gdmlhCgkgIC0tZGlzYWJsZS1nbGliLWFzc2VydHMuCgoyMDExLTAxLTA4IDAwOjAxOjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmItZXhhbXBsZS5jOgoJICBkaXJlY3RmYjogZG9uJ3QgcHV0IGNvZGUgd2l0aCBzaWRlLWVmZmVjdHMgaW50byBnX2Fzc2VydCgpCgkgIEl0IHdpbGwgYWxsIGJlIHR1cm5lZCBpbnRvIGEgTk9PUCBpZiAtREdfRElTQUJMRV9BU1NFUlQgaXMgdXNlZAoJICAoYXMgaXQgaXMgZm9yIHByZS1yZWxlYXNlcyBhbmQgcmVsZWFzZXMpLgoKMjAxMS0wMS0wNyAyMzo1NzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IGRvbid0IHB1dCBjb2RlIHdpdGggc2lkZSBlZmZlY3RzIGludG8gZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKQoJICBBbmQgZG9uJ3QgdXNlIGdfcmV0dXJuKl9pZl9mYWlsKCkgZm9yIGVycm9yIGhhbmRsaW5nIGluIGVsZW1lbnRzLgoKMjAxMS0wMS0wNyAxODo0OTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSAgUmV2ZXJ0ICJtcGVndmlkZW9wYXJzZTogZml4IHRpbWVzdGFtcCBnZW5lcmF0aW9uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDIyNzE2MDhjNDMxNGQ2ZDBhNjg1YzE4YzVjNDdkNTU0OTU1ODYxNTkuCgkgIFRoaXMgcGF0Y2ggbmVlZHMgbW9yZSB3b3JrIHNvIGl0IGRvZXNuJ3QgY2F1c2UgZ3JhdmUgcGxheWJhY2sKCSAgcmVncmVzc2lvbnMgKG11bHRpLXNlY29uZCBmcmVlemVzKSB3aXRoIHNvbWUgZmlsZXMgdGhhdCBoYXZlCgkgIHNsaWdodGx5IGJyb2tlbiB0aW1lc3RhbXBzIGJ1dCBwbGF5IGZpbmUgZXZlcnl3aGVyZSBlbHNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2Mjc5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzIyMjIKCjIwMTEtMDEtMDcgMTU6NDc6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTEtMDEtMDcgMTQ6NTE6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSAkTElCTSBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nIC1sbQoKMjAxMS0wMS0wNyAxNToyMjowNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBkb24ndCBsZWFrIHRoZSBjYXBzCgoyMDExLTAxLTA3IDAyOjEwOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBQQVQgYW5kIFBNVCBpbmZvLXJlbGF0ZWQgb2JqZWN0IGxlYWtzCgoyMDExLTAxLTA2IDEyOjUxOjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBvbiBtYWNvc3gKCjIwMTEtMDEtMDYgMTI6NTA6MTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSAganAya2RlY2ltYXRvcjogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcyBvbiBtYWNvc3gKCjIwMTEtMDEtMDYgMTI6NDk6NDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgb24gbWFjb3N4CgoyMDEwLTEyLTE1IDE1OjU4OjQ4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmg6CgkgIHk0bWRlYzogRml4IGNvcHlyaWdodAoKMjAxMC0xMi0xNyAxNDo1MDo1MCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9wdXNoc3JjOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogaW1wcm92ZSBwdXNoc3JjCgoyMDExLTAxLTA1IDE2OjQzOjQ1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcyBvbiBtYWNvc3gKCjIwMTEtMDEtMDUgMTM6NDQ6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZmZtcGVnLWNvbG9yc3BhY2UuaDoKCSAgZHZic3Vib3ZlcmxheTogc29tZSBtb3JlIG1pbm9yIGNsZWFuLXVwcwoKMjAxMS0wMS0wNCAxNjowMzowMSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggbGVhayBvZiAiY2xlYXIgc2NyZWVuIiBEVkJTdWJ0aXRsZXMgc3RydWN0cwoKMjAxMS0wMS0wNCAxMzo1MToyMSArMDAwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCB0d28gbWlub3IgZGVpbml0aWFsaXphdGlvbiBtZW1vcnkgbGVha3MKCjIwMTEtMDEtMDMgMjM6NTU6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBkaXN0IGNhbWVyYWJpbjIgZXhhbXBsZSBhcyB3ZWxsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg2MDQKCjIwMTEtMDEtMDMgMjM6NDk6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjI6IGZpeCBjZmxhZ3MgYW5kIGxpYnMgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDEtMDMgMjM6NDc6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkgIGJhc2VjYW1lcmFiaW5zcmM6IGZpeCBsaWJzIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTAxLTAzIDIzOjQ2OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGZpeCBkaXN0aW5nIG9mIGV4cGVyaW1lbnRhbCBiYXNlY2FtZXJhYmluc3JjIGxpYiB1c2VkIGJ5IGNhbWVyYWJpbjIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODYwNAoKMjAxMS0wMS0wMyAxNzoxMDozNiAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmI6IGZpeCBidWlsZCBlcnJvcnMgb24gbWFjb3N4CgkgIGZpeGVzIHRoZSBmb2xsb3dpbmcgY29tcGlsZSBlcnJvcnM6CgkgIGNjMTogd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKCSAgY2Ftc3djbGllbnQuYzogSW4gZnVuY3Rpb24gJ2NhbV9zd19jbGllbnRfb3Blbic6CgkgIGNhbXN3Y2xpZW50LmM6ODE6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdzdHJuY3B5JwoJICBjYW1zd2NsaWVudC5jOjgxOiB3YXJuaW5nOiBpbmNvbXBhdGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4gZnVuY3Rpb24gJ3N0cm5jcHknCgkgIGNhbXN3Y2xpZW50LmM6ODk6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdzdHJlcnJvcicKCSAgY2Ftc3djbGllbnQuYzo4OTogd2FybmluZzogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiAnc3RyZXJyb3InCgkgIGNhbXN3Y2xpZW50LmM6ODk6IHdhcm5pbmc6IGZvcm1hdCAnJXMnIGV4cGVjdHMgdHlwZSAnY2hhciAqJywgYnV0IGFyZ3VtZW50IDkgaGFzIHR5cGUgJ2ludCcKCSAgY2Ftc3djbGllbnQuYzogSW4gZnVuY3Rpb24gJ3NlbmRfY2FfcG10JzoKCSAgY2Ftc3djbGllbnQuYzoxMjk6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdtZW1jcHknCgkgIGNhbXN3Y2xpZW50LmM6MTI5OiB3YXJuaW5nOiBpbmNvbXBhdGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4KCSAgZnVuY3Rpb24gJ21lbWNweScKCSAgZ3N0ZHZic3JjLmM6NDg6MTk6IGVycm9yOiBlcnJvci5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CgkgIFNpZ25lZC1vZmYtYnk6IFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCjIwMTEtMDEtMDMgMjA6MDU6NTIgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiByZW1vdmUgdW5uZWNlc3NhcnkgUkdCIC0+IFlVViBjb252ZXJzaW9uIGJ5IHVzaW5nIFlVViBwYWxldHRlcwoJICB0aGUgZGVmYXVsdCBDTFVUcyBzdGlsbCB1c2UgUkdCIC0+IFlVViBjb252ZXJzaW9ucyBzaW5jZSB0aGUgc3RhbmRhcmQgZGVmaW5lcwoJICB0aGVtIGFzIFJHQkEgdmFsdWVzLgoKMjAxMS0wMS0wMyAyMDoyMTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvZXNkLm00OgoJKiBtNC9nbGliLm00OgoJKiBtNC9nc3QtbWF0cm9za2EubTQ6CgkqIG00L2dzdC1zaG91dDIubTQ6CgkqIG00L2d0ay5tNDoKCSogbTQvb2dnLm00OgoJKiBtNC92b3JiaXMubTQ6CgkgIG00OiByZW1vdmUgc29tZSBjcnVmdAoKMjAxMS0wMS0wMyAxNzoyNDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGp1c3QgbmFzdHkgY2FzZSB0aW1lc3RhbXAgdHJhY2tpbmcKCSAgVGhhdCBpcywgYWxsIHNvcnRzIG9mIHByb2JsZW1zIGFyaXNlIHdpdGggcmUtb3JkZXJlZCBpbnB1dCB0aW1lc3RhbXBzIHRoYXQKCSAgdGVuZCB0byBkZWZ5IGF1dG9tYWdpYyBoYW5kbGluZyBmb3IgZXZlcnkgY2FzZSwgc28gYWxsb3cgZm9yIGEgZmV3IHZhcmlhdGlvbnMKCSAgdGhhdCBjYW4gYmUgdHJpZWQgZGVwZW5kaW5nIG9uIGNpcmN1bXN0YW5jZXMuCgkgIEFsc28gdHJ5IHRvIGRvY3VtZW50IGFjY29yZGluZ2x5LgoJICBBbHNvIGZpeGVzICM2MzgyODguCgoyMDEwLTEyLTMwIDIxOjQ4OjQxICswMjAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZ2V0IHJpZCBvZiB0aW1lc3RhbXAgb3ZlcnByb3RlY3RpdmVuZXNzCgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAbm9raWEuY29tPgoKMjAxMS0wMS0wMyAxNjo1Njo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogc2ltcGxpZnkgYW5kIGZpeCBwdHNfb2Zmc2V0IHN0b3JpbmcKCSAgSW4gcGFydGljdWxhciwgb25seSB3cml0ZSBhIGN0dHMgYXRvbSBpZiBhbmQgb25seSBpZiBldmVyIGEgbm9uLXplcm8gb2Zmc2V0LgoKMjAxMS0wMS0wMyAxMDo0MzoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBzb21lIG1vcmUgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxNToyMzowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHJlbW92ZSBsYXJnZS1maWxlIHByb3BlcnR5CgkgIFJhdGhlciwgYXV0by1kZXRlcm1pbmUgaWYgNjQtYml0cyBmaWVsZHMgYXJlIG5lZWRlZCBmb3IgYSB2YWxpZCByZXN1bHQsIGFuZAoJICBzdGljayB0byBwbGFpbiAzMi1iaXRzIGlmIG5vdCBuZWVkZWQuCgkgIEFQSTogR3N0UVRNdXg6bGFyZ2UtZmlsZSAocmVtb3ZlZCkKCjIwMTEtMDEtMDMgMTg6MTM6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9kdmIvUkVBRE1FOgoJICBSRUFETUU6IGZpeCB0aGUgZXhhbXBsZSBwaXBlbGluZQoJICBGaXggdGhlIG9idmlvdXMgb3V0ZGF0ZWQgcGFydHMuIFN0aWxsIHRoaXMgUkVBRE1FIGxvb2tzIG91dGRhdGVkIGFuZCBzaG91bGQgYmUKCSAgdXBkYXRlZCBvciByZW1vdmVkLgoKMjAxMS0wMS0wMiAxOTozODowMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogQWRkIGRlYnVnIGNhdGVnb3J5CgoyMDExLTAxLTAyIDE2OjEzOjU2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRGlzYWJsZSBtYXRyaXhpbmcgb24gYmlnLWVuZGlhbgoJICBJdCdzIGJyb2tlbiB1bnRpbCBzb21lb25lIHdyaXRlcyBiZXR0ZXIgT3JjIGNvZGUuICBGaXhlcyAjNjMxMjMyLgoKMjAxMC0xMi0wNSAwMzoyOTo0MiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogU2V0IGFkYXB0YXRpb24gZmxhZyB3aGVuIGFwcHJvcHJpYXRlCgkgIFNwZWNpZmljYWxseSwgd2hlbiB0aGVyZSdzIHN0dWZmIHRvIGdvIGludG8gdGhlIGFkYXB0YXRpb24KCSAgaGVhZGVyLgoKMjAxMC0xMS0xNyAxNzo0OToxNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBTZXQgcmFuZG9tX2FjY2Vzc19pbmRpY2F0b3IgZm9yIGtleWZyYW1lcwoKMjAxMC0xMi0zMSAxNjoyMDoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IG91dGxpbmUgdGV4dCBieSBkZWZhdWx0LCB0byBtYWtlIGl0IGVhc2llciB0byByZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg1MjcKCjIwMTEtMDEtMDIgMTU6MTE6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvamFjay8uZ2l0aWdub3JlOgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svUkVBRE1FOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svamFja19jbGllbnQuYzoKCSAgamFjazogbW92ZSBwbHVnaW4gdG8gZ3N0LXBsdWdpbnMtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIxOTI5CgoyMDExLTAxLTAyIDEzOjUyOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IGZpeCBjYXBzIGFuZCBzdHJpbmcgbGVha3MgYW5kIHNvbWUgbWlub3IgY2xlYW4tdXBzCgkgIERvbid0IGxlYWsgc291cmNlIGNhcHMuIFVzZSBHU1RfUFRSX0ZPUk1BVCB0byBsb2cgY2Fwcywgc28KCSAgd2UgZG9uJ3QgbmVlZCB0byBsZWFrIHN0cmluZ3MgZnJvbSBnc3RfY2Fwc190b19zdHJpbmcoKS4KCSAgTm8gbmVlZCB0byB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIHZmdW5jcyB3aGVyZSB0aGUgYmFzZQoJICBjbGFzcyB3aWxsIG5ldmVyIGxvb2sgdGhlbSB1cCAobGlrZSBwcm9wZXJ0eSBnZXR0ZXJzL3NldHRlcnMpLgoJICBEb24ndCB1c2UgZ19yZXR1cm5fKl9pZl9mYWlsKCkgZm9yIHRoaW5ncyB0aGF0IGFyZW4ndCBkaXJlY3RseQoJICBwcm9ncmFtbWluZyBlcnJvcnMgKGJ5IHRoZSBhcHBsaWNhdGlvbiBkZXZlbG9wZXIpLgoJICBGaXhlcyBrYXRlIHVuaXQgdGVzdCB1bmRlciB2YWxncmluZC4KCjIwMTAtMTItMzEgMTY6MTc6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogcmVlbmFibGUgdGhlIHNlbmRpbmcgb2YgYSBtZXNzYWdlIGZvciB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg0MTIKCjIwMTEtMDEtMDIgMTM6Mjk6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSAgZ2F1ZGllZmZlY3RzOiBkaXN0IHB5dGhvbiBleGFtcGxlcwoKMjAxMC0xMi0zMSAwMDowOTowOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogVXBkYXRlIEZTRiBhZGRyZXNzCgoyMDEwLTEyLTMxIDAwOjA3OjI4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9nc3QtYXBwLW1ha2VyOgoJICBBZGQgZ3N0LWFwcC1tYWtlcgoKMjAxMC0xMi0zMSAwMDoxMjo1MyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJICBkdG1mOiBGaXggYnVpbGQgZmFpbHVyZSBjYXVzZWQgYnkgcHJldmlvdXMgY29tbWl0CgoyMDEwLTEyLTMwIDE5OjIxOjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y21zLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkgIGNvZzogVXNlIG1hdGgtY29tcGF0LmgKCjIwMTAtMTItMzAgMTk6MjE6MjEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeCBjOTktaXNtCgoyMDEwLTEyLTMwIDE5OjEyOjIzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJICBsZWdhY3lyZXNhbXBsZTogVXNlIG1hdGgtY29tcGF0IGhlYWRlcgoKMjAxMC0xMi0zMCAxOTowMzo1NCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJICBjaGFuZ2UgTV9QSSB0byBHX1BJCgoyMDEwLTEyLTMwIDE5OjAzOjE0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9mcmVpMHIvZnJlaTByLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmg6CgkgIGZyZWkwcjogY29udmVydCB1aW50MzJfdCB0byBndWludDMyCgoyMDEwLTEyLTMwIDE4OjIwOjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZjogYnVpbGQgZml4ZXMgZm9yIE1TVkMKCSAgVXNlIGdpbnQxNiBhbmQgR19QSS4KCjIwMTAtMTItMzAgMTg6MTk6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSAgZHRtZjogcmVpbmRlbnQKCjIwMTAtMTItMzAgMTg6MDI6MDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiB1c2UgZ19hc2NpaV9zdHJjYXNlY21wKCkKCjIwMTAtMTItMzEgMDE6Mzg6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9zZWxlY3Rvci8uZ2l0aWdub3JlOgoJKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmg6CgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuaDoKCSogZ3N0L3NlbGVjdG9yL2dzdHNlbGVjdG9yLW1hcnNoYWwubGlzdDoKCSogZ3N0L3NlbGVjdG9yL2dzdHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9zZWxlY3Rvci52Y3Byb2o6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zZWxlY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3dpdGNoLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJICBzZWxlY3RvcjogbW92ZSBpbnB1dC1zZWxlY3RvciBhbmQgb3V0cHV0LXNlbGVjdG9yIHRvIGNvcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDMwNgoKMjAxMC0xMi0zMCAwMToxNzoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzCgoyMDEwLTEyLTMwIDAxOjE0OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmFsdmUuYzoKCSAgdmFsdmU6IG1vdmUgdmFsdmUgZWxlbWVudC9wbHVnaW4gdG8gY29yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwODA4CgoyMDEwLTEyLTI5IDEzOjE4OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogVmFyaW91cyBsZWFrIGZpeGVzCgkgIFZhcmlvdXMgbGVhayBmaXhlcyBhbmQgc29tZSBjb2RlIHJlb3JnYW5pemF0aW9uCgoyMDEwLTEyLTI3IDE3OjE4OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvLmdpdGlnbm9yZToKCSAgY2FtZXJhYmluMjogZXhhbXBsZTogZ2l0aWdub3JlIGNhcHR1cmVkIGZpbGVzCgoyMDEwLTEyLTI2IDIwOjUyOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogSW1wbGVtZW50IHZpZGVvIGNhcHR1cmUgcmVuZWdvdGlhdGUKCSAgSGFuZGxlIGNhcHMgcmVuZWdvdGlhdGlvbiBmcm9tIGNhbWVyYWJpbjIncyByZW5lZ290aWF0ZSBldmVudAoJICB0byBhbGxvdyB2aWRlbyBjYXB0dXJlIHRvIGJlIGRvbmUgd2l0aCB0aGUgdXNlcidzIHJlcXVlc3RlZAoJICByZXNvbHV0aW9uLgoKMjAxMC0xMi0yNiAyMDo0Nzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCB0ZXN0cyBmb3IgdmlkZW8gY2FwdHVyZQoJICBBZGQgYSB0ZXN0IGZvciBjYXB0dXJpbmcgbXVsdGlwbGUgdmlkZW9zIHdpdGggZGlmZmVyZW50IHJlc29sdXRpb25zCgkgIGluIGEgc2VxdWVuY2UuCgoyMDEwLTEyLTI2IDIwOjM1OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IHJlbmVnb3RpYXRlIGV2ZW50IHB1c2hpbmcKCSAgVXNlIGEgaGFjayB0byBtYWtlIHRoZSBldmVudCB1cHN0cmVhbSB0byByZWFjaCB0aGUgY2FtZXJhIHNvdXJjZQoJICBpbnN0ZWFkIG9mIGdvaW5nIGRvd25zdHJlYW0gYW5kIGJlaW5nIHVzZWxlc3MuCgkgIFRoaXMgd2FzIGFscmVhZHkgZml4ZWQgdGhpcyB3YXkgZm9yIGltYWdlIHNyY3BhZCByZW5lZ290aWF0ZSBhbmQKCSAgdmlkZW8gc3JjcGFkIHdhcyBsZWZ0IHVuZml4ZWQuCgoyMDEwLTEyLTI0IDA5OjEwOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZWZhY3RvciBpbnRlcm5hbCBwaXBlbGluZQoJICBJbnN0ZWFkIG9mIGxpbmtpbmcgMyBzcmMgcGFkcyBmcm9tIHRlZSB0byB0aGUgZ2hvc3RwYWRzLCB1c2UgMgoJICBzcmNwYWRzIGFuZCBhZGQgYW4gb3V0cHV0LXNlbGVjdG9yIHRvIGNvbXBsZXRlbHkgc3BsaXQgY2FwcwoJICBuZWdvdGlhdGlvbiBvZiB2aWRlby9pbWFnZSBtb2Rlcy4gSSBkb24ndCB0aGluayB0aGVyZSBpcyBhbgoJICB1c2UgY2FzZSB0aGF0IHdvdWxkIHJlcXVpcmUgaW1hZ2UgYW5kIHZpZGVvIHBhZHMgdG8gYmUgdXNlZAoJICBhdCB0aGUgc2FtZSB0aW1lLgoKMjAxMC0xMi0yMiAxNDo0MjoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIC1wdGhyZWFkIGZvciB4dmlkIGNvbmZpZ3VyZSBjaGVjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3ODIzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzczMDgKCjIwMTAtMTItMjggMTc6MTY6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBtb2RlIGNhbiBiZSBvbmx5IGltYWdlIG9yIHZpZGVvCgkgIE5vIG5lZWQgdG8gY2hlY2sgaWYgY2FtZXJhYmluIGlzIG9uIHZpZGVvIG1vZGUgaWYgaXQgaXNuJ3Qgb24KCSAgaW1hZ2UgbW9kZSBhcyB0aG9zZSBhcmUgdGhlIG9ubHkgMiBtb2RlcyBhdmFpbGFibGUuCgkgIEFkZGl0aW9uYWxseSwgaWYgbW9kZSBnZXRzIGNvcnJ1cHRlZCBzb21laG93IGFuZCB3b3VsZCBiZSBuZWl0aGVyCgkgIGltYWdlIG9yIHZpZGVvIGl0IHdvdWxkIGNhdXNlIGEgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNpbmcgc29tZQoJICBsaW5lcyBvZiBjb2RlIGJlbG93LCBzbyB0aGlzIGlzIHNhZmVyLgoKMjAxMC0xMi0yOCAxNjo1NToxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTAtMTItMjcgMTY6NTg6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2YuYzoKCSAgYXNmbXV4OiBGaXggcGx1Z2luIHBhY2thZ2UgbmFtZS9vcmlnaW4KCjIwMTAtMTItMjcgMTM6MjA6MjggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMTItMjcgMTE6MTA6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogY2xlYW4tdXA6IGFsbG9jYXRlIGZsYXQgYXJyYXkgb2YgcmVjdGFuZ2xlcwoJICBpbnN0ZWFkIG9mIGFuIGFycmF5IG9mIHBvaW50ZXJzIHRvIGluZGl2aWR1YWxseS1hbGxvY2F0ZWQgcmVjdGFuZ2xlcy4KCjIwMTAtMTItMjMgMTg6MTg6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJICB0aWdlcjogZmFsbGJhY2sgb24gaGVhZGVycyBpbiBjYXBzIHRvIGluaXRpYWxpemUgaWYgaGVhZGVycyBhcmUgYWJzZW50CgkgIFdoZW4gVG90ZW0gc3dpdGNoZXMgc3RyZWFtcywgdGlnZXIgd2lsbCBiZSByZXNldCwgYW5kIHN0YXJ0IHJlY2VpdmluZwoJICBidWZmZXJzIGZyb20gdGhlIG1pZGRsZSBvZiB0aGUgc3RyZWFtLCB3aXRob3V0IGJlaW5nIHNlbnQgaGVhZGVycy4KCSAgSWYgdGhpcyBoYXBwZW5zLCB0cnkgdG8gZ2V0IGhlYWRlcnMgZnJvbSB0aGUgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODAwNAoKMjAxMC0xMi0yNiAxNzoxOTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJICBwaG90b2dyYXBoeTogZml4IHR5cG8gaW4gcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMTAtMTItMjYgMTc6MDc6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgZXhhbXBsZXM6IGZpeCBndGszIGNvZGUgcGF0aCBpbiBjYW1lcmFiaW4gZXhhbXBsZSBhcHAKCSAgSnVzdCBhZGQgcm93cyB2aWEgdGhlIGNvbWJvYm94J3MgbW9kZWwsIHdoaWNoIHNob3VsZCB3b3JrIHdpdGgKCSAgYm90aCBndGsyIGFuZCBndGszLCBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBndGtfY29tYm9fYm94X2FwcGVuZF90ZXh0KCkKCSAgY29udmVuaWVuY2UgQVBJICh3aGljaCB3YXMgcmVuYW1lZCB0byBndGtfY29tYm9fYm94X3RleHRfYXBwZW5kX3RleHQoKSkuCgkgIEZpeGVzIGNvbXBpbGF0aW9uIGFnYWluc3QgZ3RrMyAodGhlcmUgd2FzIGEgdHlwbyBpbiB0aGUgbGlzdCBzdG9yZQoJICB2YXJpYWJsZSBuYW1lLCBzcG90dGVkIGJ5IE1hcmt1cyBWYXJ0aWFpbmVuKS4KCjIwMTAtMTItMjUgMTc6MDE6MTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGlmIHNlZWtpbmcgd2l0aCBHU1RfU0VFS19UWVBFX0NVUiwgZmx1c2ggZXZlcnl0aGluZwoJICBXZSBkb24ndCBrbm93IGhvdyB0byBjYWxjdWxhdGUgdGhlIHRhcmdldCwgc28gYmUgc2FmZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMDkyOQoKMjAxMC0xMi0yNSAxNjo0NDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IG1vdmUgI2lmICNlbHNlIGJpdHMgb3V0c2lkZSBvZiBtYWNybwoJICBTb21lIGNvbXBpbGVycy9wcmVwcm9jZXNzb3JzIGRvbid0IGxpa2UgaWYvZWxzZS9lbmRpZiBwcmVwcm9jZXNzb3IKCSAgZGlyZWN0aXZlcyBpbiB0aGUgbWlkZGxlIG9mIG1hY3Jvcy4KCjIwMTAtMTItMjQgMTQ6NDQ6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBjbGVhbi11cDogbWVyZ2UgcHJpdmF0ZSBkYXRhIHN0cnVjdCBpbnRvIG1haW4gc3RydWN0CgoyMDEwLTEyLTI0IDE0OjI0OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGNsZWFuLXVwOiBkdmIgc3ViIHBhcnNlciBoZWxwZXIgZG9lc24ndCBuZWVkIHRvIGJlIGEgR09iamVjdAoKMjAxMC0wMS0yNSAxODoyNjoyNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSAgdGlnZXI6IEdpdmUgdGlnZXIgcHJpbWFyeSByYW5rCgoyMDEwLTAxLTI1IDE4OjU4OjM4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSAga2F0ZTogYWRkIHNlZ21lbnQgdHJhY2tpbmcsIGFuZCB2YXJpb3VzIG90aGVyIGltcHJvdmVtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAwOTI5CgoyMDEwLTEyLTI0IDEwOjE1OjQ2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSAgbXZlOiBkbyBub3QgdXNlIHRoZSBwYWQgYnVmZmVyIGFsbG9jYXRpb24gZnVuY3Rpb25zIGluIGRlbXV4ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc5MjkKCjIwMTAtMTItMjQgMDk6NTA6MDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IGRvIG5vdCB1c2UgdGhlIHBhZCBidWZmZXIgYWxsb2NhdGlvbiBmdW5jdGlvbnMgaW4gZGVtdXhlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzkzMQoKMjAxMC0xMi0yMyAyMjowMTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHRyeSBoYXJkZXIgdG8gbWFrZSBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIG1vZGlmeWluZwoJICBBbHNvLCBjaGVjayBidWZmZXIgZm9yIE5VTEwtbmVzcyBiZWZvcmUgZGVyZWZlcmVuY2luZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzgyNAoKMjAxMC0xMi0yMiAxMTo0NDo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IE5vdGlmeSBlYXJsaWVyCgkgIE5vdGlmeSBhYm91dCByZWFkeS1mb3ItY2FwdHVyZSBjaGFuZ2VzIGVhcmxpZXIgdG8gYWxsb3cgY2FtZXJhYmluMgoJICB0byBkbyB0aGUgdmlkZW9iaW4gc3RhdGUgc3dpdGNoaW5nIGJlZm9yZSB0aGUgY2FwdHVyZSBzdGFydHMuCgoyMDEwLTEyLTIxIDE5OjIyOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIHZpZGVvcmVjb3JkaW5nYmluOiBGaXggbGVha3MKCjIwMTAtMTItMjEgMTE6MDQ6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBSZWZhY3RvciB0ZXN0cwoJICBSZWZhY3RvciB0ZXN0cyBjYXNlIHNvIHRoYXQgdGhlIHNhbWUgdGVzdHMgY2FuIGJlIHJ1biBmb3IgZGlmZmVyZW50CgkgIGNhbWVyYSBzb3VyY2VzLgoKMjAxMC0xMi0yMCAxODozMDozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogZ2l0aWdub3JlIGNhbWVyYWJpbjIgdGVzdHMKCSAgQWRkcyBtb3JlIGNhbWVyYWJpbjIgZWxlbWVudHMgdGVzdHMgdG8gZ2l0aWdub3JlCgoyMDEwLTEyLTIwIDE4OjA5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQWRkIGNvbnZlcnRlcnMgZm9yIHZpZXdmaW5kZXIgYnJhbmNoCgkgIFZpZXdmaW5kZXIgYnJhbmNoIHNob3VsZCBoYXZlIGNvbnZlcnRlcnMgYXMgaXQgaGFzIHRvIHdvcmsKCSAgYWx3YXlzIGFueXdheS4KCjIwMTAtMTItMjAgMTQ6MjA6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IEFkZCBhbm90aGVyIHRlc3QgY2FzZQoJICBBZGRzIGEgdGVzdCBjYXNlIHRvIGNoZWNrIGlmIGEgc2VxdWVuY2Ugb2YgYnVmZmVycyB3aXRoIGRpZmZlcmVudAoJICBjYXBzIGNhbiBiZSBwdXNoZWQgdG8gaW1hZ2VjYXB0dXJlYmluIGFuZCBzYXZlZCBjb3JyZWN0bHkKCjIwMTAtMTItMjAgMDI6NTk6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZXdmaW5kZXJiaW4uYzoKCSAgdmlld2ZpbmRlcmJpbjogQWRkIGJhc2ljIGNoZWNrIHRlc3QKCSAgQWRkcyBtaW5pbXVtIGNoZWNrIHRlc3QuIEl0J3Mgbm90IGEgdmVyeSB1c2VmdWwgdGVzdCwgYnV0IGF0IGxlYXN0CgkgIGl0IGFsbG93cyB1cyB0byBydW4gaXQgdW5kZXIgdmFsZ3JpbmQgYW5kIGNoZWNrIGZvciBsZWFrcyBhdXRvbWF0aWNhbGx5CgoyMDEwLTEyLTIwIDAyOjU4OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgdmlld2ZpbmRlcmJpbjogUmVtb3ZlIGxlYWtzCgkgIFJlbW92aW5nIHZhcmlvdXMgbGVha3MgZnJvbSB2aWV3ZmluZGVyYmluCgoyMDEwLTEyLTE3IDIzOjA2OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogbW9yZSBsb2dzCgoyMDEwLTEyLTE3IDIzOjA2OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogU21hbGwgdGVzdHMgdXBkYXRlCgkgIEluY3JlYXNlcyB0aW1lb3V0IHZhbHVlIHNvIHRoYXQgdGVzdHMgd29uJ3QgZmFpbCB3aXRoIGZ1bGwKCSAgZGVidWcgb3V0cHV0LgoJICBBbHNvIHJlbW92ZXMgYnVmZmVyIGFsbG9jIGZyb20gdmlkZW90ZXN0c3JjIGFzIHRoaXMgZmVhdHVyZQoJICBpc24ndCByZWFkeSBvbiBjYW1lcmFiaW4yCgoyMDEwLTEyLTE0IDIyOjA2OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkcyB0ZXN0cyBmb3IgaW1hZ2UgY2FwdHVyZSB3aXRoIGRpZmZlcmVudCBjYXBzCgkgIEFkZHMgYSB0ZXN0IHRoYXQgdHJpZXMgc3VjZXNzaXZlIGNhcHR1cmVzIHdpdGggZGlmZmVyZW50IGNhcHMKCjIwMTAtMTItMTYgMDA6NDA6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEhhbmRsZSBjYW1lcmFiaW4yIGN1c3RvbSByZW5lZ290aWF0ZSBldmVudHMKCjIwMTAtMTItMTUgMTQ6MDU6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBVc2UgY3VzdG9tIHJlbmVnb3RpYXRlIGV2ZW50CgkgIEFkZHMgYSBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnQgdGhhdCBpcyBwdXNoZWQgdG8gdGhlIGNhbWVyYXNyYyBwYWQKCSAgdGhhdCBuZWVkcyByZW5lZ290aWF0aW9uIGR1ZSB0byB0aGUgdXNlciBzZWxlY3RpbmcgYSBuZXcgY2FwdHVyZQoJICBjYXBzIGZvciB0aGF0IHBhZC4KCSAgVGhpcyBpcyBhIHdheSBvZiBub3RpZnlpbmcgdGhlIHNvdXJjZSB0aGF0IGl0IHNob3VsZCB1cGRhdGUgaXRzIGNhcHMsIGV2ZW4KCSAgaWYgaXQgZG9lc24ndCB1c2UgcGFkIGFsbG9jcy4KCjIwMTAtMTItMTYgMjI6NDk6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEFkZCBsb2NhbCBtb2RlCgoyMDEwLTEyLTE0IDE4OjQyOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkcyBwcm9wZXJ0aWVzIGZvciBjYXB0dXJlIGNhcHMKCSAgQWRkcyBwcm9wZXJ0aWVzIGZvciBzZWxlY3RpbmcgY2FwcyBmb3IgdmlkZW8gYW5kIGltYWdlIGNhcHR1cmVzCgoyMDEwLTEyLTE5IDE5OjQwOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgYmFzZWNhbWVyYWJpbnNyYzogRml4IG1ha2VmaWxlIGJ1aWxkaW5nIG9yZGVyCgkgIGJhc2VjYW1lcmFiaW5zcmMgbXVzdCBiZSBidWlsdCBhZnRlciBwaG90b2dyYXBoeSBpbnRlcmZhY2UKCSAgYXMgaXQgZGVwZW5kcyBvbiBpdC4KCjIwMTAtMTItMTAgMTc6NDU6NDAgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgYWJyZXZpYXRpb25zIGZyb20gaW1hZ2VjYXB0dXJlYmluCgoyMDEwLTEyLTE2IDA4OjQ3OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogQWRkIHNvbWUgbW9yZSBsb2dnaW5nCgkgIEFkZHMgc29tZSBtb3JlIGxvZ2dpbmcgYW5kIGFsd2F5cyBhc3N1bWUgY2FwdHVyZSBoYXMgc3RhcnRlZCBiZWZvcmUKCSAgc3RhcnRfY2FwdHVyZSBpcyBjYWxsZWQuIFRoaXMgaGVscHMgb24gaW1hZ2UgY2FwdHVyZXMgdGhhdCBtaWdodAoJICBjYWxsIGZpbmlzaF9jYXB0dXJlIGRpcmVjdGx5IGZyb20gc3RhcnRfY2FwdHVyZSBvciBiZWZvcmUgc3RhcnRfY2FwdHVyZQoJICBmaW5pc2hlcy4KCjIwMTAtMTItMTUgMjI6MzU6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogTW9yZSBjbGVhbnVwCgkgIFJlbW92ZSBvbGQgbGVnYWN5IGNvZGUgY29waWVkIGZyb20gY2FtZXJhYmluKDEpIHRoYXQgc2hvdWxkIGJlIGhhbmRsZWQKCSAgYnkgY2FwcyBuZWdvdGlhdGlvbiBvbiBjYW1lcmFiaW4yCgoyMDEwLTEyLTE1IDE0OjA3OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBSZW1vdmUgd2FpdF9mb3JfcHJlcGFyYSB2YXJpYWJsZSB0aGF0IHdhc24ndCBiZWluZyB1c2VkCgoyMDEwLTEyLTE0IDE3OjIzOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogUmVuYW1lIHY0bDJjYW1lcmFzcmMgdG8gd3JhcHBlcmNhbWVyYWJpbnNyYwoJICBVc2UgYSBiZXR0ZXIgbmFtZSBmb3IgdGhlIGVsZW1lbnQgdGhhdCB3cmFwcyBzaW5nbGUgcGFkIHNyYyBlbGVtZW50CgkgIGludG8gYSAzcGFkIHNvdXJjZSByZXF1aXJlZCBieSBjYW1lcmFiaW4yLgoKMjAxMC0xMi0xNCAxNjo1OTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgdjRsMmNhbWVyYXNyYzogcmVtb3ZlIHZpZGVvIGZpbHRlciBwcm9wZXJ0eSBjb2RlCgkgIFJlbW92ZXMgc29tZSB1bnVzZWQgY3VzdG9tIHZpZGVvIGZpbHRlciBlbGVtZW50IHByb3BlcnR5IGNvZGUKCjIwMTAtMTItMTYgMTA6NTE6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICB2aWV3ZmluZGVyYmluOiBGaXggdmlkZW8tc2luayBwcm9wZXJ0eSBhZ2FpbgoJICBBdm9pZCBzd2l0Y2hpbmcgdGhlIGVsZW1lbnQgb24gdGhlIHNldF9wcm9wZXJ0eSBmdW5jdGlvbiwgaW5zdGVhZCB3YWl0CgkgIGZvciB0aGUgbmV4dCBOVUxMIC0+IFJFQURZIHRyYW5zaXRpb24uCgoyMDEwLTEyLTE0IDE0OjQ4OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIHZpZGVvdGVzdHNyYyBvbiB0aGUgdGVzdHMKCSAgVXNlIHZpZGVvdGVzdHNyYyB0byBhdm9pZCBvcGVubmluZyB0aGUgY2FtZXJhIGRldmljZSBvbiB0aGUgdGVzdHMuCgoyMDEwLTEyLTE0IDE0OjQzOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgdjRsMmNhbWVyYXNyYzogYWRkIHZpZGVvLXNyYyBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSBzcmMgZWxlbWVudCB0byBiZSB1c2VkIGludGVybmFsbHkKCSAgb24gdjRsMmNhbWVyYXNyYy4gWWVhaCwgSSBrbm93LCB0aGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBiZXR0ZXIKCSAgbmFtZS4KCjIwMTAtMTItMTMgMTc6NTY6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgdGVzdCBmb3Igc3VwcG9ydGVkIGNhcHMgcHJvcGVydGllcwoJICBBZGRzIHRlc3RzIGZvciBjaGVja2luZyB0aGF0IHRoZSBzdXBwb3J0ZWQgY2FwcyBwcm9wZXJ0aWVzIHdvcmsKCSAgYXMgZXhwZWN0ZWQgKHVzaW5nIHRoZSByZXNwZWN0aXZlIHBhZHMgZ2V0IGNhcHMgZnVuY3Rpb24pCgoyMDEwLTEyLTE0IDA4OjQ0OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL1BPUlRJTkc6CgkgIGNhbWVyYWJpbjI6IGFkZHMgUE9SVElORyBkb2N1bWVudAoJICBBZGRzIGEgUE9SVElORyBkb2N1bWVudCB0byBleHBsYWluIHRoZSBkaWZmZXJlbmNlcyBmcm9tCgkgIGNhbWVyYWJpbiB0byBjYW1lcmFiaW4yIGFuZCBoZWxwIGFwcGxpY2F0aW9uIGRldmVsb3BlcnMgb24KCSAgcG9ydGluZyBmcm9tIG9uZSB0byBhbm90aGVyLgoKMjAxMC0xMi0xMyAxOTozNjo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE1vdmUgYmFzZWNhbWVyYXNyYyB0byBnc3QtbGlicwoJICBNb3ZlIHRoZSBiYXNlIGNhbWVyYSBzcmMgY2xhc3MgdG8gZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMgdG8KCSAgYWxsb3cgaXQgdG8gYmUgaW5jbHVkZWQgZnJvbSB0aGUgdGVzdHMuCgoyMDEwLTEyLTE0IDE0OjI4OjQ5ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JlY29yZGluZ2Jpbi5jOgoJICBjYW1lcmFiaW4yOiBhZGQgdmlkZW9yZWNvcmRpbmdiaW46OnZpZGVvLW11eGVyIHByb3BlcnR5CgoyMDEwLTEyLTE0IDEyOjIxOjU3ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JlY29yZGluZ2Jpbi5jOgoJICBjYW1lcmFiaW4yOiBhZGQgdmlkZW9yZWNvcmRpbmdiaW46OnZpZGVvLWVuY29kZXIgcHJvcGVydHkKCjIwMTAtMTItMTQgMDk6NTg6MzUgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZSBhYmJyZXZpYXRpb25zIGZyb20gdmlkZW9yZWNvcmRpbmdiaW4KCjIwMTAtMTItMTQgMTA6NDg6NTYgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiBpbWFnZWNhcHR1cmViaW46IHJlbGVhc2Ugb2JqZWN0cyBhbmQgbWVtb3J5IGFsbG9jYXRpb25zCgoyMDEwLTEyLTEzIDE2OjM2OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgY2FtZXJhLXNyYyBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSBjYW1lcmEgc291cmNlIGVsZW1lbnQgdG8gYmUgdXNlZC4KCSAgQ2hhbmdpbmcgb25seSBoYXBwZW5zIG9uIHRoZSBuZXh0IE5VTEwtPlJFQURZIHRyYW5zaXRpb24KCjIwMTAtMTItMTMgMTE6NTM6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlbmFtZSB2YXJpYWJsZXMKCSAgVXNlIGJldHRlciBuYW1lIGZvciB0aGUgdmFyaWFibGVzLCBtYWtpbmcgdGhlIGNvZGUgY2xlYXJlci4gQWxzbwoJICBrZWVwIGEgcmVmIGZvciBzb21lIGludGVybmFsIGVsZW1lbnRzIHRvIGF2b2lkIGZldGNoaW5nIHRoZW0KCSAgYnkgbmFtZSB3aGVuIG5lZWRlZCBsYXRlci4KCjIwMTAtMTItMTIgMjM6MDM6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBwcm9wZXJ0aWVzIGZvciBzdXBwb3J0ZWQgY2FwdHVyZSBjYXBzCgkgIEFkZHMgMiBwcm9wZXJ0eSBmb3IgZ2V0dGluZyB0aGUgc3VwcG9ydGVkIGltYWdlL3ZpZGVvIGNhcHR1cmUKCSAgY2FwcyBmcm9tIHRoZSBjYW1lcmEgc291cmNlLgoKMjAxMC0xMi0xMiAyMDo0NjoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogUHV0IGVudW1zIGluc2lkZSB0aGVpciBjbGFzc2VzIC5jCgkgIFJlbW92ZSBnbG9iYWwgbGlzdCBvZiBwcm9wZXJ0aWVzJyBlbnVtcyBhbmQgcHV0IHRoZW0KCSAgaW5zaWRlIHRoZWlyIGNsYXNzZXMgLmMKCjIwMTAtMTItMTIgMTk6MzM6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB2aWV3ZmluZGVyYmluOiBGaXhlcyB0byB2aWRlby1zaW5rIGhhbmRsaW5nCgkgIEhhbmRsZSB2aWRlby1zaW5rIG1vcmUgY2FyZWZ1bGx5LCBjaGVja2luZyBpZiBpdCBzaG91bGQKCSAgYmUgYWxyZWFkeSBhZGRlZCB0byB0aGUgYmluLCBhbmQgcmVtb3Zpbmcgb2xkIG9uZXMgd2hlbgoJICByZXBsYWNpbmcuCgoyMDEwLTEyLTEzIDE2OjI4OjU4ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiBhZGQgaW1hZ2VjYXB0dXJlYmluOjppbWFnZS1tdXhlciBwcm9wZXJ0eQoKMjAxMC0xMi0xMyAxMjowODoyMiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogYWRkIGltYWdlY2FwdHVyZWJpbjo6aW1hZ2UtZW5jb2RlciBwcm9wZXJ0eQoKMjAxMC0xMi0xMCAxNzo0NTo0MCArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZSBhYnJldmlhdGlvbnMgZnJvbSBpbWFnZWNhcHR1cmViaW4KCjIwMTAtMTItMTAgMTI6MDg6NDggLTAzMDAgIEFuZHLDqSBEaWViIE1hcnRpbnMgPGFuZHJlLmRpZWJAZ21haWwuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGltcGxlbWVudCB2aWV3ZmluZGVyYmluOjp2aWRlby1zaW5rIHByb3BlcnR5IHRvIG92ZXJyaWRlIGRlZmF1bHQgdmlkZW8gb3V0cHV0CgoyMDEwLTEyLTA5IDE0OjEzOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogTWFrZSBjb25zdHJ1Y3RfcGlwZWxpbmUgb3B0aW9uYWwKCSAgQ29uc3RydWN0IHBpcGVsaW5lIHNob3VsZCBiZSBvcHRpb25hbC4gU3ViY2xhc3NlcyB0aGF0IGRvbid0CgkgIGhhdmUgaW50ZXJuYWwgZWxlbWVudHMgZG9uJ3QgbmVlZCBpdC4KCjIwMTAtMTItMDkgMTI6MjM6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiB3cml0ZSBtb3JlIGRldGFpbHMgb24gdGhlIGFwaSBkb2NzCgoyMDEwLTEyLTA5IDEyOjIyOjI2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IHVzZSB0aGUgZW51bSB0eXBlIGZvciBtb2RlCgoyMDEwLTEyLTA5IDEyOjIxOjE2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IGNvbW1lbnQgY2xlYW51cHMKCjIwMTAtMTItMjIgMjE6NDQ6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBlbnN1cmUgYnVmZmVyIG1ldGFkYXRhIGlzIHdyaXRhYmxlIGJlZm9yZSBtb2RpZnlpbmcgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzgyNAoKMjAxMC0xMi0yMiAxODoxMzowNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJICBpZDNtdXg6IFNldCB0byBHU1RfUkFOS19QUklNQVJZCgkgIFdlIHdhbnQgaXQgdG8gdGFrZSBwcmVjZWRlbmNlIG92ZXIgYW55IG90aGVyIGlkMyBmb3JtYXR0ZXIuCgoyMDEwLTEyLTIxIDE4OjAxOjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRml4IHNvbWUgbW9yZSBsZWFrcyBhbmQgcmVvcmdhbml6ZSB1bnJlZiBjb2RlCgoyMDEwLTEyLTIwIDE1OjMzOjI4ICswMTAwICBiZW5qYW1pbiBnYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbj4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogQXZvaWQgc29tZSBsZWFrcyBpbiBhdXRvY29udmVydAoJICB1bnJlZiBzaW5rIGFuZCBzcmMgcGFkIGFmdGVyIGdzdF9wYWRfYnlfZGlyZWN0aW9uIGNhbGxzIHVucmVmCgkgIGVsZW1lbnQgaWYgZ3N0X2F1dG9fY29udmVydF9hY3RpdmF0ZV9lbGVtZW50IGZhaWxlZC4KCSAgU2VlIGJ1ZyAjNjM3NTUzLgoKMjAxMC0xMi0yMSAxNzowMzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSAgYXNmbXV4OiBGaXggYnVmZmVyIGxlYWsgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMC0xMi0yMCAwNzoxOTowNCAtMDgwMCAgU2FsZWVtIEFiZHVscmFzb29sIDxjb21wbmVyZEBjb21wbmVyZC5vcmc+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBjYW1lcmFiaW46IGZpeCBmb3IgbGF0ZXN0IEdUSysgQVBJIGNoYW5nZXMKCjIwMTAtMTItMjAgMTc6NDc6MjkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxNjk0NjJhIHRvIDQ2NDQ1YWQKCjIwMTAtMTItMjAgMTE6MDY6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IGNhcHMgbGVha3MKCSAgRml4IHNvbWUgY2FwcyBsZWFrcyBvbiB1bml0IHRlc3RzCgoyMDEwLTEyLTIwIDA5OjM3OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICBqaWZtdXg6IEZpeCBsZWFrcyBvbiBjaGVjayB0ZXN0CgkgIEZpeCBsZWFrcyBpbiBqaWZtdXggY2hlY2sgdGVzdAoKMjAxMC0xMi0yMCAxMzo1MTowMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSAgcGhvdG9ncmFwaHk6IHVzZSBhIGZsYWdzIHR5cGUgaW5zdGVhZCBvZiB0aGUgdWludAoJICBBbHNvIHVzZSAwIGFzIGRlZmF1bHQgYW5kIGxldCB0aGUgaW1wbGVtZW50YXRpb24gc2V0IHNvbWV0aGluZyB0aGF0IHRoZXkgc3VwcG9ydC4KCjIwMTAtMTItMjAgMTE6MTQ6NDkgKzAyMDAgIEh1IEdhbmcgPGdhbmcuYS5odUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogYWRkIG1pc3NpbmcgcHJvcGVydHkgYW5kIGNhYmFiaWxpdHkgZmxhZyBmb3Igbm9pc2UgcmVkdWN0aW9uCgoyMDEwLTEyLTE5IDE3OjIzOjI0ICswNTMwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJICB0ZXN0czogRml4IGxlYWsgaW4gYXV0b2NvbnZlcnQgdGVzdAoKMjAxMC0xMi0xOSAxNzoxNjoxMCArMDUzMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBVc2UgZ3N0X2NhcHNfY2FuX2ludGVyc2VjdCgpCgoyMDEwLTEyLTE5IDEyOjUzOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRnJlZSBBdG9tSW5mbyBzdHJ1Y3RzCgoyMDEwLTEyLTE5IDEyOjUwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRnJlZSB0YWcgc3RyaW5nIGFmdGVyIHVzZQoKMjAxMC0xMi0xOSAxMjoxMjoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRhZ3NjaGVja2luZzogRml4IHNvbWUgbW9yZSBtZW1vcnkgbGVha3MKCjIwMTAtMTItMTkgMTI6MTI6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIGltYWdlY2FwdHVyZWJpbjogRG9uJ3QgbGVhayBtZXNzYWdlIGluIHRoZSB1bml0IHRlc3QKCjIwMTAtMTItMTkgMTI6MDk6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGltYWdlY2FwdHVyZWJpbjogRG9uJ3QgbGVhayBwYWQgYW5kIHNpbmsKCjIwMTAtMTItMTkgMTI6MDU6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGltYWdlY2FwdHVyZWJpbjogRG9uJ3QgbGVhayBwYWQgdGVtcGxhdGUgY3JlYXRlZCBmcm9tIHN0YXRpYyBwYWQgdGVtcGxhdGUKCjIwMTAtMTItMTkgMTI6MDM6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGltYWdlY2FwdHVyZWJpbjogRG9uJ3QgbGVhayBsb2NhdGlvbiBzdHJpbmcKCjIwMTAtMTItMTkgMTI6MDA6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogRG9uJ3QgbGVhayB0YWdsaXN0CgoyMDEwLTEyLTE5IDExOjM4OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkgIGF1dG92aWRlb2NvbnZlcnQ6IERvbid0IGxlYWsgcGFkIHRlbXBsYXRlcyBjcmVhdGVkIGZyb20gc3RhdGljIHBhZCB0ZW1wbGF0ZXMKCjIwMTAtMTItMTkgMTE6MjA6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSAgYXV0b3ZpZGVvY29udmVydDogQWRkIGF1dG9jb252ZXJ0IGNoaWxkIGJlZm9yZSBjaGFpbmluZyB1cCB0byBwYXJlbnQgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uCgkgIC4uLmFuZCByZW1vdmUvdW5saW5rIGF1dG9jb252ZXJ0IGNoaWxkIHdoZW4gZ29pbmcgYmFjayB0byBOVUxMLgoKMjAxMC0xMi0xOSAxMToxOTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgc3RhdGVzOiBJZ25vcmUgbW9yZSB2ZHBhdSBlbGVtZW50cyBpbiB0aGUgZ2VuZXJpYyBzdGF0ZXMgdGVzdAoKMjAxMC0xMi0xOSAxMToxNzo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb2xvcnNwYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG92aWRlb2NvbnZlcnQuYzoKCSAgYXV0b3ZpZGVvY29udmVydDogUmVuYW1lIGFuZCBhZGp1c3QgdW5pdCB0ZXN0IHRvbwoKMjAxMC0xMi0xOCAxMjo0ODo0MiAtMDgwMCAgTGVvIFNpbmdlciA8bGVvLnNpbmdlckBsaWdvLm9yZz4KCgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogZml4IGNvbXBpbGVyIHdhcm5pbmc6IHJlZHVuZGFudCBkZWNsYXJhdGlvbiBvZiAncGFyZW50X2NsYXNzJwoJICBHU1RfQk9JTEVSUExBVEVfRlVMTCBkZWNsYXJlcyBwYXJlbnRfY2xhc3MgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzUzMgoKMjAxMC0xMi0xNyAxOTo0MToyNSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhbGxvdyB6ZXJvIGR1cmF0aW9uIHRyYWNrcwoKMjAxMC0xMi0xNiAxNTozMToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiB1c2UgR1NUX0xPRyBldGMuIGZvciBsb2dnaW5nCgkgIFRoZSBkdmJzdWIgcm91dGluZXMgd2VyZSBvcmlnaW5hbGx5IGRlc2lnbmVkIGFzIGEgbWluaSBsaWIgd2l0aCBhCgkgIGxvZyBjYWxsYmFjayAod2hpY2ggZnJvbSB0aGUgbG9va3Mgb2YgaXQgaW4gb3VyIGNhc2Ugd291bGQgYWx3YXlzCgkgIGJlIGNhbGxlZCBhbmQgYWx3YXlzIGFzc2VtYmxlIHRoZSBzdHJpbmcgZXZlbiB3aXRoIGRlYnVnIG91dHB1dAoJICBkaXNhYmxlZCkuIFNvbWUgb2YgdGhlc2UgZGVidWcgc3RhdGVtZW50cyBjYW4gcHJvYmFibHkgYmUgcmVtb3ZlZAoJICBvciBjbGVhbmVkIHVwIHNvbWUgbW9yZS4KCjIwMTAtMTItMTYgMDA6MTk6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZmZtcGVnLWNvbG9yc3BhY2UuaDoKCSAgZHZic3Vib3ZlcmxheTogcmVtb3ZlIHNvbWUgdW51c2VkIGRlZmluZXMKCjIwMTAtMTItMTYgMDA6MTM6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggYXRvbWljIGFjY2VzcwoKMjAxMC0xMi0xNiAxNTozMzo0NSArMDAwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggcmVuZGVyaW5nIGFydGVmYWN0cwoJICBJbml0aWFsaXplIHNvdXJjZSB4IHBvc2l0aW9uIGZvciBvZGQgaGVpZ2h0IHNwZWNpYWwgY2FzZS4KCjIwMTAtMTItMTYgMTE6Mjk6MDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBUaGUgZW5hYmxlIHByb3BlcnR5IGlzIGEgYm9vbGVhbiBhbmQgbm90IGFuIGludGVnZXIKCjIwMTAtMTItMTYgMDk6NTY6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbG9yc3BhY2UuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb2xvcnNwYWNlLmg6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0Lmg6CgkqIGdzdC9hdXRvY29udmVydC9wbHVnaW4uYzoKCSAgYXV0b2NvbnZlcnQ6IFJlbmFtZSBhdXRvY29sb3JzcGFjZSB0byBhdXRvdmlkZW9jb252ZXJ0CgkgIFRoaXMgZG9lc24ndCBqdXN0IGNvbnZlcnQgYmV0d2VlbiBjb2xvciBzcGFjZXMuCgoyMDEwLTEyLTE1IDEyOjQ1OjM4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9iYXNlLmM6CgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZmlsdGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb3Npbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlYXVkaW9zaW5rOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlYXVkaW9zcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VydHBkZXBheWxvYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VydHBwYXlsb2FkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlc2luazoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXRyYW5zZm9ybToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvY2RkYWJhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2VsZW1lbnQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2dvYmplY3Q6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3B1c2hzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3RhZ2RlbXV4OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb3Npbms6CgkqIHRvb2xzL2dvYmplY3QuYzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dzdGF1ZGlvZmlsdGVyLmM6CgkqIHRvb2xzL2dzdGF1ZGlvc2luay5jOgoJKiB0b29scy9nc3RhdWRpb3NyYy5jOgoJKiB0b29scy9nc3RiYXNlYXVkaW9zaW5rLmM6CgkqIHRvb2xzL2dzdGJhc2VhdWRpb3NyYy5jOgoJKiB0b29scy9nc3RiYXNlcnRwZGVwYXlsb2FkLmM6CgkqIHRvb2xzL2dzdGJhc2VydHBwYXlsb2FkLmM6CgkqIHRvb2xzL2dzdGJhc2VzaW5rLmM6CgkqIHRvb2xzL2dzdGJhc2VzcmMuYzoKCSogdG9vbHMvZ3N0YmFzZXRyYW5zZm9ybS5jOgoJKiB0b29scy9nc3RjZGRhYmFzZXNyYy5jOgoJKiB0b29scy9nc3RlbGVtZW50LmM6CgkqIHRvb2xzL2dzdHB1c2hzcmMuYzoKCSogdG9vbHMvZ3N0dGFnZGVtdXguYzoKCSogdG9vbHMvZ3N0dmlkZW9zaW5rLmM6CgkqIHRvb2xzL3NpbmtwYWQtc2ltcGxlLmM6CgkqIHRvb2xzL3NpbmtwYWQuYzoKCSogdG9vbHMvc3JjcGFkLXNpbXBsZS5jOgoJKiB0b29scy9zcmNwYWQuYzoKCSAgZWxlbWVudC1tYWtlcjogQ2xlYW4gdXAgZGlyZWN0b3J5CgoyMDEwLTEyLTE1IDIxOjI4OjA2ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogQWRkIGZyYW1lcmF0ZSB0byB0aGUgc2luayBjYXBzCgkgIEZpeGVzIGJ1ZyAjNjM3MjI0LgoKMjAxMC0xMi0xNSAyMToxOTo1NSArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb2xvcnNwYWNlLmM6CgkgIGF1dG9jb2xvcnNwYWNlOiBBZGQgdW5pdCB0ZXN0CgoyMDEwLTEyLTE1IDIxOjE0OjM4ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29sb3JzcGFjZS5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbG9yc3BhY2UuaDoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9wbHVnaW4uYzoKCSAgYXV0b2NvbG9yc3BhY2U6IEFkZCBhdXRvY29udmVydCBiYXNlZCB2aWRlbyBmb3JtYXQgY29udmVydCBlbGVtZW50CgkgIEZpeGVzIGJ1ZyAjNjM2MTA2LgoKMjAxMC0xMi0xNSAyMToxMToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlbmFtZSBEVkIgc3VidGl0bGluZyBtZWRpYSB0eXBlIHRvIHN1YnBpY3R1cmUveC1kdmIKCjIwMTAtMTItMTUgMjE6MTE6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogUmVuYW1lIERWQiBzdWJ0aXRsaW5nIG1lZGlhIHR5cGUgdG8gc3VicGljdHVyZS94LWR2YgoKMjAxMC0xMi0xNSAyMDo1NDozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IERvbid0IGRyYXcgYW55dGhpbmcgb24gdGhlIHZpZGVvIGlmIHRoZSBlbmFibGUgcHJvcGVydHkgaXMgc2V0IHRvIEZBTFNFCgoyMDEwLTEyLTE1IDIwOjUzOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogQWRkICNkZWZpbmVzIGZvciB0aGUgcHJvcGVydHkgZGVmYXVsdCB2YWx1ZXMKCjIwMTAtMTItMTUgMjA6NTE6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBVc2UgZ19hdG9taWNfaW50X2dldCgpIGZvciByZWFkaW5nIHRoZSBtYXhfcGFnZV90aW1lb3V0IGZpZWxkCgoyMDEwLTEyLTE1IDIwOjQ5OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IE1hcmsgYXJyYXkgc3RhdGljIGNvbnN0IGFuZCB1c2UgR19OX0VMRU1FTlRTIGluc3RlYWQgb2Ygc2l6ZW9mCgoyMDEwLTEyLTE1IDE0OjM5OjU2ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhZGQgREVTQ19EVkJfU1VCVElUTElORyBkZXNjcmlwdG9yIGZvciBsYW5ndWFnZSBwYXJzaW5nCgoyMDEwLTEyLTE1IDE0OjIzOjU4ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBlbmFibGUgZ2F0aGVyX3BlcyBvbmx5IGZvciBEVkIgc3VidGl0bGUgcHJpdmF0ZSBzdHJlYW1zCgoyMDEwLTEyLTE0IDE0OjM0OjU2ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHVzZSBhdG9taWMgaW5zdHJ1Y3Rpb25zIHRvIHNldC9nZXQgZW5hYmxlIHByb3BlcnR5CgoyMDEwLTEyLTE0IDE0OjI4OjQ1ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogYWRkIHByb3BlcnR5IHRvIGxpbWl0IHBhZ2VfdGltZV9vdXQgdG8gYSBzZXRhYmxlIG1heGltdW0KCjIwMTAtMTItMTQgMTE6MTE6MDggKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogaW1wbGVtZW50IGRpc3BsYXkgZGVmaW5pdGlvbiBzZWdtZW50IHN1YnRpdGxlIHdpbmRvd3MKCSAgc2ltcGxpZmllcyBzdWJ0aXRsZSBzY2FsaW5nIGluIGJsaXRfaTQyMCgpCgoyMDEwLTEyLTExIDE3OjI1OjI5ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHNjYWxlIHN1YnRpdGxlcyBhY2NvcmRpbmcgdG8gdGhlIGRpc3BsYXkgc2l6ZQoJICBEaXNwbGF5IHNpemUgaXMgZWl0aGVyIHRyYW5zbWl0dGVkIGluIHRoZSBkaXNwbGF5IGRlZmluaXRpb24gc2VnbWVudCBvcgoJICBpbXBsaWNpdGx5IGRlZmluZWQgdG8gNzIweDU3Ni4gVGhlIHN1YnRpdGxlIHdpbmRvdyBpbmZvcm1hdGlvbiBhbHNvIHByZXNlbnQgaW4KCSAgdGhlIGRpc3BsYXkgZGVmaW5pdGlvbiBzZWdtZW50IGlzIG5vdCB5ZXQgdXNlZC4KCjIwMTAtMTItMTEgMTc6MTA6MjUgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJICBkdmJzdWJvdmVybGF5OiBpbXBsZW1lbnQgZGlzcGxheSBkZWZpbml0aW9uIHNlZ21lbnQgcGFyc2luZwoKMjAxMC0xMi0xMCAxMjoyNzo1NCArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggbHVtYSBzdHJpZGUgZm9yIHNjYWxlZCBzdWJ0aXRsZXMgKGRpc3BsYXkgd2lkdGggIT0gd2lkdGgpCgoyMDEwLTEyLTE1IDE2OjQ4OjE1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmdvdmVybGF5OiBEb24ndCBzZXQgdWludCBvbiBhbiBpbnQgcHJvcGVydHkKCjIwMTAtMTItMTUgMTQ6NTY6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMjA3NDJhZSB0byAxNjk0NjJhCgoyMDEwLTEyLTE0IDE5OjAzOjA5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nc3RhdWRpb2ZpbHRlci5jOgoJKiB0b29scy9nc3RhdWRpb3NpbmsuYzoKCSogdG9vbHMvZ3N0YXVkaW9zcmMuYzoKCSogdG9vbHMvZ3N0YmFzZWF1ZGlvc2luay5jOgoJKiB0b29scy9nc3RiYXNlYXVkaW9zcmMuYzoKCSogdG9vbHMvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJKiB0b29scy9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJKiB0b29scy9nc3RiYXNlc2luay5jOgoJKiB0b29scy9nc3RiYXNlc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2V0cmFuc2Zvcm0uYzoKCSogdG9vbHMvZ3N0Y2RkYWJhc2VzcmMuYzoKCSogdG9vbHMvZ3N0ZWxlbWVudC5jOgoJKiB0b29scy9nc3RwdXNoc3JjLmM6CgkqIHRvb2xzL2dzdHRhZ2RlbXV4LmM6CgkqIHRvb2xzL2dzdHZpZGVvc2luay5jOgoJKiB0b29scy9zaW5rcGFkLXNpbXBsZS5jOgoJKiB0b29scy9zaW5rcGFkLmM6CgkqIHRvb2xzL3NyY3BhZC1zaW1wbGUuYzoKCSogdG9vbHMvc3JjcGFkLmM6CgkgIGVsZW1lbnQtbWFrZXI6IGltcHJvdmUgZ2VuZXJhdGlvbiBvZiBzZXZlcmFsIGNsYXNzZXMKCSAgQmV0dGVyIGNyZWF0aW9uIG9mIHBhZHMsIHRlc3QgYW5kIGZpeCBtYW55IG90aGVyIGNsYXNzZXMuICBNb3N0CgkgIGNsYXNzZXMgd29yayBub3csIGFsdGhvdWdoIG1pZ2h0IG5vdCBjcmVhdGUgZnVuY3Rpb25hbCBlbGVtZW50cy4KCjIwMTAtMTItMTMgMjM6MzI6MzAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5oOgoJICB5NG1kZWM6IEFkZCB5NG1kZWMKCSAgRmVlbCB0aGUgeTRtIGxvdmUuICBJdCBzZWVrcy4gIEl0IHdvcmtzIGluIHBpdGl2aS4KCjIwMTAtMTItMTMgMjM6MTU6MDUgKzAwMDAgIEZyYW5jaXMgUmFtbWVsb28gPGZyYW5jaXMucmFtbWVsb29AZ21haWwuY29tPgoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSAgZ2Rpc2NyZWVuY2Fwc3JjOiBmaXggbWVtb3J5IGxlYWsKCSAgU3RydWN0dXJlIG1lbWJlcnMgb2YgSUNPTklORk8gc3RydWN0IGZpbGxlZCBieSBHZXRJY29uSW5mbygpIG11c3QKCSAgYmUgZGVsZXRlZCB3aGVuIG5vIGxvbmdlciBuZWVkZWQgYWNjb3JkaW5nIHRvIHRoZSBBUEkgcmVmZXJlbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNDI4CgoyMDEwLTEyLTEzIDE2OjIzOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGF2b2lkIGxlYWtpbmcgdGFnIGV2ZW50CgoyMDEwLTEyLTEzIDE1OjE3OjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHJlbGF4IGJzaWQgY2hlY2tpbmcKCSAgLi4uIHRvIHRoZSB3aWRlc3QgcG9zc2libGUgc3BlYyBpbnRlcnByZXRhdGlvbi4KCSAgRml4ZXMgIzYzNzA2Mi4KCjIwMTAtMTItMTMgMTY6MjM6NDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDExYmNjOCB0byAyMDc0MmFlCgoyMDEwLTEyLTEyIDIzOjM0OjAyICswMDAwICBNYXR0aGV3IElmZSA8bWF0dGhldy5pZmVAdWtmYXN0LmNvLnVrPgoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICByZmJzcmM6IGZhaWwgbW9yZSBncmFjZWZ1bGx5IGlmIHNvdXJjZSBnZXRzIGRpc2Nvbm5lY3RlZCBvciBnZW9tZXRyeSBjaGFuZ2VzCgkgIERvbid0IGdldCBjYXVnaHQgaW4gYW4gaW5maW5pdGUgbG9vcCBpZiB0aGUgc291cmNlIGdldHMgZGlzY29ubmVjdGVkIGFuZCBhbHNvCgkgIHN1cHBvcnQgZ3JhY2VmdWxseSBmYWlsaW5nIHVwb24gZGV0ZWN0aW5nIHRoZSBmcmFtZSBnZW9tZXRyeSBoYXMgaW5jcmVhc2VkCgkgIChyYXRoZXIgdGhhbiBzZWdmYXVsdGluZykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUzOTcKCjIwMTAtMTItMTIgMjI6MTM6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYXZvaWQgbGVha2luZyBjb252ZXJ0ZWQgY29tbWVudCBzdHJpbmcKCjIwMTAtMTItMTIgMTI6MDE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBzc2ltOiBTZXQgY2xhc3NpZmljYXRpb24gdG8gRmlsdGVyL0FuYWx5emVyL1ZpZGVvIGluc3RlYWQgb2YgRmlsdGVyL0NvbnZlcnRlci9WaWRlbwoJICBGaXhlcyBidWcgIzYzNjEwOS4KCjIwMTAtMTItMTIgMDI6MjQ6MDAgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvYnVybi1leGFtcGxlLnB5OgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSAgZ2F1ZGllZmZlY3RzOiBBdm9pZCBkaXZpZGUgYnkgMCBpbiBidXJuIGVsZW1lbnQKCjIwMTAtMTItMTIgMDI6MTY6NDkgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IERlZmVyIHB1c2hpbmcgdGFnIHVwZGF0ZXMgdW50aWwgc3RyZWFtaW5nLgoJICBQdXNoIHRhZy90aXRsZSBpbmZvIHVwZGF0ZXMgaW4gdGhlIHN0cmVhbWluZyB0aHJlYWQsIGF2b2lkaW5nCgkgIHNwdXJpb3VzIGxvc3NlcyBvZiB0aGUgZG93bnN0cmVhbSBldmVudHMgd2hlbiBmbHVzaGluZy4KCSAgU2VlOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk0MjIyCgoyMDEwLTExLTE2IDE3OjE4OjMzICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEF0dGVtcHQgdG8gdXNlIGdsaWIgbGFuZ3VhZ2Ugc2V0dGluZyBmb3IgRFZEIG1lbnVzL2F1ZGlvCgoyMDEwLTExLTE2IDE3OjA5OjA2ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpeCBzaWxseSB0eXBvIGluIGJ1dHRvbiBzdGF0ZSB0cmFja2luZy4KCjIwMTAtMTItMTAgMDA6NTg6NTggKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBvbmx5IGVucXVldWUgYnVmZmVycyBpbiB0aGUgVmlkZW9Ub29sYm94IGNhbGxiYWNrcwoJICBUaGVzZSBjYWxsYmFja3MgbWF5IGZpcmUgZnJvbSBhbnkgdGhyZWFkLCBoZW5jZSB3ZSBzaG91bGQgb25seSBlbnF1ZXVlCgkgIGJ1ZmZlcnMgYW5kIGxldCB0aGUgc3RyZWFtaW5nIHRocmVhZCB0YWtlIGNhcmUgb2YgdGhlIHJlc3QgYXMgc29vbiBhcwoJICB0aGUgYmxvY2tpbmcgZW5jb2RlIG9yIGRlY29kZSBvcGVyYXRpb24gaGFzIGZpbmlzaGVkLgoKMjAxMC0xMS0xOSAxNTo1Mzo1NSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5oOgoJICBhcHBsZW1lZGlhOiBicmluZyBiYWNrIExlb3BhcmQgY29tcGF0aWJpbGl0eQoJICBBdCBsZWFzdCBhcyBmYXIgYXMgbWlvdmlkZW9zcmMgaXMgY29uY2VybmVkLiBUdXJucyBvdXQgdGhhdCBDb3JlVmlkZW8ncwoJICBDVlBpeGVsQnVmZmVyR2V0SU9TdXJmYWNlIGlzIG5vdCBwcmVzZW50IGluIExlb3BhcmQncyB2ZXJzaW9uIG9mIENvcmVWaWRlby4KCSAgV2Ugc29sdmUgdGhpcyBieSBtYWtpbmcgaXQgcG9zc2libGUgZm9yIHN5bWJvbHMgdG8gYmUgbWFya2VkIGFzIG9wdGlvbmFsLgoKMjAxMC0xMS0yOSAxMzo0NzoxMSArMDEwMCAgQ2hyaXN0aWFuIEJlcmVudHNlbiA8Y2hyaXN0aWFuLmJlcmVudHNlbkBjaXNjby5jb20+CgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGZpeCBmcmFtZXJhdGUgZnJhY3Rpb24gcmFuZ2UgbWFwcGluZwoJICBNaW4gYW5kIG1heCBtYXkgYmUgc2xpZ2h0bHkgZGlmZmVyZW50IGJ1dCBjb21wcmVzcyB0byB0aGUgc2FtZSBmcmFjdGlvbi4KCjIwMTAtMTItMDkgMTg6MDY6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSAgamFzcGVyZGVjOiBkb24ndCBmYWlsIGhhcmQgb24gZGVjb2RpbmcgZXJyb3IKCSAgZG9uJ3QgcG9zdCBhbiBlcnJvciBhbmQgcmV0dXJuIEdTVF9GTE9XX0VSUk9SIG9uIGEgc2ltcGxlIGRlY29kaW5nIGVycm9yLiBXZSBjYW4KCSAganVzdCByZXN1bWUgYW5kIGNvbnRpbnVlIGRlY29kaW5nIHRoZSBuZXh0IGltYWdlLgoKMjAxMC0xMi0wOSAxMTo1NDoxNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogcmVzZXQgdGhlIHF1ZXVlIGNvbmRpdGlvbiB0byBOT19GUkFNRVMgaW4gdW5sb2NrU3RvcC4KCSAgRml4ZXMgYSBzZWdmYXVsdCBpbiBjcmVhdGU6IHdoZW4gZ29pbmcgUExBWUlORyAtPiBQQVVTRUQgLT4gUExBWUlORy4KCjIwMTAtMTItMDkgMTE6MDQ6MTkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IHJ1biB0aGUgbWFpblJ1bkxvb3AgZm9yIGEgd2hpbGUgaWYgbm90IHJ1bm5pbmcuCgkgIFFUQ2FwdHVyZVNlc3Npb246OmFkZElucHV0IGFuZCBRVENhcHR1cmVTZXNzaW9uOjphZGRPdXRwdXQgY2FsbAoJICBOU09iamVjdDo6cGVyZm9ybVNlbGVjdG9yT25NYWluVGhyZWFkIGludGVybmFsbHkgc28gdGhleSBuZWVkIHRoZSBtYWluUnVuTG9vcCB0bwoJICBydW4gYXQgbGVhc3QgZm9yIGEgd2hpbGUgdG8gY29tcGxldGUuCgoyMDEwLTEyLTA3IDE5OjQwOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogUmVtb3ZlIGdob3N0cGFkcwoJICBSZW1vdmUgZ2hvc3QgcGFkcyBmcm9tIGJhc2VjYW1lcmFzcmMuIERpZmZlcmVudCBpbXBsZW1lbnRhdGlvbnMKCSAgb2YgY2FtZXJhIHNvdXJjZXMgbWlnaHQgbm90IHVzZSBnaG9zdHBhZHMgYW5kIHVzZSBkZWZhdWx0IHBhZHMuCgoyMDEwLTEyLTA3IDE5OjEyOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IFJlbW92aW5nIHVudW5zZWQgbWV0aG9kcwoJICBSZW1vdmUgb25lIHVudXNlZCBtZXRob2QgX2ZpbmlzaF9pbWFnZV9jYXB0dXJlKCkKCjIwMTAtMTItMDYgMTE6MDU6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW4yOiBPbmx5IHJ1biB0ZXN0cyBpZiBleHBlcmltZW50YWwgaXMgZW5hYmxlZAoJICBPbmx5IHJ1biBjYW1lcmFiaW4yIHRlc3RzIGFuZCBidWlsZCBleGFtcGxlcyBpZiBleHBlcmltZW50YWwKCSAgcGx1Z2lucyBhcmUgZW5hYmxlZAoKMjAxMC0xMi0wNiAxMDowNjozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogQ2xlYW51cAoJICBSZW1vdmluZyBjb21tZW50ZWQgY29kZQoKMjAxMC0xMi0wNSAxMToxODowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IE1vdmUgc3RhcnQvc3RvcCBjYXB0dXJlIHNpZ25hbHMgdG8gYmFzZWNhbWVyYXNyYwoJICBNb3ZlIHN0YXJ0L3N0b3Agc2lnbmFscyBhbmQgcmVhZHktZm9yLWNhcHR1cmUgdG8gYmFzZWNhbWVyYXNyYwoJICBhcyB0aGlzIHNob3VsZCBiZSBwcmVzZW50IG9uIGFsbCBjYW1lcmEgc291cmNlcwoKMjAxMC0xMi0wNCAxMDoxNTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IEFkZCBtb2RlIHByb3BlcnR5CgkgIE1vdmUgbW9kZSBwcm9wZXJ0eSBmcm9tIHY0bDJjYW1lcmFzcmMgdG8gYmFzZWNhbWVyYXNyYywgYXMgYWxsCgkgIGNhbWVyYSBzb3VyY2VzIHNob3VsZCBoYW5kbGUgaXQuCgoyMDEwLTEyLTA0IDAwOjI3OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZXNldCBhbGwgZWxlbWVudHMgb24gdmlkZW8gcmVjb3JkaW5nIGJyYW5jaCBiZWZvcmUgY2FwdHVyZQoJICBXZSBuZWVkIHRvIHJlc2V0IHRoZSBlbGVtZW50cyBmcm9tIHRoZSB2aWRlbyByZWNvcmRpbmcgYnJhbmNoLCBpbmNsdWRpbmcKCSAgdGhlIHF1ZXVlIGFuZCBjYXBzZmlsdGVyIGluIG9yZGVyIHRvIGNsZWFyIHRoZSBlb3Mgc3RhdGUgYW5kIGFjdGl2YXRlCgkgIHRoZSBwYWRzLgoJICBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHJlY29yZCBtdWx0aXBsZSB2aWRlb3Mgd2l0aCBjYW1lcmFiaW4yIGluIGEKCSAgc2VxdWVuY2UsIG90aGVyd2lzZSB0aGUgc291cmNlIHdvdWxkIGdldCBhIHVuZXhwZWN0ZWQgcmV0dXJuIGFuZAoJICBwdXNoIEVPUywgc3RvcHBpbmcgdGhlIHdob2xlIHBpcGVsaW5lLgoKMjAxMC0xMi0wMyAxMjoxMzowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCB0ZXN0cyBjYXB0dXJlIGxvY2F0aW9uIGNyZWF0aW9uCgkgIEZpeGVzIGNhcHR1cmUgbG9jYXRpb24gY3JlYXRpb24gdG8gdXNlIG11bHRpZmlsZXNpbmsgbG9jYXRpb24KCSAgbGlrZSBzdHJpbmdzLiBFLmcuIHVzaW5nIGNhcHR1cmVfJWQgaW5zdGVhZCBvZiBjYXB0dXJlXzAgdG8gbGV0CgkgIGNhbWVyYWJpbjIgaGFuZGxlIHRoZSAlZCByZXBsYWNpbmcKCjIwMTAtMTItMDMgMTI6MTI6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IE1vcmUgZGVidWcgbG9ncwoJICBTcHJpbmtsZSBzb21lIG1vcmUgZGVidWdnaW5nIGxvZ3MKCjIwMTAtMTItMDMgMTI6MTE6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogUHJpbnQgbW9yZSBpbmZvCgkgIEFkZCBzb21lIHByaW50aW5nIGZvciBlcnJvci9lb3MgY2FzZXMuCgoyMDEwLTEyLTAyIDAzOjQ0OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgY2FtZXJhYmluMjogVmFyaW91cyBmaXhlcwoJICBBcyB2aWRlbyByZWNvcmRpbmcgYmluJ3Mgc3RhdGUgaXMgbG9ja2VkLCB3ZSBzaG91bGQgYWx3YXlzCgkgIHJlbWVtYmVyIG9mIHNldHRpbmcgaXQgdG8gTlVMTCB3aGVuIGNhbWVyYWJpbjIgZ29lcyB0byBOVUxMCgkgIEJlIG1vcmUgY2FyZWZ1bCB3aGVuIHVzaW5nIGVsZW1lbnRzIHRoYXQgbWlnaHQgbm90CgkgIGhhdmUgYmVlbiBjcmVhdGVkIHlldAoJICBBbmQgZG8gbm90IHNldCBsb2NhdGlvbiBwcm9wZXJ0eSByZWN1cnNpdmVseSBvbiB2aWRlb3JlY29yZGluZ2JpbgoKMjAxMC0xMi0wMiAwMzowODo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgdGVzdHMgZm9yIGNhbWVyYWJpbjIKCSAgQWRkcyBzb21lIGJhc2ljIHRlc3RzIGZvciBjYW1lcmFiaW4yCgoyMDEwLTEyLTAyIDAyOjIxOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IGFkZHMgdGVzdHMgZm9yIGVsZW1lbnRzCgkgIEFkZHMgYmFzaWMgdGVzdHMgZm9yIGJvdGggaW1hZ2VjYXB0dXJlYmluIGFuZCBmb3IKCSAgdmlkZW9yZWNvcmRpbmdiaW4gZWxlbWVudHMKCjIwMTAtMTItMDIgMDE6MzM6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICB2aWV3ZmluZGVyYmluOiBJbXByb3ZlIGVsZW1lbnRzIGNyZWF0aW9uCgkgIEJlIG1vcmUgY2FyZWZ1bCB3aXRoIGNsZWFudXAgb2YgZWxlbWVudHMuIEFsc28gYWRkIHNvbWUgbG9ncyBhbmQKCSAgaW1wcm92ZSBkb2NzIGEgbGl0dGxlLgoKMjAxMC0xMi0wMiAwMDoxOTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgdW51c2VkIGNvZGUKCSAgR2VuZXJhbCBjbGVhbnVwLCByZW1vdmluZyB1bnVzZWQgYml0cwoKMjAxMC0xMS0zMCAyMDoxMzoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmg6CgkgIGNhbWVyYWJpbjI6IGFkZHMgbG9jYXRpb24gcHJvcGVydHkKCSAgQWRkcyBhIGxvY2F0aW9uIHByb3BlcnR5IHRvIGVuYWJsZSBhcHBsaWNhdGlvbnMgdG8gc2VsZWN0CgkgIHRoZSBjYXB0dXJlZCBmaWxlcyBuYW1lcy4gTG9jYXRpb25zIGFyZSBoYW5kbGVkIGp1c3QgbGlrZQoJICBtdWx0aWZpbGVzaW5rIG9uZXMKCSAgQWxzbyBkaXNhYmxlcyAtV2Zvcm1hdC1ub25saXRlcmFsIHRvIGFsbG93IHRvIHVzZSBub24tbGl0ZXJhbHMKCSAgb24gZ19zdHJkdXBfcHJpbnRmIG9uIGNhbWVyYWJpbiBhbmQgZ2VuZXJhdGUgYSBzZXF1ZW5jZSBvZgoJICBsb2NhdGlvbnMgZm9yIGNhcHR1cmVzLgoKMjAxMC0xMS0zMCAyMDoxNTo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCBzZXQvZ2V0IHByb3BlcnR5IGZ1bmN0aW9uIG5hbWVzCgkgIEFkZCBtb3JlIGNvbnNpc3RlbmN5IHRvIHRoZSBmdW5jdGlvbiBuYW1lcyBieSB1c2luZwoJICBnc3RfY2FtZXJhX2JpbiBhcyB0aGUgb3RoZXIgZnVuY3Rpb25zLgoKMjAxMC0xMS0zMCAxODoxOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogSGFuZGxlIHZpZGJpbiBzdGF0ZSBjaGFuZ2UgaW5kaXZpZHVhbGx5CgkgIEtlZXAgdmlkYmluIHN0YXRlIGxvY2tlZCB0byBhdm9pZCBpdCBnb2luZyB0byBwbGF5aW5nIHdpdGhvdXQKCSAgYmVpbmcgdXNlZCBhbmQgbGVhdmluZyBhbiBlbXB0eSBmaWxlIGNyZWF0ZWQuCgkgIENoZWNrIHRoZSBkb2NzIG9uIHRoZSBjb2RlIGZvciBkZXRhaWxzIG9uIHRoZSBoYW5kbGluZy4KCjIwMTAtMTEtMzAgMTE6NDA6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEtlZXAgaXQgdW5kZXIgLS1lbmFibGUtZXhwZXJpbWVudGFsCgkgIGNhbWVyYWJpbjIgaXMgc3RpbGwgdW5kZXIgaGVhdnkgZGV2ZWxvcG1lbnQsIGFjdGl2YXRlIGl0IG9ubHkgaWYKCSAgdGhlIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBmbGFnIGlzIG9uLgoJICBBbHNvIGFkZCBhIG5vdGUgdG8gdGhlIGRvY3MuCgoyMDEwLTExLTMwIDExOjA2OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgdjRsMmNhbWVyYXNyYzogQWRkIHJlYWR5LWZvci1jYXB0dXJlIHByb3BlcnR5CgkgIEFkZHMgcHJvcGVydHkgdGhhdCBpbmZvcm1zIGlmIHY0bDJjYW1lcmFzcmMgaXMgYXZhaWxhYmxlCgkgIGZvciBzdGFydGluZyBhIG5ldyBjYXB0dXJlLgoJICBJdCBpcyB1c2VmdWwgZm9yIGFwcGxpY2F0aW9ucyB0byBrbm93ICh2aWEgZGVlcC1ub3RpZnkpIHdoZW4gdGhlCgkgIHByb3BlcnR5IGNoYW5nZXMgYW5kIGEgbmV3IGNhcHR1cmUgaXMgcG9zc2libGUuIE5vdGUsIGhvd2V2ZXIsIHRoYXQKCSAgc3RhcnRpbmcgYSBuZXcgY2FwdHVyZSBmcm9tIHRoZSBub3RpZnkgY2FsbGJhY2sgd2lsbCBjYXVzZSBhIGRlYWRsb2NrLgoKMjAxMC0xMS0zMCAwOToyODo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGNhbWVyYWJpbjI6IFVwZGF0ZSB2NGwyY2FtZXJhc3JjIHRvIHVzZSBzdGFydC9zdG9wIHNpZ25hbHMKCSAgUmVtb3ZlcyB0aGUgb2xkIGxvZ2ljIGZvciB2NGwyY2FtZXJhc3JjIHRoYXQgdXNlZCB0aGUgbW9kZQoJICBwcm9wZXJ0eSBzd2l0Y2hpbmcgdG8gc3RhcnQvc3RvcCBjYXB0dXJlcyB0byBtYWtlIGl0IGlkZW50aWNhbAoJICB0byBjYW1lcmFiaW4yIGJlaGF2aW9yIGFuZCB0byBhbGxvdyB0aGUgZnV0dXJlIGFkZGl0aW9uIG9mCgkgIHBhdXNpbmcgYSB2aWRlbyByZWNvcmRpbmcuCgkgIFRoaXMgYWxzbyByZW1vdmVzIHRoZSBNT0RFX1BSRVZJRVcgYXMgaXQgYmVjYW1lIHVzZWxlc3MuCgoyMDEwLTExLTI5IDE4OjUzOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBDbGVhbnVwIGNhcHR1cmluZyBmbGFnCgkgIENsZWFudXAgY2FwdHVyaW5nIGZsYWcgd2hlbiB0aGUgc291cmNlIHN3aXRjaGVzIGJhY2sgdG8gdGhlCgkgIHZpZXdmaW5kZXIgbW9kZQoKMjAxMC0xMS0yOSAxODoyNDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIHY0bDJjYW1lcmFzcmM6IFJlbW92ZSB1bm5lY2Vzc2FyeSBwYWRkaW5nCgoyMDEwLTExLTI5IDE1OjQ5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICB2NGwyY2FtZXJhc3JjOiBJbXBsZW1lbnQgdmlkZW8gY2FwdHVyZQoJICBJbXBsZW1lbnRzIHZpZGVvIGNhcHR1cmUgb24gdjRsMmNhbWVyYXNyYyBieSB1c2luZyB0aGUgbW9kZSBwcm9wZXJ0eSwKCSAgd2hlbiBtb2RlIGlzIHNldCB0byB2aWRlbywgdGhlIHBhZCBwcm9iZSBwdXNoZXMgYSBuZXcgc2VnbWVudAoJICBhbmQgc3RhcnRzIHB1c2hpbmcgYnVmZmVycyBvbiB0aGUgcGFkLCB3aGVuIGl0IHRoZSBwcm9wZXJ0eSBpcwoJICBzZW50IGJhY2sgdG8gcHJldmlldywgdGhlIHBhZCBwcm9iZSBwdXNoZXMgYW4gRU9TIGFuZCBzdG9wcwoJICBwdXNoaW5nIGJ1ZmZlcnMuCgkgIFRoaXMgaXMgY29udHJvbGxlZCBieSBhIFJlY29yZGluZyBTdGF0ZSB2YXJpYWJsZSwgdGhhdCBpcyBwcm90ZWN0ZWQKCSAgYnkgdGhlIEdTVF9PQkpFQ1RfTE9DSy4gSSBkb24ndCB0aGluayBsb2NraW5nIGZvciBldmVyeSBidWZmZXIgaXMKCSAgbmljZSwgc28gd2UgY291bGQgZmluZCBhbiBhbHRlcm5hdGl2ZSBsb2NrbGVzcyB3YXkgaGVyZS4KCjIwMTAtMTEtMjkgMTI6NTc6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICB2NGwyY2FtZXJhc3JjOiBGaXggaW1hZ2UgY2FwdHVyZQoJICBPbmNlIGEgaW1hZ2UgaXMgY2FwdHVyZWQsIHY0bDJjYW1lcmFzcmMgc2hvdWxkIHJldHVybiB0byB0aGUKCSAgcHJldmlldyBtb2RlIGFuZCBzdG9wIGNhcHR1cmluZy4KCjIwMTAtMTEtMjkgMTE6MzE6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBLZWVwIG1vZGUgZGVmaW5pdGlvbiBhdCAtZW51bSBmaWxlCgkgIFVzZSAnbW9kZScgZW51bSBkZWZpbml0aW9uIGZyb20gZ3N0Y2FtZXJhYmluLWVudW0gZmlsZSB0byBhdm9pZAoJICBjb25mbGljdHMgYmV0d2VlbiB2NGwyY2FtZXJhc3JjIGFuZCBnc3RjYW1lcmFiaW4yIG1vZGVzLgoJICBGb3Igbm93IHRoZXJlIGlzIGEgTU9ERV9QUkVWSUVXIHRoZXJlIHRoYXQgaXMgb25seSB1c2VkIG9uIHRoZQoJICBjYW1lcmFzcmMsIG5vdCBzdXJlIGlmIHdlIGFyZSBrZWVwaW5nIGl0IGF0IHRoZSBmdXR1cmUsIGJ1dCBmb3IKCSAgbm93IHRoaXMgd29ya3MuCgoyMDEwLTExLTI5IDEwOjQ2OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgdjRsMmNhbWVyYXNyYzogQWRkcyBtb2RlIHByb3BlcnR5CgkgIEFkZHMgbW9kZSBwcm9wZXJ0eSB0byB2NGwyY2FtZXJhc3JjCgoyMDEwLTExLTI5IDEwOjQ1OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIGRlYnVnIGNhdGVnb3JpZXMKCSAgQWRkaW5nIGRlYnVnIGNhdGVnb3JpZXMgdG8gdjRsMmNhbWVyYXNyYyBhbmQgY2FtZXJhYmluMiwgYWxzbwoJICByZW1vdmluZyBnZW5lcmljIGNhdGVnb3J5IGZyb20gY2FtZXJhYmluZ2VuZXJhbC4KCjIwMTAtMTEtMjYgMjM6NTU6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi51aToKCSAgZXhhbXBsZXM6IEFkZHMgY2FtZXJhYmluMiBleGFtcGxlCgkgIEFkZHMgZ3RrIGNhbWVyYWJpbjIgZXhhbXBsZSBhcHAKCjIwMTAtMTEtMjYgMTc6MjQ6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBiYXNpYyBwcm9wZXJ0eSBhbmQgc2lnbmFscwoJICBBZGRzIG1vZGUgcHJvcGVydHkgdG8gY2FtZXJhYmluMiwgYWxsb3dpbmcgdXNlcnMgdG8KCSAgc2VsZWN0IGJldHdlZW4gdmlkZW8gYW5kIHN0aWxscyBjYXB0dXJlLiBBbHNvIGFkZHMKCSAgc3RhcnQvc3RvcCBjYXB0dXJlIGFjdGlvbnMgdG8gdHJpZ2dlciBhbmQgc3RvcAoJICBjYXB0dXJpbmcKCjIwMTAtMTEtMjYgMTU6NTU6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIGNhbWVyYWJpbjI6IFNldCBmaWxlc2luaydzIGFzeW5jIHRvIEZBTFNFCgkgIEluIG9yZGVyIHRvIHByZXJvbGwsIGNhbWVyYWJpbjIgc2hvdWxkIGhhdmUgaXRzIGZpbGVzaW5rcyBpbgoJICB0aGUgaW1hZ2VjYXB0dXJlYmluIGFuZCB2aWRlb3JlY29yZGluZ2JpbiB3aXRoIGFzeW5jPUZBTFNFLgoKMjAxMC0xMS0yNiAxNDo1MTozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBiYXNpYyBlbGVtZW50cwoJICBJbnN0YW50aWF0aW5nIGFuZCBsaW5raW5nIGJhc2ljIGVsZW1lbnRzIG9uIGNhbWVyYWJpbjIKCSAgc28gaXQgYXQgbGVhc3Qgc2hvd3MgdGhlIHZpZXdmaW5kZXIgd2hlbiBydW5uaW5nLgoKMjAxMC0xMS0yNiAxMDoxNDo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJICBjYW1lcmFiaW4yOiBBZGRzIGEgc3R1YiBlbGVtZW50IGZvciBjYW1lcmFiaW4yCgkgIEFkZHMgY2FtZXJhYmluMiBlbGVtZW50LCBpdCBpcyBub3cgYSBwaWxlIG9mIHN0dWJzLgoKMjAxMC0xMS0yNSAyMjowNTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IHY0bDJjYW1lcmFzcmM6IFJlbW92ZSBwbGF0Zm9ybSBzcGVjaWZpYyBjb2RlCgkgIFJlbW92ZSBwbGF0Zm9ybSBzcGVjaWZpYyBjb2RlCgoyMDEwLTExLTI1IDIxOjQ5OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiBSZW1vdmluZyB1bmVlZGVkIHByb3BlcnRpZXMKCSAgUmVtb3ZpbmcgdW5lZWRlZCBhbmQgdW5yZWdpc3RlcmVkIHByb3BlcnRpZXMuCgoyMDEwLTExLTI1IDIwOjU1OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogdjRsMmNhbWVyYXNyYzogRml4IHByb3BlcnR5IHdhcm5pbmcKCSAgQXZvaWQgc2V0dGluZyBhIHByb3BlcnR5IHRoYXQgZG9lc24ndCBleGlzdC4KCjIwMTAtMTEtMjUgMjA6NTM6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGNhbWVyYWJpbjI6IHY0bDJjYW1lcmFzcmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgUmVtb3ZlZCB1bnVzZWQgbGVmdG92ZXIgdmFyaWFibGUKCjIwMTAtMTEtMjUgMTQ6NTc6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5oOgoJICBjYW1lcmFiaW4yOiBBZGRzIHZpZGVvIHJlY29yZGluZyBiaW4KCSAgQWRkcyBhbiBiaW4gdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgZW5jb2RpbmcgYW5kIHNhdmluZyB2aWRlbwoJICBzdHJlYW1zIHRvIGZpbGVzLgoJICBGb3Igbm93IGl0IGlzIHNpbXBseSBhIGZmbXBlZ2NvbG9yc3BhY2UgISB0aGVvcmFlbmMgISBvZ2dtdXggIQoJICBmaWxlc2luayBiaW4uCgkgIFN0aWxsIHVuY2FwYWJsZSBvZiByZWNvcmRpbmcgYXVkaW8uCgoyMDEwLTExLTI1IDEzOjAwOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgY2FtZXJhYmluMjogQWRkaW5nIHY0bDJjYW1lcmFzcmMgZnJvbSByb2JjbGFyaydzIGJyYW5jaAoJICBBZGRzIDMtcGFkIHY0bDIgY2FtZXJhIHNvdXJjZSBmcm9tIFJvYiBDbGFyaydzIGNhbWVyYWJpbgoJICBicmFuY2ggb24gaHR0cDovL2dpdG9yaW91cy5vcmcvcm9iY2xhcmstZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAxMC0xMS0yNCAyMDozMTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSAgY2FtZXJhYmluMjogQWRkcyBuZXcgaW1hZ2VjYXB0dXJlYmluCgkgIEFkZHMgYW4gYmluIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIGltYWdlIGNhcHR1cmVzLgoJICBJdCBpcyBhIHNpbXBsZSBmZm1wZWdjb2xvcnNwYWNlICEganBlZ2VuYyAhIGppZm11eCAhIG11bHRpZmlsZXNpbmsKCSAgZm9yIG5vdy4KCjIwMTAtMTEtMjQgMjA6MTU6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uaDoKCSAgY2FtZXJhYmluMjogTW92ZSBwbHVnaW4gaW5pdCB0byBhIHNlcGFyYXRlIGZpbGUKCSAgTW92ZXMgcGx1Z2luIGluaXQgdG8gZ3N0cGx1Z2luLmMgdG8gYWxsb3cgbXVsdGlwbGUKCSAgZWxlbWVudHMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcy4KCjIwMTAtMTEtMjQgMTc6Mjg6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkgIGNhbWVyYWJpbjI6IHZpZXdmaW5kZXJiaW46IEFkZHMgdmlld2ZpbmRlcmJpbiBlbGVtZW50CgkgIEFkZHMgdmlld2ZpbmRlciBiaW4gZWxlbWVudCwgb25lIG9mIHRoZSBtb2R1bGVzIG9mIGNhbWVyYWJpbjIKCSAgdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgZGlzcGxheWluZyB0aGUgdmlkZW8gZnJvbSB0aGUgY2FtZXJhLgoJICBGb3Igbm93IGl0IGlzIG9ubHkgYSBiaW4gd2l0aCBmZm1wZWdjb2xvcnNwYWNlICEgdmlkZW9zY2FsZSAhCgkgIGF1dG92aWRlb3NpbmsKCjIwMTAtMTItMDggMTk6MzY6NDggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1NYLgoKMjAxMC0xMS0yNCAxMjoyMjowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgb3V0cHV0LXNlbGVjdG9yLXRlc3Q6IGRvbid0IGhhcmRjb2RlIHZpZGVvc2lua3MgYW5kIHVzZSBtb3JlIGNvbG9yc3BhY2UgY29udi4KCSAgVXNlIGF1dG92aWRlb3NpbmsgaW5zdGVhZCBvZiBoYXJkY29kZWQgc2lua3MuIFVzZSBhbiBhZGRpdGlvbmFsIGNvbG9yc3BhY2UKCSAgY29udmVydGVyIGJldHdlZW4gdmlkZW90ZXN0c3JjIGFuZCB0aW1lb3ZlcmxheS4KCjIwMTAtMTItMDggMTU6MTg6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZS9iYXNlIGluc3RlYWQgb2Ygb2xkIGdpdAoKMjAxMC0xMi0wNyAxNTo0NDowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHJlLXVzZSBjbGVhbnVwKCkgaW4gZmluYWxpemUoKQoJICAuLi4gYW5kIGFsc28gZmF2b3IgZmluYWxpemUoKSByYXRoZXIgdGhhbiBkaXNwb3NlKCkuCgoyMDEwLTExLTE4IDEzOjM5OjIzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogU2V0IHNyY3BhZCBjYXBzIGJlZm9yZSBmb3J3YXJkaW5nIG5ld3NlZ21lbnQKCSAgVGhpcyBob2xkcyBhbGwgbmV3c2VnZW1lbnQgYW5kIG1vc3Qgb3RoZXIgZXZlbnRzIHRpbGwgdGhlcmUgaXMgZW5vdWdoCgkgIGRhdGEgdG8gc2V0IHNyY3BhZCBjYXBzLCBzbyB0aGF0IHRoZSBkb3duc3RyZWFtIGxpbmsgaXMgcHJvcGVybHkKCSAgbmVnb3RpYXRlZCBiZWZvcmUgZGF0YSBzdGFydHMgZmxvd2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTIwNAoKMjAxMC0xMS0xOCAyMzoyOTo1MSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IFVzZSBzaW5rcGFkIGNhcHMgYXMgYmFzZSBmb3Igc3JjcGFkIGNhcHMKCSAgVGhpcyB3YXksIHdlIGRvbid0IGxvc2UgYWRkaXRpb25hbCBmaWVsZHMgdGhhdCBjb21lIGZyb20gdXBzdHJlYW0gKGxpa2UKCSAgcHJvZmlsZS9sZXZlbCBmb3Igbm93KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTIwMgoKMjAxMC0xMi0wNyAxNToyMDoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IG1pbm9yIGZpeCB0byBlcnJvciBoYW5kbGluZwoJICBXZSB3ZXJlbid0IGhhbmRsaW5nIHVucGFyc2VhYmxlIGNvZGVjX2RhdGEgaW4gc29tZSBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTIwMgoKMjAxMC0xMi0wNyAxNzoxNzo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEltcGxlbWVudCBuZWFyZXN0IG5laWdoYm91ciBzY2FsaW5nIGZvciB0aGUgc3VicGljdHVyZXMKCSAgVGhpcyBiZWNvbWVzIG5lY2Vzc2FyeSB3aGVuIFNEVFYgc3VidGl0bGVzIGFyZSB1c2VkIGZvciBIRFRWIHZpZGVvcy4KCjIwMTAtMTItMDcgMTQ6NTU6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhbGlnbiBjb2RlIHdpdGggY29tbWVudAoKMjAxMC0xMi0wNyAxNDo1NToxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlLXVzZSByZXNldCgpIGluIGZpbmFsaXplKCkKCjIwMTAtMTEtMTcgMTk6MTY6MTIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBTZXQgc3JjcGFkIGNhcHMgYmVmb3JlIGZvcndhcmRpbmcgbmV3c2VnbWVudAoJICBUaGlzIGhvbGRzIGFsbCBuZXdzZWdlbWVudCBhbmQgbW9zdCBvdGhlciBldmVudHMgdGlsbCB0aGVyZSBpcyBlbm91Z2gKCSAgZGF0YSB0byBzZXQgc3JjcGFkIGNhcHMsIHNvIHRoYXQgdGhlIGRvd25zdHJlYW0gbGluayBpcyBwcm9wZXJseQoJICBuZWdvdGlhdGVkIGJlZm9yZSBkYXRhIHN0YXJ0cyBmbG93aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1MjA1CgoyMDEwLTEyLTA2IDE5OjAwOjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHRyeSB0byBjb252ZXJ0IGNvbW1lbnQgdGFnIHRvIFVURi04CgoyMDEwLTEyLTA2IDE4OjE5OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGRpc2NhcmQgaW5jb21wbGV0ZSBpbWFnZQoJICAuLi4gYXMgZGV0ZXJtaW5lZCB3aGVuIGZpbmRpbmcgU09JIG5leHQgaW1hZ2UgYmVmb3JlIGFuIEVPSS4KCjIwMTAtMTItMDYgMTg6MTg6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYXZvaWQgaW5maW5pdGUgbG9vcCB3aGVuIHJlc3luY2luZwoKMjAxMC0xMi0wNiAyMjo0ODowOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBBbGxvdyBpbXBsaWNpdCBjaGFubmVsIG1hcCBmb3IgMS0vMi1jaGFubmVsIGF1ZGlvCgkgIFRoaXMgbWFrZXMgc3VyZSB3ZSBkb24ndCBzZXQgYW4gZW1wdHkgY2hhbm5lbCBtYXAgYXJyYXkgZm9yIDEtLzItY2hhbm5lbAoJICBhdWRpbywgY2F1c2luZyBhbiBhc3NlcnQgbGF0ZXIgb24uCgoyMDEwLTEyLTA2IDE3OjA4OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogUmV2ZXJ0IHNvbWUgcGFydHMgb2YgbGFzdCBjb21taXQgdGhhdCBzaG91bGRuJ3QgYmUgY29tbWl0dGVkCgoyMDEwLTEyLTA2IDE3OjA1OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogUmVhbGx5IGNob29zZSB0aGUgbGF0ZXN0IHBvc3NpYmxlIHN1YnBpY3R1cmVzCgkgIEFuZCBub3QgdGhlIGZpcnN0IHN1YnBpY3R1cmVzIHRoYXQgYXJlIHN0aWxsIHZhbGlkIGFjY29yZGluZyB0byB0aGUKCSAgcGFnZSB0aW1lb3V0LgoKMjAxMC0xMi0wNiAxNjo0NDoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlZmFjdG9yIGJsZW5kaW5nIGZ1bmN0aW9uIGFuZCB0YWtlIGF2ZXJhZ2Ugb2YgYWxsIGNocm9tYSB2YWx1ZXMKCjIwMTAtMTItMDMgMTc6MzU6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBJbXByb3ZlIHNlbGVjdGlvbiBvZiBjdXJyZW50IHRvIGJlIGRpc3BsYXllZCBzdWJwaWN0dXJlcwoJICBEcm9wIGFsbCBzdWJwaWN0dXJlcyB0aGF0IGFyZSB0b28gb2xkIGFueXdheSBhbmQgY2xlYXIgdGhlIGN1cnJlbnRseQoJICBkaXNwbGF5ZWQgc3VicGljdHVyZXMgaWYgbnVtX3JlY3RzPT0wIGhhcHBlbnMuCgoyMDEwLTEyLTAzIDE2OjIxOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogSW1wbGVtZW50IGNsaXBwaW5nIG9mIHZpZGVvIGJ1ZmZlcnMKCSAgQWxzbyBkb24ndCBjbGlwIHN1YnBpY3R1cmUgYnVmZmVycywgdGhleSBoYXZlIG5vIGR1cmF0aW9uIGFuZAoJICBjbGlwcGluZyB0aGVtIGRvZXNuJ3QgbWFrZSBtdWNoIHNlbnNlIGhlcmUuCgoyMDEwLTEyLTAzIDE2OjA4OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBDbGVhbiB1cCBsb2NraW5nIHNvbWUgbW9yZQoKMjAxMC0xMi0wMyAxNjowNTo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEZsdXNoIHN1YnRpdGxlcyBhbmQgYWxsIGludGVybmFsIHN0YXRlIHdoZW4gbmVlZGVkCgoyMDEwLTEyLTAzIDE1OjUyOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogU2V0IHRoZSBnbG9iYWwgbGlicmFyeSBsb2cgZnVuY3Rpb24gZXhhY3RseSBvbmNlCgkgIEFuZCBkb24ndCB1c2Ugb25lIG9mIHRoZSBwb3NzaWJseSBtYW55IHJlbmRlcmVyIGluc3RhbmNlcywgdGhpcyBpcyBvbmx5CgkgIGNhbGxpbmcgZm9yIGNyYXNoZXMuCgoyMDEwLTEyLTAzIDE1OjQ2OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBSZW1vdmUgbG90cyBvZiBjb21tZW50ZWQgb3V0IGFuZCB1bnVzZWQgY29kZSBhbmQgY2xlYW4gdXAgbG9ja2luZwoKMjAxMC0xMi0wMSAwOTo1OToxNCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEZpeCBtb3JlIG9mIHRoZSBibGVuZGluZywgc28gaXQgbG9va3MgcXVpdGUgZ29vZCBub3cKCSAgKiBsaWJkdmJzdWIgZ2l2ZXMgdXMgYWxwaGEgY2hhbm5lbCBhbHJlYWR5LCBub3QgdHJhbnNwYXJlbmN5IGxldmVsLCBzbwoJICBkb24ndCBkbyBhbm90aGVyICJhbHBoYSA9IDI1NSAtIGFscGhhIiwgdGhpcyBpcyBkb25lIGJ5IGxpYmR2YnN1Yi4KCSAgKiBGaXggYWxwaGEgY2hhbm5lbCBoYW5kbGluZyBpbiBpbnRlcnBvbGF0aW9uIC0gYXNzcmVuZGVyIGhhZCBhbiBhZGRpdGlvbmFsCgkgIDFicHAgYWxwaGEgYml0bWFwIGFzIGEgcG9zc2libGUgbWFzaywgd2UgZG9uJ3QuIFNvIGRvbid0IHVzZSB0aGUgcGFsZXR0ZQoJICBpbmRleCBhcnJheSBhcyBhbHBoYSB2YWx1ZXM7IGJ1ZyBmcm9tIHF1aWNrIGNvZGUgcG9ydGluZyBsb25nIGFnbyB0bwoJICBjaGFuZ2luZyBwaXhlbCBjb2xvcnMgKGFzc3JlbmRlciBoYXMgYSBzaW5nbGUgcGl4ZWwgY29sb3IgZm9yIHdob2xlCgkgIHJlZ2lvbnMgb3Igc29tZXRoaW5nLCB1bmxpa2UgZHZic3ViLCB3aGljaCBoYXMgaW5kZXhlZCBjb2xvcnMpLgoJICAqIERvbid0IGZvcmdldCB0byByZWFzc2lnbiBvdXIgWVVWIGFuZCBvdGhlciBsb2NhbCBwaXhlbCBjb2xvciB2YXJpYWJsZXMKCSAgYWZ0ZXIgc2hpZnRpbmcgdG8gd29yayBvbiB0aGUgYm90dG9tIHBhcnQgb2YgYSAyeDIgc3Vic2FtcGxlIGJsb2NrLCBvcgoJICBpdCdzIG9idmlvdXNseSB2ZXJ5IGJsb2NreS4KCSAgUmVtYWluaW5nIGlzc3VlcyBpbiBibGVuZGluZzoKCSAgKiBTaG91bGQgcHJvYmFibHkgYmUgaW50ZXJwb2xhdGluZyBvciBkb2luZyBzb21ldGhpbmcgZWxzZSB1c2VmdWwgd2l0aCB0aGUKCSAgcmVzdWx0aW5nIFUgYW5kIFYgY2hhbm5lbHMsIHNvIHRoYXQgbW9zdCBvZiB0aGUgc291cmNlIHBpeGVsIFVWIHZhbHVlcyB3b3VsZAoJICBhY3R1YWxseSBiZSBhY3R1YWxseSBjYXJlZCBhYm91dCwgZXhjZXB0IGZvciBqdXN0IG9uZSBvdXQgb2YgcG9zc2libHkgZm91ci4KCSAgKiBEb24ndCBjb252ZXJ0IEFZVVYgdG8gQVJHQiBpbiBsaWJkdmJzdWIsIGFuZCB0aGVuIGJhY2sgZnJvbSBBUkdCIHRvIEFZVVYgaW4KCSAgZHZic3Vib3ZlcmxheSBmb3Igbm8gcmVhc29uCgkgICogUmUtZmFjdG9yIHRoZSB3aG9sZSB0aGluZyB0byBzb21ldGhpbmcgbW9yZSBsaWtlIHRleHRvdmVybGF5IGJsZW5kaW5nCgkgICogUmVsYXRlZCB0byB0aGF0LCBwZXJoYXBzIGNhY2hlIHRoZSBjdXJyZW50IHNwdSBpbiBhIGdvb2QgZm9ybWF0IGZvciBxdWljawoJICBibGVuZGluZyBvbiBlYWNoIGZyYW1lLCBhZnRlciB3aGljaCB0aGUgbW9yZSBvZnRlbiBjYWxsZWQgYmxlbmRpbmcgcGFydHMKCSAgbWlnaHQgYmVjb21lIG1vcmUgc3RyYWlnaHRmb3J3YXJkCgoyMDEwLTEyLTAxIDA3OjI2OjAzICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRml4IGJsZW5kaW5nIGJ1ZyByZWdhcmRpbmcgY29sb3IgY2hhbm5lbCBhZGRyZXNzaW5nLgoJICBsaWJkdmJzdWIgZ2l2ZXMgdXMgQVJHQiBvcmRlcmVkIHBpeGVscyByaWdodCBub3csIG5vdCBSR0JBLgoKMjAxMC0xMi0wMSAwNzoyMDowNyArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IERvIGJsZW5kaW5nIGNhbGxzIHdoZW4gYXBwcm9wcmlhdGUKCSAgVGhpcyBnaXZlcyB1cyBhY3R1YWxseSBzaG93biBzdWJ0aXRsZXMsIGhvd2V2ZXIgd2l0aCBidWdzIGluIHRoZQoJICBjdXJyZW50IGJsaXR0aW5nIGNvZGUsIHJlc3VsdGluZyBpbiB2ZXJ5IHRyYW5zcGFyZW50IHN1YnRpdGxlcy4KCjIwMTAtMTItMDEgMDc6MDY6MzUgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBJbXBsZW1lbnQgZmFsbGJhY2sgcGFnZV90aW1lX291dCBob25vcmluZwoJICBUaGUgc3BlYyBoYXMgYSBwYWdlX3RpbWVfb3V0IGluIHRoZSBwYWdlIGNvbXBvc2l0aW9uIHNlZ21lbnQgdG8gZW5zdXJlCgkgIHN1YnRpdGxlcyBkb24ndCBnZXQgc3R1Y2sgb24gc2NyZWVuIGZvciB0b28gbXVjaCBsb25nZXIgdGhhbiBpbnRlbmRlZCwKCSAgd2hlbiBmdXR1cmUgcGFnZSBjb21wb3NpdGlvbiBzZWdtZW50cyBnZXQgbG9zdCBvbiBiYWQgcmVjZXB0aW9uLCBvciBvdGhlcgoJICBwcm9ibGVtcy4gSG9ub3IgaXQgaW4gdGhlIGdzdCBwbHVnaW4gc2lkZS4KCjIwMTAtMTItMDEgMDY6MDE6MTUgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IEltcGxlbWVudCBzdWJ0aXRsZSBxdWV1ZWluZyBhbmQgc3luY2luZyB3aXRoIHZpZGVvCgkgIFB1c2ggaW5jb21pbmcgc3VidGl0bGUgcGFnZXMgaW4gYSBGSUZPIHF1ZXVlIChwZW5kaW5nX3N1YnRpdGxlcykKCSAgYW5kIGRlcXVldWUgdGhlIGhlYWQgd2hlbiBpdCdzIHRpbWUgdG8gc2hvdyBpdCAod2hlbiB2aWRlbyBydW5uaW5nCgkgIHRpbWUgcmVhY2hlcyB0aGUgc3VidGl0bGUgcGFnZSBydW5uaW5nIHRpbWUpLgoJICBLZWVwIHRoZSBzdWJ0aXRsZSBwYWdlLCB0aGF0IGlzIHN1cHBvc2VkIHRvIGJlIGJsZW5kZWQgb24gdG9wIG9mIHZpZGVvCgkgIGN1cnJlbnRseSwgaW4gYSBzZXBhcmF0ZSBvYmplY3QgdmFyaWFibGUgKGN1cnJlbnRfc3VidGl0bGUpLiBBcyBhCgkgIG5leHQgc3RlcCB3ZSBjYW4gdGhlbiBwcmUtcmVuZGVyIGN1cnJlbnRfc3VidGl0bGUgdG8gYSBiZXR0ZXIgdG8gYmxlbmQKCSAgZm9ybWF0LgoKMjAxMC0xMi0wMSAwNTo0OToyMiArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IE1ha2UgdGhlIG5ldyBkdmJfc3VidGl0bGVzX2ZyZWUoKSBhY2NlcHQgTlVMTAoJICBEb24ndCBjcmFzaCBpZiBkdmJfc3VidGl0bGVzX2ZyZWUoTlVMTCkgZ2V0cyBwYXNzZWQsIGxpa2UgbW9zdCBvdGhlcgoJICAqX2ZyZWUgZnVuY3Rpb25zIGFyZSBoYXBweSB3aXRoLgoKMjAxMC0xMi0wMSAwNToyNjowMiArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBQYXNzIHBhZ2VfdGltZV9vdXQgYW5kIHB0cyB3aXRoIHRoZSBEVkJTdWJ0aXRsZXMgc3RydWN0dXJlCgkgIEVhc2VzIGhvbGRpbmcgb250byB0aGUgaW5mb3JtYXRpb24gaW4gZ3N0IHBsdWdpbnMgc2lkZSBxdWV1ZSBvZgoJICBEVkJTdWJ0aXRsZXMsIHNvIHdlIHdvbid0IG5lZWQgdG8gY3JlYXRlIHlldCBhbm90aGVyIHRlbXBvcmFyeSBzdHJ1Y3QKCSAgdG8ga2VlcCB0aGUgcHRzIGFuZCBwYWdlX3RpbWVfb3V0IHRvby4KCSAgQW5kIHRoaXMgcmVhbGx5IGxvZ2ljYWxseSBiZWxvbmdzIGF0IHRoZSB0b3BsZXZlbCBpbmZvcm1hdGlvbiBzZXQgYW55d2F5CgkgIGFuZCBpbiB0aGF0IHN0cnVjdC4uLgoKMjAxMC0xMi0wMSAwNDoyODowMiArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSAgZHZic3Vib3ZlcmxheTogTWFrZSB0aGUgbGliZHZic3ViIGNhbGxiYWNrIGhhbmRsZXIgcmVzcG9uc2libGUgZm9yIG1lbW9yeSBjbGVhbnVwCgkgIFdlIHdhbnQgdG8gYWxsb3cgcXVldWVpbmcgb2YgcmF3IHJlZ2lvbiBpbWFnZSBkYXRhIGluIHRoZSBnc3QgcGx1Z2luIHNpZGUsCgkgIGFuZCBrZWVwIHRoZSBkYXRhIGFyb3VuZCB1bnRpbCB3ZSBwb3AgdGhlIGl0ZW0gZnJvbSB0aGUgcXVldWUuIFNvIG1ha2UKCSAgdGhlIGNhbGxiYWNrIGhhbmRsZXIgcmVzcG9uc2libGUgZm9yIG1lbW9yeSBjbGVhbnVwLCBpZiBvbmUgaXMgaW5zdGFsbGVkLgoKMjAxMC0xMS0zMCAwNDo0NTo1NCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFdvcmsgd2l0aCBHc3RDbG9ja1RpbWUgaW5zdGVhZCBvZiBQVFMgZm9yIHN1YnRpdGxlIHRpbWluZwoJICBBYnVzZSBsaWJkdmJzdWIgUFRTIHRyYWNraW5nIHRvIGp1c3Qgc3RvcmUgb3VyIHJ1bm5pbmcgdGltZSBpbiBpdCwgdG8gZ2V0CgkgIGl0IGJhY2sgaW4gdGhlIGNhbGxiYWNrcy4gQXMgR1N0cmVhbWVyIGRvZXMgaXRzIG93biBQVFMgaGFuZGxpbmcgYmVoaW5kIG91cgoJICBiYWNrIChlc3BlY2lhbGx5IGZvciB2aWRlbyksIHdlIHNob3VsZCBqdXN0IHN5bmMgd2l0aCB2aWRlbyBwZXIgcnVubmluZyB0aW1lLAoJICBub3QgdHJ5IHRvIGRvIGl0IHdpdGggUFRTLCB3aGljaCBkb2Vzbid0IHNlZW0gd2VsbCBhY2Nlc3NpYmxlIGZvciB2aWRlbyBjaGFpbi4KCSAgV2UgY2FuIGxhdGVyIHJlbGFiZWwgZHZiLXN1Yi5jIHB0cyBuYW1pbmcgY29udmVudGlvbiBpZiB3YW50ZWQsIGl0J3MganVzdAoJICBwYXNzaW5nIGFsb25nIGd1aW50NjQgdmFsdWVzLCB3aGljaCBHc3RDbG9ja1RpbWUgZm9ydHVuYXRlbHkgaXMgdG9vLgoJICBUaGUgY3VycmVudCBpZGVhIGlzIHRvIGNvbGxlY3QgdGhlIHJlZ2lvbnMgcmV0dXJuZWQgYnkgdGhlIGNhbGxiYWNrIGludG8KCSAgYSBGSUZPIGJ1ZmZlciBhbmQgcG9wIGFuZCBwcmUtcmVuZGVyIHRoZSB0b3Agb25lIGludG8gYSBzZXBhcmF0ZQoJICBxdWljay10by1ibGVuZCBjYWNoZWQgZm9ybWF0LCB3aGljaCBpcyB0aGVuIGFwcHJvcHJpYXRlbHkgYmxlbmRlZCBpbiB0aGUKCSAgdmlkZW8gY2hhaW4gdW50aWwgdGhlIG5leHQgb25lIG9uIHRvcCBvZiB0aGUgc3RhY2sgcmVhY2hlcyB0aGUgdmlkZW8gY2hhaW5zCgkgIHJ1bm5pbmcgdGltZSAob3IgdGhlIGZhbGxiYWNrIHRpbWVyIGhpdHMpLgoKMjAxMC0xMS0zMCAwMzo1NjozMiArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEFkZCBGSVhNRSBub3RlIGFib3V0IG5vbi1jb25zdGFudCBQVFMgZm9yIGEgZGlzcGxheSBzZXQgaGFuZGxpbmcuCgoyMDEwLTExLTMwIDAzOjQ3OjQ2ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJICBkdmJzdWJvdmVybGF5OiBSZW1vdmUgZHZiX3N1Yl9mZWVkKCkgQVBJCgkgIEdTdHJlYW1lciB3aWxsIG9ubHkgdXNlIGR2Yl9zdWJfZmVlZF93aXRoX3B0cywgYXMgaXQgaGFzIGl0cyBvd24gUEVTIGZpbHRlcgoJICB0byBkbyB0aGUgaGVhZGVyIHBhcnNpbmcuCgoyMDEwLTExLTI5IDIwOjU1OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L1RPRE86CgkgIGR2YnN1Ym92ZXJsYXk6IG1vcmUgVE9ETwoKMjAxMC0xMS0yOSAyMDoxMDoxNyArMDAwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIGdzdG1wZWd0c2RlbXV4OiBhZGQgdGVtcG9yYXJ5ICoqSEFDSyoqIGZvciBkdmIgc3VicyB0ZXN0aW5nIHNvIGR2YnN1Ym92ZXJsYXkgZ2V0cyB3aG9sZSBwYWNrZXRzCgkgIDx0cG0+IGxlaW8sIHdoYXQncyB0aGUgbXBlZ3RzIGRlbXV4IGhhY2sgYWJvdXQ/CgkgIDxsZWlvPiBteSBsaWJkdmJzdWIgY29kZSBjYW4ndCBoYW5kbGUgY3V0IHBhY2tldHMKCSAgPGxlaW8+IHNvIHRoZSBoYWNrIGluc3RydWN0cyB0aGUgZGVtdXhlciB0byBnYXRoZXIgZnVsbCBwYWNrZXRzIGJlZm9yZSBwdXNoaW5nIGRvd24sIGJ1dCBpdCBhcHBsaWVzIHRoYXQgdG8gbW9yZSBQRVMgcGFja2V0IHR5cGVzIHRoYW4ganVzdCBkdmJzdWIsIGJ1dCBJJ20gbm90IHN1cmUgaWYgdGhhdCdzIGEgYmFkIHRoaW5nCgkgIDxsZWlvPiBlaXRoZXIgd2F5LCBuZWVkcyBhIGNsZWFuZXIgc29sdXRpb24sIGVpdGhlciBpbiBkZW11eGVyLCBvciBJIG5lZWQgdG8gaGFuZGxlIGN1dCBwYWNrZXRzCgkgIDx0cG0+IG9rLCBidXQgcmVhbGx5IGl0IHNob3VsZCBiZSBmaXhlZCBpbiB0aGUgb3ZlcmxheSwgcmlnaHQ/CgkgIDx0cG0+IG9yIGEgcGFyc2VyIGJlIGluc2VydGVkCgkgIDxsZWlvPiB0aGUgcHJvYmxlbSBpcyB0aGF0IEkgZG9uJ3Qga25vdyBmcm9tIHRoZSBmaXJzdCBwYWNrZXQgYmVmb3JlaGFuZCBpZiBpdCBpcyBhIGN1dCBvbmUgb3Igbm8KCSAgPGxlaW8+IG5vdAoJICA8bGVpbz4gZXJyLCBmaXJzdCBidWZmZXIKCSAgPGxlaW8+IGp1c3Qgd2hlbiBJIHJlY2VpdmUgdGhlIG5leHQgb25lIEkgc2VlIGlmIGl0IGhhcyBhIHZhbGlkIHRpbWVzdGFtcCBvbiBpdCBvciBub3QKCSAgPGxlaW8+IHNvIEkgY2FuJ3QgdmVyeSB3ZWxsIHF1ZXVlIGl0IHVwIGluIHRoZSBjaGFpbiBlaXRoZXIsIEkgbWlnaHQgYmUgYmxvY2tpbmcgdGhlIHZlcnkgbGFzdCBzdWJ0aXRsZSBmb3Igbm8gcmVhc29uIG9yIHNvbWV0aGluZwoJICA8dHBtPiBidXQgeW91IGNvdWxkIGp1c3QgZHJvcC9pZ25vcmUgcGFja2V0cyB1bnRpbCB5b3UgZmluZCBvbmUsIHJpZ2h0PwoJICA8bGVpbz4gZmluZCB3aGF0PwoJICA8dHBtPiBhIGNvbXBsZXRlIHBhY2tldD8KCSAgPGxlaW8+IHRoZSBwcm9ibGVtIGlzbid0IHRoYXQgdGhleSBhcmVuJ3QgY29tcGxldGUKCSAgPGxlaW8+IHRoZSBwcm9ibGVtIGlzIHRoYXQgdGhleSBhcmUgY3V0IGFjcm9zcyBtdWx0aXBsZSBHc3RCdWZmZXJzIGJ5IHRoZSBkZW11eGVyIHdpdGhvdXQgdGhlIGhhY2sKCSAgPHRwbT4gc3VyZSwgSSB1bmRlcnN0YW5kIHRoYXQKCSAgPHRwbT4gYnV0IHlvdSBjYW4ndCBlYXNpbHkgZGV0ZXJtaW5lIGlmIGEgR3N0QnVmZmVyIGNvbnRhaW5zIGhlIHN0YXJ0IGZyYWdtZW50IG9mIGEgcGFja2V0IG9yIG5vdD8KCSAgPGxlaW8+IEkgZ3Vlc3MgSSBjb3VsZCBwYXJzZSB0aGUgcGFja2V0IGFuZCBzZWUgaWYgaXRzIGxlbmd0aCBpcyBlbm91Z2gsIGp1c3QgbGlrZSB0aGUgbGliZHZic3ViIGNvZGUgZXZlbnR1YWxseSBkb2VzIHRvbwoJICA8bGVpbz4gSSBjYW4sIGl0IGhhcyBhIHRpbWVzdGFtcCBpZiBpdCdzIHRoZSBmaXJzdCBjaHVuawoJICA8bGVpbz4gSSBqdXN0IG5ldmVyIGtub3cgaWYgSSBuZWVkIHRvIHdhaXQgZm9yIG1vcmUsIHdpdGhvdXQgc29tZSBwYXJzaW5nCgkgIDx0cG0+IGFoIG9rCgkgIDxsZWlvPiB3aGlsZSB0aGUgZGVtdXhlciBjb3VsZCBqdXN0IGdpdmUgbWUgYW4gdW5jdXQgb25lIGluIHRoZSBmaXJzdCBwbGFjZQoJICA8bGVpbz4gbGlrZSBpdCBhbHdheXMgZG9lcyBmb3IgcHJvZ3JhbSBzdHJlYW1zCgkgIDxsZWlvPiB0aGF0IGdhdGhlcl9wZXMgaXMgYWx3YXlzIHNldCBpbiBnc3RtcGVnZGVtdXgsIGJ1dCBub3QgaW4gZ3N0bXBlZ3RzZGVtdXgKCjIwMTAtMTEtMjkgMjA6MDY6MDcgKzAwMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvVE9ETzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2ZmbXBlZy1jb2xvcnNwYWNlLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBpbml0aWFsIHZlcnNpb24sIHdvcmsgaW4gcHJvZ3Jlc3MKCjIwMTAtMTItMDYgMTg6MDE6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBhbmRyb2lkL2FhY3BhcnNlLm1rOgoJKiBhbmRyb2lkL2FtcnBhcnNlLm1rOgoJKiBhbmRyb2lkL2gyNjRwYXJzZS5tazoKCSogYW5kcm9pZC9tZXRhZGF0YS5tazoKCSogYW5kcm9pZC9xdG11eC5tazoKCSogYW5kcm9pZC9zZHBlbGVtLm1rOgoJICBhbmRyb2lkOiB1cGRhdGUgZm9yIDAuMTEKCjIwMTAtMTItMDYgMTc6NTQ6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGNvbmZpZzogdXBkYXRlIGNvbmZpZwoKMjAxMC0xMi0wNiAxMjoyNTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBvcGVuIDAuMTEgYnJhbmNoCgoyMDEwLTEyLTAzIDE4OjExOjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXBkYXRlIHNvbWUgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxODoxMTozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGFkZCB0byBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAzIDE4OjExOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogYWRkIHRvIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTg6MDk6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDEwLTExLTA4IDE5OjU4OjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW5jcmVhc2Uga2V5ZnJhbWUgYXdhcmVuZXNzCgkgIC4uLiB3aGljaCBpcyBub3QgcGFydGljdWxhciByZWxldmFudCBmb3IgYXVkaW8gcGFyc2luZywgYnV0IG1vcmUgc28KCSAgaW4gdmlkZW8gY2FzZXMuICBJbiBwYXJ0aWN1bGFyLCBhdXRvLWRldGVybWluZSBpZiBkZWFsaW5nIHdpdGggdmlkZW8gKGNhcHMpLgoKMjAxMC0xMi0wMyAxNzo0NjoyNyArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogQW5kcm9pZC5tazoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvQW5kcm9pZC5tazoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvR3N0QW5kcm9pZC5jcHA6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2F1ZGlvZmxpbmdlcl93cmFwcGVyLmNwcDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvYXVkaW9mbGluZ2VyX3dyYXBwZXIuaDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvZ3N0YXVkaW9mbGluZ2VycmluZ2J1ZmZlci5oOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9nc3RhdWRpb2ZsaW5nZXJzaW5rLmM6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2dzdGF1ZGlvZmxpbmdlcnNpbmsuaDoKCSAgc3lzOiBBZGQgYW5kcm9pZCBhdWRpb2ZsaW5nZXJzaW5rCgoyMDEwLTEyLTAzIDE3OjQyOjQ2ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiBBbmRyb2lkLm1rOgoJKiBhbmRyb2lkL05PVElDRToKCSogYW5kcm9pZC9hYWNwYXJzZS5tazoKCSogYW5kcm9pZC9hbXJwYXJzZS5tazoKCSogYW5kcm9pZC9oMjY0cGFyc2UubWs6CgkqIGFuZHJvaWQvbWV0YWRhdGEubWs6CgkqIGFuZHJvaWQvcXRtdXgubWs6CgkqIGFuZHJvaWQvc2RwZWxlbS5tazoKCSAgQWRkIGJ1aWxkIHN5c3RlbSBmb3IgQW5kcm9pZAoKMjAxMC0xMi0wMiAxNTo0NTowMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzbWFsIGFwaSBkb2MgdXBkYXRlCgoyMDEwLTEyLTAyIDA1OjM5OjE0IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEF2b2lkIGFzc2VydGlvbiBvbiBpbWFnZSBmaW5pc2hpbmcKCSAgQXMgaW1nYmluX2ZpbmlzaGVkKCkgaXMgc2NoZWR1bGVkIGZyb20gZ19pZGxlX2FkZCwgaXQgbWlnaHQKCSAgYmUgcnVuIGEgbGl0dGxlIGxhdGVyIHRoYW4gZXhwZWN0ZWQsIHRoaXMgY2FuIGxlYWQgdG8gdGhlIGFwcGxpY2F0aW9uCgkgIHNldHRpbmcgY2FtZXJhYmluIHRvIHJlYWR5IGJlZm9yZSBpbWdiaW5fZmluaXNoZWQoKSBydW5zLiBJbiB0aGlzIGNhc2UsCgkgIHRoZSBwcm9jZXNzaW5nIGNvdW50ZXIgZ29lcyB0byAwIGFuZCBhbiBhc3NlcnRpb24gaGFwcGVucy4KCSAgVGhpcyBwYXRjaCByZWxheGVzIHRoZSBpbWdiaW5fZmluaXNoZWQoKSBjaGVjayBvbiB0aGUgcHJvY2Vzc2luZwoJICBjb3VudGVyLgoKMjAxMC0xMi0wMSAyMzoxNDo1NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBIYW5kbGUgbmFtZXMgd2l0aCBtdWx0aXBsZSB1bmRlcnNjb3JlcwoKMjAxMC0xMi0wMSAyMzowNDo1NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuaDoKCSAgY2hvcG15ZGF0YTogQWRkIG5ldyBlbGVtZW50CgkgIFRoaXMgZWxlbWVudCBzcGxpdHMgdXAgYSBzdHJlYW0gaW50byByYW5kb21seS1zaXplZCBidWZmZXJzLgoJICBVc2VmdWwgKG1heWJlKSBmb3IgdGVzdGluZyBwYXJzZXJzLgoKMjAxMC0xMi0wMiAwMzowOTo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IFJlbW92ZSBsZWZ0b3ZlciBjb21tZW50CgkgIFJlbW92ZSBjb21tZW50IHRoYXQgZG9lc24ndCBtYWtlIHNlbnNlIGFueW1vcmUKCjIwMTAtMTItMDEgMjM6MjE6MzMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSAgYXBwbGVtZWRpYTogZG9uJ3QgdXNlIHRoZSBkZXByZWNhdGVkIGdfc3RyY2FzZWNtcCBmdW5jdGlvbi4KCSAgUmVwbGFjZSBnX3N0cmNhc2VjbXAgd2l0aCBnX2FzY2lpX3N0cmNhc2VjbXAuCgoyMDEwLTEyLTAxIDIzOjIwOjM2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnY2MgNC4yLjEgb24gT1NYLgoKMjAxMC0xMi0wMSAxNToyODo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSAgYWMzcGFyc2U6IHVzZSBwcm9wZXIgRUFDLTMgY2FwcwoKMjAxMC0xMi0wMSAxMDo0NTo0OSArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGhhbmRsZSBtc3ZjIGZ0cnVuY2F0ZSBpbmNvbXBhdGliaWxpdHkKCSAgRml4ZXMgIzYzNjE4NS4KCjIwMTAtMTAtMDkgMTc6Mzk6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NjaHJvZW5jLmM6CgkgIEFkZCBhIHNjaHJvZW5jIHRlc3QKCjIwMTAtMTEtMjcgMjA6MTM6MzggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBGaXggcGFkIHRlbXBsYXRlIG1lbWxlYWtzCgkgIFBhZCB0ZW1wbGF0ZXMgcmV0dXJuZWQgYnkgZ3N0X3N0YXRpY19wYWRfdGVtcGxhdGVfZ2V0KCkgd2VyZSBub3QKCSAgYmVpbmcgdW5yZWZmZWQuCgoyMDEwLTExLTMwIDE4OjQzOjI0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogUmVhZGQgc2V0dGluZyBvZiBncmFudWxlcG9zCgkgIFJldmVydCBwYXJ0cyBvZiBsYXN0IHBhdGNoIHRoYXQgcmVtb3ZlZCBzZXR0aW5nIG9mIGdyYW51bGVwb3MuCgkgIG9nZ211eCBzdGlsbCByZXF1aXJlcyBjb3JyZWN0IGdyYW51bGVwb3MgaW4gaW5jb21pbmcgcGFja2V0LgoKMjAxMC0xMS0yOSAyMDoyMTozMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IERvbid0IG92ZXJyaWRlIHRpbWVzdGFtcHMgc2V0IGJ5IGJhc2UgY2xhc3MKCSAgQmVjYXVzZSB0aGUgYmFzZSBjbGFzcyBkb2VzIGl0IGNvcnJlY3RseS4KCSAgRml4ZXM6ICM2MzU3MjAsICM2MjU1NTguCgoyMDEwLTExLTMwIDE1OjQxOjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYXZvaWQgdW5leHBlY3RlZCBzdHJheSBtZXRhZGF0YQoKMjAxMC0xMS0zMCAxNTo0MDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBwcm9wZXIgX05PTkUgb3V0cHV0IHZhbHVlIHdoZW4gYXBwbGljYWJsZQoKMjAxMC0xMS0xNSAyMDowMzowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL01ha2VmaWxlLmFtOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuaDoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uaDoKCSAganAya2RlY2ltYXRvcjogQWRkIGEgSlBFRzIwMDAgZGVjaW1hdG9yIGVsZW1lbnQKCSAgVGhpcyBlbGVtZW50IGRyb3BzIGluZm9ybWF0aW9uIGZyb20gSlBFRzIwMDAgaW1hZ2VzIHdpdGhvdXQgcmVlbmNvZGluZy4KCjIwMTAtMTEtMjMgMjE6NDU6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMmtlbmM6IEVtaXQgU09QIG1hcmtlcnMgaW4gZXZlcnkgY29kZXN0cmVhbSBwYWNrZXQKCSAgVGhpcyBtYWtlcyBwYXJzaW5nIG11Y2ggZWFzaWVyLCBmYXN0ZXIgYW5kIG1vcmUgcmVsaWFibGUuCgoyMDEwLTExLTI3IDE2OjA3OjE5IC0wNjAwICBBbGVqYW5kcm8gR29uemFsZXogPGFnb256YWxlekBkZXh0cmF0ZWNoLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZ3N0X3F0bXV4X2NoZWNrX2RpZmZlcmVuY2UgdmVyaWZ5IGJlZm9yZSBzdWJ0cmFjdAoJICBBdm9pZCBuZWdhdGl2ZSBvdmVyZmxvdyBieSBjaGVja2luZyB0aGUgb3JkZXIgb2Ygb3BlcmFuZHMKCSAgb24gc3VidHJhY3Rpb24gb2YgdW5zaWduZWQgaW50ZWdlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU4NzgKCjIwMTAtMTEtMjcgMTg6NTg6MDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBGaXggc29tZSBtZW1sZWFrcwoKMjAxMC0xMS0xNSAxMTozNzozOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBtaW5vciBtZW1sZWFrIGZpeAoKMjAxMC0xMS0yNSAxOTozMTozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MzE6MDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICB2aWRlb21lYXN1cmU6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjI1OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJICB0dGE6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzIGFuZCB1c2VsZXNzIHZhcmlhYmxlCgoyMDEwLTExLTI1IDE5OjI0OjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgc3RlcmVvOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOToyMToyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwOiBSZW1vdmUgdXNlbGVzcyB2YXJpYWJsZXMKCjIwMTAtMTEtMjUgMTk6MjE6MTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjIxOjAxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJICByZWFsOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOToyMDo1MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJICBpdmZwYXJzZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MDY6NDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICBmcmVlemU6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjA2OjM4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOTowNjoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOTowMTo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgZGNjcDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTg6NTY6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxODo1Mjo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTg6NDk6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICBzZGxhdWRpb3Npbms6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjQ3OjE1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJICBzY2hyb2VkaW5nZXI6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjQzOjMwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCjIwMTAtMTEtMjUgMTg6NDM6MTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSAgY29nZG93bnNhbXBsZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudAoKMjAxMC0xMS0yNSAxODo0MjozMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dHdyaXRlLmM6CgkgIG9wZW5jdjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCSAgLi4uIGFuZCBmaXggaW5kZW50YXRpb24KCjIwMTAtMTEtMjUgMTg6MzM6MzcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nY29sb3JzcGFjZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudAoKMjAxMC0xMS0yNSAxODozMDo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSAgY29nZnJhbWU6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjI5OjMxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBJbml0aWFsaXplIHZhcmlhYmxlCgkgIEluIHRoZSBjYXNlIHRoZSB0YWdfc2V0dGVyIHJldHVybnMgc29tZXRoaW5nLCBlbXB0eV90YWdzIHdvdWxkIGJlCgkgIGdhcmJhZ2UgdmFsdWUuCgoyMDEwLTExLTI1IDE4OjI5OjIyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50CgoyMDEwLTExLTI1IDE4OjI2OjIxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxNzoxNDoyMyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogZml4IHBvc3NpYmxlIGRpdmlzaW9uLWJ5LXplcm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTc4NgoKMjAxMC0xMC0yMyAwMTo1NjowNCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogRG9uJ3QgcGFzcyB0aGUgU2htUGlwZSB0byB0aGUgZnVuY3Rpb24gY2xvc2luZyB0aGUgc2htIGFyZWEKCjIwMTAtMTAtMjMgMDE6MjI6NDMgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IFVzZSB0aGUgcmlnaHQgY291bnRlciB3aGVuIGZyZWVpbmcgYnVmZmVycwoKMjAxMC0xMC0yMyAwMToxMjo0OSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9zaG1hbGxvYy5oOgoJICBzaG1hbGxvYzogTWFudWFsbHkgZGVjaWRlIHRvIHVzZSBHTGliIG9yIG5vdCBpbiB0aGUgc2htYWxsb2MKCSAgU28gbWFrZSBpdCBlYXNpZXIgZm9yIGVtYmVkZGVycyB0byB1c2UgaXQgd2l0aCBvciB3aXRob3V0IEdsaWIKCjIwMTAtMTAtMjAgMjI6NDk6NTkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IFJlbW92ZSBkdXBsaWNhdGVkIGFyZ3VlbWVudAoKMjAxMC0xMC0yMCAyMjozOToyMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogRml4IHNvY2tldCBsZWFrIG9uIGNvbm5lY3QoKSBlcnJvcgoKMjAxMC0xMC0yMCAyMjoyODoxMyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IHNwX2NsaWVudF9yZWN2IHJldHVybnMgbmVnYXRpdmUgb24gZXJyb3IsIHNvIG1ha2UgdGhlIHJldHZhbCBzaWduZWQKCjIwMTAtMTAtMjAgMjI6MTc6MzAgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IFJlbmFtZSBjb25mdXNpbmdseSBuYW1lZCB2YXJpYWJsZQoKMjAxMC0xMC0yMCAyMjoxNDowOSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogQ2hhbmdlIHBlcm1pc3Npb25zIG9uIG9sZCBzaG0gYXJlYXMgdG9vCgkgIENoYW5nZSB0aGUgcGVybWlzc2lvbnMgb24gb2xkIHNobSBhcmVhcwoKMjAxMC0xMC0yMCAyMjowMTozNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogVXNlIHRoZSBtYWNybyBmb3IgdGhlIGxhc3QgZXJyb3IgdG9vCgoyMDEwLTEwLTIwIDIxOjUyOjMxICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBVc2UgImFibG9jayIgZm9yIGFsbCBTaG1BbGxvY0Jsb2NrIHZhcmlhYmxlcwoJICBVc2UgdGhlIGFibG9jayB2YXJpYWJsZSBuYW1lIGZvciBTaG1BbGxvY0Jsb2NrcyBhbmQgYmxvY2sgZm9yCgkgIFNobUJsb2NrCgoyMDEwLTEwLTIwIDIxOjUyOjI0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBBZGQgbW9yZSBjb21tZW50cwoKMjAxMC0xMC0yMCAyMTo0MToxNSArMDIwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IHN0eWxpc3QgaW1wcm92ZW1lbnRzCgoyMDEwLTEwLTIwIDIxOjMzOjI0ICswMjAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1hbGxvYy5jOgoJICBzaG06IEV4cGxhaW4gc29tZSBmaWVsZHMKCSAgRXhwbGFpbiB3aGF0IHNvbWUgb2YgdGhlIGZpZWxkcyBpbiB0aGUgYWxsb2NhdG9yIGFjdHVhbGx5IG1lYW4KCjIwMTAtMTEtMjIgMTU6MjY6MDYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogRml4IGJ1ZmZlciB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uCgkgIFRoZSBmaWVsZCByYXRlIGlzIHR3aWNlIHRoZSBmcmFtZSByYXRlIG9mIHRoZSBzcmMgcGFkIGFuZCBzbyB0aGUgZHVyYXRpb24gb2YKCSAgb25lIG91dHB1dCBidWZmZXIgaXMgc3JjX2Zwc19kIC8gKDIgKiBzcmNfZnBzX24pLgoKMjAxMC0xMS0yMiAxMDoyOTo1NiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBSZW5hbWUgcGF0dGVybiBwcm9wZXJ0eSB0byBmaWVsZC1wYXR0ZXJuCgkgIFRoaXMgaXMgbW9zdGx5IGZvciBjbGFyaXR5IG9mIHdoYXQgdGhlIHByb3BlcnR5IG1lYW5zIGFuZCwgSSBiZWxpZXZlLCBtYWtlcyB0aGUKCSAgcGF0dGVybi1vZmZzZXQgcHJvcGVydHkgbW9yZSBjb21wcmVoZW5zaWJsZS4KCjIwMTAtMTEtMjIgMTA6Mjc6MjIgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIHBhdHRlcm4gb2Zmc2V0IHByb3BlcnR5CgkgIFRoaXMgcHJvcGVydHkgYWxsb3dzIG9uZSB0byBzdGFydCBhdCBhbnkgcG9pbnQgd2l0aGluIHRoZSBmaWVsZCBwYXR0ZXJuIGFmdGVyCgkgIGEgZGlzY29udGludWl0eSAod2hlbmV2ZXIgZ3N0X2ludGVybGFjZV9yZXNldCAoKSBpcyBjYWxsZWQpLiBUaHVzIHdpdGggdGhlCgkgIDI6MzozOjIgcGF0dGVybiwgZm9yIGV4YW1wbGUsIG9uZSBjYW4gc3RhcnQgYXQgb2Zmc2V0IDIgYW5kIGFjaGlldmUgMzoyOjI6MwoJICBvciBvZmZzZXQgMSBhbmQgYWNoaWV2ZSAzOjM6MjoyLgoKMjAxMC0xMS0xOSAxNzowMTo0MSAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQ3JlYXRlIGltYWdlYmluIGVsZW1lbnRzIHdoZW4gaW1hZ2UgbW9kZSBpcyBzZXQgaW4gY2FtZXJhYmluIE5VTEwgc3RhdGUKCSAgVGhpcyBwYXRjaCByZWZhY3RvcnMgaW1hZ2ViaW4gZWxlbWVudCBjcmVhdGlvbiBhbmQgbGlua2luZyBpbnRvIHNlcGFyYXRlIGZ1bmN0aW9ucywKCSAgYW5kIGFkZHMgcmUtdXNpbmcgYWxzbyBmb3IgaW1hZ2ViaW4gaW50ZXJuYWxseSBjcmVhdGVkIGVsZW1lbnRzLgoJICBTbyB0aGlzIHJlZmFjdG9yaW5nIGFsbG93cyBjcmVhdGluZyBpbWFnZWJpbiBlbGVtZW50cyBhbHJlYWR5IGluIE5VTEwgc3RhdGUgd2hlbgoJICBhcHBsaWNhdGlvbiBzZXRzIHRoZSBpbWFnZSBtb2RlLCBhbmQgbmV4dCBzdGF0ZSBjaGFuZ2UgZnJvbSBOVUxMIHRvIFJFQURZIHdpbGwgYmUgZmFzdGVyLgoJICBUaGlzIHJlZHVjZXMgZmlyc3QgY2FwdHVyZSBsYXRlbmN5LgoJICBFYXJsaWVyIHRoZSBlbGVtZW50cyB3ZXJlIGJvdGggY3JlYXRlZCBhbmQgbGlua2VkIGluIE5VTEwgdG8gUkVBRFkgc3RhdGUgY2hhbmdlLgoKMjAxMC0xMS0yMiAxMjoyMzozMCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBDcmVhdGUgYSBzdWItYnVmZmVyIHdpdGggdGhlIHNlY3Rpb24gbGVuZ3RoCgoyMDEwLTExLTE5IDE1OjIzOjQxIC0wNTAwICBKb3NoIERvZSA8am9zaEBqb3NoZG9lLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHR3cml0ZS5jOgoJICBvcGVuY3Y6IGZpeCBjYXBzIGlzc3VlcyBhbmQgZXh0ZW5kIHN1cHBvcnRlZCBjYXBzIGZvciBzb21lIGVsZW1lbnRzCgkgIFNvbWUgZWxlbWVudHMgaGFkIHZhZ3VlIGNhcHMsIHN1Y2ggYXMgInZpZGVvL3gtcmF3LXJnYiIsIHdoaWNoIGNhdXNlZCBwcm9ibGVtcwoJICBhdCBsZWFzdCB3aXRoIHRleHR3cml0ZS4gRm9yIG90aGVyIGVsZW1lbnRzLCB0aGUgdW5kZXJseWluZyBPcGVuQ1YgZnVuY3Rpb25zCgkgIHN1cHBvcnQgbW9yZSB0aGFuIGp1c3Qgb25lIGltYWdlIHR5cGUsIHNvIEkgaW5jcmVhc2VkIHRoZSBudW1iZXIgb2Ygc3VwcG9ydGVkCgkgIGNhcHMuCgkgIEkgY3JlYXRlZCBhIHV0aWxpdHkgZnVuY3Rpb24gImdzdF9vcGVuY3ZfY2Fwc19mcm9tX2N2X2ltYWdlX3R5cGUiLCBzbyBlYWNoCgkgIGVsZW1lbnQgY3JlYXRlcyBjYXBzIGRpcmVjdGx5IGZyb20gT3BlbkNWIGltYWdlIHR5cGVzLCBzdWNoIGFzIENWXzhVQzEgZm9yCgkgIDgtYml0IGdyYXlzY2FsZS4gVGhpcyBmdW5jdGlvbiB1c2VzIGdzdHZpZGVvIHRvIGNyZWF0ZSB1bmlmb3JtIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUzMDQKCjIwMTAtMTEtMjIgMTc6NDM6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogU21hbGwgb3B0aW1pemF0aW9uIG9uIHRhZ3MgcGFyc2luZwoJICBPcHRpbWl6ZSBhIGxpdHRsZSBhdm9pZGluZyBjb3B5aW5nIGEgdGFnbGlzdCB3aGVuIHBhcnNpbmcgeG1wL2V4aWYKCSAgZGF0YS4KCjIwMTAtMDktMTcgMDk6NTI6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBBdm9pZCBsb3NpbmcgdGhlIGxhc3RfYnVmZmVyIHdoZW4gc3dpdGNoaW5nCgkgIFRoaXMgcGF0Y2ggbWFrZXMgb3V0cHV0c2VsZWN0b3IgdGFrZSBhbiBleHRyYSByZWYgd2hlbiBwdXNoaW5nCgkgIHRoZSBsYXN0X2J1ZmZlciB0byBhdm9pZCBpdCBsb3NpbmcgaXQgZHVyaW5nIHRoZSBzd2l0Y2ggZnVuY3Rpb24uCgkgIFRoaXMgbWFrZXMgcmVzZW5kLWxhdGVzdCBwcm9wZXJseSB3b3JrIGlmIHRoZSBhY3RpdmUtcGFkIGlzIGNoYW5nZWQKCSAgZHVyaW5nIHRoZSBzd2l0Y2ggZnVuY3Rpb24gYnVmZmVyIHB1c2hpbmcgKG9uIGEgcGFkIHByb2JlLCBmb3IgZXhhbXBsZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk5MTcKCjIwMTAtMDktMTcgMDk6NDQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBSZWNoZWNrIHBlbmRpbmcgc3dpdGNoIGFmdGVyIHB1c2hpbmcgYnVmZmVyCgkgIFRoaXMgcGF0Y2ggbWFrZXMgb3V0cHV0LXNlbGVjdG9yIGFsd2F5cyByZWNoZWNrIGlmIHRoZXJlJ3MgYQoJICBwZW5kaW5nIHBhZCBzd2l0Y2ggYWZ0ZXIgcHVzaGluZyBhIGJ1ZmZlciwgcHJldmVudGluZyB0aGF0CgkgIGl0IHB1c2hlcyBhIGJ1ZmZlciBvbiB0aGUgJ3dyb25nJyBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk5MTcKCjIwMTAtMTEtMjIgMTU6MTA6MjYgKzAyMDAgIE9saXZpZXIgQXViZXJ0IDxvbGl2aWVyLmF1YmVydCU0MGxpcmlzLmNucnMuZnI+CgoJKiBleHQvcnN2Zy9NYWtlZmlsZS5hbToKCSogZXh0L3JzdmcvZ3N0cnN2Zy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3Znb3ZlcmxheTogc2NhbGFibGUgYW5kIHJlbGF0aXZlIHN2ZyBvdmVybGF5IHdpdGggY2Fpcm8KCSAgQWRkIGEgY2Fpcm8rbGlicnN2ZyBiYXNlZCBvdmVybGF5IGVsZW1lbnQgdG8gdGhlIHJzdmcgcGx1Z2luLgoKMjAxMC0xMS0yMiAxNzowNjowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIG1ha2U6IHJlbW92ZSB0cmFjZXMgb3IgbW92ZWQvcmVtb3ZlZCBwbHVnaW5zCgoyMDEwLTExLTIyIDE3OjA1OjIzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSAgbWFrZTogYWRkIG1pc3NpbmYgdHJhaWxpbmcgXCB0byBmaXggdGhlIGJ1aWxkCgoyMDEwLTExLTIxIDIzOjExOjE5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogcmVtb3ZlIGluY29ycmVjdCBjaGVjawoKMjAxMC0xMS0xOSAxNzo1NTozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSByZW1uYW50IG9mIG9ic29sZXRlIHByb3BlcnR5CgoyMDEwLTExLTE5IDE1OjE4OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogYWxzbyB1bml0IHRlc3QgZnJhZ21lbnRlZCBmaWxlIGNhc2VzCgoyMDEwLTA3LTMwIDEyOjQ4OjI5ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFsbG93IHNwZWNpZnlpbmcgdHJhayB0aW1lc2NhbGUKCSAgVGhpcyBpcyBtYWlubHkgYmVjYXVzZSBTbW9vdGhzdHJlYW1pbmcgY2xpZW50IGFyZSBicm9rZW4gYW5kIGRvbid0CgkgIHRha2UgdGhlIFRpbWVTY2FsZSBwcm9wZXJ0eSBpbnRvIGFjY291bnQuCgoyMDEwLTExLTE5IDE3OjQxOjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBpbmNsdWRlIHNkdHAgYXRvbXMgZm9yIGlzbXYgZnJhZ21lbnRlZCBmaWxlcwoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMTEtMTkgMTk6MTc6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBlbmFibGUgZGVmYXVsdCBmcmFnbWVudGVkIGZpbGUgZm9yIGlzbWxtdXgKCjIwMTAtMDktMDIgMTM6NTg6MDUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICBxdG11eDogYWRkIGlzbWxtdXgsIGZvciBmcmFnbWVudGVkIGlzbWwgbWFqb3IgYnJhbmQKCjIwMTAtMTEtMTkgMTQ6NDQ6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaW5hbGl6ZSBzaW5rcGFkcyBsaXN0CgoyMDEwLTA3LTIyIDE5OjQwOjA3ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIG1vb3YgaW4gc3RyZWFtaGVhZGVyCgoyMDEwLTA4LTA2IDEzOjI2OjI3ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkZCBzdHJlYW1hYmxlIHByb3BlcnR5IHRvIGF2b2lkIGJ1aWxkaW5nIGZyYWdtZW50ZWQgbWZyYSBpbmRleAoKMjAxMC0xMS0xOCAxNjo0ODowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkZCBtZnJhIHRvIGZyYWdtZW50ZWQgZmlsZQoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMTEtMTUgMTU6MTc6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBvcHRpb25hbGx5IGNyZWF0ZSBmcmFnbWVudGVkIGZpbGUKCSAgSW4gdGhpcyBtb2RlLCBhbiBpbml0aWFsIGVtcHR5IG1vb3YgKGNvbnRhaW5pbmcgb25seSBzdHJlYW0gbWV0YWRhdGEpIGlzIHdyaXR0ZW4sCgkgIGZvbGxvd2VkIGJ5IGZyYWdtZW50cyBjb250YWluaW5nIGFjdHVhbCBkYXRhIChhbG9uZyB3aXRoIHJlcXVpcmVkIG1ldGFkYXRhKS4KCSAgTmV3IGZyYWdtZW50cyBhcmUgc3RhcnRlZCBlaXRoZXIgYXQga2V5ZnJhbWUgKGlmIHN1Y2ggYXJlIHNwYXJzZSkgb3Igd2hlbgoJICBwcm9wZXJ0eSBjb25maWd1cmVkIGR1cmF0aW9uIGV4Y2VlZGVkLgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCSAgRml4ZXMgIzYzMjkxMS4KCjIwMTAtMTEtMTUgMTU6MTI6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiB1c2UgaGVscGVyIHRvIHNldCBhdG9tIGZsYWdzIGZyb20gZ2l2ZW4gdWludAoKMjAxMC0xMS0wOSAxNjo0OTowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGNvbmZpZ3VyaW5nIGFuZCBzZW5kaW5nIG9mIG1vb3YKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTA5IDE1OjU0OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3IgZXh0cmEgdG9wLWxldmVsIGF0b20gaGFuZGxpbmcKCSAgQWxzbyBjaGVjayBhIGJpdCBtb3JlIGZvciBwb3NzaWJsZSBlcnJvcnMsIGFuZCBmcmVlIHByb3BlciBpdGVtcyBpbiBzdWNoIGNhc2UuCgoyMDEwLTExLTA5IDE1OjAxOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3Igc2xpZ2h0bHkgdXNpbmcgYnVmZmVyIGhlbHBlcgoKMjAxMC0xMS0wNSAxMzo0ODo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNpbmZvcm1pbmcgY29tbWVudAoKMjAxMC0xMS0wNSAxMjowODoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZGVsZWdhdGUgbXZleCBoYW5kbGluZyB0byBhdG9tcwoJICAuLi4gd2hpY2gga2VlcHMgcXRtdXggc2ltcGxlci4KCjIwMDktMDktMjggMTY6MTE6MzUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBtdmV4L3RyZXggaW4gaGVhZGVyIGlmIGZyYWdtZW50ZWQKCSAgT25lICJ0cmV4IiBpcyBhZGRlZCBwZXIgInRyYWsiLiBXZSBkb24ndCBzdXBwb3J0IGRlZmF1bHQgdmFsdWVzLAoJICBidXQgdGhlICJ0cmV4IiBib3ggaXMgbWFuZGF0b3J5LgoKMjAwOS0wOS0yOCAxMzowMTozMCArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgIHF0bXV4OiBhZGQgYSBjb3VwbGUgb2YgZm91cmNjIGZvciBmcmFnbWVudGVkIG1wNAoKMjAxMC0xMS0wNSAxMTowODowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF2b2lkIHJlbW92aW5nIHRlbXAgZmlsZSB3aGVuIGVycm9yIG9jY3VycmVkCgoyMDA5LTA5LTMwIDE3OjE2OjMwICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogdHJ1bmNhdGUgYnVmZmVyIGZpbGUgYWZ0ZXIgZWFjaCBzZW5kCgoyMDA5LTA5LTI4IDE2OjUzOjUxICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIHRlbXAgZmlsZSB3aGVuIHJlc2V0L2ZpbmFsaXplCgoyMDEwLTA4LTE4IDAyOjAwOjEwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBQdXNoIHRhZ3MgYWZ0ZXIgc2V0dGluZyBzcmNwYWQgY2FwcwoJICBUaGlzIHBhdGNoIGRlZmVycyBlbWlzc2lvbiBvZiB0YWcgZXZlbnRzIHRpbGwgY2FwcyBhcmUgc2V0IG9uIHRoZSBzb3VyY2UKCSAgcGFkIG9mIGpwZWdwYXJzZSwgc28gdGhhdCB0aGVzZSB0YWdzIGNhbiBiZSBzZWVuIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjcyMTEKCjIwMTAtMTEtMTkgMTg6NTE6MzIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMTEtMTkgMTg6MjY6NTkgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZml4IHRoaW5rbwoKMjAxMC0xMS0xOSAxNzoyNTowMSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggaGFuZGxpbmcgb2YgVE9UIGFuZCBURFQgc2VjdGlvbnMuIEZpeGVzICM2MzUyODEuCgkgIFREVCBhbmQgVE9UIHNlY3Rpb25zLCB3aXRoIFBJRD0weDE0LCBkb2Vzbid0IGV4dGVuZCB0byBzZXZlcmFsIHBhY2tldHMKCSAgYW5kIHRoZSBzZWN0aW9uIGZpbHRlciBpcyBub3QgbmVlZGVkIGhlcmUgYW5kIHNob3VsZG4ndCBiZSB1c2VkIGF0IGFsbAoJICBmb3IgdGhlc2UgdGFibGVzIGJlY2F1c2UgdGhlIGhhdmUgYSBkaWZmZXJlbnQgc3RydWN0dXJlLgoJICBGb3IgZXhhbXBsZSwgVERUIHRhYmxlcyB3ZXJlIG5vdCBwYXJzZWQgZm9yIG9kZCBob3VycyBiZWNhdXNlIHRoaXMgYml0CgkgIGlzIHRoZSAnY3VycmVudF9uZXh0X2luZGljYXRvcicgYml0IGZvciB0aGUgb3RoZXIgc2VjdGlvbnMsIGFuZCB0aGUgdGFibGUKCSAgd2FzIGRpc2NhcmRlZC4KCjIwMTAtMTEtMTkgMTc6MjI6MDYgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGRvbid0IGNhbGN1bGF0ZSB0aGUgQ1JDIGZvciBUT1QgdGFibGVzLiBGaXhlcyAjNjM1MjgxLgoJICBUT1QgdGFibGVzLCB3aXRoIHRhYmxlX2lkPTB4NzMsIGRvbid0IGhhdmUgYSBDUkMsIHNvIGRvbid0IGNhbGN1dGUgaXQKCjIwMTAtMTEtMTggMTg6NDI6MzggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBBZGQgVERUIHRvIHRoZSBpbml0aWFsIHBpZHMgZmlsdGVyIGZvciBkdmJzcmMuIEZpeGVzICM2MzUyMDAuCgoyMDEwLTExLTE2IDE3OjM1OjM2ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGFkZCBnc3RfanBlZ19wYXJzZV9za2lwX21hcmtlciAoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTA4LTEzIDEzOjE0OjMwICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHVzZSBieXRlIHJlYWRlciBhY2Nlc3NvcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0xNyAxMDo0OTozMCArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBpbmxpbmUgZ3N0X2pwZWdfcGFyc2Vfc29mICgpCgkgIE5vIGZ1bmN0aW9uYWwgY2hhbmdlcyAoaG9wZWZ1bGx5KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0xNiAxNzoyMzozNSArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBmaXggdHlwbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTE4IDEwOjU4OjA2IC0wMzAwICBBbGVrc2V5IExpbSA8YWxzcm9vdEBtZW1iZXIuZnNmLm9yZz4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEbyBub3QgdXNlIGF1ZGlvIGNsb2NrIGFmdGVyIHN0b3BwaW5nIHZpZGVvIGNhcHR1cmUKCSAgQWRkYSBwcm92aWRlIGNsb2NrIGZ1bmN0aW9uIHRvIGNhbWVyYWJpbiB0byBtYWtlIGl0IG5vdAoJICBwcm92aWRlIHRoZSBhdWRpbyBjbG9jayBvZiB0aGUgcmVjb3JkIGJpbiB3aGVuIG5vIHZpZGVvCgkgIHJlY29yZGluZyBpcyBoYXBwZW5pbmcKCSAgRml4ZXMgIzYxMzM3OQoKMjAxMC0xMS0xNyAxNjoyMzo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBjb3JyZWN0IG9mZnNldCB3aGVuIGFkZGluZyBpbmRleCBlbnRyeQoJICAuLi4gYmVhcmluZyBpbiBtaW5kIHRoYXQgQlVGRkVSX09GRlNFVCBpcyBtZWRpYSBzcGVjaWZpYyBhbmQgbWF5IG5vdAoJICByZWZsZWN0IHRoZSBiYXNpYyBvZmZzZXQgYWZ0ZXIgaGF2aW5nIGJlZW4gcGFyc2VkLgoKMjAxMC0xMS0xNyAxNDozMDowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGVuaGFuY2VtZW50cyBmb3IgdGltZXN0YW1wIG1hcmtlZCBmcmFtZWQgZm9ybWF0cwoJICBUaGF0IGlzLCBhcyBzdWNoIGZvcm1hdHMgYWxsb3cgc3ViY2xhc3MgdG8gZXh0cmFjdCBwb3NpdGlvbiBmcm9tIGZyYW1lLAoJICBpdCBpcyBwb3NzaWJsZSB0byBleHRyYWN0IGR1cmF0aW9uIChpZiBub3Qgb3RoZXJ3aXNlIHByb3ZpZGVkKQoJICBmcm9tIChuZWFyKSBsYXN0IGZyYW1lLCBhbmQgYSBzZWVrIGNhbiBmYWlybHkgYWNjdXJhdGVseSB0YXJnZXQgdGhlIHJlcXVpcmVkCgkgIHBvc2l0aW9uLgoJICBGaXhlcyAjNjMxMzg5LgoKMjAxMC0xMS0xNiAxNzowNjoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIGZyYW1lIHNjYW5uaW5nIHBlZm9ybWVkIGJ5IF9sb29wCgoyMDEwLTExLTE2IDE4OjA0OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc2xpZ2h0bHkgb3B0aW1pemUgc2VuZGluZyBvZiBwZW5kaW5nIG5ld3NlZ21lbnQgZXZlbnRzCgoyMDEwLTExLTE2IDE3OjA0OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgZml4ZXMgYW5kIGVuaGFuY2VtZW50cwoJICBBcnJhbmdlIGZvciB1cHN0cmVhbSBhcyB3ZWxsIGFzIGRvd25zdHJlYW0gZmx1c2hpbmcgd2hlbiBzZWVraW5nLgoJICBBbHNvIGRldGVybWluZSB1cHN0cmVhbSBzaXplIGFzIHdlbGwgYXMgc2Vla2FiaWxpdHkuICBBZGp1c3Qgc29tZSBjb21tZW50cwoJICB0byByZWFsaXR5IGFuZCBlbXBsb3kgZGVidWcgc3RhdGVtZW50IGluIHByb3BlciBvcmRlci4KCjIwMTAtMTEtMTcgMTU6MzM6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogbWlub3IgY2xlYW51cHMKCjIwMTAtMTEtMTcgMTU6MjQ6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHJlZ3Jlc3Npb24gaW4gQURJRiBzcmMgY2FwcyBzZXR0aW5nCgoyMDEwLTExLTE2IDEyOjExOjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogcGFyc2Ugc2Vla3RhYmxlCgkgIEZpeGVzICM2MzEzODkgKHBhcnRpYWxseSkuCgoyMDEwLTExLTE2IDEyOjA4OjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbWlub3IgcmVmYWN0b3IgYW5kIGVuYWJsZSBkZWZhdWx0IGJhc2VwYXJzZSBzZWdtZW50IGNsaXBwaW5nCgoyMDEwLTExLTEyIDAwOjQwOjMzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSAgY2VsdmlkZW9zcmM6IGZpeCBuYXN0eSBkZWFkbG9jawoJICBXZSBjYW5ub3QgY2FsbCBhbnkgQ01CdWZmZXJRdWV1ZSBmdW5jdGlvbnMgd2hpbGUgaG9sZGluZyB0aGUgbG9jayB0aGF0CgkgIG91ciBjYWxsYmFjayBhbHNvIGRlcGVuZHMgb24uIFNvIG5vdyB3ZSBtYWtlIHVzZSBvZiBDTUJ1ZmZlclF1ZXVlJ3MKCSAgdHJpZ2dlciBBUEkgaW4gb3JkZXIgdG8gZ2V0IG5vdGlmaWVkIHdoZW4gdGhlIHF1ZXVlIGhhcyBkYXRhLgoKMjAxMC0xMS0xMSAyMzo0MTo0NCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkgIGNtYXBpOiBjb3ZlciBDTUJ1ZmZlclF1ZXVlJ3MgdHJpZ2dlciBBUEkKCjIwMTAtMTEtMTEgMjE6NDI6MDMgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJICBjZWx2aWRlb3NyYzogdW5sb2NrIHNob3VsZCBhbHNvIG5vdGlmeQoJICBPdGhlcndpc2Ugd2UgZGVwZW5kIG9uIGJlaW5nIHdva2VuIHVwIGJ5IHRoZSBDb3JlTWVkaWEgcXVldWUgZ2V0dGluZwoJICBpdHMgbmV4dCBidWZmZXIuCgoyMDEwLTExLTEwIDIzOjE2OjUxICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgYXBwbGVtZWRpYTogZG9uJ3QgcHVzaCBzeW5jaHJvbm91c2x5IGZyb20gY2FsbGJhY2sKCSAgVGhlIGNvZGVjIHRoYXQgY2FsbGVkIHVzIG1pZ2h0IGJlIGhvbGRpbmcgbG9ja3MgdG8gc2hhcmVkIHJlc291cmNlcywgc28KCSAgd2Ugc2hvdWxkIG5ldmVyIHB1c2ggZG93bnN0cmVhbSBmcm9tIHdpdGhpbiBpdHMgYnVmZmVyIGNhbGxiYWNrLgoJICBOb3RlIHRoYXQgYSBHc3RCdWZmZXJMaXN0IGlzIG5vdCB1c2VkIGhlcmUgYmVjYXVzZSB3ZSBuZWVkIHRvIHByZXNlcnZlCgkgIHRoZSBidWZmZXIgbWV0YWRhdGEgaGVsZCBieSBvdXIgR3N0QnVmZmVyIHN1YmNsYXNzZXMuCgoyMDEwLTExLTEwIDIwOjUyOjQ3ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGJ1bXAgSC4yNjQgbGV2ZWwgZnJvbSAxLjMgdG8gMy4wCgkgIFRoaXMgc2hvdWxkIGJlIHR1cm5lZCBpbnRvIGEgcHJvcGVydHkuCgoyMDEwLTExLTEwIDIwOjQ0OjE1ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSAgY2VsdmlkZW9zcmM6IGFkZCBiYXNpYyBkZXZpY2Ugc2VsZWN0aW9uIHN1cHBvcnQKCjIwMTAtMTEtMTAgMjA6NTE6MjcgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJICBjdmFwaTogYWRkIHdyYXBwZXIgZm9yIElPIHN1cmZhY2UgYWNjZXNzCgkgIFRvIGJlIHVzZWQgaW4gYSBmdXR1cmUgdmlkZW8gc2luayBmb3IgemVyby1jb3B5IHJlbmRlcmluZy4KCjIwMTAtMTEtMTAgMjA6MjU6MjggKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkgIGNlbGFwaTogYWRkIGNhcHR1cmUgcG9ydCB0eXBlIGNvbnN0YW50cwoKMjAxMC0xMS0wOSAyMjo0MzoxNCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFJlbW92ZSB1bnVzZWQgc3JjX3N0cmlkZSB2YXJpYWJsZSBmcm9tIGJsaXQgZnVuY3Rpb25zCgoyMDEwLTExLTA5IDE4OjEwOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGhvdG9ncmFwaHkuZGVmOgoJICB3aW4zMjogQWRkaW5nIHBob3RvZ3JhcGh5IGludGVyZmFjZSAuZGVmIGZpbGUKCSAgQWRkcyBjaGVjay1leHBvcnRzIHRvIC1iYWQgdG8gaGF2ZSBwaG90b2dyYXBoeSBpbnRlcmZhY2UKCSAgLmRlZiBmaWxlIGNyZWF0ZWQKCSAgRml4ZXMgIzU3ODYyOQoKMjAxMC0xMS0wOSAxOTozODoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBmaXggc2lsbHkgbGVhayBpbiBfcmVzZXQKCjIwMTAtMTEtMDggMjM6NTQ6MzEgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkgIGFwcGxlbWVkaWE6IGJpcGxhbmFyIGlzIGFjdHVhbGx5IE5WMTIsIG5vdCBJNDIwCgkgIEQnb2ghCgoyMDEwLTExLTA4IDIxOjIyOjEzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IHJlbW92ZSBrZXlmcmFtZSBlbmZvcmNlbWVudCB3b3JrYXJvdW5kCgkgIFdhcyBvbmx5IG5lZWRlZCBmb3Igb2xkIGlPUyB3aGVyZSB0aGUgSC4yNjQgZW5jb2RlciBkaWRuJ3Qgc3VwcG9ydAoJICBrVlRFbmNvZGVGcmFtZU9wdGlvbktleV9Gb3JjZUtleUZyYW1lLgoKMjAxMC0xMS0wOCAxODo1Njo1MiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkgIGN2YXBpOiBhZGQgYSBmZXcgZXh0cmEgYml0cyBvZiB3cmFwcGluZwoKMjAxMC0xMS0wOCAxNTowODoxOSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSAgYXBwbGVtZWRpYTogbG9jayBDVlBpeGVsQnVmZmVyIHJlYWQtb25seQoJICBBcyBwZXIgQXBwbGUncyBkb2NzLCB0aGlzIG1heSBpbXByb3ZlIHBlcmZvcm1hbmNlIGJ5IGF2b2lkaW5nIHJlZHVuZGFudAoJICBpbnZhbGlkYXRpb25zIG9mIGV4aXN0aW5nIGNhY2hlcyBvZiB0aGUgYnVmZmVyIGNvbnRlbnRzLgoKMjAxMC0xMS0wOCAxMDozMzo1OCAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBSZW1vdmUgZ3N0cmluZyBsZWFrCgkgIFNpbXBsaWZ5IGdzdC1jYW1lcmFiaW4tdGVzdCBieSByZW1vdmluZyBHU3RyaW5nIGFuZCByZXBsYWNpbmcKCSAgd2l0aCBnY2hhciBmb3IgdGhlIGZpbGVuYW1lIGhhbmRsaW5nLiBBbHNvIHJlbW92ZXMgYSBsZWFrIG9mCgkgIHRoZSBHU3RyaW5nIGRhdGEuCgoyMDEwLTExLTA4IDE2OjAwOjIxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmdkZWM6IGF2b2lkIHJlZmZpbmcgdGhlIGVsZW1lbnQgaW4gY2hhaW4KCjIwMTAtMTEtMDggMTU6NDU6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2Z2RlYzogYWRkIHNvbWUgbWluaW1hbCBsb2dnaW5nIHRvIHRyYWNrIHdoYXQgaXQgaXMgZG9pbmcKCjIwMTAtMTEtMDggMTM6NTI6NDkgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJICBjZWx2aWRlb3NyYzogcHV0IHBsYW5hciBmaXJzdCBpbiB0ZW1wbGF0ZSBjYXBzCgoyMDEwLTExLTA4IDEzOjQ5OjA0ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJICBhcHBsZW1lZGlhOiBpbXByb3ZlIHZ0ZW5jL3Z0ZGVjIHBlcmZvcm1hbmNlCgkgIFByb2ZpbGluZyBvZiBILjI2NCBlbmNvZGUgYW5kIGRlY29kZSByZXZlYWxlZCB0aGF0IGNvbnZlcnNpb25zCgkgIGJldHdlZW4gcGFja2VkIGFuZCBwbGFuYXIgd2VyZSBoYXBwZW5pbmcgYmVoaW5kIHRoZSBzY2VuZXMuCgkgIEhlbmNlIHdlIG5vdyBjaG9vc2UgSTQyMCBpbnN0ZWFkIG9mIFlVWTIuCgoyMDEwLTEwLTIyIDE4OjA3OjAwICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBhZGQgYXN5bmMgYnVzIGhhbmRsZXIgdG8gZ3N0LWNhbWVyYWJpbi10ZXN0CgkgIFNwbGl0cyB0aGUgYnVzIGhhbmRsZXIgaW50byBzeW5jIGFuZCBhc3luYywga2VlcGluZyB0aGUKCSAgcHJlcGFyZS14d2luZG93IGhhbmRsaW5nIGF0IHRoZSBzeW5jIGZvciBmYXN0ZXIgaGFuZGxpbmcgYW5kCgkgIG1vdmluZyB0aGUgb3RoZXJzIHRvIHRoZSBhc3luYyBoYW5kbGVyCgoyMDEwLTExLTA2IDEyOjI3OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB3ZSBzdGlsbCByZXF1aXJlIEd0aysgPj0gMi4xNC4wIHdoZW4gY29tcGlsaW5nIGFnYWluc3QgMi4wCgkgIFRoZSBjaGVjayBmb3IgdGhlIG1pbm9yIHZlcnNpb24gd2FzIGRyb3BwZWQgaW4gb25lIG9mIHRoZSBwcmV2aW91cwoJICBjb21taXRzLgoKMjAxMC0xMS0wNSAxNjo1MTo1NyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkgIGNlbHZpZGVvc3JjOiBtZWFzdXJlIGZwcyB3aGVuIHN0YXRpc3RpY3MgaXMgZW5hYmxlZAoJICBBbHNvIHJlZmFjdG9yIHRpbWVzdGFtcGluZyBzbGlnaHRseS4KCjIwMTAtMTEtMDUgMTU6MTQ6MDggKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJICBjZWx2aWRlb3NyYzogdXBkYXRlIHRvIG5ldyBDZWxlc3RpYWwgYW5kIE1lZGlhVG9vbGJveCBBUElzCgkgIFRoaXMgbWVhbnMgY2VsdmlkZW9zcmMgaXMgbm8gbG9uZ2VyIGNvbXBhdGlibGUgd2l0aCBpT1MgMy54LgoKMjAxMC0xMS0wNSAxNTowODo1NiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkgIGNlbHZpZGVvc3JjOiBmaXggZGVidWcgY2F0ZWdvcnkgZGVzY3JpcHRpb24KCjIwMTAtMTEtMDUgMTU6MDg6MDIgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkgIGNlbGFwaTogdXBkYXRlIHRvIHJlZmxlY3QgbmV3IEFQSSBvbiBpT1MgNC54CgkgIEFsc28gYWRkIHJlbWFpbmluZyBwcm9wZXJ0eSBjb25zdGFudHMgZm9yIGRldmljZSBhbmQgc3RyZWFtLgoKMjAxMC0xMS0wNSAxNTowNzozOCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmg6CgkgIG10YXBpOiB1cGRhdGUgdG8gcmVmbGVjdCBuZXcgQVBJIG9uIGlPUyA0LngKCSAgQWxzbyBhZGQgcmVtYWluaW5nIHByb3BlcnR5IGNvbnN0YW50cyBmb3IgZGV2aWNlIGFuZCBzdHJlYW0uCgoyMDEwLTExLTA1IDEwOjU2OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuaDoKCSAgY29sb3JzcGFjZTogVXBkYXRlIGdlbmVyYXRlZCBPUkMgc291cmNlcwoKMjAxMC0wOC0yNiAxNzowODoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZHMgJ2lkbGUnIHByb3BlcnR5CgkgIEFkZHMgJ2lkbGUnLCBhIHJlYWQtb25seSBib29sZWFuIHByb3BlcnR5IHRoYXQgdGVsbHMgYXBwbGljYXRpb25zCgkgIGlmIHRoZXJlIGlzIGFueSBjYXB0dXJpbmcvc2F2aW5nL2VuY29kaW5nIGdvaW5nIG9uIGluIGNhbWVyYWJpbi4gSWYKCSAgbm90LCBpdCBpcyBzYWZlIHRvIHNldCBpdCB0byBOVUxMIGFuZCByZWxlYXNlIHJlc291cmNlcyB3aXRob3V0CgkgIGxvc2luZyBkYXRhLgoKMjAxMC0wNS0wNSAxMzo1ODowNyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGQgInJlYWR5LWZvci1jYXB0dXJlIiBwcm9wZXJ0eQoJICBBZGQgInJlYWR5LWZvci1jYXB0dXJlIiBwcm9wZXJ0eSB0byBpbmRpY2F0ZSBpZiBwcmVwYXJpbmcgYSBuZXcKCSAgY2FwdHVyZSBpcyBwb3NzaWJsZS4KCSAgInJlYWR5LWZvci1jYXB0dXJlIiBjaGFuZ2VzIGJlZm9yZSB0aGUgJ2ltYWdlLWRvbmUnIHNpZ25hbCwgc28KCSAgdGhlIGFwcGxpY2F0aW9uIGNhbiBiZSBub3RpZmllZCB0aGF0IGl0IGNhbiBkbyBhIG5ldyBjYXB0dXJlCgkgIGV2ZW4gYmVmb3JlIHRoZSBwcmV2aW91cyBvbmUgaGFzIGZpbmlzaGVkIGVuY29kaW5nL3NhdmluZy4KCjIwMTAtMTEtMDUgMDA6MzI6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGRvbid0IGV2ZW4gY2hlY2sgZm9yIEd0aysgaWYgLS1kaXNhYmxlLWV4YW1wbGVzIGlzIHNwZWNpZmllZAoJICBUaGVyZSBhcmUgR3RrKy1iYXNlZCBleGFtcGxlcyBpbiBwbHVnaW4gZGlycyBhbmQgdGVzdHMvaWNsZXMvIHRvbywgYW5kCgkgIHdlIHdhbnQgdG8gZGlzYWJsZSB0aG9zZSBhcyB3ZWxsIHRoZW4uCgoyMDEwLTExLTA1IDAwOjI0OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgLS13aXRoLWd0ayBvcHRpb24gYW5kIGRlZmF1bHQgdG8gR3RrKyAyLjAgd2hpbGUgdGhlIDMuMCBBUEkgaXMgc3RpbGwgaW4gZmx1eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM0MDE0CgoyMDEwLTExLTAzIDAwOjA0OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy96YmFyLmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9iYXJjb2RlLnBuZzoKCSAgdGVzdHM6IGFkZCB2ZXJ5IHNpbXBsZSB6YmFyIHVuaXQgdGVzdAoJICBOb3QgdmFsZ3JpbmQgY2xlYW4geWV0IChjb3VsZCBiZSB6YmFyJ3MgZmF1bHQgdGhvdWdoKS4KCjIwMTAtMTEtMDQgMTk6MjU6MjQgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IG1ha2UgdmlkZW8gc291cmNlIGVsZW1lbnQgZGV0YWlscyBjb25zaXN0ZW50CgkgIEluc3BpcmVkIGJ5IHRoZSB2NGwyc3JjIGVsZW1lbnQgZGV0YWlscy4KCjIwMTAtMTEtMDQgMTk6MTE6MDQgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGNvbnNpc3RlbnRseSB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTExLTA0IDE5OjAyOjUwICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSAgY2VsdmlkZW9zcmM6IHVwZGF0ZSBlLW1haWwgYWRkcmVzcwoKMjAxMC0xMS0wNCAxODo1OTo0NCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pcGhvbmVjYW1lcmFzcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvaXBob25lY2FtZXJhc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiByZW5hbWUgaXBob25lY2FtZXJhc3JjIHRvIGNlbHZpZGVvc3JjCgkgIFRoaXMgaXMgaW4gb3JkZXIgdG8gaW1wcm92ZSBjb25zaXN0ZW5jeSB3aXRoIHRoZSBvdGhlciB0aHJlZSBzb3VyY2VzLgoKMjAxMC0xMS0wNCAxNzo1ODozNiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBkb24ndCBleHBsaWNpdGx5IGVtcHR5IHRoZSBidWZmZXIgcXVldWUKCSAgV2UncmUgaG9sZGluZyB0aGUgb25seSByZWZlcmVuY2UgdG8gaXQgc28gdGhlcmUncyBubyBuZWVkIHRvIGV4cGxpY2l0bHkKCSAgZW1wdHkgaXQgcmlnaHQgYmVmb3JlIGxldHRpbmcgZ28gb2Ygb3VyIHJlZmVyZW5jZS4KCjIwMTAtMTEtMDQgMTc6NTA6MzMgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogbWFrZSBidWZmZXIgb2Zmc2V0IHN0YXJ0IGZyb20gemVybwoKMjAxMC0xMS0wNCAxNzo0NzoyNSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogaW1wbGVtZW50IHplcm8tY29weSBieSB1c2luZyBidWZmZXItZmFjdG9yeQoJICBUaGlzIG1lYW5zIHdlJ2xsIHdyYXAgZWFjaCBDb3JlVmlkZW8gYnVmZmVyIGluc2lkZSBhIEdzdEJ1ZmZlciBpbnN0ZWFkIG9mCgkgIG1ha2luZyBhIGNvcHkuCgoyMDEwLTExLTA0IDE3OjQ0OjEyICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lm06CgkgIGJ1ZmZlcmZhY3Rvcnk6IGFkZCBzdXBwb3J0IGZvciB3cmFwcGluZyBDVkJ1ZmZlcgoKMjAxMC0xMS0wNCAxNzoyNDowMyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogZml4IHVwIHJlZmNvdW50aW5nCgkgIFNob3VsZCBrZWVwIGEgc3Ryb25nIHJlZmVyZW5jZSB0byB0aGUgZGV2aWNlLCBidXQgd2UgZG9uJ3QgbmVlZCB0byBtYW5hZ2UKCSAgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiBlbGVtZW50cyBvZiBhbiBOU011dGFibGVBcnJheSBhcyBpdCB0YWtlcyBjYXJlIG9mCgkgIHRoYXQgZm9yIHVzLgoKMjAxMC0xMS0wNCAxNzoxNjowNSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogc2ltcGxpZnkgdGltZXN0YW1waW5nIGFsZ29yaXRobQoJICBBbGlnbmluZyB0aW1lc3RhbXBzIG9uIGR1cmF0aW9uIGJvdW5kYXJpZXMsIHNraXBwaW5nIGZyYW1lcyBhbmQgc28gZm9ydGgKCSAgYXJlIGNsZWFybHkgdGhpbmdzIHRoYXQgZmFsbCBvdXRzaWRlIHRoZSBzY29wZSBvZiBhIHZpZGVvIHNvdXJjZS4KCjIwMTAtMTEtMDQgMTQ6MTQ6MDkgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBhZGQgbmV3IGlPUyB2aWRlbyBzb3VyY2UgYmFzZWQgb24gQVZGb3VuZGF0aW9uCgkgIFRoaXMgZWxlbWVudCBtYWtlcyB1c2Ugb2YgdGhlIGRvY3VtZW50ZWQgQVZGb3VuZGF0aW9uIGZyYW1ld29yayBtYWRlCgkgIGF2YWlsYWJsZSBzdGFydGluZyB3aXRoIGlPUyA0LjAsIGFuZCBoZW5jZSB0aGlzIG1lYW5zIHdlIGNhbiBmaW5hbGx5CgkgIGNhcHR1cmUgdmlkZW8gdXNpbmcgYSBwdWJsaWMgQVBJLgoKMjAxMC0xMS0wNCAxNDoyNDozNiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJICBhcHBsZW1lZGlhOiBmaXggc3RyZWFtLWZvcm1hdCBjYXBzIHVzZWQgZm9yIEguMjY0CgkgIFRoZSBzdHJlYW0tZm9ybWF0J3MgImF2Yy1zYW1wbGUiIG1lbWJlciBpcyBub3cgY2FsbGVkIGp1c3QgImF2YyIuCgoyMDEwLTExLTA0IDE0OjI5OjM3ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGUtbWFpbCBhZGRyZXNzZXMKCjIwMTAtMTEtMDQgMTQ6MTg6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBJbnZlcnNlIC1iYXNlIHZlcnNpb24gY2hlY2sgbG9naWMgdG8gYWN0dWFsbHkgbWFrZSBzZW5zZQoKMjAxMC0xMS0wMyAxODozNDoyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgcGNhcHBhcnNlOiBBZGQgc3VwcG9ydCBmb3IgTGludXggQ29va2VkIENhcHR1cmUgKFNMTCkgZnJhbWVzCgoyMDEwLTExLTAzIDE4OjIzOjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IEZhaWwgb24gdW5rbm93biB2ZXJzaW9uIG9yIGxpbmt0eXBlCgkgIFRoZSBlbGVtZW50IG9ubHkga25vd3MgYWJvdXQgbWFqb3IgdmVyc2lvbiAyIGFuZCBvbmx5IGRlY29kZXMgbGlua3R5cGUgZXRoZXJuZXQKCjIwMTAtMTEtMDMgMTg6MDI6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogU2VuZCBlcnJvciBHc3RNZXNzYWdlIGlmIHN0cmVhbSBkb2Vzbid0IGhhdmUgdGhlIGV4cGVjdGVkIG1hZ2ljCgoyMDEwLTExLTAzIDE2OjE2OjI0ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBzZW5kIFREVCB0YWJsZXMgbWVzc2FnZXMgaW4gYSBzZXJpYWxpemVkIGV2ZW50IGRvd25zdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMzkxNwoKMjAxMC0xMS0wMyAxNTozNzo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBJWVUxCgoyMDEwLTExLTAzIDE1OjEyOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IEZpcnN0IHZlcnNpb24gb2YgWVVWOSBhbmQgWVZVOSBpbXBsZW1lbnRhdGlvbgoKMjAxMC0xMS0wMyAwOToyMDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogVXNlIEdTVF9DSEVDS19QTFVHSU5TX0JBU0VfVkVSU0lPTigpIGluc3RlYWQgb2Ygb3RoZXIgaGFja3MKCjIwMTAtMTAtMTggMTU6MzI6MTQgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGZpeCB0aW1lc3RhbXAgZ2VuZXJhdGlvbgoJICBVc2UgaW5mb3JtYXRpb24gZnJvbSB0aGUgZ29wIGhlYWRlciBhbmQgcGljdHVyZQoJICBoZWFkZXIgdG8gY2FsY3VsYXRlIHRoZSBwaWN0dXJlIHRpbWVzdGFtcC4gKHRpbWVfY29kZQoJICBhbmQgdGVtcG9yYWxfcmVmZXJlbmNlKSBhbmQgYWRhcHQgdG8gdXBzdHJlYW0gdGltZXN0YW1wcyBpZgoJICBwcm92aWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjIyMgoKMjAxMC0xMS0wMiAyMzowODozMCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIGFwcGxlbWVkaWE6IHN3aXRjaCB2dGFwaSB0byBDRlR5cGVSZWYgc3R5bGUgdHlwZWRlZnMKCjIwMTAtMTEtMDIgMjI6NTM6MzMgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pcGhvbmVjYW1lcmFzcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvaXBob25lY2FtZXJhc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBzdXBwb3J0IHB1YmxpYyB2ZXJzaW9uIG9mIENvcmVNZWRpYQoJICBBbHNvIHJlbmFtZSB0aGUgcmVsZXZhbnQgQVBJIHNvIHdlIG1pcnJvciB0aGUgcHVibGljIEFQSSBtb3JlIGNsb3NlbHksIGFuZAoJICBzd2l0Y2ggdG8gQ29yZUZvdW5kYXRpb24gQ0ZUeXBlUmVmIHN0eWxlIHR5cGVkZWZzLiBXZSBzdGlsbCBzdXBwb3J0IHRoZSBvbGQKCSAgcHJpdmF0ZSBDb3JlTWVkaWEgaW4gb3JkZXIgdG8gbm90IGJyZWFrIE9TIFggc3VwcG9ydC4KCSAgVGhpcyBtZWFucyB0aGF0IHZ0ZW5jIGFuZCB2dGRlYyBhcmUgbm93IGNvbXBhdGlibGUgd2l0aCBpT1MgNC54LCBhbmQgaW4KCSAgdGhlb3J5IGFsc28gZnV0dXJlIHZlcnNpb25zIG9mIE9TIFgsIHdoZXJlIHRoaXMgQVBJIG1heSB0dXJuIHB1YmxpYyBsaWtlCgkgIGl0IGhhcyBvbiBpT1MuCgoyMDEwLTExLTAyIDE3OjQ2OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogaGFuZGxlIG1vcmUgZm9ybWF0cyB0aGF0IHN0YXJ0IHdpdGggYW4gOC1iaXQgWSBwbGFuZQoJICBXZSBjYW4gaGFuZGxlIG1vc3QgcGxhbmFyIFlVViBsYXlvdXRzIHRvbywgYXMgbG9uZyBhcyB3ZSBkb24ndAoJICB0ZWxsIHpiYXIgYWJvdXQgdGhlIGNocm9tYSBwbGFuZXMuCgoyMDEwLTExLTAyIDE3OjE4OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB6YmFyOiB1c2UgY29ycmVjdCBzdHJpZGUKCSAgRml4ZXMgZGV0ZWN0aW9uIGZvciBpbWFnZXMgd2l0aCBhIHdpZHRoIHRoYXQncyBub3QgYSBtdWx0aXBsZSBvZiBmb3VyLgoJICBCYXNlZCBvbiBwYXRjaCBieTogS2FqLU1pY2hhZWwgTGFuZyA8bWlsYW5nQHRhbC5vcmc+CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA4MzAKCjIwMTAtMTEtMDIgMTY6NTQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBmaXggYnVpbGQgd2l0aCBjdXJyZW50IGdpdCBvZiBnc3QtcGx1Z2lucy1iYXNlCgkgIGlmZGVmIHRlc3RzIGRvbid0IHdvcmsgc28gd2VsbCBpZiB3ZSBkZWZpbmUgdGhlbSBpbiB0aGUgY29kZQoJICBhYm92ZSBpbiBjYXNlIHRoZXkgYXJlbid0IGRlZmluZWQuCgoyMDEwLTExLTAyIDE2OjM1OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogbWlub3IgY2xlYW4tdXAKCSAgRml4IHR5cG8gYW5kIHVzZSBERUZBVUxUX0ZPTyBkZWZpbmUgZm9yIHByb3BlcnR5IGRlZmF1bHQuCgoyMDEwLTExLTAyIDE2OjMyOjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogZGlzYWJsZSBjYWNoZSBieSBkZWZhdWx0CgkgIFNpbmNlIGl0IGJyZWFrcyBzdGlsbCBpbWFnZSBiYXIgY29kZSBkZXRlY3Rpb24uCgoyMDEwLTExLTAyIDE2OjA1OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIDggYml0IHBhbGV0dGVkIFJHQgoJICBUaGlzIG5lZWRzIHRoZSA4IGJpdCBwYWxldHRlZCBzdXBwb3J0IGZyb20gLWJhc2UKCSAgd2hpY2ggd2lsbCBiZSBjb21taXR0ZWQgYWZ0ZXIgcmVsZWFzZS4gV2l0aG91dCB0aGlzCgkgIHRoZSA4IGJpdCBwYXJ0cyBhcmUgZGlzYWJsZWQuCgoyMDEwLTExLTAyIDEwOjI0OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IEFkZCBtaXNzaW5nIGNoYW5nZSB0byBwcmV2aW91cyBjb21taXRzCgkgIEZvcmdvdCB0byBhZGQgdGhpcyBjaGFuZ2UgdG8gdGhlIGxhdGVzdCBjb21taXRzLiBUaGlzIGZpeGVzIHRoZSBidWlsZC4KCjIwMTAtMTEtMDIgMDk6Mzk6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogRml4IGxlYWtzIGluIHRoZSBwcmV2aWV3IGhhbmRsaW5nCgkgIFJlbWVtYmVyIHRvIHVucmVmIHRoZSBidXMgYWZ0ZXIgYWRkaW5nIHRoZSB3YXRjaC4KCSAgUmVtZW1iZXIgdG8gdW5yZWYgdGhlIGVsZW1lbnQgYWZ0ZXIgZ2V0dGluZyBpdCB3aXRoCgkgIGdzdF9iaW5fZ2V0X2J5X25hbWUuCgoyMDEwLTExLTAyIDA5OjM4OjIwIC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IERvIG5vdCBsZWFrIGEgY2FwcwoJICBnc3RfY2Fwc19yZXBsYWNlIGRvZXNuJ3QgdGFrZSBvd25lcnNoaXAsIGJ1dCByZWZzIHRoZSBjYXBzLiBTbyB3ZQoJICB1bnJlZiB0aGUgcmVtYWluaW5nIGNhcHMuCgoyMDEwLTA5LTI0IDE2OjI4OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogUmVzZXQgcHJlLW5pZ2h0LW1vZGUgc3RvcmVkIGZwcyB3aGVuIG1vZGUgY2hhbmdlcwoJICBXaGVuIHN3aXRjaGluZyBiZXR3ZWVuIHZpZGVvL3N0aWxsIG1vZGVzIHRoZSBwcmUtbmlnaHQtbW9kZSBmcHMKCSAgc2hvdWxkIGJlIHJlc2V0IHRvIHByZXZlbnQgaXQgYmVpbmcgdXNlZCBpbiB0aGUgaW5jb3JyZWN0IG1vZGUsIGNhdXNpbmcKCSAgdGhlIHZpZGVvc291cmNlIHRvIGZhaWwgY29uZmlndXJpbmcgaXRzZWxmCgoyMDEwLTA5LTIxIDE2OjIzOjQ3ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBhZGQgc3VwcG9ydCBmb3Igc2V0dGluZyBtYW55IHBvc3QtcHJvY2Vzc2luZyBlbGVtZW50cwoJICBJbnN0ZWFkIG9mIHRha2luZyBhIHNpbmdsZSBlbGVtZW50IGFzIGlucHV0IGZvciB0aGUgaW1hZ2UgcG9zdAoJICBwcm9jZXNzaW5nIG9wdGlvbiwgdGFrZSBhIGxpc3Qgb2YgY29tbWEgc2VwYXJhdGVkIGVsZW1lbnRzCgkgIHRoYXQgd2lsbCBiZSB1c2VkLgoKMjAxMC0wOS0yMCAxMTo1NDoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IFN0b3JlIGFwcCBwcmVmZXJyZWQgY2FwdHVyZSBwYXJhbWV0ZXJzIHNlcGFyYXRlbHkKCSAgU3RvcmUgd2lkdGgvaGVpZ2h0L2ZwcyBmb3IgdmlkZW8gY2FwdHVyZXMgaW4gYSBzZXBhcmF0ZSB2YXJpYWJsZQoJICB0aGFuIHRoZSBvbmUgdGhhdCBzdG9yZXMgdGhlIGN1cnJlbnRseSB1c2VkIHZhbHVlLgoJICBUaGlzIHByZXZlbnRzIHRoZSB1c2VyIHByZWZlcmVuY2VzIHRvIGJlIGxvc3Qgd2hlbiByZXNldHRpbmcKCSAgdGhlIGN1cnJlbnRseSB1c2VkIGRpbWVuc2lvbnMgZm9yIG5pZ2h0IG1vZGUsIGZvciBleGFtcGxlCgoyMDEwLTA5LTIwIDA4OjQyOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY2xlYW51cCB1c2VkIGNhcHMgd2hlbiBnb2luZyB0byBOVUxMCgkgIFJlc2V0cyB1c2VkIGNhcHMgc28gdGhhdCBjYW1lcmFiaW4gZG9lc24ndCB0cnkgdG8gdXNlIHRoZW0KCSAgd2hlbiByZXN0YXJ0aW5nLCB3aGVyZSBlbGVtZW50cy9wcm9wZXJ0aWVzIG1pZ2h0IGhhdmUgY2hhbmdlZAoJICBhbmQgdGhlIG9sZCBjYXBzIGJlIGluY29tcGF0aWJsZQoKMjAxMC0wOS0wOSAxMDo1MDo1OSArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IHByaW9yaXR5IGZvciBpZGxlX2FkZCBmdW5jdGlvbgoJICBBZGRzIGEgaGlnaGVyIHByaW9yaXR5IHRvIHRoZSBpZGxlX2FkZCBmdW5jdGlvbiBmb3Igd2hlbgoJICB0aGUgaW1hZ2UgYmluIGZpbmlzaGVkIHRoZSBpbWFnZSBjYXB0dXJlLiBUaGlzIHJlZHVjZXMgdGhlCgkgIGRlbGF5IGZvciB0aGUgYXBwbGljYXRpb24gdG8gYmUgbm90aWZpZWQgYWJvdXQgdGhpcy4KCjIwMTAtMTEtMDEgMjM6MDQ6NDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IGxvZyB0aW1lcyBpbiBodW1hbiByZWFkYWJsZSBmb3JtCgoyMDEwLTExLTAxIDIyOjQwOjM2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBtb3ZlIHJlb2NjdXJpbmcgbG9ncyB0byBMT0cgYW5kIHJlbW92ZSBhIGRvdWJsZSBpbmZvCgkgIExlc3MgZGVidWcgc3BldyBpbiBERUJVRyBjYXRlZ29yeS4gTm8gbmVlZCB0byBsb2cgcGFkIGFnYWluIGlmIHdlIHVzZQoJICBHU1RfTE9HX09CSkVDVChwYWQsLi4uKS4KCjIwMTAtMTEtMDEgMTU6NTM6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0Lmg6CgkgIGNvZywgY29sb3JzcGFjZTogdXBkYXRlIG9yYyBiYWNrdXAgZnVuY3Rpb25zIGZvciBsYXRlc3QgY2hhbmdlcwoJICBTaG91bGQgZml4IGJ1aWxkIG9uIHN5c3RlbXMgd2l0aG91dCB0aGUgbGF0ZXN0IG9yYy4KCjIwMTAtMTEtMDEgMTU6NTM6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogdXBkYXRlIGZvciBuZXcgdHJhbnNsYXRpb25zCgoyMDEwLTEwLTMxIDIzOjQ2OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgUkdCMTUgYW5kIEJHUjE1CgoyMDEwLTEwLTMxIDIzOjQ0OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgUkdCMTYgYW5kIEJHUjE2CgoyMDEwLTEwLTMxIDIzOjI1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBZMTYKCjIwMTAtMTAtMzEgMjM6MjU6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IEZpeCBZODAwIE9SQyBnZXRsaW5lIGltcGxlbWVudGF0aW9uCgoyMDEwLTEwLTMxIDIzOjA3OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIEE0MjAKCjIwMTAtMTAtMzEgMjM6MDA6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgWTQxQgoKMjAxMC0xMC0zMSAyMjozOTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBTRFRWL0hEVFYgWVVWIGNvbnZlcnNpb25zCgoyMDEwLTEwLTMxIDIyOjIxOjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIGNvbW1lbnQgZm9yIHRoZSBBNDIwIGdldGxpbmUvcHV0bGluZSB0YWJsZSByb3cKCjIwMTAtMTAtMzEgMjA6NDA6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkgIGNvbG9yc3BhY2U6IEFkZCBjb25zdCB0byB0aGUgc291cmNlIGFycmF5cyBhbmQgdGhlIGdldGxpbmUvcHV0bGluZSB0YWJsZQoKMjAxMC0xMC0zMSAxOTo0MjozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IE1ha2UgZmFzdC1wYXRoIHRyYW5zZm9ybSB0YWJsZSBjb25zdAoKMjAxMC0xMC0zMSAxOTozOTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IE9ubHkgZG8gdGhlIEk0MjAtPllVWTIgY29udmVyc2lvbiBvbmNlIHBlciBzY2FubGluZSBpbiB0aGUgZmFzdCBwYXRoCgoyMDEwLTEwLTI5IDE0OjA4OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIG9ubHkgdXBzdHJlYW0gZHVyYXRpb24gaWYgaXQgcHJvdmlkZXMgb25lCgoyMDEwLTEwLTI1IDE0OjE1OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmbG93IHVwZGF0ZV9iaXRyYXRlIGNvZGUKCSAgLi4uIHdoaWNoIG1ha2VzIGxvY2FsIHZhcmlhYmxlcyByZXByZXNlbnQgcmVhbCBzdGF0ZSBiZXR0ZXIsIGFuZCBhdm9pZHMKCSAgdHJpZ2dlcmluZyB1bm5lZWRlZCB1cGRhdGVzL2FjdGlvbnMuCgoyMDEwLTEwLTI1IDE0OjEzOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMC0xMC0yOCAxODo1MTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJICBnYXVkaWVmZmVjdHM6IEluY2x1ZGUgZ3N0Y29udHJvbGxlciBoZWFkZXIgYW5kIGFkZCB0aGUgcmVxdWlyZWQgQ0ZMQUdTCgoyMDEwLTEwLTI3IDE0OjU3OjM2ICswMjAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBtYWRlIGZpbHRlciBwYXJhbWV0ZXJzIGR5bmFtaWMgYW5kIGNvbnRyb2xsYWJsZQoKMjAxMC0wNy0wMSAxNTowNzo0MSArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIHdpbmtzOiB3b3JrIGFyb3VuZCBzaHV0ZG93biBkZWFkbG9jawoJICBHZXRPdmVybGFwcGVkUmVzdWx0KCkgbWlnaHQgbmV2ZXIgcmV0dXJuIHdpdGggc29tZSBkcml2ZXJzLiBUaW1lIG91dAoJICBhZnRlciAxMDAwIG1zLiBXZSBjYW5ub3QgcmVhbGx5IGZpeCB0aGlzIHdpdGhvdXQgZWl0aGVyOgoJICAxKSBDb250cm9sbGluZyB0aGUgc3RyZWFtaW5nIHRocmVhZCBzbyB3ZSBjYW4gZG8gQ2FuY2VsSW8oKSBmcm9tIHRoYXQKCSAgdGhyZWFkLgoJICAyKSBTd2l0Y2ggdG8gdXNpbmcgSU8gY29tcGxldGlvbiBwb3J0cy4KCjIwMTAtMDYtMTEgMTg6MDQ6NTggKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICB3aW5rczogcmVtb3ZlIEpQRUcgdmFsaWRhdGlvbiBoYWNrCgkgIFRoaXMgc2hvdWxkIGNsZWFybHkgbm90IGJlIGRvbmUgaW4gYSB2aWRlbyBzb3VyY2UuCgoyMDEwLTA0LTIwIDEyOjA1OjQ1ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBzZXQgUHJpb3JpdHlTdWJDbGFzcyB0byBLU1BSSU9SSVRZX05PUk1BTCBpbnN0ZWFkIG9mIDEKCSAgSW4gb3JkZXIgdG8gbWF0Y2ggdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbi4KCjIwMTAtMDQtMjAgMTE6NTk6MjMgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICB3aW5rczogcmV0cnkgd2hlbiBLc0NyZWF0ZVBpbiBmYWlscyB3aXRoIEVSUk9SX05PVF9SRUFEWQoJICBUdXJucyBvdXQgdGhhdCB0aGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGRvZXMgdGhpcywgaGVuY2Ugd2UgbmVlZCB0bwoJICBtaXJyb3IgdGhpcyBiZWhhdmlvdXIuIFRoaXMgdHlwaWNhbGx5IGhhcHBlbnMgd2l0aCBoYXJkd2FyZSB0aGF0IHRha2VzCgkgIHNvbWUgdGltZSB0byBpbml0aWFsaXplLgoKMjAwOS0xMC0yNiAxNjowOTowMCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogaW1wcm92ZSBmcmFtZXJhdGUgZnJhY3Rpb24gY29udmVyc2lvbnMKCSAgKiBGb3IgaW5zdGFuY2UgNy41IGZwcyBzaG91bGQgYmUgcmVwcmVzZW50ZWQgYXMgMTUvMiBpbnN0ZWFkIG9mIDcvMS4KCSAgKiBDbGFtcCBBdmdUaW1lUGVyRnJhbWUgYW5kIGR3Qml0UmF0ZSB0byBhY2NvdW50IGZvciByb3VuZGluZyBlcnJvcnMuCgoyMDA5LTEwLTEyIDE3OjI2OjE1ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmg6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogaW1wcm92ZSBlcnJvci1oYW5kbGluZwoJICBNb3N0IGltcG9ydGFudCBwYXJ0IGhlcmUgaXMgc3BlY2lhbC1jYXNpbmcgImRldmljZSBidXN5IiBzbyB0aGUgYXBwbGljYXRpb24KCSAgaXMgYWJsZSB0byBwcm92aWRlIGJldHRlciBmZWVkYmFjayB3aGVuIGFub3RoZXIgYXBwbGljYXRpb24gaXMgdXNpbmcgdGhlCgkgIGRldmljZS4KCjIwMDktMDktMDcgMTY6NDU6NTcgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzCgkgICogTWFrZSB0aGUgZHJpdmVyIHdyaXRlIGRpcmVjdGx5IGludG8gZWFjaCBHc3RCdWZmZXIgdG8gYXZvaWQgbWVtY3B5KCkuCgkgICogRG9uJ3QgbWVtc2V0KCkgdGhlIGJ1ZmZlciBiZWZvcmUgcmV1c2luZyBpdC4KCSAgKiBSZWN5Y2xlIG1lbW9yeSBieSBrZWVwaW5nIHR3byBzcGFyZSBidWZmZXJzLiBUd28gYmVjYXVzZSB0aGUgc2luawoJICBkb3duc3RyZWFtIG1heSBrZWVwIGEgcmVmIHRvIHRoZSBwcmV2aW91cyBidWZmZXIuCgkgIE5vdGUgdGhhdCB3ZSBhbGlnbiBidWZmZXJzIG9uIGhpZ2hlc3QgcG9zc2libGUgYnl0ZSBib3VuZGFyeSAoNDA5Nikgc28gd2UKCSAgZG9uJ3QgaGF2ZSB0byB0YWtlIGludG8gYWNjb3VudCB3aGF0IGtpbmQgb2YgYWxpZ25tZW50IHRoZSBkcml2ZXIgcmVxdWlyZXMuCgoyMDA5LTA5LTA3IDE2OjA5OjM0ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuaDoKCSAgd2lua3M6IHN0b3JlIHByaXYgcG9pbnRlciBpbnN0ZWFkIG9mIGxvb2tpbmcgaXQgdXAKCjIwMDktMDgtMzEgMTk6MzM6MzAgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogcG9zdCBlcnJvciBtZXNzYWdlIG9uIGZsb3ctdW5leHBlY3RlZAoKMjAwOS0wOC0zMSAxOToyODo1MCArMDIwMCAgQW5kcmVzIENvbHVicmkgPGFuZHJlcy5jb2x1YnJpQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmg6CgkgIHdpbmtzOiBhZGQgcHJvcGVydHkgcHJvYmluZyBzdXBwb3J0CgoyMDA5LTA4LTMxIDE5OjI2OjM2ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5oOgoJICB3aW5rczogc29ydCBkZXZpY2VzIHRoYXQgbG9vayBsaWtlIGNhbWVyYXMgZmlyc3QKCjIwMDktMDgtMzEgMTk6MjU6MDIgKzAyMDAgIEtudXQgSW5nZSBIdmlkc3RlbiA8a251dC5pbmdlLmh2aWRzdGVuQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogcHJvdmlkZSBndWVzc2VkIHBpeGVsLWFzcGVjdC1yYXRpbyBpbiBjYXBzCgoyMDA5LTA4LTMxIDE5OjIzOjQwICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSAgd2lua3M6IG9ubHkgdHJ5IHRvIGNoYW5nZSBzdGF0ZSB3aGVuIGFjdHVhbGx5IG9wZW4KCjIwMDktMDgtMzEgMTk6MjI6NDAgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuaDoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBpZ25vcmUgdW5zdXBwb3J0ZWQgZm9ybWF0cwoKMjAxMC0xMC0yOCAxNjoxNDozNCArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBhZGp1c3QgYSBjb3VwbGUgb2YgbG9nZ2luZyBzZXZlcml0aWVzCgkgIFNob3VsZCBjbGVhcmx5IG5vdCBiZSBjb25zaWRlcmVkIHdhcm5pbmdzLCBhcyB0aGV5J3JlIHF1aXRlIGNvbW1vbi4KCjIwMTAtMTAtMjcgMTg6MzA6MTEgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLWludGVybmFsLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvaXBob25lY2FtZXJhc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lwaG9uZWNhbWVyYXNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuaDoKCSAgYXBwbGVtZWRpYTogTmV3IHBsdWdpbiBmb3IgQXBwbGUgbXVsdGltZWRpYSBBUElzCgkgIFByb3ZpZGVzIHRoZSBmb2xsb3dpbmcgZWxlbWVudHM6CgkgIHF0a2l0dmlkZW9zcmM6IE9TIFggdmlkZW8gc291cmNlIHJlbHlpbmcgb24gdGhlIFFUS2l0IEFQSS4gQ29tZXMgd2l0aAoJICBoYXJkLWNvZGVkIGNhcHMgYXMgdGhlIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFueSB3YXkgb2YgcXVlcnlpbmcgZm9yCgkgIGZvcm1hdHMgc3VwcG9ydGVkIGJ5IHRoZSBoYXJkd2FyZS4gSGFzbid0IGJlZW4gdGVzdGVkIGEgbG90LCBidXQgc2VlbXMKCSAgdG8gd29yay4KCSAgbWlvdmlkZW9zcmM6IE9TIFggdmlkZW8gc291cmNlIHdoaWNoIHVzZXMgdGhlIHVuZG9jdW1lbnRlZC9wcml2YXRlCgkgIENvcmVNZWRpYUlPU2VydmljZXMgQVBJLCB3aGljaCBpcyBhbHNvIHRoZSBvbmUgdXNlZCBieSBpQ2hhdC4KCSAgUHJlc2VudCBvbiBsYXRlc3QgdmVyc2lvbiBvZiBMZW9wYXJkIGFuZCBhbGwgdmVyc2lvbnMgb2YgU25vdyBMZW9wYXJkLgoJICBIYXMgYmVlbiB0ZXN0ZWQgZXh0ZW5zaXZlbHkgd2l0aCBidWlsdC1pbiBjYW1lcmFzIGFuZCBUQU5EQkVSRydzCgkgIFByZWNpc2lvbkhEIFVTQiBjYW1lcmEuCgkgIHZ0ZW5jLCB2dGRlYzogR2VuZXJpYyBjb2RlYyB3cmFwcGVycyB3aGljaCBtYWtlIHVzZSBvZiB0aGUgdW5kb2N1bWVudGVkLwoJICBwcml2YXRlIFZpZGVvVG9vbGJveCBBUEkgb24gT1MgWCBhbmQgaU9TLiBMaXN0IG9mIGNvZGVjcyBhcmUgY3VycmVudGx5CgkgIGhhcmQtY29kZWQgdG8gSC4yNjQgZm9yIHZ0ZW5jLCBhbmQgSC4yNjQgKyBKUEVHIGZvciB2dGRlYy4gQ2FuIGVhc2lseSBiZQoJICBleHBhbmRlZCBieSBhZGRpbmcgbmV3IGVudHJpZXMgdG8gdGhlIGxpc3RzLCBidXQgaGF2ZW4ndCB5ZXQgaGFkIHRpbWUgdG8KCSAgZG8gdGhhdC4gU2hvdWxkIHByb2JhYmx5IGFsc28gaW1wbGVtZW50IHByb2JpbmcgYXMgYXZhaWxhYmxlIGNvZGVjcyBkZXBlbmQKCSAgb24gdGhlIE9TIGFuZCBpdHMgdmVyc2lvbiwgYW5kIHRoZXJlIGRvZXNuJ3Qgc2VlbSB0byBiZSBhbnkgd2F5IHRvCgkgIGVudW1lcmF0ZSB0aGUgYXZhaWxhYmxlIGNvZGVjcy4KCSAgdnRoMjY0ZGVjYmluLCB2dGgyNjRlbmNiaW46IFdyYXBwZXIgYmlucyB0byBtYWtlIGl0IGVhc2llciB0byB1c2UKCSAgdnRkZWNfaDI2NC92dGVuY19oMjY0IGluIGxpdmUgc2NlbmFyaW9zLgoJICBpcGhvbmVjYW1lcmFzcmM6IGlQaG9uZSBjYW1lcmEgc291cmNlIHJlbHlpbmcgb24gdGhlIHVuZG9jdW1lbnRlZC9wcml2YXRlCgkgIENlbGVzdGlhbCBBUEkuIFRlc3RlZCBvbiBpT1MgMy4xIHJ1bm5pbmcgb24gYW4gaVBob25lIDNHUy4gU3RvcHMgd29ya2luZwoJICBhZnRlciBhIGZldyBtaW51dGVzLCBwcmVzdW1hYmx5IGJlY2F1c2Ugb2YgYSByZXNvdXJjZSBsZWFrLiBOZWVkcyBzb21lCgkgIGxvdmUuCgkgIE5vdGUgdGhhdCB0aGUgaU9TIHBhcnRzIGhhdmVuJ3QgeWV0IGJlZW4gcG9ydGVkIHRvIGlPUyA0LnguCgoyMDEwLTEwLTI4IDExOjQzOjM0ICswMTAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IEFkZCB0YWcgZXZlbnQgZW1pc3Npb24uIEZpeGVzICM2MjcyNTMKCjIwMTAtMTAtMjcgMTM6MTc6MTAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2JiZDcwOCB0byAwMTFiY2M4CgoyMDEwLTEwLTIxIDE2OjA2OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQ2hlY2sgdGhlIHNvdXJjZSBzY2VuZSBtb2RlIHdoZW4gY3JlYXRpbmcgaXQKCSAgQXMgY2FtZXJhYmluIG9ubHkgZ2V0cyBub3RpZmllZCBvZiB0aGUgY2hhbmdlcyBmcm9tIHRoZQoJICB2aWRlbyBzb3VyY2UgZWxlbWVudCwgaXQgc2hvdWxkIHF1ZXJ5IHRoZSBpbml0aWFsIHZhbHVlCgkgIG9uY2UgdGhlIHNvdXJjZSBpcyBjcmVhdGVkIHNvIGl0IGluaXRpYWxpemVzIGl0c2VsZgoJICBjb3JyZWN0bHkuCgoyMDEwLTEwLTIwIDAwOjA3OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGRpc3RjaGVjayBhIGJpdCBtb3JlCgkgIERpc3QgZWxlbWVudHMvcGFyc2VyLmggaGVhZGVyIGZpbGUsIHdoaWNoIGZpeGVzIHRoZSAnbWFrZSBjaGVjaycgYnVpbGQuCgoyMDEwLTEwLTE5IDIzOjQwOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZhbHZlLmM6CgkgIHRlc3RzOiBmaXggdmFsdmUgdW5pdCB0ZXN0CgkgIGdzdF9idWZmZXJfcGFkX2FsbG9jKCkgbmVlZHMgc2ltcGxlIGNhcHMgb3IgTlVMTCBjYXBzLAoJICBBTlkgY2FwcyBhcmUgbm90IGFsbG93ZWQuCgoyMDEwLTEwLTE5IDIzOjI1OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGluaXQgdmFyaWFibGUgdG8gbWFrZSBvc3ggYnVpbGQgYm90IGhhcHB5CgkgIGdzdGRjYXBhcnNlLmM6IEluIGZ1bmN0aW9uICdnc3RfZGNhX3BhcnNlX2NoZWNrX3ZhbGlkX2ZyYW1lJzoKCSAgZ3N0ZGNhcGFyc2UuYzoyNDY6IHdhcm5pbmc6ICdiZXN0X3N5bmMnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMC0xMC0xOSAwMDoxNToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgdmVyeSBiYXNpYyBkdHMvZGNhIHBhcnNlcgoJICBTdGlsbCBzb21lIGlzc3VlcywgZS5nLiB3aXRoIHNlZWthYmxlIHF1ZXJpZXMgaW4gdG90ZW0sIGJ1dCBhbHNvCgkgIHByb2Nlc3NpbmcgYWxyZWFkeS1jaHVua2VkIGlucHV0IChjcmVhdGVkIHdpdGggbWF0cm9za2FkZW11eCAhIGdkcHBheSkuCgoyMDEwLTEwLTE5IDE2OjIzOjIzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5jYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB2YXJpb3VzIChleHQpOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTEwLTE5IDE2OjI0OjEyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgIHZpZGVvYW5hbHlzZTogZml4IGNvcHknbidwYXN0ZSBvZmYgYnkgb25lIGZvciBwYXJhbSBzcGVjIGZsYWdzIGNoYW5nZQoKMjAxMC0xMC0xOSAxMzo0MzoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICB2YXJpb3VzIChnc3QpOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTEwLTE5IDE1OjMwOjAyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICB2YXJpb3VzOiB3cmFwIHByb3BlcnR5IHJlZ2lzdHJhdGlvbiBhbmQgYWRkIGEgc2luZ2xlIGZpeG1lIGZvciBsb25nIGRlc2MuCgoyMDEwLTEwLTE5IDE1OjA2OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IHJlbW92ZSBzdHJheSAiIGluIGRvYyBjb21tZW50CgoyMDEwLTEwLTE5IDEzOjQ0OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IHJlbW92ZSBERUJVR19GVU5DUFRSIGZyb20gZ29iamVjdCB2bWV0aG9kcwoKMjAxMC0xMC0wOCAxOTozMzoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogQWRkcyB0ZXN0cyBmb3IgdGhlIG5ldyB0YWdzCgkgIEFkZHMgdGVzdHMgZm9yIHRoZSBuZXcgZXhpZiB0YWdzIGluIC1iYXNlCgoyMDEwLTEwLTA5IDE3OjM2OjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlbzogTW92ZSBjb21tb24gZmllbGRzL2Z1bmN0aW9ucyB0byBiYXNlY29kZWMKCjIwMTAtMDktMjggMTg6MjE6NTcgKzAzMDAgIEthai1NaWNoYWVsIExhbmcgPG1pbGFuZ0B0YWwub3JnPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHpiYXI6IE1ha2Ugc2Nhbm5lciBjYWNoZSBvcHRpb25hbAoKMjAxMC0xMC0xNCAyMzowNDoxNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IGFjdHVhbHkgdXNlIHRoZSBlbnVtIGluIHRoZSB2bWV0aG9kcwoJICBJZiB3ZSBpbnRyb2R1Y2UgYSBuZXcgR3N0UGhvdG9ncmFwaHlOb2lzZVJlZHVjdGlvbiwgbGV0cyBhbHNvIHVzZSBpdAoJICBpbiB0aGUgdm1ldGhvZHMKCjIwMTAtMTAtMTQgMjM6MDM6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiByZXRhYiBpbnRlcmZhY2Ugc3RydWN0IGZpZWxkcwoKMjAxMC0xMC0xNCAxMjozMjowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVhNjY4YmYgdG8gN2JiZDcwOAoKMjAxMC0xMC0xNCAxNDowNzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkgIGNhbWVyYWJpbjogUmVtb3ZlIHVudXNlZCBlbnRyeQoJICBSZW1vdmUgY2FtZXJhYmluIHVudXNlZCBlbnVtIGVudHJ5CgoyMDEwLTEwLTE0IDEzOjQxOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBBdm9pZCBicmVha2luZyBBQkkKCSAgTW92ZSB0aGUgbmV3bHkgYWRkZWQgZnVuY3Rpb25zL2ZpZWxkcyB0byB0aGUgZW5kIG9mIHRoZSBzdHJ1Y3RzCgoyMDEwLTEwLTE0IDExOjQ1OjU1ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBhY2NlbGVyYXRlIHNlYXJjaCBmb3Igc3RhcnQgY29kZQoJICBBcyB0aGUgc3RhcnRjb2RlIGFsd2F5cyBzdGFydHMgd2l0aCAweDAwMDAwMSBzb21lIGl0ZXJhdGlvbnMKCSAgY2FuIGJlIHNraXBwZWQgaWYgdmFsdWVzID4gMSBhcmUgZGV0ZWN0ZWQuCgkgIH4gNzAlIGZhc3RlciBvbiBIRCB2aWRlbyBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzIxMzAKCjIwMTAtMTAtMTQgMTY6NDg6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcHJvcGVybHkgcGFyc2UgZS1hYzMgZnJhbWUgaGVhZGVyCgkgIEFsc28gYWRkIGEgZmV3IGRlYnVnIHN0YXRlbWVudHMuCgoyMDEwLTEwLTE0IDExOjI0OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcmVmbG93IG9wZW5pbmcgYW5kIGNsb3NpbmcgZGVjb2RlcgoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIHJlY29uZmlndXJlcyBxdWl0ZSBmb3JjZWZ1bGx5IHdoZW4gcmVuZWdvdGlhdGlvbiBpcyBuZWVkZWQuCgkgIEZpeGVzICM2MzE1MDEuCgoyMDEwLTEwLTEzIDE3OjQ3OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcHJldmVudCBpbmZpbml0ZSBsb29wIHdoZW4gYWRqdXN0aW5nIGZyYW1lcmF0ZQoJICBGaXhlcyAjNjMyMDcwLgoKMjAxMC0xMC0xMiAyMTo0NjozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogdXBkYXRlIHRlc3RzIHRvIHRoZSBuZXcgZGF0ZXRpbWUgYXBpCgkgIFVwZGF0ZSBqaWZtdXggdGVzdHMgdG8gdXNlIG5ldyBnc3RkYXRldGltZSBBUEkgaW4gY29yZQoKMjAxMC0xMC0xMiAwOTozNzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEFkZHMgcm90YXRlIGVsZW1lbnQKCSAgQWRkcyBhIG5ldyByb3RhdGUgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uIEl0IHN0aWxsCgkgIG5lZWRzIHNvbWUgd29yay4gQnV0IHRoaXMgaXMgYSBnb29kIHN0YXJ0aW5nIHBvaW50LgoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIEJlcnQgRG91Z2xhcyA8YmVydGQgdHBsb2dpYyBjb20+CgoyMDEwLTEwLTEzIDExOjAwOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdHdlYWsgc2V0dGluZyBidWZmZXIgbWV0YWRhdGE7IGF2b2lkIHRpbWVzdGFtcCBqaXR0ZXIKCSAgRml4ZXMgIzYzMTk5My4KCjIwMTAtMTAtMTIgMTg6MTc6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IGNhdGVyIGZvciByZW5lZ290aWF0aW9uCgkgIEF0IGxlYXN0LCB3aGVuZXZlciBlaXRoZXIgc3RyZWFtIChlLmcuIEFEVFMpIG9yIHVwc3RyZWFtIHByb3ZpZGVzIG5lY2Vzc2FyeQoJICBpbmZvIGZvciBkb2luZyBzby4KCSAgRml4ZXMgIzYzMTUwMS4KCjIwMTAtMTAtMTIgMTg6MDc6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBzdHJlYW1saW5lIHNyYyBjYXBzIHNldHRpbmcKCSAgSW4gcGFydGljdWxhciwgYWxzbyBzZXQgc3JjIGNhcHMgd2hlbmV2ZXIgY2hhbmdlcyBpbiBzdHJlYW0gd2FycmFudCBkb2luZyBzby4KCjIwMTAtMTAtMTIgMTY6MTM6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IHBvcnQgR3N0WE92ZXJsYXkgYml0cyB0byBuZXcgQVBJCgkgIERvbid0IHVzZSBkZXByZWNhdGVkIEFQSS4KCjIwMTAtMTAtMTIgMTY6MzU6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJICBmYWFjOiBhZGp1c3QgdW5pdCB0ZXN0IHRvIGZhYWMgbW9kaWZpZWQgb3V0cHV0CgoyMDEwLTEwLTEwIDEyOjMyOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVja3M6IHJlbW92ZSB2YXJpYWJsZXMgZnJvbSBNYWtlZmlsZS5hbSB0aGF0IGFyZW4ndCBzZXQKCSAgUmVtb3ZlIHNvbWUgc3R1ZmYgdGhhdCB3YXMgY29weSduJ3Bhc3RlZCBmcm9tIGNvcmUgYnV0CgkgIGRvZXNuJ3QgYXBwbHkgaGVyZS4gVGhlIGZvbGxvd2luZyB2YXJzIGFyZW4ndCBzZXQ6CgkgIENIRUNLX0NGTEFHUywgQ0hFQ0tfTElCUywgR1NUX09CSl9DRkxBR1MsIEdTVF9PQkpfTElCUywKCSAgc28gd2UgbWF5IGp1c3QgYXMgd2VsbCByZW1vdmUgdGhlbS4KCjIwMTAtMTAtMTIgMTI6MTE6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgZXhhbXBsZXM6IEZpeCBjb21waWxhdGlvbiB3aXRoIEdUSysgMy4wCgoyMDEwLTEwLTEyIDEwOjI4OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEFkanVzdCB1bml0IHRlc3RzIHRvIG5ldyBmbGFjcGFyc2UgYmVoYXZpb3VyCgkgIEdhcmJhZ2UgYWZ0ZXIgZnJhbWVzIGlzIG5vdyBpbmNsdWRlZCBpbiB0aGUgZnJhbWVzIGJlY2F1c2UgZmxhY3BhcnNlCgkgIGhhcyBubyBlYXN5IHdheSB0byBkZXRlY3QgdGhlIHJlYWwgZW5kIG9mIGEgZnJhbWUuIERlY29kZXJzIGFyZQoJICBleHBlY3RlZCB0byBldmVyeXRoaW5nIGFmdGVyIHRoZSBmcmFtZSBiZWNhdXNlIG9ubHkgZGVjb2RpbmcgdGhlCgkgIGJpdHN0cmVhbSB3aWxsIHJldmVhbCB0aGUgcmVhbCBlbmQgb2YgdGhlIGZyYW1lLgoJICBGaXhlcyBidWcgIzYzMTgxNC4KCjIwMTAtMTAtMTIgMTA6Mjc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBEb24ndCBkcm9wIHRoZSBsYXN0IGZyYW1lIGlmIGl0IGlzIGZvbGxvd2VkIGJ5IGdhcmJhZ2UKCSAgU2VlIGJ1ZyAjNjMxODE0LgoKMjAxMC0xMC0xMSAxNzo0OTo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBlcmZvcm0gYml0cmF0ZSBoYW5kbGluZyBhbmQgcG9zdGluZyBhZnRlciBuZXdzZWdtZW50IHNlbmRpbmcKCjIwMTAtMTAtMTEgMTc6MzY6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbW1lZGlhdGVseSBwb3N0IHN1YmNsYXNzIHByb3ZpZGVkIGJpdHJhdGUKCjIwMTAtMTAtMTEgMTc6MDY6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggcGFyc2luZyB3aXRoIHVua25vd24gZnJhbWVzaXplcwoJICBGaXhlcyAjNjMxODE0IChtb3N0bHkpLgoKMjAxMC0xMC0xMSAxNzowNToyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogaGFuZGxlIHRyYWlsaW5nIGVuY29kZXIgb3V0cHV0CgoyMDEwLTEwLTExIDE0OjI1OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmM6CgkgIHN3aXRjaHNyYzogU2V0IHRoZSBHU1RfRUxFTUVOVF9JU19TT1VSQ0UgZmxhZwoKMjAxMC0wOS0xMyAxOTowNzo1NSArMDEwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGludGVsLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogRml4IGV4YW1wbGUgdXNhZ2UsIGJhbmR3aWR0aD04IG5vdCA4TUh6CgkgIFRoZSBiYW5kd2lkdGggcHJvcGVydHkgaXMgZW51bSB0aGF0IHRha2VzIHRoZSB2YWx1ZXMgOCwgNywgNiwgQVVUTyBub3QKCSAgOE1Iei4KCjIwMTAtMTAtMDggMTc6MDE6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htYWxsb2MuaDoKCSAgc2htOiBBZGQgQysrIHByb3RlY3Rpb24KCSAgQWRkIGMrKyBwcm90ZWN0aW9uIGluIHRoZSByZWxldmFudCBwbGFjZXMKCjIwMTAtMTAtMDggMTI6NDQ6NDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjNGE4YWRjIHRvIDVhNjY4YmYKCjIwMTAtMTAtMDggMTI6NTU6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZTNjOWJmIHRvIGM0YThhZGMKCjIwMTAtMTAtMDcgMjM6Mzc6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBTaW1wbGlmeSBmcmFtZSBoZWFkZXIgcGFyc2luZyBieSB1c2luZyBsb29rdXAgdGFibGVzCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgRmVsaXBlIENvbnRyZXJhcy4KCSAgU2VlIGJ1ZyAjNjMxMjAwLgoKMjAxMC0xMC0wNyAyMzoyODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IERvbid0IHBhcnNlIHRoZSBjb21wbGV0ZSBGTEFDIGZyYW1lcyBidXQgb25seSBsb29rIGZvciB2YWxpZCBmcmFtZSBoZWFkZXJzCgkgIFRoYW5rcyB0byBGZWxpcGUgQ29udHJlcmFzIGZvciB0aGUgc3VnZ2VzdGlvbi4gVGhpcyBpcyBwYXJ0aWFsbHkKCSAgYmFzZWQgb24gaGlzIHBhdGNoZXMgYW5kIG1ha2VzIGZsYWNwYXJzZSBtb3JlIHRoYW4gMy41IHRpbWVzIGZhc3Rlci4KCSAgTG9va2luZyBmb3IgdmFsaWQgZnJhbWUgaGVhZGVycyBpcyB1bmxpa2VseSB0byBnaXZlIGZhbHNlIHBvc2l0aXZlcwoJICBiZWNhdXNlIGV2ZXJ5IGZyYW1lIGhlYWRlciBpcyBhdCBsZWFzdCA5IGJ5dGVzIGxvbmcsIGNvbnRhaW5zIGEKCSAgMTQgYml0IHN5bmMgY29kZSBhbmQgYSA4IGJpdCBjaGVja3N1bSBvdmVyIHRoZSBmaXJzdCA4IGJ5dGVzLgoJICBGaXhlcyBidWcgIzYzMTIwMC4KCjIwMTAtMTAtMDcgMTE6NTk6MzAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogd29ya2Fyb3VuZCBpbnRlcm5hbCBydHNwc3JjIGZhaWxpbmcgc3RhdGUgY2hhbmdlCgkgIEZpeGVzICM2MzAwNDYuCgoyMDEwLTEwLTA3IDEwOjM0OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuaDoKCSAgYXVkaW9wYXJzZTogQWRkIHN1cHBvcnQgZm9yIHNldHRpbmcgdGhlIGNoYW5uZWwtcG9zaXRpb25zCgoyMDEwLTEwLTA2IDE4OjMyOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogUmVhbGx5IHBvc3QgdGFncyBvbmx5IGFmdGVyIHRoZSBpbml0aWFsIG5ld3NlZ21lbnQgZXZlbnQKCSAgVGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQgd2lsbCBiZSBzZW5kIGJ5IHRoZSBmaXJzdCBjYWxsIHRvCgkgIGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKCkgaWYgbmVjZXNzYXJ5LCBwb3N0aW5nIHRoZSB0YWdzCgkgIGJlZm9yZSB0aGF0IGlzIG5vdCBhIGdvb2QgaWRlYS4gSW5zdGVhZCBkbyBpdCBmcm9tIHRoZQoJICBHc3RCYXNlUGFyc2U6OnByZV9wdXNoX2J1ZmZlciB2ZnVuYy4KCjIwMTAtMTAtMDYgMTY6NTQ6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkgIGNocm9tYWhvbGQ6IEZpeCBodWUgY2FsY3VsYXRpb24gZm9yIHJlZCBjb2xvcnMKCSAgQWxzbyBtYWtlIHRoZSBjYWxjdWxhdGlvbiBtdWNoIG1vcmUgYWNjdXJhdGUuLi4KCjIwMTAtMTAtMDYgMTU6MjE6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkgIGNocm9tYWhvbGQ6IE1ha2UgZXZlcnl0aGluZyBncmV5c2NhbGUgaWYgdGhlIHRhcmdldCBjb2xvciBpcyBncmV5CgoyMDEwLTEwLTA2IDExOjU1OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSAgY2hyb21haG9sZDogQWRkIGNocm9tYWhvbGQgY29sb3IgZWZmZWN0CgkgIFRoaXMgZWZmZWN0IGNvbnZlcnRzIGFsbCBjb2xvcnMgZXhjZXB0IGEgc2luZ2xlIG9uZSB0bwoJICBncmV5LiBUaGUgY29sb3IgaXMgc2VsZWN0ZWQgYnkgYW4gUkdCIHRyaXBsZSBhbmQgYQoJICB0b2xlcmFuY2UgZm9yIHRoZSBjb2xvciBtYXRjaGluZyBpbiBodWUgZGVncmVlIGNhbiBiZSBzcGVjaWZpZWQuCgoyMDEwLTEwLTA1IDE3OjA0OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IGZpeCBhbmQgcmVmbG93IHNvbWUgZXhpdHMKCjIwMTAtMTAtMDUgMTY6NTY6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogZXJyb3Igb3V0IGlmIG5vIHN0cmVhbXMgZm91bmQgaW4gc2RwIG1lc3NhZ2UKCjIwMTAtMTAtMDUgMTY6NDc6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogdW5icmVhayBzdGFuZGFyZCBtYW5hZ2VyIHNldHVwCgoyMDEwLTEwLTA1IDExOjQ0OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBtb3JlIHVuaXQgdGVzdCBiaW5hcmllcwoKMjAxMC0xMC0wNSAxMTo0Mjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvZ3N0LWFsc2EubTQ6CgkgIGFsc2FzcGRpZjogcmVtb3ZlIGFsc2FzcGRpZnNpbmsgZWxlbWVudAoJICBSZW1vdmUgYWxzYXNwZGlmc2luaywgaXQncyBub3QgbmVlZGVkIGFueSBsb25nZXIuIGFsc2FzaW5rIGluIC1iYXNlCgkgIGhhcyBiZWVuIGFibGUgdG8gaGFuZGxlIFNQRElGIGZvciBhIHdoaWxlIG5vdy4KCjIwMTAtMTAtMDUgMTE6MTc6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgUmV2ZXJ0ICJiYXNlcGFyc2U6IGFkZCBza2lwIHByb3BlcnR5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGI1YTNkNjAzNjNkODM3YTEwZjA1MzNjMTQxZWM5M2QxMGI3NDIzMTIuCgkgIFJldmVydGluZyB0aGlzIGZvciBub3csIHNpbmNlIG5vIG9uZSByZWFsbHkgc2VlbXMgdG8gcmVtZW1iZXIgd2h5IHRoaXMKCSAgcHJvcGVydHkgZXhpc3RzIG9yIHdoYXQgaXQgY291bGQgcG9zc2libHkgYmUgZ29vZCBmb3IuIEl0IHNlZW1zIHRvIGhhdmUKCSAgYmVlbiBpbiB0aGUgb3JpZ2luYWwgbXAzcGFyc2Ugc2luY2UgdGhlIGJlZ2lubmluZyBvZiB0aW1lIGFuZCB3YXMgYmFjay0KCSAgcG9ydGVkIGZyb20gdGhlcmUuCgoyMDEwLTEwLTA0IDEwOjQxOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZ3MKCSAgVGhlc2Ugd2FybmluZ3MgYXJlIHdyb25nLCB0aGUgdmFyaWFibGVzIGFyZSBvbmx5IHVzZWQgaWYgdGhleSB3ZXJlCgkgIGluaXRpYWxpemVkIGJ5IHRoZSBiaXQgcmVhZGVyLgoKMjAxMC0wOS0xNCAwMjo0ODo1OCArMDMwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBwaWN0dXJlIHBhcnNpbmcKCSAgU2lnbmVkLW9mZi1ieTogRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoyMDEwLTEwLTAzIDIzOjU0OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogUHVzaCB0YWdzIGJlZm9yZSB0aGUgaGVhZGVyIGJ1ZmZlcnMgYXJlIHB1c2hlZAoKMjAxMC0wOC0wMiAyMDo1MDoyMSArMDMwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHRyaXZpYWwgY2FwcyBmaXgKCSAgU2lnbmVkLW9mZi1ieTogRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoyMDEwLTEwLTAzIDIzOjQ1OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCSAgQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgdG8gcXRtdXggcHJvcGVydGllcwoKMjAxMC0xMC0wMyAyMzoxNDo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHZhbHZlOiBGaXggdGVzdHMgYnVpbGQKCSAgQWRkcyBtaXNzaW5nIGNmbGFncy9saWJzIHRvIHZhbHZlIGNoZWNrIHRlc3QgdG8KCSAgZml4IGJ1aWxkCgoyMDEwLTEwLTAzIDIzOjUwOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyOiBMZXQgdGhlIGZvcm1hdCBzdHJpbmcgYWdyZWUgd2l0aCB0aGUgcGFyYW1ldGVycyB0byBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMC0xMC0wMyAxNTo1NToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBDaGVjayByZXR1cm4gdmFsdWVzIG9mIHRoZSBiaXRyZWFkZXIgZnVuY3Rpb25zCgoyMDEwLTEwLTAzIDE1OjQxOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IFVzZSB1bmNoZWNrZWQgdmVyc2lvbnMgb2YgdGhlIGJpdHJlYWRlciBnZXQgZnVuY3Rpb25zCgkgIFdlIGRpZG4ndCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlcyBhbnl3YXkuLi4KCjIwMTAtMDktMjggMTM6NTI6MjkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogbm8gbmVlZCB0byByZWYgdGhlIG9iamVjdCBpbiBfY2hhaW4KCSAgRG9uJ3QgcmVmIHRoZSBwYWQgaW4gY2hhaW4sIGxpa2UgZWxzZXdoZXJlCgoyMDEwLTA5LTIyIDE1OjQ0OjQzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IGRlYnVnIG91dHB1dAoJICBXZSBsb3NlIHRoZSByZWZlcmVuY2UgdG8gdGhlIGJ1ZmZlciBhZnRlciBnc3RfcGFkX3B1c2goKSwgc28gdGhlIGRlYnVnCgkgIHByaW50IHNob3VsZCBoYXBwZW4gYmVmb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyMjc2CgoyMDEwLTEwLTAxIDEyOjM0OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5oOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBmbGFjcGFyc2UgdW5pdCB0ZXN0CgkgIC4uLiBhbmQgdHdlYWsgcGFyc2VyIHRlc3QgaGVscGVyIGluIHRoZSBwcm9jZXNzLgoKMjAxMC0wOS0yOSAxNjoxMjo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHN1cHBvcnQgcmV2ZXJzZSBwbGF5YmFjawoJICAuLi4gaW4gcHVsbCBtb2RlIG9yIHVwc3RyZWFtIGRyaXZlbi4KCjIwMTAtMDktMjcgMTI6MTY6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZW1vdmUgZG9uZSBUT0RPcyBhbmQgdXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDktMjUgMTQ6NDA6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgZGV0ZXJtaW5lZCBzZWVrYWJpbGl0eSBpbiBhbnN3ZXJpbmcgU0VFS0lORyBxdWVyeQoKMjAxMC0wOS0yNSAxNDozMjowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkZCBza2lwIHByb3BlcnR5CgoyMDEwLTA5LTI1IDEzOjU5OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYzNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBhYzNwYXJzZSBhbmQgbXBlZ2F1ZGlvcGFyc2UgdW5pdCB0ZXN0CgoyMDEwLTA5LTI1IDEzOjU5OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBtcGVnYXVkaW9wYXJzZTogaW5pdGlhbCB2ZXJzaW9uCgkgIC4uLiBhZGVxdWF0ZWx5IGVxdWl2YWxlbnQgdG8gbXAzcGFyc2UsIHNvIGxldHMgYm9sZGx5IHNldCBpdAoJICB0byBoaWdoZXIgcmFuay4KCjIwMTAtMDktMjUgMTQ6MDE6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogc2V0IG1pbmltdW0gZnJhbWUgc2l6ZSBhdCBfc3RhcnQKCSAgLi4uIHJhdGhlciB0aGFuIG9uZSB0aW1lIGF0IF9pbml0LgoKMjAxMC0wOS0yNSAxMzo1MDo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2VfZGF0YS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZV9kYXRhLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSAgYXVkaW9wYXJzZXJzOiByZWZhY3RvciBleGlzdGluZyB1bml0IHRlc3RzIHVzaW5nIGNvbW1vbiBoZWxwZXIKCjIwMTAtMDktMjIgMTU6MDc6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiB1c2UgX3NldF9mcmFtZV9wcm9wcyB0byBjb25maWd1cmUgZnJhbWUgbGVhZF9pbiBhbmQgbGVhZF9vdXQKCSAgLi4uIHByb3ZpZGVkIGEgY29ycmVzcG9uZGluZyBkZWNvZGVyIHdpdGggc3VmZmljaWVudCBsZWFkaW5nIGFuZCBmb2xsb3dpbmcKCSAgZnJhbWVzIHRvIGNhcnJ5IG91dCBmdWxsIGRlY29kaW5nIGZvciBhIHBhcnRpY3VsYXIgc2VnbWVudC4KCjIwMTAtMDktMjIgMTQ6MTM6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgX3NldF9kdXJhdGlvbiB0byBjb25maWd1cmUgZHVyYXRpb24gdXBkYXRlIGludGVydmFsCgkgIC4uLiBhcyBpdCBsb2dpY2FsbHkgYmVsb25ncyB0aGVyZSBhcyBvbmUgb3IgdGhlIG90aGVyOyBlaXRoZXIgc3ViY2xhc3MKCSAgY2FuIHByb3ZpZGUgYSBkdXJhdGlvbiwgb3IgYW4gZXN0aW1hdGUgbXVzdCBiZSBtYWRlIChyZWd1YXJseSB1cGRhdGVkKS4KCjIwMTAtMDktMjIgMTM6NTU6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBsb2NhbGl6ZSB1c2Ugb2YgcHJvdmlkZWQgZnBzIGluZm9ybWF0aW9uCgoyMDEwLTA5LTIyIDEyOjEzOjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc2VlayB0YWJsZSBhbmQgYWNjdXJhdGUgc2VlayBzdXBwb3J0CgoyMDEwLTA5LTIxIDEzOjU3OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGVyIGFuZCBtb3JlIGV4dGVuZGVkIHNlZ21lbnQgYW5kIHNlZWsgaGFuZGxpbmcKCSAgVGhhdCBpcywgbG9vcCBwYXVzZSBoYW5kbGluZywgc2VnbWVudCBzZWVrIHN1cHBvcnQsIG5ld3NlZ21lbnQgZm9yIGdhcHMsIGV0YwoKMjAxMC0wOS0yMSAxMDo1NzowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCBpbmRleCBzdXBwb3J0CgoyMDEwLTA5LTIxIDA5OjU5OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmYWN0b3Igc3RhdGUgcmVzZXQKCjIwMTAtMDktMjAgMTY6Mzk6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGluZGVmaW5pdGUgcmVzeW5jaW5nCgoyMDEwLTA5LTIwIDEzOjU3OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc3BlY2lmaWMgRU9TIGhhbmRsaW5nIGlmIG5vIG91dHB1dCBzbyBmYXIKCjIwMTAtMDktMjAgMTM6MzE6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGp1c3QgX3NldF9mcmFtZV9wcm9wIGRvY3VtZW50YXRpb24gYW5kIHNldCBkZWZhdWx0IGFzIGNsYWltZWQKCjIwMTAtMDktMjAgMTM6MzA6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggYml0cmF0ZSBjb3B5LWFuZC1wYXN0ZSBhbmQgdXBkYXRlIGhldXJpc3RpYwoKMjAxMC0wOS0xNyAxODozMzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBvc3QgZHVyYXRpb24gbWVzc2FnZSBpZiBhdmVyYWdlIGJpdHJhdGVzIGlzIHVwZGF0ZWQKCjIwMTAtMDktMTcgMTg6MjQ6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHJlbW92ZSBpc19zZWVrYWJsZSB2bWV0aG9kIGFuZCB1c2UgYSBzZXRfc2VlayBpbnN0ZWFkCgkgIFNlZWthYmlsaXR5LCBsaWtlIGR1cmF0aW9uLCBldGMgaXMgdW5saWtlbHkgdG8gY2hhbmdlIChmcmVxdWVudGx5KSwgYW5kCgkgIHRoZSBkZWZhdWx0IGFzc3VtcHRpb24gY292ZXJzIG1vc3QgY2FzZXMsIHNvIGxldCBzdWJjbGFzcyBzZXQgd2hlbiBuZWVkZWQuCgkgIEF0IHRoZSBzYW1lIHRpbWUsIGFsbG93IHN1YmNsYXNzIHRvIGluZGljYXRlIGlmIGl0IGhhcyBzZWVrLW1ldGFkYXRhICh0YWJsZSkKCSAgYXZhaWxhYmxlLCBhbmQgcG9zc2libHkgaGF2ZSBpdCBwcm92aWRlIGFuIGF2ZXJhZ2UgYml0cmF0ZS4KCjIwMTAtMDktMTcgMTc6MzU6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcmVtb3ZlIHJlZHVuZGFudCBkZWZhdWx0IGlzX3NlZWthYmxlCgoyMDEwLTA5LTE3IDE3OjIxOjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogYWRkIGFub3RoZXIgaG9vayBmb3Igc3ViY2xhc3MgcHJpb3IgdG8gcHVzaGluZyBidWZmZXIKCSAgLi4uIGFuZCBhbGxvdyBzdWJjbGFzcyB0byBwZXJmb3JtIGN1c3RvbSBzZWdtZW50IGNsaXBwaW5nLCBvciB0bwoJICBlbWl0IHRhZ3Mgb3IgbWVzc2FnZXMgYXQgdGhpcyB0aW1lLgoKMjAxMC0wOS0xNyAxNzoxOTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IDAgY29udmVydHMgdG8gMCBieSBkZWZhdWx0CgoyMDEwLTA5LTE2IDE4OjU2OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXNlOiByZWZhY3RvciBjb252ZXJzaW9uIHVzaW5nIGhlbHBlciBmdW5jdGlvbiBhbmQgZXhwb3J0IGRlZmF1bHQgY29udmVydAoKMjAxMC0wOS0xNiAxODozNTo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHN0cmVhbWxpbmUgcXVlcnkgaGFuZGxpbmcKCjIwMTAtMDktMTYgMTE6NTE6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBjbGVhbnVwIHN0cnVjdCBhbmQgcmVtb3ZlIHVudXNlZCBtZW1iZXIKCjIwMTAtMDgtMTYgMTE6MDQ6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBpbmNyZWFzZSByYW5rcyB0byBlbmFibGUgYXV0by1wbHVnZ2luZwoJICBCZWNhdXNlIHdlIGNhbiwgYW5kIHNob3VsZCwgaGF2ZSBzb21lIHNoYWtlZG93biB0ZXN0aW5nIGJlZm9yZSBoYXZpbmcKCSAgdGhlc2UgbWFrZSBpdCBpbnRvIC1nb29kIGxhdGVyIG9uIC4uLgoKMjAxMC0wOS0yMiAxNjowNzoyNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEFsbG93IGNoYWluaW5nIG9mIHN1YmNsYXNzIGV2ZW50IGhhbmRsZXJzCgkgIFRoaXMgYWxsb3dzIHRoZSBjaGlsZCBjbGFzcyB0byBjaGFpbiBpdHMgZXZlbnQgaGFuZGxlciB3aXRoCgkgIEdzdEJhc2VQYXJzZSwgc28gdGhhdCBzdWJjbGFzc2VzIGRvbid0IGhhdmUgdG8gZHVwbGljYXRlIGFsbCB0aGUgZGVmYXVsdAoJICBldmVudCBoYW5kbGluZyBsb2dpYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI3NgoKMjAxMC0wOS0zMCAxNzo0ODozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmFsdmUuYzoKCSAgdGVzdHM6IEZpeCBjYXBzIGxlYWsgaW4gdGhlIHZhbHZlIHRlc3QKCjIwMTAtMDktMzAgMTc6MjQ6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92YWx2ZS5jOgoJICB2YWx2ZTogQWRkIHVuaXQgdGVzdHMKCSAgQWRkIGEgdW5pdCB0ZXN0IGZvciB0aGUgdmFsdmUgZWxlbWVudC4KCjIwMTAtMDktMzAgMTY6MjY6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgdmFsdmU6IE1ha2UgdGhlIGRyb3AgdmFyaWFibGUgaW50byBhbiBhdG9taWMuCgkgIFVzaW5nIGFuIGF0b21pYyBhbGxvd3MgdXMgdG8gYXZvaWQgbG9ja2luZyB0aGUgd2hvbGUgb2JqZWN0IGFsbCB0aW1lIHRpbWUuCgkgIEFzIHN1Z2dlc3RlZCBieSBTdGVmYW4gS29zdC4KCjIwMTAtMDktMzAgMTY6MjI6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogQ29ycmVjdGx5IHNldCB0aGUgRElTQ09OVCBmbGFnIGFmdGVyIGRyb3BwaW5nIGJ1ZmZlcnMKCjIwMTAtMDktMzAgMTY6MTY6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogUmVtb3ZlIHN1cGVyZmxvdXMgY2hlY2tpbmcgY2FzdHMKCjIwMTAtMDktMzAgMTY6MTM6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogRml4IHN0eWxlLCBpbXByb3ZlIGNvbW1lbnRzCgkgIE1pbm9yIGltcHJvdmVtZW50cyB0byB0aGUgY29tbWVudHMgYW5kIGJyZWFrIGEgZmV3IG92ZXJseSBsb25nIGxpbmVzCgoyMDEwLTA5LTMwIDE2OjA3OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBJbXByb3ZlIGRvY3VtZW50YXRpb24KCSAgQWRkIGFuIGV4YW1wbGUgcGlwZWxpbmUsIGFuZCB0cnkgdG8gZXhwbGFpbiBhIGJpdCBtb3JlIHdoYXQgaXQgZG9lcy4KCjIwMTAtMDktMjkgMTc6MzQ6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEbyBub3Qgd3JvbmdseSBmYWlsIHdoZW4gc3RhcnRpbmcgYSBjYXB0dXJlCgkgIElmIHRoZSBlbGVtZW50cyBhcmUgaW4gTlVMTC9SRUFEWSBhbmQgY2hhbmdpbmcgc3RhdGUgdG8KCSAgUEFVU0VEL1BMQVlJTkcgd2hpbGUgYSBjYXB0dXJlIGlzIHN0YXJ0ZWQKCSAgY2FtZXJhYmluIG1pZ2h0IG5vdCBzZXQgdGhlIGFjdGl2ZV9iaW4gcHJvcGVybHkgY2F1c2luZyB0aGUKCSAgY2FwdHVyZSBzdGFydCB0byBmYWlsLgoJICBUaGlzIHBhdGNoIGZpeGVzIGl0IGJ5IGNoZWNraW5nIHRoZSBjdXJyZW50IGFuZCBwZW5kaW5nIHN0YXRlCgkgIG9mIHRoZSBicmFuY2hlcyBpbnN0ZWFkIG9mIG9ubHkgdGhlIGN1cnJlbnQgb25lCgoyMDEwLTA5LTI5IDEwOjEzOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcmV2ZXJzZSBwbGF5YmFjazsgY2F0ZXIgZm9yIGRlY29kZXIgZGVsYXkKCSAgLi4uIHRoZXJlYnkgYWN0dWFsbHkgdXNpbmcgdGhlIGdhdGhlciBhbmQgZGVjb2RlIHF1ZXVlcy4KCjIwMTAtMDktMjkgMTA6MDg6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiB0d2VhayBvdXRwdXQgYnVmZmVyIHRpbWVzdGFtcGluZwoJICBJbiBwYXJ0aWN1bGFyLCBhdm9pZCBwYWNrZXRpc2VkIGlucHV0IGxlYWRpbmcgdG8gaW5pdGlhbCB0byBub24tMCBvdXRwdXQgdHMuCgoyMDEwLTA5LTI4IDE2OjIwOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogVXNlIHN0YXRpYyBjYXBzIGluc3RlYWQgb2YgY29udmVydGluZyBzdHJpbmdzIHRvIGNhcHMgYWxsIHRoZSB0aW1lCgoyMDEwLTA5LTI4IDE2OjE0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogRml4IGNyYXNoZXMgaWYgcGx1Z2lucyBkb24ndCBwcm92aWRlIGNvcnJlY3QgcHJvcGVydHkgaW5mb3JtYXRpb24KCSAgVGhlIHZlcnRpZ28gcGx1Z2luIGZvciBleGFtcGxlIGNsYWltcyB0byBoYXZlIDMgcHJvcGVydGllcyBidXQKCSAgdGhlIDNyZCBwcm9wZXJ0eSBkb2VzIG5vdGhpbmcgYW5kIGhhcyBhIE5VTEwgbmFtZS4KCSAgRml4ZXMgYnVnICM2MzA3ODMuCgkgIFRoYW5rcyB0byBNYXJ0dGkgS8O8aG5lIGZvciBkZWJ1Z2dpbmcgdGhpcy4KCjIwMTAtMDktMjggMTQ6MjY6MTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogbW92ZSBkZWZhdWx0OiBwYXJzdCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudCB0byB0aGUgZW5kCgkgIE5vdyBzdXJlIGlmIGl0IG1hdHRlcnMsIGJ1dCB0aGUgcHJldmlvdXMgZm9ybSBsb29rcyB3ZWlyZWQuCgoyMDEwLTA5LTI4IDE0OjIzOjAxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IG1vdmUgZGVidWctY2F0ZWdvcnkgcmVnaXN0cmF0aW9uIHRvIHR5cGUgaW5pdAoKMjAxMC0wOS0yOCAxNDoyMjoxOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBtb3ZlIGRlYnVnLWNhdGVnb3J5IHJlZ2lzdHJhdGlvbiB0byB0eXBlIGluaXQKCjIwMTAtMDktMjggMTQ6MTc6NDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogR1NUX0JPSUxFUlBMQVRFIGFscmVhZHkgc2V0cyBwYXJlbnRfY2xhc3MKCjIwMTAtMDktMjggMTQ6MTY6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogdXNlIGJhc2VfaW5pdCBmb3IgcGFkX3RlbXBsYXRlcyBhbmQgZWxlbWVudF9kZXRhaWxzCgoyMDEwLTA5LTI4IDE0OjE1OjU3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IHVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIG9uIHByb3BlcnRpZXMKCjIwMTAtMDktMjggMTQ6MTU6MTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogdXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1Mgb24gcHJvcGVydGllcwoKMjAxMC0wOS0yOCAxNDowNzozOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiBHU1RfQk9JTEVSUExBVEUgYWxyZWFkeSBzZXRzIHBhcmVudF9jbGFzcwoKMjAxMC0wOS0yOCAxNDowODoyOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkgIHZpZGVvbWVhc3N1cmU6IEdTVF9CT0lMRVJQTEFURSBhbHJlYWR5IHNldHMgcGFyZW50X2NsYXNzCgoyMDEwLTA5LTI4IDExOjM1OjUzICswMzAwICBIdSBHYW5nIDxnYW5nLmEuaHVAaW50ZWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJICBwaG90b2dyYXBoeTogZXh0ZW5kIHBob3RvZ3JhcGh5IGlmYWNlCgkgIEFkZCBtb3JlIGNvbG9yIHRvbmUgbW9kZXMgYW5kIGFkZCBOb3NlUmVkdWN0aW9uIHNldHRpbmdzLgoJICBGaXhlcyAjNjE2ODE0LgoKMjAxMC0wOS0yNiAyMDo0MToyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmRzcmM6IGltcHJvdmUgZXJyb3IgbWVzc2FnZXMgb24gcmVhZCBlcnJvcwoJICBQcm92aWRlIGkxOG4tZWQgZXJyb3IgbWVzc2FnZXMgd2hlbiBhIHJlYWQgZXJyb3IgaGFwcGVucywKCSAgYW5kIHBvaW50IG91dCB0aGF0IHRoZSBlcnJvciBjb3VsZCBiZSBoYXBwZW5pbmcgYmVjYXVzZSB0aGUKCSAgRFZEIGlzIHNjcmFtYmxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMzYzMwoKMjAxMC0wOS0yNCAwMDowNToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc2V0IHBsdWdpbiByZWxlYXNlIGRhdGV0aW1lCgoyMDEwLTA5LTI1IDEyOjMzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkgIG9mYTogQ2FsbCBnX29iamVjdF9ub3RpZnkoKSBhZnRlciB0aGUgZmluZ2VycHJpbnQgd2FzIGNyZWF0ZWQKCjIwMTAtMDktMjUgMTA6NDY6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmg6CgkgIGZyZWkwcjogRml4IHNjYW5uaW5nIG9mIHBsdWdpbiBzdWJkaXJlY3RvcmllcyBhbmQgc3VwcG9ydCBkaWZmZXJlbnQgdmVuZG9ycwoJICBUaGUgZnJlaTByIHNwZWMgc3BlY2lmaWVzLCB0aGF0IHBsdWdpbnMgY2FuIGJlIGluIHN1YmRpcmVjdG9yaWVzIGluc2lkZQoJICB0aGUgbWFpbiBwbHVnaW4gZGlyZWN0b3JpZXMgdG8gaW50cm9kdWNlIG5ldyBuYW1lc3BhY2VzIGNhbGxlZCB2ZW5kb3JzLgoKMjAxMC0wOS0yNCAyMjo0NzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2ZyZWkwci5oOgoJICBmcmVpMHI6IFVwZGF0ZSBmcmVpMHIgaW50ZXJmYWNlIHNwZWNpZmljYXRpb24gdG8gMS4yCgoyMDEwLTA5LTI0IDIyOjQzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogQWRkIHN1cHBvcnQgZm9yIHRoZSBGUkVJMFJfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZQoJICBUaGlzIHdhcyBhZGRlZCBpbiB2ZXJzaW9uIDEuMiBvZiB0aGUgc3BlYyBhbmQgcmVwbGFjZXMgdGhlIGRlZmF1bHQKCSAgbGlzdCBvZiBkaXJlY3Rvcmllcy4KCjIwMTAtMDktMjMgMTQ6MTU6MDggKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBpbml0aWFsaXplIGludGVydmFsX3RzIGFuZCBsYXN0X2ZyYW1lc18qIGNvdW50ZXJzCgkgIEluaXRpYWxpemUgaW50ZXJ2YWxfdHMgdG8gZmlyc3QgUU9TIGV2ZW50IHRpbWVzdGFtcCwgb3RoZXJ3aXNlIHRoZQoJICBmcHMgc3RhdGlzdGljcyBhcmUgcHJpbnRlZCBhbHdheXMgYWZ0ZXIgb25lIHJlbmRlcmVkIGZyYW1lLgoJICBBbHNvLCBpbml0aWFsaXplIGxhc3RfZnJhbWVzXyogY291bnRlcnMsIHRoZSB2YWx1ZXMgYXJlIGJvZ3VzIGUuZy4gYWZ0ZXIKCSAgUExBWUlORy1OVUxMLVBMQVlJTkcgc3RhdGUgY2hhbmdlLgoKMjAxMC0wOS0yNCAxMzoyOTo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTAtMDktMjQgMTM6MjU6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiByZW1vdmUgdW51c2VkIHNpZ25hbCBib2lsZXJwbGF0ZQoKMjAxMC0wOS0yNCAxMzoyNDo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBubyBuZWVkIHRvIHJlZiBwYWQgaW4gX2NoYWluKCkKCjIwMTAtMDktMjIgMjM6NDE6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgY2FtZXJhYmluOiBleGFtcGxlOiBtYWtlIGdzdC1jYW1lcmEgdXNlIGZsYWdzCgkgIEVuYWJsZSBhbGwgY29udmVydGlvbiBmbGFncyBpbiBnc3QtY2FtZXJhIGV4YW1wbGUgYXBwCgkgIGZvciBzYWZldHkuCgkgIEZpeGVzICM2MDMwNjMKCjIwMTAtMDktMjIgMjM6Mzk6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSAgY2FtZXJhYmluOiBBZGRzIG5ldyB2aWRlby1jb2xvcnNwYWNlLWZsYWcgdG8gZmxhZ3MKCSAgQWRkcyBhIG5ldyBmbGFnIHRvIGFsbG93IGEgY29sb3JzcGFjZSBjb252ZXJ0aW9uIGJlZm9yZQoJICB0aGUgdmlkZW8gZW5jb2RlciBlbGVtZW50LgoJICBGaXhlcyAjNjAzMDYzCgoyMDEwLTA5LTIyIDIyOjM5OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFVzZSBsaW5rX2Z1bGwgdmVyc2lvbiBmb3IgZGlzYWJsaW5nIGhpZXJhcmNoeSBjaGVjawoJICBEaXNhYmxlIGhpZXJhcmNoeSBjaGVja3Mgd2hlbiBsaW5raW5nIGJlY2F1c2Ugd2UgYXJlIGFscmVhZHkKCSAgaGFuZGxpbmcgdGhlIGVsZW1lbnQgYWRkaW5nIHRvIGJpbnMgYW5kIGl0IHNob3VsZCBiZSBkb25lCgkgIGNvcnJlY3RseS4KCjIwMTAtMDktMjIgMjE6MDM6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFNldCBxdWV1ZXMgdG8gc2lsZW50CgkgIFdlIGN1cnJlbnRseSBkb24ndCB1c2UgcXVldWVzJyBzaWduYWxzLCBzbyBzZXQgdGhlbQoJICB0byBzaWxlbnQuCgoyMDEwLTA5LTIyIDExOjU3OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IEZpeCBjbGFzcyBkZWZpbml0aW9uCgkgIENsYXNzIHN0cnVjdHVyZXMgc2hvdWxkIGluY2x1ZGUgcGFyZW50IGNsYXNzLCBub3QgdGhlIHBhcmVudAoJICBpbnN0YW5jZSBzdHJ1Y3R1cmUuCgoyMDEwLTA5LTIyIDE2OjQxOjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgcGNhcHBhcnNlOiBmaXggd2VpcmQgY2FwcyBjb2RlCgkgIFJlbW92ZSB0aGUgd2VpcmQgKGZhaWxpbmcpIGNvZGUgdG8gZmlndXJlIG91dCBjYXBzIG9uIHRoZSBzcmNwYWQuCgkgIEFkZCBhIGNhcHMgcHJvcGVydHkgdG8gZGVjaWRlIHdoYXQgY2FwcyB0byBwdXQgb24gdGhlIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIEZpeCBhbiBldmVudCBsZWFrLgoKMjAxMC0wOS0yMSAxODoxMzozNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IHF1aWV0IGEgR1NUX0VSUk9SCgoyMDEwLTA5LTIxIDE5OjA3OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkgIHNkcGRlbXV4OiBhZGQgcHJvcGVydHkgdG8gZGlzYWJsZSByZWRpcmVjdAoJICBBZGQgYSBwcm9wZXJ0eSB0byBhdm9pZCByZWRpcmVjdGlvbiB0byB0aGUgcnRzcC1zZHA6Ly8gdXJsIGJ1dCBpbnN0ZWFkIGVtYmVkcyBhbgoJICBydHNwc3JjIGVsZW1lbnQgaW5zaWRlIHNkcGRlbXV4IGFzIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmNvIEJhbGxlc2lvLgoJICBGaXhlcyAjNjMwMDQ2CgoyMDEwLTA5LTIxIDE4OjQ1OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgc2RsdmlkZW9zaW5rOiBGaXggZnVuY3Rpb24gcHJvdG90eXBlIGZvciB0b3VjaHkgY29tcGlsZXJzCgoyMDEwLTA5LTIxIDE4OjM0OjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwODBlMDI1IHRvIDVlM2M5YmYKCjIwMTAtMDktMjEgMTY6MzE6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBzZGw6IFBvcnQgdG8gbmV3IFhPdmVybGF5IEFQSQoJICBGaXhlcyAjNjMwMjUzCgoyMDEwLTA5LTIxIDE2OjI2OjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXU6IFVzZSB0aGUgbmV3IFhPdmVybGF5IEFQSQoJICBGaXhlcyAjNjMwMjU0CgoyMDEwLTA5LTIxIDEwOjU5OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgY2FtZXJhYmluOiBleGFtcGxlczogZG8gbm90IHVzZSBkZXByZWNhdGVkIEdzdFhPdmVybGF5IGZ1bmN0aW9ucwoJICBSZXBsYWNlIHRoZSBkZXByZWNhdGVkIGdzdF94X292ZXJsYXlfc2V0X3h3aW5kb3dfaWQgd2l0aAoJICBnc3RfeF9vdmVybGF5X3NldF93aW5kb3dfaGFuZGxlCgkgIEZpeGVzICM2MzAyNTUKCjIwMTAtMDktMjEgMTI6MzM6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSAtREdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgYWdhaW4gZm9yIEdJVCB2ZXJzaW9ucwoKMjAxMC0wOS0yMSAxMjoyOTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBkb24ndCBlcnJvciBvdXQgb24gVU5FWFBFQ1RFRAoKMjAxMC0wOS0yMSAxMjoyNzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA5LTIxIDEyOjI3OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgbXBsZXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19TVUNDRVNTKCkKCjIwMTAtMDgtMjcgMTk6MTc6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBwaXRjaC10ZXN0OiBEb24ndCB1c2UgZGVwcmVjYXRlZCBHc3RDb250cm9sbGVyIEFQSQoKMjAxMC0wOC0yNyAxOTowMDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgdGltaWRpdHk6IERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGZvciBVTkVYUEVDVEVECgkgIEFsc28gZG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTk6MDA6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODo1ODoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGZvciBmYXRhbCBlcnJvcnMKCSAgQWxzbyBkb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKS4KCjIwMTAtMDgtMjcgMTg6NTY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkgIHNmc2luazogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NTI6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJICB0dGFwYXJzZTogRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIFVORVhQRUNURUQKCSAgQWxzbyBkb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODo1MTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfU1VDQ0VTUygpCgoyMDEwLTA4LTI3IDE4OjUxOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NTA6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIG51dmRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGZvciBXUk9OR19TVEFURSBvciBVTkVYUEVDVEVELgoKMjAxMC0wOC0yNyAxODo0OToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnNmL25lc19hcHUuYzoKCSAgbnNmOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODo0ODoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODo0NzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguaDoKCSAgbXZlZGVtdXg6IEFkZCBwcm9wZXIgZmxvdyByZXR1cm4gYWdncmVnYXRpb24KCSAgTk9UX0xJTktFRCBzaG91bGQgb25seSBiZSByZXR1cm5lZCBpZiBhbGwgc3RyZWFtcyByZXR1cm5lZCBOT1RfTElOS0VELgoKMjAxMC0wOC0yNyAxODo0MTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ2RlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZml4IHNvbWUgbWlub3IgaXNzdWVzIHJlbGF0ZWQgdG8gaXRzIHVzYWdlLgoKMjAxMC0wOC0yNyAxODozNjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjM1OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQWxzbyBkb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgZm9yIFVORVhQRUNURUQgYW5kIGRvIGl0CgkgIGZvciBOT1RfTElOS0VELgoKMjAxMC0wOC0yNyAxODozMzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkgIGFzZnBhcnNlOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbHNvIGRvbid0IHB1c2ggRU9TIGRvd25zdHJlYW0gb24gV1JPTkdfU1RBVEUsIGl0IHdpbGwgYmUgZHJvcHBlZCBhbnl3YXkuCgoyMDEwLTA4LTI3IDE4OjMyOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IERvbid0IHVzZSBHU1RfRkxPV19JU19TVUNDRVNTKCkKCjIwMTAtMDgtMjcgMTg6MzI6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDktMjAgMjE6NDY6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBNZW50aW9uIHBob3RvZ3JhcGh5IGludGVyZmFjZSBpbiBkb2NzCgkgIEFkZCBhIG5vdGUgdG8gZG9jcyBhYm91dCBnZXR0aW5nIHRoZSB2aWRlb3NvdXJjZSBhbmQgYWNjZXNzaW5nCgkgIGl0cyBwaG90b2dyYXBoeSBpbnRlcmZhY2UgKGluIGNhc2UgaXQgaGFzIGl0KQoJICBGaXhlcyAjNjE2OTIzCgoyMDEwLTA4LTI1IDE0OjA0OjU5ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZHMgbWlzc2luZyB2YXJpYWJsZSBpbml0aWFsaXphdGlvbgoJICBBZGRzIG1pc3NpbmcgYXBwX3NyY192aWQgaW5pdGlhbGl6YXRpb24KCjIwMTAtMDgtMjYgMTU6MzM6NTkgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNoZWNrIHN0YXRlIGNoYW5nZSB0byBwbGF5aW5nIGZvciBpbWFnZWJpbiBhbmQgdmlkZW9iaW4KCSAgUHJvcGVybHkgY2hlY2sgYW5kIGhhbmRsZSBlcnJvciBjYXNlcyByZWxhdGVkIHRvIGltYWdlYmluIGFuZAoJICB2aWRlb2JpbiBzdGF0ZSBjaGFuZ2VzLgoKMjAxMC0wNi0yOCAyMTo0ODoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkgIGNhbWVyYWJpbjogUmVtb3ZlIHVzZWxlc3Mgc3JjIHRlbXBsYXRlIHBhZAoJICBjYW1lcmFiaW4gaW1hZ2ViaW4gZG9lc24ndCBuZWVkIGEgc3JjIHRlbXBsYXRlIHBhZC4KCjIwMTAtMDYtMjEgMDk6MzQ6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZvcndhcmQgdGFnIGV2ZW50cyB0byBwcmV2aWV3IHBpcGVsaW5lCgkgIEZvcndhcmQgdGFnIGV2ZW50cyBmcm9tIGltYWdlIHBpcGVsaW5lIHRvIHByZXZpZXcgcGlwZWxpbmUgc28KCSAgdGhhdCBwcmV2aWV3IGVsZW1lbnRzIGNhbiB1c2UgY2FwdHVyZSB0YWdzIGluZm9ybWF0aW9uCgoyMDEwLTA2LTIxIDE2OjE3OjI0ICswMzAwICBIb3Nlb2sgQ2hhbmcgPGhvc2Vvay5jaGFuZ0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBhZGQgInByZXZpZXctc291cmNlLWZpbHRlciIgcHJvcGVydHkKCSAgQWRkcyAncHJldmlldy1zb3VyY2UtZmlsdGVyJyBmb3IgYWRkaW5nIGFuIGVsZW1lbnQgdG8gcHJvY2Nlc3MKCSAgdGhlIHByZXZpZXcgaW1hZ2VzIGJlZm9yZSBwb3N0aW5nIHRoZW0gdG8gdGhlIGJ1cy4KCjIwMTAtMDUtMjUgMTU6Mzk6NDMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgdGFnIG5hbWVzIGluIHRlc3QgYXBwbGljYXRpb24gdG8gbGF0ZXN0IGdzdCBkZWZpbml0aW9ucwoKMjAxMC0wNS0xNyAxMzo0NDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IE1ha2UgYmxvY2stYWZ0ZXItY2FwdHVyZSByZXNldHRpbmcgbW9yZSBjb25zaXN0ZW50CgkgIEFkZHMgYW5vdGhlciBib29sZWFuIHRvIGhlbHAgY29udHJvbGxpbmcgdmlld2ZpbmRlciBibG9ja2luZywKCSAgbWFraW5nIGl0IHBvc3NpYmxlIGZvciB0aGUgYXBwbGljYXRpb25zIHRvIHJlc2V0IHRoZSB2aWV3ZmluZGVyCgkgIGJsb2NraW5nIGFmdGVyIGNhcHR1cmUgd2FzIHN0YXJ0ZWQgYnV0IGJlZm9yZSB0aGUgYmxvY2tpbmcKCSAgYWN0dWFsbHkgaGFwcGVucy4KCjIwMTAtMDUtMTIgMjE6MTE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBVbmJsb2NrIHRoZSB2aWV3ZmluZGVyIHdoZW4gZ29pbmcgdG8gUkVBRFkKCSAgVW5ibG9jayB0aGUgdmlld2ZpbmRlciB3aGVuIGdvaW5nIHRvIHJlYWR5IHRvIGF2b2lkCgkgIGJsb2NraW5nIHdoZW4gc2V0dGluZyBjYW1lcmFiaW4gdG8gcGxheWluZyBhZ2FpbiBhbmQKCSAgYXR0ZW1waW5nIHRvIGNhcHR1cmUuIEtlZXAgdGhlIHByb3BlcnR5IGFzIGlzLgoKMjAxMC0wOS0yMCAxNzoxOTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCBtb25pdG9yaW5nIGFuZCBzdXBwb3J0IGZvciBwaG90b2lmYWNlIHpvb20gZm9yIHZpZGVvLXNvdXJjZQoJICBNYWtlcyBjYW1lcmFiaW4gYXdhcmUgb2YgY2hhbmdlcyBpbiBpdHMgdmlkZW9zb3VyY2Ugem9vbSBwcm9wZXJ0eS4KCjIwMTAtMDktMjAgMTY6MjI6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgY2FtZXJhYmluOiBDaGFuZ2Ugem9vbSBwcm9wZXJ0eSBmcm9tIGludCB0byBmbG9hdAoJICBVcGRhdGVzIHpvb20gcHJvcGVydHkgZm9yIGEgbW9yZSBuYXR1cmFsIHR5cGUgYW5kCgkgIG1ha2VzIGl0IGNvbnNpc3RlbnQgd2l0aCB0aGUgcGhvdG9ncmFwaHkgQVBJCgoyMDEwLTA5LTE5IDE4OjUxOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBBZGQgem9vbSBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2V0L2dldCB0aGUgem9vbSBhcyBhIGZsb2F0CgoyMDEwLTA2LTA4IDEwOjA0OjUyICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IHJlbW92ZSBjYWNoaW5nIHBob3RvZ3JhcGh5IGludGVyZmFjZSBzZXR0aW5ncwoJICBDYW1lcmFiaW4gZG9lc24ndCBpbXBsZW1lbnQgcGhvdG9ncmFwaHkgaW50ZXJmYWNlLCBzbyB3ZQoJICBkb24ndCBuZWVkIGNhY2hpbmcgdGhlIHZpZGVvIHNvdXJjZSBwcm9wZXJ0aWVzIGFueW1vcmUuCgoyMDEwLTA0LTIyIDE3OjQ2OjU5ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IHVzZSBwaG90b2lmYWNlIHByb3BlcnRpZXMgdGhyb3VnaCB2aWRlby1zb3VyY2UKCSAgRml4ZXMgIzYxNjkyMwoKMjAxMC0wNC0yMiAxNDowMzozNCArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiByZW1vdmUgcGhvdG9pZmFjZSBwcm9wZXJ0eS9zZXR0aW5ncyB0ZXN0cwoJICBGaXhlcyAjNjE2OTIzCgoyMDEwLTA4LTMxIDE4OjA2OjE1IC0wMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5Lmg6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIHBob3RvZ3JhcGh5IGludGVyZmFjZSBpbXBsZW1lbnRhdGlvbiBmcm9tIGNhbWVyYWJpbgoJICBSZW1vdmUgbm90aWZ5IHNpZ25hbCBwcm94eSBmb3IgdmlkZW8tc291cmNlLiBBcHBsaWNhdGlvbiBjYW4gdXNlCgkgIHZpZGVvLXNvdXJjZSBkaXJlY3RseSBmcm9tIG5vdyBvbiB0byBnZXQgbm90aWZpZWQgb2YgcHJvcGVydHkgY2hhbmdlcy4KCSAgQWRkIG1vbml0b3Jpbmcgc2NlbmUtbW9kZSBwcm9wZXJ0eSBjaGFuZ2UgdG8gc2VsZWN0IGxvd2VzdCBwb3NzaWJsZQoJICBmcmFtZXJhdGUgZm9yIHZpZGVvIGNhcHR1cmUgd2hlbiBuaWdodCBtb2RlIGlzIHNlbGVjdGVkLgoJICBGaXhlcyAjNjE2OTIzCgoyMDEwLTA0LTI5IDEyOjQ0OjI5ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBhZGQgLS1uby14d2luZG93IG9wdGlvbiBhbmQgZml4IG9wdGlvbiBoYW5kbGluZwoJICBBZGQgLS1uby14d2luZG93IG9wdGlvbiB0byBub3QgdG8gY3JlYXRlIHh3aW5kb3cuIEFsc28gZml4IHpvb20gYW5kCgkgIG11dGUgb3B0aW9uIHR5cGVzIGFuZCBmaWxlbmFtZSBzdHJpbmcgaGFuZGxpbmcuCgoyMDEwLTA0LTI5IDEzOjI0OjE4ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogQWRkIGltYWdlLXByZXZpZXctc3VwcG9ydGVkLWNhcHMgaW50ZXJmYWNlIHByb3BlcnR5CgkgIEFkZHMgYSByZWFkYWJsZSBwcm9wZXJ0eSB0byBnc3RwaG90b2dyYXBoeSBpbnRlcmZhY2UgdG8gcXVlcnkKCSAgd2hhdCBhcmUgdGhlIGFsbG93ZWQgcHJldmlldyBjYXBzIHN1cHBvcnRlZC4KCSAgUGF0Y2ggYnkgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKMjAxMC0wOS0yMCAxMjozNDowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IFJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMC0wOS0yMCAxMToyNjo1OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IFJlbW92ZSBjaGVjayBmb3Igb2xkIC1iYXNlCgoyMDEwLTA5LTE5IDE5OjMzOjQwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IEFkZCBoYW5kbGluZyBvZiBHc3RGb3JjZUtleVVuaXQgZXZlbnRzCgoyMDEwLTA5LTE4IDE5OjI1OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogRml4IG5hbWUgb2YgMzBwLzYwaSBwYXR0ZXJuCgoyMDEwLTA5LTE4IDE5OjIxOjQ3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYWRkIGNhcHR1cmUgcGF0dGVybiBoYW5kbGluZwoJICBNb3ZlIHR5cGljYWwgc2Nhbl9mb3Jfc3luYygpIHVzYWdlIGludG8gYmFzZSBjbGFzcywgd2hpY2gganVzdAoJICBjYWxscyBnc3RfYWRhcHRlcl9tYXNrZWRfc2Nhbl91aW50MzIoKS4KCjIwMTAtMDktMTggMTk6MTQ6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogRG9uJ3QgYmxvdyBhd2F5IGZpZWxkIGluZm9ybWF0aW9uCgkgIEFsc28sIHNldCBmaWVsZCBmbGFncyBjb3JyZWN0bHkuCgoyMDEwLTA5LTE4IDE3OjI4OjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogTW92ZSBkZWFkbGluZSB0byBmcmFtZSBzdHJ1Y3R1cmUKCjIwMTAtMDktMTggMTQ6NTc6MzIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgYWxsb3ctcmZmIHByb3BlcnR5LiAgRml4IHRpbWVzdGFtcGluZwoKMjAxMC0wOS0xOCAxMzozMjowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IG1lcmdlIHRlbGVjaW5lIGludG8gbm9ybWFsIG9wZXJhdGlvbgoKMjAxMC0wOS0wOCAxNTowODo1MCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgdGVsZWNpbmUgc3VwcG9ydAoKMjAxMC0wOS0xNyAwODo0Mzo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZzogQWxsb3cgY29tcGlsYXRpb24gd2l0aG91dCBvcmMKCSAgQWxzbyBkb24ndCBpZ25vcmUgLS1kaXNhYmxlLW9yYy4gRml4ZXMgYnVnICM2Mjk4OTcuCgoyMDEwLTA5LTE0IDE2OjE3OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZHMgYSBuZXcgdGVzdCB0byBjaGVjayBzZXF1ZW50aWFsIGNhcHR1cmUgb2YgaW1hZ2VzCgkgIEFkZHMgYSBuZXcgdGVzdCBjYXNlIHRoYXQgc2hvb3RzIGEgc2VxdWVuY2Ugb2YgaW1hZ2UgY2FwdHVyZQoJICBhbmQgY2hlY2sgdGhhdCB0aGUgZmlsZXMgYXJlIHZhbGlkLgoJICBBbHNvIGFkZHMgdGFnbGlzdCBjaGVja2luZyBjYXBhYmlsaXRpZXMgdG8gdGVzdHMuCgoyMDEwLTA5LTE1IDE3OjU0OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBGb2xsb3cgeG1wIHNlcmlhbGl6YXRpb24gZ3VpZGVsaW5lcyBjbG9zZXIKCSAgcXQgYW5kIGlzb20gdmFyaWFudHMgaGF2ZSBkaWZmZXJlbnQgd2F5cyBvZiBzZXJpYWxpemluZwoJICB4bXAsIGZvbGxvdyB0aGVzZSBndWlkZWxpbmVzLgoJICBUaG9zZSBjYW4gYmUgZm91bmQgaW4gQWRvYmUncyB4bXAgZG9jcy4KCjIwMTAtMDktMTUgMjE6NDc6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5oOgoJICBjb2xvcnNwYWNlOiBhZGQgb3JjLWRpc3QgZmlsZXMKCSAgU2hvdWxkIGZpeCBidWlsZCB3aXRob3V0IG9yYyBvciB0b28gb2xkIG9yYy4KCjIwMTAtMDktMTUgMTc6NTE6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmg6CgkgIGNoZWNrc3Vtc2luazogZml4IHVwIGNvcHlyaWdodCBpbiBoZWFkZXIgZmlsZQoKMjAxMC0wOS0xMiAxNDo1OTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWxpYnMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItbGlicy5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMucGMuaW46CgkgIHBrZ2NvbmZpZzogcmVtb3ZlIHNvbWUgb2xkIHVudXNlZCBmaWxlcyBmcm9tIDAuOCBkYXlzCgoyMDEwLTA5LTE1IDE4OjM4OjAzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSAgbWV0YWRhdGE6IGFkZCByZW1vdmVkIGZpbGVzIHRvIGNydWZ0IHZhcnMKCjIwMTAtMDktMTUgMTg6MTM6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogYWRkIG1pc3Npbmcgc3RkaW8gaW5jbHVkZQoKMjAxMC0wOS0xNSAxODoxMDozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhLy5naXRpZ25vcmU6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL1JFQURNRToKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIG1ldGFkYXRhOiByZW1vdmUgbWV0YWRhdGEgcGx1Z2luCgkgIFRoaXMgcGx1Z2lucyBmdW5jdGlvbmFsaXR5IGlzIHJlcGxhY2VkIGJ5IHV0aWxpdHkgbGlicmFyaWVzIGluIGJhc2UgZm9yIGV4aWYKCSAgYW5kIHhtcC4gSnBlZyBpbWFnZXMgY2FuIHVzZSB0aGlzIHZpYSBqcGVnZm9ybWF0IHBsdWdpbi4KCSAgRml4ZXMgIzQ4NjY1OQoKMjAxMC0wOS0xNCAxMToyODo1NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogQWRkIGZvcm1hdD1iZ2dyL2V0Yy4gdG8gY2FwcwoKMjAxMC0wOS0xMyAxODo0OTo0MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgY29sb3JzcGFjZTogQWRkIGNvbnZlcnNpb24gY29kZQoJICBXb3JrIGluIHByb2dyZXNzLiAgQ29sb3JzcGFjZSBoYW5kbGVzIG1vc3QgZm9ybWF0IGNvbnZlcnNpb24gdXNpbmcKCSAgMy1zdGFnZSBnZXRsaW5lL21hdHJpeC9wdXRsaW5lIHByb2Nlc3MgdXNpbmcgYW4gQVlVViBvciBBUkdCCgkgIGludGVybWVkaWF0ZSwgd2l0aCBtb3N0IGZ1bmN0aW9ucyBoYW5kbGVkIGJ5IE9yYy4gIFRoZXJlIGlzIGFsc28KCSAgYSB0YWJsZSBvZiBzaW5nbGUtcGFzcyBjb252ZXJzaW9ucywgYWxsIGhhbmRsZWQgYnkgT3JjLiAgVGhlIHBsYW4KCSAgaXMgdG8gYWRkIG9wdGlvbmFsIHN0YWdlcyBmb3IgdmFyaW91cyBjaHJvbWEgdXBzYW1wbGluZy9kb3duc2FtcGxpbmcKCSAgYWxnb3JpdGhtcywgZGl0aGVyaW5nLCBhbmQgZmxvYXQvaW50MTYgaW50ZXJtZWRpYXRlcywgYW5kIHRoZW4gaGF2ZQoJICBPcmMgY3JlYXRlIG11bHRpLXN0YWdlIGZ1bmN0aW9ucyBhdCBydW50aW1lLgoKMjAxMC0wOS0xMyAxMjo0ODo1MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkqIGdzdC9jb2xvcnNwYWNlL3l1djJyZ2IuYzoKCSogZ3N0L2NvbG9yc3BhY2UveXV2MnJnYi5oOgoJICBjb2xvcnNwYWNlOiBSZXZpdmUgZWxlbWVudAoJICBOb3cgYmFzZWQgb24gT3JjLgoKMjAxMC0wOS0wOSAxNDo0OTowNiAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGFkZGVkIHRyYW5zbGF0YWJsZSB0ZXh0IGZvciBzZXJ2ZXIgbm90IGZvdW5kIGVycm9yCgoyMDEwLTA4LTA5IDE0OjMyOjU3ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IENoYW5nZSBiaXRyYXRlIHRvIGJpdHMvc2VjCgoyMDEwLTA5LTEwIDEzOjM2OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IFJlc2V0IHRhZ3Mgd2hlbiBnb2luZyB0byBSRUFEWQoJICBSZXNldCB0aGUgdGFnc2V0dGVyIHRhZ3Mgd2hlbiBnb2luZyB0byBSRUFEWSBzdGF0ZQoKMjAxMC0wOS0xMCAxMzozMzoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IEZpeCBlbGVtZW50IGRlc2NyaXB0aW9uCgkgIFVzZSBzYW5lciBjYXRlZ29yaWVzIGZvciBqaWZtdXgvanBlZ3BhcnNlIGVsZW1lbnRzCgoyMDEwLTA5LTEwIDExOjMxOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogU2V0IHRhZ3MgdG8gbW9yZSBlbGVtZW50cwoJICBSZW1vdmUgY2hlY2sgZm9yICdNdXhlcicgY2F0ZWdvcnkgd2hlbiBzZXR0aW5nIHRhZ3MKCSAgZm9yIHRhZ3NldHRlcnMuIFNldCB0aGVtIHRvIGFsbCB0YWdzZXR0ZXJzIGluIHRoZQoJICBwaXBlbGluZXMuCgoyMDEwLTA5LTEwIDE4OjM1OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHJlZGlyZWN0IFNEUCB3aXRoIGFuIHJ0c3AgY29udHJvbCBVUkwKCSAgV2hlbiB3ZSBmaW5kIGFuIFNEUCB3aXRoIGFuIHJ0c3A6Ly8gdXJsIGFzIHRoZSBnbG9iYWwgY29udHJvbCBhdHRyaWJ1dGUgb3Igd2hlbgoJICBhbGwgc3RyZWFtcyBoYXZlIGFuIHJ0c3A6Ly8gY29udHJvbCBhdHRyaWJ1dGUsIHBvc3QgYW4gcmVkaXJlY3QgbWVzc2FnZSB3aXRoIGFuCgkgIHJ0c3Atc2RwOi8vIHVybCBjb250YWluaW5nIHRoZSBTRFAuCgkgIEZpeGVzICM2MjgyMTQKCjIwMTAtMDktMTAgMTA6Mjk6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogRml4IGJ1aWxkIHdpdGggZGVidWdnaW5nIGRpc2FibGVkCgkgIEFkZCBzb21lIGlmZGVmcyB0byBwcmV2ZW50IGJ1aWxkIGZhaWx1cmVzIGR1ZSB0byB1bnVzZWQKCSAgdmFyaWFibGVzCgoyMDEwLTA5LTA5IDIzOjU5OjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgdGVzdHM6IGFsbG93IHJ1bm5pbmcgc3RhdGUgdGVzdHMgZm9yIGFsbCBlbGVtZW50cwoJICBOb3cgb25lIGNhbiB1c2UgR1NUX05PX1NUQVRFX0lHTk9SRV9FTEVNRU5UUz0xIG1ha2UgZ2VuZXJpYy9zdGF0ZXMuY2hlY2sKCSAgdG8gdHJ5IGVsZW1lbnRzIHRoYXQgd291bGQgbm9ybWFseSBiZSBza2lwcGVkLgoKMjAxMC0wOS0wOSAxNzoxODowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgZGVwZW5kZW5jeSBvbiBsaWJzd3NjYWxlCgkgIEl0J3Mgbm90IHVzZWQgaW4gdGhlIGdzdCBvcGVuY3YgcGx1Z2luLgoKMjAxMC0wOS0wOSAxNTowMzoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkgIG9wZW5jdjogZGVmaW5lIENWX05PX0JBQ0tXQVJEX0NPTVBBVElCSUxJVFkgdG8gc3VwcHJlc3Mgd2FybmluZ3MgY2F1c2VkIGJ5IGNvbXBhdCBoZWFkZXIKCSAgQ29tcGlsZSB3aXRoIC1EQ1ZfTk9fQkFDS1dBUkRfQ09NUEFUSUJJTElUWSBmb3Igbm93LCBzbyB0aGF0IHRoZSBjb21wYXQgaGVhZGVyCgkgIGRvZXNuJ3QgZ2V0IGluY2x1ZGVkLCB3aGljaCBjYXVzZXMgY29tcGlsZXIgd2FybmluZ3MgdGhhdCAoaXQgc2VlbXMpIGNhbid0IGJlCgkgIHN3aXRjaGVkIG9mZiBlYXNpbHkuIEFzIGEgcmVzdWx0LCB3ZSBhbHNvIHNwZWNpZnkgYSBtYXguIHZlcnNpb24gaW4gY29uZmlndXJlLAoJICBzbyB0aGUgYnVpbGQgZG9lc24ndCBicmVhayBpZiBvdXIgY29kZSBkb2Vzbid0IGNvbXBpbGUgYWdhaW5zdCBuZXdlciBvcGVuY3YKCSAgdmVyc2lvbnMgYW55IG1vcmUgd2l0aCB0aGF0IGZsYWcuCgoyMDEwLTA5LTA5IDExOjA3OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkgIG9wZW5jdjogYXZvaWQgJ3VudXNlZCcgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBpbmxpbmUgZnVuY3Rpb25zIGluIG9wZW5jdiBoZWFkZXJzCgkgIE92ZXJyaWRlIENWX0lOTElORSB0byBhdm9pZCAndW51c2VkJyBnY2Mgd2FybmluZ3MuIEdMaWIgd2lsbCB0YWtlIGNhcmUgb2YgZGVmaW5pbmcKCSAgJ2lubGluZScgc3VmZmljaWVudGx5IGFuZCBPcGVuQ1YncyBkZWZpbmUgaXNuJ3QgZ29vZCBlbm91Z2ggdG8gYXZvaWQgJ3VudXNlZCcKCSAgY29tcGlsZXIgd2FybmluZ3MgKGF0IGxlYXN0IGluIHZlcnNpb24gMi4xLjApLgoKMjAxMC0wOS0wOSAxMDoyNzo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBvcGVuY3Y6IHVwZGF0ZSBwbHVnaW4gc291cmNlIHBhY2thZ2UgbmFtZSBhbmQgb3JpZ2luCgoyMDEwLTA5LTA4IDIzOjU5OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogQWRkIG1vcmUgcGFyYW1ldGVycwoJICBFeHBvc2UgdGhlIHBhcmFtZXRlcnMgb2YgY3ZIYWFyRGV0ZWN0T2JqZWN0cyBpbiBmYWNlZGV0ZWN0CgkgIGVsZW1lbnQuCgoyMDEwLTA5LTA4IDE0OjU5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlZXJvZGUuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZlcXVhbGl6ZWhpc3QuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuaDoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dHdyaXRlLmg6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5oOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmg6CgkgIG9wZW5jdjogUmVmYWN0b3IgZmlsZXMgc3RydWN0dXJlCgkgIFJlbW92ZSBpbnRlcm5hbCBmb2xkZXJzIGFuZCBwdXQgYWxsIGNvZGUgaW5zaWRlIHRoZSBtYWluIHBsdWdpbgoJICBmb2xkZXIuIEFsc28gZml4ZXMgc29tZSBidWlsZGluZyB3YXJuaW5ncy4KCjIwMTAtMDktMDggMDA6MDg6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkgIG9wZW5jdjogQWRkcyBuZXcgcGx1Z2luIG9wZW5jdgoJICBNb3ZlcyBvcGVuY3YgcGx1Z2luIGZyb20gaHR0cDovL2dpdGh1Yi5jb20vRWxsZW8vZ3N0LW9wZW5jdgoJICBpbnRvIC1iYWQgbW9kdWxlLgoKMjAxMC0wOS0wNSAyMzowOToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBQb3N0IGFuIHVzZWZ1bCBtZXNzYWdlCgkgIEFkZCBhIG1lc3NhZ2UgdG8gYmUgcG9zdCB3aGVuIGZhY2VzIGFyZSBmb3VuZCBvbiBhIGZyYW1lIHRoYXQKCSAgY29udGFpbnMgYWxsIGZhY2VzIG9uIGEgc2luZ2xlIG1lc3NhZ2UgYW5kIGFsc28gaGFzCgkgIHRpbWVzdGFtcC9ydW5uaW5nL3NlZ21lbnQgdGltZXMgZm9yIHRoYXQgYnVmZmVyIHNvIGl0CgkgIGNhbiBiZSBpZGVudGlmaWVkLgoJICBUaGlzIG1lc3NhZ2UgaXMgY2FsbGVkICdmYWNlZGV0ZWN0JyBhbmQgaGFzIGEgJ2ZhY2VzJyBsaXN0CgkgIG9mIHN0cnVjdHVyZXMgd2l0aCBhbGwgZmFjZXMuCgkgIFRoZSBvbGQgJ2ZhY2UnIG1lc3NhZ2UgaXMgc3RpbGwgcG9zdGVkIGZvciBlYWNoIGZhY2UgZm91bmQsIGJ1dAoJICBpdCBpcyBub3QgcmVhbGx5IHVzZWZ1bCBhcyBpdCBkb2Vzbid0IGhhdmUgYW55IHJlZmVyZW5jZSB0byB0aGUKCSAgYnVmZmVyIHRoYXQgZ2VuZXJhdGVkIGl0LgoKMjAxMC0wOS0wNSAxNzo1MzoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IFVzZSBHc3RPcGVuY3ZWaWRlb0ZpbHRlciBhcyB0aGUgYmFzZSBjbGFzcwoJICBQb3J0IGZhY2VkZXRlY3QgdG8gdXNlIEdzdE9wZW5jdlZpZGVvRmlsdGVyIGFzIHRoZSBiYXNlIGNsYXNzCgkgIHRvIGluaGVyaXQgYWxsIHRoZSBnb29kbmVzcyB0aGF0IEdzdEJhc2VUcmFuc2Zvcm0vR3N0VmlkZW9GaWx0ZXIKCSAgYWxyZWFkeSBoYW5kbGVzLgoKMjAxMC0wOS0wMyAyMDoyNzozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2bGFwbGFjZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c29iZWwuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmg6CgkgIG9wZW5jdmJhc2V0cmFuczogVXNlIEdzdFZpZGVvRmlsdGVyIGFzIHRoZSBiYXNlIGNsYXNzCgkgIFBvcnQgZnJvbSBHc3RCYXNlVHJhbnNmb3JtIHRvIEdzdFZpZGVvRmlsdGVyIGFzIHRoZSBiYXNlIGNsYXNzLgoKMjAxMC0wNS0yNCAxOToyODo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2bGFwbGFjZS5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5oOgoJICBjdmxhcGxhY2U6IGFkZHMgbmV3IGN2bGFwbGFjZSBlbGVtZW50CgkgIEFkZHMgbmV3IGN2bGFwbGFjZSBlbGVtZW50LgoJICBBbHNvIGFkZHMgYSBuZXcgb3BlbmN2YmFzZXRyYW5zZm9ybSBmdW5jdGlvbiB0byBiZSBvdmVycmlkZW4KCSAgYnkgY2hpbGRyZW4gY2xhc3NlczogdGhlIGN2X3NldF9jYXBzLCBpdCBhbGxvd3MgY2hpbGRyZW4gY2xhc3NlcwoJICB0byBrbm93IHdoYXQgYXJlIHRoZXkgZ29pbmcgdG8gaGFuZGxlIGFuZCBwcmVwYXJlIHByb3Blcmx5LgoKMjAxMC0wNS0xOSAyMDoxMTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSAgQWRkcyBuZXcgZWxlbWVudCBjdnNvYmVsCgoyMDEwLTA1LTE3IDE5OjA0OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVxdWFsaXplaGlzdC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBBZGRzIG5ldyBlbGVtZW50IGN2ZXF1YWxpemVoaXN0CgoyMDEwLTA1LTE2IDE5OjE0OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlZXJvZGUuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIEFkZHMgbmV3IGVsZW1lbnRzIGN2ZGlsYXRlIGFuZCBjdmVyb2RlCgkgIEFkZHMgMiBzaW1pbGFyIGVsZW1lbnRzIChzbyBzaW1pbGFyIHRoZXkgaGF2ZSB0aGVpciBvd24gYmFzZWNsYXNzKSwKCSAgY3ZkaWxhdGUgYW5kIGN2ZXJvZGUuCgoyMDEwLTA1LTE2IDE3OjAzOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmM6CgkgIGN2c21vb3RoOiBJbXByb3ZlIHBhcmFtZXRlcnMgZG9jcwoKMjAxMC0wNS0xNiAxNjozNzoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5jOgoJICBjdnNtb290aDogRGVhY3RpdmF0aW5nIGJsdXItbm8tc2NhbGUKCSAgRGVhY3RpdmF0ZSBibHVyLW5vLXNjYWxlIGJlY2F1c2UgYmFzZXRyYW5zZm9ybSBkb2Vzbid0IHByb3ZpZGUgYSB3YXkKCSAgdG8gb3ZlcnJpZGUgZ2V0Y2FwcyBmb3IgcGFkcywgYWx3YXlzIHVzaW5nIHRlbXBsYXRlY2FwcyBpbmRlcGVuZGVudAoJICBvZiBwcm9wZXJ0aWVzLgoKMjAxMC0wNS0xNiAxMTo0MjowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSAgY3ZzbW9vdGg6IEFkZCBzdXBwb3J0IGZvciB2aWRlby94LXJhdy1ncmF5CgoyMDEwLTA1LTE2IDAwOjQ2OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJICBBZGRpbmcgZ3N0b3BlbmN2dXRpbHMKCSAgQWRkcyBhIGZpbGUgdG8ga2VlcCB1dGlsaXRhcnkgZnVuY3Rpb25zIHRvZ2V0aGVyCgoyMDEwLTA1LTExIDIwOjExOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIGN2c21vb3RoOiBBZGRzIG5ldyBlbGVtZW50IGN2c21vb3RoCgkgIEFkZHMgbmV3IGN2c21vb3RoIGVsZW1lbnQKCjIwMTAtMDUtMDUgMDE6MjQ6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmg6CgkgIGdzdG9wZW5jdmJhc2V0cmFuczogQWRkcyB0aGlzIG5ldyBiYXNlIGNsYXNzCgkgIEFkZHMgR3N0T3BlbmN2QmFzZVRyYW5zZm9ybSBhcyBiYXNlIGNsYXNzIGZvciBzaW1wbGUgMToxCgkgIG9wZW5jdiBmaWx0ZXJzCgoyMDEwLTA0LTI2IDE3OjE4OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSAgcHlyYW1pZHNlZ21lbnQ6IEFsbG9jYXRlIGEgbmV3IGJ1ZmZlciBmb3Igb3V0cHV0CgkgIFVzZSBhIG5ld2x5IGFsbG9jYXRlZCBidWZmZXIgZm9yIG91dHB1dCwgYW5kIHJlbGVhc2UgdGhlIGludGVybWVkaWFyeQoJICBpbWFnZSB1c2VkLgoJICBBbHNvIGFkZCBhIFRPRE8gZm9yIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50CgoyMDEwLTA0LTI2IDE3OjM0OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkgIGZhY2VibHVyOiBmYWNlZGV0ZWN0OiB0ZW1wbGF0ZW1hdGNoOiB0ZXh0d3JpdGU6IFNldCBidWZmZXIgdG8gd3JpdGFibGUKCSAgVGhlc2UgZWxlbWVudHMgb3BlcmF0ZXMgaW4gcGxhY2UsIHNldCBidWZmZXIgdG8gd3JpdGFibGUgYmVmb3JlCgkgIG9wZXJhdGluZy4KCjIwMTAtMDQtMjYgMTY6MTc6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSAgZWRnZWRldGVjdDogRml4IGNoYWluIGJ1ZmZlciBoYW5kbGluZwoJICBBbGxvY2F0ZSBhIG5ldyBvdXRwdXQgYnVmZmVyIGluc3RlYWQgb2YgdXNpbmcgdGhlIGlucHV0IGJ1ZmZlcgoJICBwb2ludGluZyB0byB0aGUgaW50ZXJuYWwgY3ZDRWRnZSBvcGVuY3YncyBJcGxJbWFnZSBkYXRhLCB3aGljaAoJICBtaWdodCBjaGFuZ2UsIGNvbnNlcXVlbnRseSBjaGFuZ2luZyB0aGUgYnVmZmVyLgoKMjAxMC0wNC0yNSAxNjoyNzowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkgIGNvbmZpZ3VyZTogZW5hYmxlIC1XZXJyb3IgdG8gaW1wcm92ZSBjb2RlCgkgIC1XZXJyb3Igb24gZ2l0IHZlcnNpb24gaXMgdXNlZnVsIHRvIGtlZXAgY29kZSBjbGVhbi4KCjIwMTAtMDMtMDIgMTM6NTU6MDUgKzA1MzAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8YnNyZWVyZW5qQGdtYWlsY29tPgoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oOgoJICBBZGRlZCB0aGUgcHJvcGVydHkgZm9yIHNldHRpbmcgdGhlIFJHQiBjb2xvdXJzLiAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmMgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oCgoyMDEwLTAzLTAyIDEzOjE4OjE5ICswNTMwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPGJzcmVlcmVuakBnbWFpbGNvbT4KCgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaDoKCSAgQWRkZWQgdGhlIHByb3BlcnR5IGZvciBzZXR0aW5nIHRoZSAidGhpY2tuZXNzIiBvZiBmb250IAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYyAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmgKCjIwMTAtMDMtMDIgMTI6NDU6NTggKzA1MzAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8YnNyZWVyZW5qQGdtYWlsY29tPgoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oOgoJICBBZGRlZCB0aGUgcHJvcGVydHkgZm9yIHNldHRpbmcgeCBhbmQgeSBjby1vcmRpbmF0ZXMgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaAoKMjAxMC0wMy0wMiAxMjo0MToyNSArMDUzMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxic3JlZXJlbmpAZ21haWxjb20+CgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmg6CgkgIGFkZGVkIHRoZSBwcm9wZXJ5IGZvciBzZXR0aW5nIHggYW5kIHkgY28tb3JkaW5hdGVzIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYyAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmgKCjIwMTAtMDItMjggMTQ6MzY6MzUgKzAwMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSAgQXBwbHkgU3RlZmFuJ3MgZmFjZWJsdXIgZml4ZXMgdG8gZmFjZWRldGVjdAoKMjAxMC0wMi0yOCAxNDozMjowMCArMDAwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxic3JlZXJlbmpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaDoKCSAgQWRkIHNpbXBsZSB0ZXh0IG92ZXJsYXkgcGx1Z2luCgoyMDEwLTAyLTE5IDIyOjUwOjE4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmM6CgkgIGZhY2VibHVyOiBmaXggaGFuZGxpbmcgb2YgcHJvZmlsZSBwcm9wZXJ0eS4KCSAgRHVwIGFuZCBmcmVlIHRoZSBzdHJpbmcuIEZpeGVzIGxlYWtpbmcgbmV3IHZhbHVlcyBhbmQgYXZvaWRzIGNyYXNoaW5nCgkgIGdzdC1pbnNwZWN0LgoKMjAwOS0xMi0xOCAxMToyMzo1OSArMDAwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBGaXggaW5jbHVkZXMgaW4gdGVtcGxhdGUgbWF0Y2hpbmcgZWxlbWVudAoKMjAwOS0wNS0yNiAxMjo1OTowNCArMDEwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIEJyaW5nIGNvZGUgaW4gdG8gbGluZSB3aXRoIGdlbmVyYWwgR3N0cmVhbWVyIHN0YW5kYXJkcwoKMjAwOS0wNS0yNSAxMjo1NzoxMSArMDEwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICBGaXggc2VnZmF1bHQgaW4gdGVtcGxhdGUgbWF0Y2ggZWxlbWVudCBpZiBubyB0ZW1wbGF0ZSBoYXMgYmVlbiBzZXQgQWRkIHRlbXBsYXRlIG1hdGNoaW5nIHB5dGhvbiBleGFtcGxlIEFkZCBhdXRvdG9vbCwgbGlidG9vbCBhbmQgcGtnY29uZmlnIGRlcGVuZGVuY2llcyB0byBkZWJpYW4gY29udHJvbCBmaWxlCgoyMDA5LTA1LTI1IDExOjI2OjI4ICswMTAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBBZGQgYSBwbHVnaW4gZm9yIGF1dG9tYXRpY2FsbHkgYmx1cnJpbmcgZmFjZXMgaW4gdmlkZW9zIGFuZCBpbWFnZXMKCjIwMDktMDUtMTMgMTI6MTk6NDMgKzAzMDAgIE5vYW0gPG5vYW1AZHVhcG92Lihub25lKT4KCgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIEFkZGVkIGNvbnRyb2wgZm9yIGNoYW5naW5nIG1ldGhvZAoKMjAwOS0wNS0xMyAxMTo1NTozMSArMDMwMCAgTm9hbSA8bm9hbUBkdWFwb3YuKG5vbmUpPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBBZGRlZCB0ZW1wbGF0ZW1hdGNoIGVsZW1lbnQKCjIwMDktMDUtMDggMTE6NTU6MjAgKzA1MzAgIGthcGlsIDxrYXBpbEBrYXBpbC1sYXB0b3AuKG5vbmUpPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5oOgoJICBSZWdpc3RlcmluZyBhbGwgZWxlbWVudHMgdW5kZXIgb3BlbmN2IHBsdWdpbgoKMjAwOS0wNS0wNiAxNTo0OTo0MiArMDEwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJICBGaXggdGhlIHByb2ZpbGUgcGFyYW1ldGVyIGluIHRoZSBmYWNlZGV0ZWN0IGVsZW1lbnQgdG8gYWNjZXB0IGEgc3RyaW5nIGNvcnJlY3RseQoKMjAwOS0wNS0wNiAxNTozMzo0OCArMDEwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkgIFJlbGVhc2UgT3BlbkNWIGltYWdlcyB3aGVuIGZpbmFsaXppbmcgZWxlbWVudHMKCjIwMDktMDUtMDYgMTY6Mzg6MTUgKzA1MzAgIGthcGlsIDxrYXBpbEBrYXBpbC1sYXB0b3AuKG5vbmUpPgoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5oOgoJICBGaXhlZCBjb21waWxlIGVycm9ycwoKMjAwOS0wNC0yMCAxODo0MDoxMyArMDMwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJICBNYWtlIGZhY2UgZGV0ZWN0IHNlbmQgYSBidXMgbWVzc2FnZSB3aGVuIGEgZmFjZSBpcyBkZXRlY3RlZCBXcml0ZSBhIHNpbXBsZSBweXRob24gZXhhbXBsZSBmb3IgZmFjZSBkZXRlY3Rpb24KCjIwMDktMDQtMTggMjM6NDM6MzcgKzAzMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgQWRkIGZhY2UgZGV0ZWN0aW9uIGVsZW1lbnQgQ2xlYW4gdXAgc29tZSBnZW5lcmF0ZWQgZmlsZXMgVXBkYXRlIGEgZmV3IG9sZCBjb21tZW50cwoKMjAwOC0xMi0xOCAyMzo0ODo0MCArMDAwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmluOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZS5pbjoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9NYWtlZmlsZToKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9NYWtlZmlsZS5pbjoKCSAgKiBSZW1vdmUgc29tZSBhdXRvdG9vbHMgZ2VuZXJhdGVkIGZpbGVzCgoyMDA4LTEyLTE4IDIzOjQzOjM2ICswMDAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuaW46CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGUuaW46CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGUuaW46CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5oOgoJICAqIE1ha2UgaXQgcG9zc2libGUgdG8gc2V0IHRocmVzaG9sZDIgYXQgcnVudGltZSAqIEltcGxlbWVudCBweXJhbWlkIHNlZ21lbnRhdGlvbiBlbGVtZW50ICogTWFrZSBtYXNraW5nIG9wdGlvbmFsIG9uIGVkZ2VkZXRlY3QgKiBDbGVhbiB1cCBlZGdlZGV0ZWN0LCBhZGQgZWxlbWVudCBkZXRhaWxzICogSW1wbGVtZW50ZWQgZWRnZSBkZXRlY3QgZWxlbWVudAoKMjAxMC0wOS0wOCAxNjo1Nzo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IE1hcCBHU1RfVEFHX0FMQlVNX0FSVElTVAoJICBNYXAgR1NUX1RBR19BTEJVTV9BUlRJU1QgdG8gVFBFMiBhcyBpdCBpcyBkb25lIGluCgkgIC1iYXNlIGlkM3RhZyBtYXBwaW5ncy4KCjIwMTAtMDgtMDkgMDA6MTU6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBVc2UgQUdfR1NUX0NIRUNLX0dTVF9QTFVHSU5TX3tHT09ELFVHTFksQkFELEZGTVBFR30gbWFjcm9zIGZyb20gY29tbW9uCgkgIHRvIGZpbmQgcGx1Z2luIGRpcmVjdG9yaWVzIGZvciB0aGUgdmFyaW91cyBtb2R1bGVzIG91ciB1bml0IHRlc3RzIGRlcGVuZAoJICBvbiBpbiBhbiB1bmluc3RhbGxlZCBlbnZpcm9ubWVudC4gVGhpcyBtYWtlcyBzdXJlIHRoZXNlIHBsdWdpbnMgYXJlIGZvdW5kCgkgIGV2ZW4gd2hlbiBkaXN0Y2hlY2tpbmcgKHdoaWNoIGhhcHBlbnMgZnJvbSBhIHN1YmRpcmVjdG9yeSwgd2hpY2ggbWVhbnMKCSAgdGhhdCB0aGUgY3VycmVudGx5IHVzZWQgdHJpY2sgdG8gZmluZCB0aGUgdW5pbnN0YWxsZWQgZGlyZWN0b3JpZXMgb2YKCSAgdGhlc2UgbW9kdWxlcyBkb2Vzbid0IHdvcmsgaW4gdGhhdCBjYXNlKS4KCjIwMTAtMDktMDcgMTk6MTY6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzIHNnbWwgZmlsZSBhIGJpdAoKMjAxMC0wOS0wNyAxNToyMjoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSAgZG9jczogYWRkIDIgbmV3IGZpbGVzIHRvIGdpdGlnbm9yZQoJICBBZGRzIGdzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3MubmV3IGFuZAoJICBnc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzLm5ldyB0byAuZ2l0aWdub3JlCgoyMDEwLTA5LTA3IDE0OjQ1OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IE1ha2UgaXQgbW9yZSBjb2xvcnNwYWNlIHNtYXJ0CgkgIFRoaXMgbWFrZXMgaXQgYWJsZSB0byByZWNvbWJpbmUgcmdiIGltYWdlcywgbWFraW5nIGl0IHBvc3NpYmxlCgkgIHRvIGFkZCB0YWdzIHRvIHJnYiBqcGVncyBhcyB3ZWxsLgoJICBVc2VzIGEgc2ltcGxlIHN0cmF0ZWd5IHRvIGNoZWNrIHdoYXQgYXJlIHRoZSBwb3NzaWJsZSBjb2xvcnNwYWNlcwoJICBhbmQgYXZvaWQgYWRkaW5nIGpmaWYgdG8gb25lcyB0aGF0IGFyZW4ndCBZVVYvR3JheS4KCjIwMTAtMDktMDcgMTA6MjY6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IEFkZHMgdGVzdHMgZm9yIG5ldyBwcGkgdGFncwoJICBBZGRzIHRlc3RzIHRvIGNoZWNrIGlmIGxpYmV4aWYgY2FuIHJlYWQgb3VyCgkgIEVYSUZfVEFHX1gvWV9SRVNPTFVUSU9OIHRhZ3MuCgoyMDEwLTA5LTA3IDEzOjI4OjIwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEZpeCBlbGVtZW50IGRldGFpbHMKCjIwMTAtMDktMDcgMTE6NDI6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjMmUxMGJmIHRvIGFhMGQxZDAKCjIwMTAtMDktMDcgMTE6MzQ6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gaW50cm9zcGVjdGlvbiBkYXRhIGZvciByZWNlbnQgY2hhbmdlcwoKMjAxMC0wOS0wNyAxMToyODo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgZG9jczogcmVtb3ZlIGludHJvc3BlY3Rpb24gZmlsZXMgZm9yIHBsdWdpbnMgdGhhdCBoYXZlIGJlZW4gbWVyZ2VkLCBtb3ZlZCBvciByZW5hbWVkCgkgIFRoZSBhYWNwYXJzZSwgYW1ycGFyc2UsIGZsYWNwYXJzZSBwbHVnaW5zIGhhdmUgYmVlbiBtZXJnZWQgaW50byB0aGUgYXVkaW9wYXJzZXJzYmFkCgkgIHBsdWdpbi4gVGhlIGFpZmZwYXJzZSBwbHVnaW4gaGFzIGJlZW4gcmVuYW1lZCB0byBhaWZmIHNpbmNlIGl0IGFsc28gY29udGFpbnMgYW4KCSAgYWlmZiBtdXhlciBub3cuIFRoZSBhbXJ3YiBwbHVnaW4gaGFzIGJlZW4gcmVuYW1lZCB0byBhbXJ3YmVuYy4gVGhlIGR2YnNyYyBwbHVnaW4KCSAgaGFzIGJlZW4gcmVuYW1lZCB0byBkdmIuIFRoZSBnc3RydHBtYW5hZ2VyIHBsdWdpbiBoYXMgbW92ZWQgdG8gLWdvb2QuIFRoZSB4MjY0CgkgIHBsdWdpbiBoYXMgbW92ZWQgdG8gLXVnbHkuIEFuZCB0aGUgbXBlZ3RzcGFyc2UgcGx1Z2luIGhhcyBiZWVuIG1lcmdlZCBpbnRvIHRoZQoJICBtcGVnZGVtdXgyIHBsdWdpbi4KCjIwMTAtMDktMDcgMDA6MTY6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggZGlzdGNoZWNrIGJ5IGRpc3RpbmcgbmV3IGphY2sgZXhhbXBsZSBkaXJlY3RvcnkKCSAgQWxzbyBhZGQgdGVzdCBiaW5hcnkgdG8gaWdub3Jlcy4KCjIwMTAtMDktMDYgMTc6MTc6NTQgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svamFja19jbGllbnQuYzoKCSAgZXhhbXBsZXM6IGFkZCB0ZXN0IHRvIGRlbW9uc3RyYXRlIGphY2tfY2xpZW50X3QgdXNhZ2UKCjIwMTAtMDktMDYgMTY6MTE6MzEgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGFkZGVkIGNsaWVudCBwcm9wZXJ0eQoKMjAxMC0wNi0xNyAxNjoyNjowNyAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGphY2s6IHJlbW92ZWQgdW51c2VkIGZpbGUgZ3N0amFja2Jpbi5jCgkgIFRoaXMgaXMgYSAwLjggbGVmdG92ZXIuCgoyMDEwLTA5LTA2IDE0OjEyOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbm9uLVRJTUUgc2VlayBldmVudCBpcyBzaW1wbHkgbm90IGhhbmRsZWQKCjIwMTAtMDktMDYgMDk6Mjg6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEJ1bXAgLWNvcmUvLWJhc2UgcmVxdWlyZW1lbnRzIHRvIDAuMTAuMzAuMQoJICBXZSBuZWVkIDAuMTAuMzAuMSB0byBoYXZlIGxhdGVzdCB0YWdzIGluIGNvcmUvYmFzZSBmb3IgamlmbXV4CgkgIHRlc3RzLgoKMjAxMC0wOC0yNiAwMjo1NDo1NSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogTWFrZSB0aGUgZHRtZnNyYyBhY2NlcHQgZXZlbnRzIHNlbnQgd2l0aCBnc3RfZWxlbWVudF9zZW5kX2V2ZW50CgkgIFRoZSBkb2Mgc2F5cyB0byB1c2UgZ3N0X2VsZW1lbnRfc2VuZF9ldmVudCBvbiB0aGUgcGlwZWxpbmUsIGJ1dCBpZgoJICB3ZSBhcmUgdG8gY2FsbCBpdCBvbiB0aGUgZWxlbWVudCBpdHNlbGYsIGl0J3MgYSBub29wLiBUaGlzIHNob3VsZCBtYWtlIGl0CgkgIGhhbmRsZSB0aGUgZXZlbnQgcHJvcGVybHkgYmVmb3JlIGRlbGVnYXRpbmcgaXQgdG8gYmFzZXNyYy4KCjIwMTAtMDktMDUgMTY6MzA6MDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IHNldCBuZXcgZnJhbWVyYXRlIG9uIG91dHB1dCBjYXBzIGluc3RlYWQgb2YgaW5wdXQgY2FwcwoJICBJdCdzIG5vdCBhbGxvd2VkIHRvIGNoYW5nZSB0aGUgY2FwcyBwcm92aWRlZCBieSB0aGUgc2V0Y2FwcyBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyODMyNgoKMjAxMC0wOS0wNiAwMzoyMzoyNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBUYWtlIHBhcmFtZXRlcnMgb24gY29tbWFuZCBsaW5lCgkgIE5vdyBpdCdzIGFjdHVhbGx5IHVzZWZ1bC4KCjIwMTAtMDktMDYgMDM6MDQ6MTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0wOS0wNiAxMDoyOToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiBVc2UgR19HVUlOVDY0X0ZPUk1BVCBpbnN0ZWFkIG9mICVsbHUKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZ3Mgb24gNjQgYml0IGFyY2hpdGVjdHVyZXMuCgoyMDEwLTA5LTA2IDExOjAzOjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBzeW5jIHdpdGggY29weSBpbiAtYmFzZQoJICBVc2UgX2dldF9jYXBzX3JlZmZlZCB0byBhdm9pZCBjb3BpZXMuCgoyMDEwLTA4LTI0IDExOjUwOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IG1vdmUgdGhlIGRlYnVnIGluaXQgdG8gdGhlIGJvaWxlcnBsYXRlIG1hY3JvCgoyMDEwLTA4LTI0IDExOjUwOjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiB1c2UgR1NUX0JPSUxFUlBMQVRFIG1hY3JvCgoyMDEwLTA4LTI0IDExOjI2OjUyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogZG9uJ3QgYWRkIGEgZ19tYWlubG9vcCBkZXBlbmRlbmN5CgkgIEp1c3QgdXBkYXRlIHRoZSBmcHMtbWVzc2FnZSBmcm9tIHRoZSBwcm9iZSBoYW5kbGVyLgoKMjAxMC0wOC0xOCAxMTozNTo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IHNtYWxsIGNsZWFudXAKCSAgQWRkIG9uZSBvbmUgZXhhbXBsZSBhbmQgbG93ZXIgdGhlIGZvbid0IHNpemUgZm9yIHRoZSBvdmVybGF5LgoKMjAxMC0wOC0yMyAwOTo1MToyNSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IG1lYXN1cmUgZnBzIGluIHRlcm1zIG9mIHdhbGwgY2xvY2sgdGltZQoJICBNZWFzdXJlIGZwcyBpbiB0ZXJtcyBvZiBzeXN0ZW0gY2xvY2ssIHJhdGhlciB0aGFuIHBpcGVsaW5lIGNsb2NrLCB0byBnZXQKCSAgYW4gYWNjdXJhdGUgbWVhdXJlIG9mIGZwcy4KCjIwMTAtMDktMDUgMjI6NDE6MjQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5oOgoJICBjaGVja3N1bXNpbms6IEFkZCBuZXcgZWxlbWVudAoKMjAxMC0wOS0wNSAyMjozMDo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIHNzaW06IEFkZCBJNDIwIHN1cHBvcnQKCjIwMTAtMDktMDUgMjE6MzQ6MzAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgbW9yZSBmb3JtYXRzCgoyMDEwLTA5LTA1IDE4OjU4OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDNkOWFjZiB0byBjMmUxMGJmCgoyMDEwLTA5LTA1IDIzOjQwOjA4ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJncy5uZXc6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzLm5ldzoKCSAgUmVtb3ZlIC5uZXcgZG9jcyBmaWxlcyBmcm9tIHRoZSByZXBvc2l0b3J5CgoyMDEwLTA5LTA1IDE1OjM0OjEzIC0wNzAwICBKb25hdGhhbiBSb3NzZXIgPGpvbmF0aGFuLnJvc3NlckByZC5iYmMuY28udWs+CgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IEZpeCBjb2dfdmlydF9mcmFtZV9uZXdfY29udmVydF91OCgpCgkgIENvbnZlcnNpb24gd2FzIHVzaW5nIHVuaW5pdGlhbGl6ZWQgZGF0YSBpbnN0ZWFkIG9mIHNvdXJjZSBmcmFtZS4KCSAgRml4ZXMgIzYyNjQyNS4KCjIwMTAtMDktMDUgMTI6MDY6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkgIGNvZzogRml4IGdlbmVyYXRlZCBPcmMgY29kZQoJICBBbHNvIGRyb3AgcmVxdWlyZWQgT3JjIGJhY2sgZG93biB0byAwLjQuNy4KCjIwMTAtMDgtMzAgMjE6MjI6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFVzZSBqaWZtdXggaW5zdGVhZCBvZiBtZXRhZGF0YW11eAoJICBVc2UgamlmbXV4IGVsZW1lbnQgdG8gd3JpdGUgZXhpZi94bXAgdGFncyBpbnN0ZWFkIG9mIG1ldGFkYXRhbXV4CgoyMDEwLTA4LTMwIDIxOjIxOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogVXNlIG5ldyB0YWdzIGZyb20gLWJhc2UKCSAgUmVwbGFjZSBwcml2YXRlIHRhZ3MgZnJvbSBtZXRhZGF0YSBwbHVnaW4gd2l0aCB0aGUgbmV3IGdlbmVyaWMgdGFncwoJICBmcm9tIC1iYXNlLgoKMjAxMC0wOS0wMyAxNDoxMjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBSZWZhY3RvciB0ZXN0cwoJICBUaGUgdGVzdHMgd2VyZSBkb25lIGluIDIgc3RlcHMsIGZpcnN0IHRoZXJlIHdhcyBhIHN1aXRlCgkgIHRoYXQgZ2VuZXJhdGVkIHRoZSBmaWxlcyAod2hpbGUgY2hlY2tpbmcgdGhhdCBjYW1lcmFiaW4KCSAgd2FzIG9wZXJhdGluZyBjb3JyZWN0bHkpLiBUaGVuIHRoZXJlIHdhcyBhIHNlY29uZCBzdWl0ZQoJICB0aGF0IHdhcyBydW4gdG8gY2hlY2sgdGhhdCBhbGwgZmlsZXMgd2VyZSBwbGF5YWJsZSB3aXRoCgkgIHBsYXliaW4yLiBUaG9zZSBzZWNvbmQgdGVzdHMgd2VyZSBub3QgYmVpbmcgcnVuIGJlY2F1c2UKCSAgdGhleSB3ZXJlIGNoZWNraW5nIGlmIGNhbWVyYWJpbiB3YXMgaW5pdGlhbGl6ZWQsIGFuZCBpdAoJICBuZXZlciB3YXMgYXMgdGhvc2UgdGVzdHMgZGlkbid0IHVzZSBhICdzZXR1cCcgZnVuY3Rpb24uCgkgIFRoaXMgY29tbWl0IHJlZmFjdG9ycyB0aGUgdGVzdHMgYnkgcmVtb3ZpbmcgdGhpcyBzZWNvbmQKCSAgc3VpdGUgYW5kIG1lcmdpbmcgaXRzIHZhbGlkYXRpb24gd2l0aCB0aGUgZmlyc3Qgc3VpdGUncwoJICBmdW5jdGlvbnMuCgoyMDEwLTA4LTI0IDE0OjQzOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiBBZGRzIGdlbyBsb2NhdGlvbiB0YWdzIHRlc3RzCgkgIEFkZHMgc29tZSBtb3JlIHRlc3RzIGZvciBnZW8gbG9jYXRpb24gdGFncy4KCSAgQWxzbyB1c2UgbGliZXhpZiBjb25zdGFudHMgZm9yIHRoZSBleGlmIHRhZ3MnIGlkcy4KCjIwMTAtMDgtMjQgMDk6MDI6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IFJlZmFjdG9yIHRlc3RpbmcgY29kZSBhIGxpdHRsZQoJICBSZWZhY3RvciB0ZXN0aW5nIGNvZGUgdG8gYWxsb3cgdGVzdGluZyBmb3IgY2FzZXMgd2hlcmUgdGhlCgkgIHNhbWUgZ3N0cmVhbWVyIHRhZyBpcyBtYXBwZWQgdG8gbXVsdGlwbGUgZXhpZiB0YWdzLgoKMjAxMC0wOC0yMyAxMTo1NzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIGppZm11eDogTW9yZSB0ZXN0cyBmb3IgZXhpZiB0YWdzCgkgIFJlZmFjdG9ycyBzb21lIGNvZGUgYW5kIGFkZCBzb21lIG1vcmUgdGVzdHMgZm9yIGV4aWYgdGFncwoKMjAxMC0wOS0wMiAxMToxODoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBEbyBub3QgbGltaXQgdGhlIHNpemUgb2YgdGhlIGltYWdlIG9uIDE2Yml0cwoJICBVc2UgZ3VpbnQgaW5zdGVhZCBvZiBndWludDE2IHRvIHJlcHJlc2VudCB0aGUgc2l6ZSBvZiB0aGUgZW5jb2RlZCBpbWFnZSwKCSAgdGhpcyB3b3VsZCBtYWtlIHNvbWUgcmVjb21iaW5lZCBpbWFnZXMgbG9zZSBtb3N0IG9mIHRoZWlyIGRhdGEgYW5kCgkgIHNob3cgbGlrZSBhIGJpZyBibGFjayBpbWFnZSB3aXRoIGEgc21hbGwgbGluZSBvZiBjb250ZW50IG9uIHRvcC4KCSAgQWxzbyBhZGRzIGEgbWlub3IgbG9nIG1lc3NhZ2UuCgoyMDEwLTA4LTIxIDE3OjAxOjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguaDoKCSAgamlmbXV4OiBTZXQgb3V0cHV0IHBhZCBjYXBzCgkgIFNldCBvdXRwdXQgcGFkIGNhcHMgdG8gZ3VhcmFudGVlIGNhcHMgb24gdGhlIGJ1ZmZlcnMgYmVpbmcKCSAgcHVzaGVkIGRvd25zdHJlYW0uCgoyMDEwLTA4LTIwIDA4OjM0OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IERldGVjdCBFT0kgY29ycmVjdGx5CgkgIEVPSSBhcmUgbm90IGFsd2F5cyBhdCB0aGUgbGFzdCA0IGJ5dGVzLiBXZSBuZWVkIHRvIHNlYXJjaAoJICB0aGUgbGFzdCA1IGJ5dGVzIHRvIGZpbmQgdGhlIDB4RkZEOSBzZXF1ZW5jZSBhcyBqcGVnZW5jIHNlZW1zCgkgIHRvIHJvdW5kIHRoZSBidWZmZXIgc2l6ZSB0byB0aGUgbmV4dCA0IG11bHRpcGxlLgoKMjAxMC0wOC0xOSAyMjo0Mzo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBQdXQgQVBQMCBmaXJzdCBhbHdheXMKCSAgRml4ZXMgdGhlIG9yZGVyIG9mIHRoZSBBUFAwL0FQUDEgbWFya2Vycy4gQVBQMCBzaG91bGQKCSAgYmUgZmlyc3QuCgoyMDEwLTA5LTAyIDAxOjMyOjEwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IHBhcnNlICJwaXhlbC1hc3BlY3QtcmF0aW8iIGZyb20gc3RyZWFtCgoyMDEwLTA5LTAyIDAxOjA0OjE1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIHZkcGF1OiByZW1vdmUgbm9uIHdvcmtpbmcgdW51c2VkIGNvZGUgZnJvbSBHc3RCYXNlVmlkZW9EZWNvZGVyCgoyMDEwLTA5LTAyIDAwOjE3OjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICB2ZHBhdTogR3N0QmFzZVZpZGVvRGVjb2RlciBzZXQgZGVmYXVsdCBwYXIgdG8gMS8xCgoyMDEwLTA5LTAxIDIzOjQ3OjIxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5jOgoJICB2ZHBhdTogcmVtb3ZlIGdzdF9iYXNlX3ZpZGVvX2RlY29kZXJfZ2V0X2N1cnJlbnRfZnJhbWUKCSAgd2Ugbm93IHBhc3MgdGhlIGN1cnJlbnQgZnJhbWUgdG8gR3N0QmFzZVZpZGVvRGVjb2Rlcjo6cGFyc2VfZGF0YQoJICBhbHNvIGZpeHVwIHNvbWUgZXJyb3JzIGluIHZkcGF1bXBlZzRkZWMgc28gdGhhdCBpdCBub3cgZ2l2ZXMgY29ycmVjdCBvdXRwdXQKCjIwMTAtMDktMDEgMjI6MDM6MDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkgIHZkcGF1OiByZXdvcmsgR3N0QmFzZVZpZGVvRGVjb2RlciB0aW1lc3RhbXBpbmcKCSAgdGltZXN0YW1wcyBhcmUgbm93IGNob3NlbiBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOgoJICB1cHN0cmVhbSAtPiBwYXJzZWQgYnkgZGVjb2RlciAtPiBjYWxjdWxhdGVkIGZyb20gdGltZXN0YW1wIG9mZnNldAoJICB3ZSBhbHNvIGNoZWNrIHRoZSB0aW1lc3RhbXBzIHN1cHBsaWVkIGZyb20gdXBzdHJlYW0vZGVjb2RlciB0byBzZWUgaWYgdGhleQoJICBhdGxlYXN0IGlzIGluY3JlYXNpbmcuCgoyMDEwLTA5LTAxIDE3OjQ1OjE5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkgIHZkcGF1OiBmaXggaW52YWxpZCB1bnJlZgoKMjAxMC0wOS0wNSAxMjoxOTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGVjNjAyMTcgdG8gZDNkOWFjZgoKMjAxMC0wOS0wNSAxMTo0NTozNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBCdW1wIG9yYyByZXF1aXJlbWVudCB0byAwLjQuOC4xCgkgIDAuNC43IGNyZWF0ZXMgY29kZSB3aXRoIHVuYXZhaWxhYmxlIHN5bWJvbHMKCSAgMC40LjggY3JlYXRlcyBidWdneSBjb2RlCgkgIExldCdzIHVzZSBnaXQgaGVhZCBvZiBvcmMgKHdoaWNoIHN0aWxsIHdvbid0IHdvcmsgYmVjYXVzZSBnaXQgaGVhZAoJICBvZiBvcmMgc3RpbGwgY2xhaW1zIHRvIGJlIDAuNC44KQoJICBUaGlzIGFsbG93cyBhbGwgdGhlIHJlc3Qgb2YgLWJhZCB0byBidWlsZCBwcm9wZXJseS4KCjIwMTAtMDctMTQgMjE6MDA6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgdGltaWRpdHk6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMgKGdjYyA0LjQuNCkKCjIwMTAtMDktMDQgMTE6MzU6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkgIGNvZzogdXBkYXRlIGRpc3RlZCBPcmMgZmlsZXMKCjIwMTAtMDgtMjYgMjI6MDM6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgc2RsdmlkZW9zaW5rOiBSZS1lbmFibGUgWVZZVSBhbmQgVVlWWQoJICBZVllVIG9uIG15IG1hY2hpbmUgYXBwZWFycyB0byBiZSBkb2luZyBzb2Z0d2FyZSBjb252ZXJzaW9uCgkgIChhbmQgZG9pbmcgaXQgaW5jb3JyZWN0bHkpLgoKMjAxMC0wOC0yNiAyMDoxNTo0MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9iYXNlLmM6CgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGNvbnN0cnVjdCBlbGVtZW50IG5hbWVzCgoyMDEwLTA4LTIyIDIxOjQzOjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBuZXcgZWxlbWVudAoKMjAxMC0wOC0yMCAxNzoyNDoyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMub3JjOgoJICBjb2c6IEFkZCBmYXN0IHBhdGhzIGZvciBjb2xvcnNwYWNlIGNvbnZlcnNpb24KCjIwMTAtMDgtMjAgMTc6MjM6MTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgT3JjIDAuNC43CgoyMDEwLTA4LTEzIDIxOjU4OjAxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dzdGVsZW1lbnQuYzoKCSAgZWxlbWVudC1tYWtlcjogRml4IHVwIEdzdEVsZW1lbnQKCjIwMTAtMDgtMTMgMjE6NTQ6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLm9yYzoKCSAgY29nOiBJbXByb3ZlbWVudHMgaW4gY29sb3JzcGFjZSBhbmQgc2NhbGVyCgkgIEFkZCBmYXN0IHBhdGhzIGZvciBZVVYtPllVViBjb252ZXJzaW9ucyBhbmQgT3JjIGNvZGUgZm9yIGFsbC4KCSAgVXNlIE9yYyBmb3IgaG9yaXpvbnRhbCByZXNhbXBsaW5nLgoKMjAxMC0wNi0xMSAxNDozOTozMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dmaWx0ZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBtaW5vciBjbGVhbnVwcwoJICBJbXByb3ZlIGVsZW1lbnQgZGVzY3JpcHRpb25zLCByZW1vdmUgdW51c2VkIGZpbGVzLCBjb2RlIGNsZWFudXAuCgoyMDEwLTA5LTAzIDEwOjAzOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzLm5ldzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHMubmV3OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoJICBUZW1wb3JhcmlseSBkaXNhYmxlIC1ER1NUX0RJU0FCTEVfREVQUkVDQVRFRCBmb3IgZ2l0IGJ1aWxkcyB1bnRpbAoJICB0aGUgY29kZSBpcyB1cGRhdGVkIGZvciB0aGUgR1NUX0ZMT1dfSVNfKiBtYWNybyBkZXByZWNhdGlvbnMuCgoyMDEwLTA5LTAxIDIyOjA1OjQzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBJbml0aWFsaXplIFBFUyBwYWNrZXQgYmVmb3JlIGdldHRpbmcgdGhlIGhlYWRlciBzaXplLgoJICBUaGUgUEVTIGhlYWRlciBsZW5ndGggaXMgY2FsY3VsYXRlZCBiZWZvcmUgc2V0dGluZyB0aGUgZHluYW1pYyBmbGFncywgcmV0dXJuaW5nCgkgIGEgd3JvbmcgdmFsdWUuIFNtYWxsIGZyYW1lcyB0aGF0IHNob3VsZCBiZSBzZW50IGluIGEgc2luZ2xlIFRTIHBhY2tldCBhcmUKCSAgc3Bhd25lZCB0byBhIG5ldyBwYWNrZXQgYmVjYXVzZSBvZiB0aGF0IGVycm9yLiBGb3IgYXVkaW8gc3RyZWFtcyB3aGVyZSBhIHNpbmdsZQoJICBmcmFtZSBjYW4gY29wZSBpbiBvbmUgVFMgcGFja2V0IGl0IGludHJvZHVjZXMgYSBodWdlIG92ZXJoZWFkLgoJICBGb3IgYSAxMDBCIHBhY2tldCwgd2UgcHJlcGFyZSBhIFRTIHBhY2tldCB3aXRoIGEgcGF5bG9hZCBvZigxMDArOSlCLiBUaGVuLCB3ZQoJICB3cml0ZSB0aGUgVFMgaGVhZGVyIHVzaW5nIHRoaXMgdmFsdWUgaW4gdHNtdXhfd3JpdGVfdHNfaGVhZGVyLCBhbmQgY2FsbAoJICB0c211eF9zdHJlYW1fZ2V0X2RhdGEoKS4gVGhlIGR5bmFtaWMgZmxhZ3Mgd2hlcmUgbm90IHNldCB5ZXQgYW5kIG5vdwoJICB0c211eF9zdHJlYW1fcGVzX2hlYWRlcl9sZW5ndGgoKSByZXR1cm5zIDE0QiBpbnN0ZWFkIG9mIDlCLiBUaGUgcGF5bG9hZCBvZiB0aGUKCSAgVFMgcGFja2V0IGlzIDExNEIsIDVCIG1vcmUgdGhhbiB3aGF0IHdhcyBjYWxjdWxhdGVkLiAxMDlCIGFyZSBzZW50IGluIGEgZmlyc3QKCSAgcGFja2V0IGFuZCB0aGUgcmVtYWluaW5nIDVCIGFyZSBzZW50IGluIGFub3RoZXIgb25lLgoJICBGaXhlcyBidWcgIzYyODU0OC4KCjIwMTAtMDktMDIgMTA6MjM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZ2NvbG9yc3BhY2U6IENsYXNzaWZ5IGFzIEZpbHRlci9Db252ZXJ0ZXIvVmlkZW8gaW5zdGVhZCBvZiBlZmZlY3QKCSAgRml4ZXMgYnVnICM2Mjg1NzAuCgoyMDEwLTA5LTAxIDE4OjMwOjE3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgIHZpZGVvYW5hbHlzZTogVXNlIGNvcnJlY3QgZWxlbWVudCBjbGFzc2lmaWNhdGlvbgoJICBUaGlzIGlzIG5vIGVmZmVjdCBidXQgYW4gYW5hbHl6ZXIuIEZpeGVzIGJ1ZyAjNjI4NTI3LgoKPT09IHJlbGVhc2UgMC4xMC4yMCA9PT0KCjIwMTAtMDktMDMgMDA6MjM6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjAKCjIwMTAtMDktMDMgMDA6MjE6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgZm9yIHJlbGVhc2UKCjIwMTAtMDktMDMgMDA6MTk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTElOR1VBUzoKCSogcG8vZWwucG86CgkqIHBvL2dsLnBvOgoJKiBwby9yby5wbzoKCSogcG8vc2wucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA5LTAzIDAwOjAxOjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBkb2FwOiByZWZlcmVuY2UgZ2l0IHJlcG9zaXRvcnkgaW5zdGVhZCBvZiBDVlMgcmVwb3NpdG9yeQoKMjAxMC0wOS0wMiAyMjozOTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IGZpeCB3cm9uZyB1c2Ugb2YgR1NUX0VMRU1FTlRfRVJST1IKCjIwMTAtMDgtMzAgMTY6MDE6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE5LjUgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMzAgMTU6MjA6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW46IERvbid0IGluc3RhbGwgZ3N0LWNhbWVyYS51aQoJICBUaGUgZXhhbXBsZXMgYXJlIG5vdCBtZWFudCB0byBiZSBpbnN0YWxsZWQgYW5kIHRoZSBleGVjdXRhYmxlcyBvZgoJICB0aGVtIGFyZSBub3QgaW5zdGFsbGVkIGFueXdheS4KCSAgRml4ZXMgYnVnICM2Mjc5MTguCgoyMDEwLTA4LTI1IDIyOjU2OjAzIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVbmxvY2sgdGhlIHJpZ2h0IG11dGV4CgkgIFRoZSBtdXRleCBsb2NrZWQgaXMgZm9yIHRoZSAnbXV4JyBvYmplY3QsIGJ1dCB3ZSB1bmxvY2sgdGhlCgkgIHBhZCwgd2hpY2ggbWVhbnMgdGhhdCBpZiB0aGUgcnRwbXV4IGdldHMgYSBmbHVzaCwgdGhlbiB0aGUKCSAgb2JqZWN0IGxvY2sgd2lsbCBzdGF5IGxvY2tlZCBmb3JldmVyLCBjYXVzaW5nIGl0IHRvIGZyZWV6ZQoJICB0aGUgbmV4dCB0aW1lIGl0IHRyaWVzIHRvIHRha2UgaXQuCgkgIEZpeGVzIGJ1ZyAjNjI3OTkxCgoyMDEwLTA4LTI3IDE1OjQ5OjM5ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQnVtcCBuZW9uIHJlcXVpcmVtZW50IHRvIDAuMjcuMAoJICBOZWVkZWQgaW4gb3JkZXIgdG8gaGF2ZSBuZV9zZXRfY29ubmVjdF90aW1lb3V0CgkgIEZpeGVzIGJ1ZyAjNjI1MDc2CgoyMDEwLTA4LTIxIDIxOjQyOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTkuNCBwcmUtcmVsZWFzZQoKMjAxMC0wOC0xNiAxMjozNjoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF1dG9kZXRlY3Qgb3V0LW9mLW9yZGVyIGlucHV0IHRpbWVzdGFtcHMgYW5kIGRldGVybWluZSBEVFMgYWNjb3JkaW5nbHkKCSAgRmF2b3VyIHVzaW5nIGlucHV0IGJ1ZmZlciB0aW1lc3RhbXBzIGZvciBEVFMsIGJ1dCBmYWxsYmFjayB0byB1c2luZyBidWZmZXIKCSAgZHVyYXRpb24gKGFjY3VtdWxhdGlvbikgaWYgaW5wdXQgdHMgZGV0ZWN0ZWQgb3V0LW9mLW9yZGVyLgoJICBGaXhlcyAjNjI0MjEyLgoKMjAxMC0wOC0yMCAxMTowOToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBBdm9pZCByZWNvbWJpbmluZyBSR0IganBlZ3MKCSAgSkZJRiBvbmx5IGFsbG93cyBZVVYgYXMgY29sb3JzcGFjZSwgd2hlbiB3ZSByZWNlaXZlIGFuIFJHQiBqcGVnLAoJICB3ZSBzaG91bGQganVzdCBwdXNoIGl0IGZvcndhcmQgd2l0aG91dCBhZGRpbmcgdGhlIEpGSUYgbWFya2VyLgoJICBGaXhlcyAjNjI3NDEzCgoyMDEwLTA4LTEzIDE0OjM0OjIxICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBTZXQgR3N0QmFzZVZpZGVvRGVjb2Rlcjo6cGFja2V0aXplZCB0byBUUlVFIGFzIHNvb24gYXMgcG9zc2libGUKCSAgVGhpcyBmaXhlcyBhbiBpbmZpbml0ZSBsb29wIGlmIGFuIEVPUyBldmVudCBpcyByZWNlaXZlZCBiZWZvcmUKCSAgR3N0QmFzZVZpZGVvRGVjb2Rlcjo6c3RhcnQoKSBpcyBjYWxsZWQsIGUuZy4gaW1tZWRpYXRlbHkgd2hlbiB0aGUKCSAgcGFkcyBhcmUgYWN0aXZhdGVkLgoJICBGaXhlcyBidWcgIzYyNjgxNS4KCjIwMTAtMDgtMTMgMTc6MjQ6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2U4ZGIxZCB0byBlYzYwMjE3CgoyMDEwLTA4LTExIDIyOjAzOjA3ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkgIGdhdWRpZWZmZWN0czogTWFyayBpbmxpbmUgZnVuY3Rpb25zIGFzIHN0YXRpYyBpbmxpbmUKCSAgT3RoZXJ3aXNlIGl0IGZhaWxzIHRvIGNvcnJlY3RseSBsaW5rIHRoZW0gaW4gc29tZSBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjY3MAoKMjAxMC0wOC0xMSAxNzoxOTowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE5LjMgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMTEgMTc6MTk6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSAgZ3NldHRpbmdzOiBmaXggbWFrZSBkaXN0Y2hlY2sKCSAgQ2xlYW4gdXAgZmlsZSB3ZSBnZW5lcmF0ZWQgYXQgYnVpbGQgdGltZS4KCjIwMTAtMDgtMTEgMTI6MDk6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrczogYmxhY2tsaXN0IGdzZXR0aW5ncyogZWxlbWVudHMgZm9yIGdlbmVyaWMvc3RhdGVzIHRlc3QKCSAgV2hlbiB0aGUgdGVzdCBpcyBydW4sIHRoZSBzY2hlbWEgZmlsZSB3b24ndCBiZSBpbnN0YWxsZWQgeWV0LAoJICBhbmQgdGhlcmUgZG9lc24ndCBzZWVtIHRvIGJlIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHNldAoJICB0byBmb3JjZSBHU2V0dGluZ3MgdG8gbG9vayBpbiBhIGRpZmZlcmVudCBkaXJlY3RvcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MDMKCjIwMTAtMDgtMTEgMDA6MjM6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE5LjIgcHJlLXJlbGVhc2UKCSAgVGhpcyBjb21taXQgaXMgb3V0IG9mIHNlcXVlbmNlLCBpdCByZWFsbHkgYmVsb25ncyBiZXR3ZWVuIGNvbW1pdHMKCSAgMTUwOTgzMzE0MTJjZWI5ODJjMjRiODliYjQzNDYzNTRmYjU2NDMzYyAoQXV0b21hdGljIHVwZGF0ZSBvZgoJICBjb21tb24gc3VibW9kdWxlKSBhbmQgZGQyNmYzNzhiMDFkNjc5ODM0ZjEyOTM1ZWZjNzA5M2ZiNTgwNzk1NgoJICAoY29uZmlndXJlOiBGaXggdGhlIENFTFQgY2hlY2tzIHRvIC4uLikKCjIwMTAtMDgtMDkgMDA6NDI6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50IHRvIHJlbGVhc2VkIHZlcnNpb25zCgkgIFRoaXMgY29tbWl0IGlzIG91dCBvZiBzZXF1ZW5jZSwgaXQgcmVhbGx5IGJlbG9uZ3MgYmV0d2VlbiBjb21taXRzCgkgIDE1MDk4MzMxNDEyY2ViOTgyYzI0Yjg5YmI0MzQ2MzU0ZmI1NjQzM2MgKEF1dG9tYXRpYyB1cGRhdGUgb2YKCSAgY29tbW9uIHN1Ym1vZHVsZSkgYW5kIGRkMjZmMzc4YjAxZDY3OTgzNGYxMjkzNWVmYzcwOTNmYjU4MDc5NTYKCSAgKGNvbmZpZ3VyZTogRml4IHRoZSBDRUxUIGNoZWNrcyB0byAuLi4pCgoyMDEwLTA4LTA5IDAwOjQyOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsCgkgIFRoaXMgY29tbWl0IGlzIG91dCBvZiBzZXF1ZW5jZSwgaXQgcmVhbGx5IGJlbG9uZ3MgYmV0d2VlbiBjb21taXRzCgkgIDE1MDk4MzMxNDEyY2ViOTgyYzI0Yjg5YmI0MzQ2MzU0ZmI1NjQzM2MgKEF1dG9tYXRpYyB1cGRhdGUgb2YKCSAgY29tbW9uIHN1Ym1vZHVsZSkgYW5kIGRkMjZmMzc4YjAxZDY3OTgzNGYxMjkzNWVmYzcwOTNmYjU4MDc5NTYKCSAgKGNvbmZpZ3VyZTogRml4IHRoZSBDRUxUIGNoZWNrcyB0byAuLi4pCgoyMDEwLTA4LTA4IDE3OjA5OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICBjaGVja3M6IHNraXAgamlmbXV4IHRlc3RzIGlmIHJlcXVpcmVkIGVsZW1lbnRzIGFyZW4ndCBhdmFpbGFibGUKCSAgVGhpcyBjb21taXQgaXMgb3V0IG9mIHNlcXVlbmNlLCBpdCByZWFsbHkgYmVsb25ncyBiZXR3ZWVuIGNvbW1pdHMKCSAgMTUwOTgzMzE0MTJjZWI5ODJjMjRiODliYjQzNDYzNTRmYjU2NDMzYyAoQXV0b21hdGljIHVwZGF0ZSBvZgoJICBjb21tb24gc3VibW9kdWxlKSBhbmQgZGQyNmYzNzhiMDFkNjc5ODM0ZjEyOTM1ZWZjNzA5M2ZiNTgwNzk1NgoJICAoY29uZmlndXJlOiBGaXggdGhlIENFTFQgY2hlY2tzIHRvIC4uLikKCjIwMTAtMDgtMTEgMTE6NTI6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICBsZWdhY3lyZXNhbXBsZTogTGluayBhZ2FpbnN0ICQoTElCTSkgZm9yIHJpbnQoKSBhbmQgZnJpZW5kcwoKMjAxMC0wOC0xMSAxMTo1MToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBtNC9nc2V0dGluZ3MubTQ6CgkgIGdzZXR0aW5nczogQWRkIGdzZXR0aW5ncy5tNCBmb3IgdGhlIGdzZXR0aW5ncyBtYWNyb3MKCjIwMTAtMDgtMTEgMTE6NTA6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludnRlbGVjaW5lL01ha2VmaWxlLmFtOgoJICBpbnZ0ZWxlY2luZTogTGluayBhZ2FpbnN0ICQoTElCTSkgZm9yIHNxcnQoKSBhbmQgZnJpZW5kcwoKMjAxMC0wOC0xMSAxMTozOTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IHRoZSBDRUxUIGNoZWNrIHRvIGFjdHVhbGx5IHN1Y2NlZWQgaWYgQ0VMVCA+PSAwLjUgaXMgYXZhaWxhYmxlCgkgIEFsc28gcmVtb3ZlIHRoZSBBQ19NU0dfUkVTVUxUUyhbbm9dKSwgcGtnLWNvbmZpZyBkb2VzIHRoaXMgZm9yIHVzIGFscmVhZHkuCgoyMDEwLTA4LTEwIDEwOjU4OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYmQyMDU0YiB0byAzZThkYjFkCgoyMDEwLTA4LTA5IDE3OjIwOjExICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkIGEgInpvb20iIHBhcmFtZXRlciB0byBzcXVhcmUgZmlsdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDkgMTY6NTU6NDMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBtYWtlIHNxdWFyZSAid2lkdGgiIGFuZCAiaGVpZ2h0IiBjdXN0b21pemFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wOSAxMDowMzoyMCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZCBhICJtb2RlIiBwcm9wZXJ0eSB0byBtaXJyb3IgZmlsdGVyCgkgIEFkZCBhICJtb2RlIiBlbnVtIHByb3BlcnR5IHRvIG1pcnJvciB0aGF0IGRlZmluZXMgaG93IHRvIHNwbGl0IHRoZSBmcmFtZQoJICBhbmQgd2l0aCBzaWRlIHJlZmxlY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDkgMDg6NTI6NTEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkIGEgInpvb20iIHBhcmFtZXRlciB0byBidWxnZSBmaWx0ZXIKCSAgUmV3b3JrIGJ1bGdlIG1hcHBpbmcgZnVuY3Rpb24gdG8gZ2l2ZSBtb3JlIHByZWRpY3RhYmxlIHJlc3VsdHMuCgkgIE5vdyB0aGUgYnVsZ2UgaXMgZG9uZSBkaXZpZGluZyBieSBhIHNjYWxlIGZhY3RvciB0aGF0IHNtb290aHN0ZXBzIGZyb20KCSAgInpvb20iIGF0IHRoZSBjZW50ZXIgdG8gMS4wIGF0ICJyYWRpdXMiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA1IDE2OjE2OjM3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGQgYW4gImludGVuc2l0eSIgcGFyYW1ldGVyIHRvIHN0cmV0Y2ggZmlsdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDUgMTI6NDM6MTUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBtYWtlIHR1bm5lbCAicmFkaXVzIiBjdXN0b21pemFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wNSAxMjoyOToxNiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSBidWxnZSAicmFkaXVzIiBjdXN0b21pemFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wNSAxMjoyNTowNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBtYWtlIHN0cmV0Y2ggInJhZGl1cyIgY3VzdG9taXphYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDggMjM6NTY6NDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZzQvbXBlZzR1dGlsLmM6CgkgIHZkcGF1bXBlZzRkZWM6IGZpeCB0eXBvIGluIGRlZmF1bHRfbm9uX2ludHJhX3F1YW50X21hdHJpeAoKMjAxMC0wNy0xNCAxMTowMzozNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvbXBlZzR1dGlsLmg6CgkgIHZkcGF1OiBhZGQgbXBlZzQgcGFydDIgZGVjb2RlcgoKMjAxMC0wOC0wOCAxMjo0NjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNtdXguYzoKCSAgY2hlY2tzOiBza2lwIGlkM211eCB1bml0IHRlc3RzIHRoYXQgbmVlZCBpZDNkZW11eCBpZiBpZDNkZW11eCBpcyBub3QgYXZhaWxhYmxlCgoyMDEwLTA4LTA4IDEyOjI2OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidWlsZCBhbmQgZGlzdCBuZXcgY29sb3JlZmZlY3RzIHBsdWdpbgoJICBGaXhlcyBtYWtlIGRpc3RjaGVjay4KCjIwMTAtMDgtMDggMTI6MDE6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBPbmx5IGNoZWNrIHRoZSBwbHVnaW4gZmlsZW5hbWVzLCBub3QgdGhlIGRpcmVjdG9yeSBuYW1lcwoKMjAxMC0wOC0wOCAxMTo1Njo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IERvbid0IHRyeSB0byByZWdpc3Rlci9sb2FkIHRoZSBzYW1lIGZyZWkwciBwbHVnaW4gYXQgZGlmZmVyZW50IGxvY2F0aW9ucyB0d2ljZQoJICBUaGlzIGNvdWxkIGhhcHBlbiBiZWNhdXNlIGZvciBleGFtcGxlIC91c3IvbGliIGlzIGxpbmtlZAoJICB0byAvdXNyL2xpYjY0IGFuZCBib3RoIGFyZSBsb2FkZWQuIFRoZSBmcmVpMHIgc3BlY2lmaWNhdGlvbgoJICBzYXlzIHRoYXQgdGhlIHBsdWdpbiBpbml0IGZ1bmN0aW9uIG11c3Qgb25seSBiZSBjYWxsZWQgb25jZQoJICBhbmQgZm9yIHNvbWUgcGx1Z2luIHdlaXJkIHRoaW5ncyAoaW5jbHVkaW5nIGNyYXNoZXMpIGFyZQoJICBoYXBwZW5pbmcuCgkgIEZpeGVzIGJ1ZyAjNjIzNzEwLgoKMjAxMC0wOC0wNiAwMTo1NjoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IGFsaWduIGFjdHVhbCBkZWZhdWx0IHZhbHVlcyBmb3IgcHJvcGVydGllcyB3aXRoIGRlZmF1bHRzIGluIHBhcmFtIHNwZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTQwNAoKMjAxMC0wOC0wNiAxMjoxNDowNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmg6CgkgIHZkcGF1OiBmaXggZGVzdHJ1Y3Rpb24gb2YgR3N0VmRwRGV2aWNlIHdoZW4gaXQgZmFpbGVkIHRvIG9wZW4KCSAgb25seSBjbG9zZSBkaXNwbGF5IGluIGZpbmFsaXplIGFuZCBjaGVjayBpZiB2ZHBfZGVjb2Rlcl9kZXN0cm95IGlzIGF2YWlsYWJsZQoJICBiZWZvcmUgd2UgdXNlIGl0CgoyMDEwLTA4LTA1IDIzOjU1OjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSAgdmRwYXVzaW5rOiB1c2Ugc2VwYXJhdGUgbXV0ZXggZm9yIGRldmljZSBsb2NraW5nCgkgIHdlIGNhbid0IHVzZSBHU1RfT0JKRUNUX0xPQ0sgc2luY2UgdGhhdCBjYXVzZSBwcm9ibGVtcyB3aGVuIHdlIHRyeSB0byBwb3N0CgkgIGVycm9ycywgZHVlIHRvIGdzdF9lbGVtZW50X3Bvc3RfbWVzc2FnZSBhbHNvIHRha2luZyB0aGUgR1NUX09CSkVDVF9MT0NLCgoyMDEwLTA4LTA2IDExOjA0OjU3ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIG5lb25odHRwc3JjOiBhZGQgY29ubmVjdC10aW1lb3V0IGFuZCByZWFkLXRpbWVvdXQgcHJvcGVydGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1MDc2CgoyMDEwLTA4LTA2IDEwOjQ0OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25lb25odHRwc3JjLmM6CgkgIG5lb25odHRwc3JjOiBhZGQgImNvb2tpZXMiIHByb3BlcnR5CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTYW1lZXIgTmFpawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1MTc0CgoyMDEwLTA3LTI1IDE3OjA0OjEyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IGNsb3NlIG91ciBvd24gd2luZG93IHdoZW4gY2hhbmdpbmcgdGhlIHdpbmRvdyBpZAoJICBJZiB3ZSBjcmVhdGVkIHRoZSB3aW5kb3csIGl0IG5lZWRzIHRvIGJlIGNsb3NlZCBhZnRlciBzZXR0aW5nIGEgbmV3CgkgIHdpbmRvdyBpZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3NDI5MAoKMjAxMC0wNy0yNSAxNzowMToxOSArMDIwMCAgUmFpbW8gSmFydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBhbGxvdyBjaGFuZ2luZyB3aW5kb3cgSUQgd2hpbHN0IGluIFBMQVlJTkcgc3RhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3NDI5MAoKMjAxMC0wOC0wNiAwMzoxOToxNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBMb2FkIHBsdWdpbnMgaW4gL3Vzci97bG9jYWwvLH1saWJ7MzIsNjR9L2ZyZWkwci0xIHRvbwoJICBMb2FkcyB0aGUgcGx1Z2lucyBpbiBtb3JlIHBhdGhzIHdoZXJlIHRoZXkgY291bGQgYmUgaW5zdGFsbGVkIGJ5CgkgIG11bHRpbGliIGRpc3RyaWJ1dGlvbnMuCgkgIEZpeGVzICM2MjM3MTAKCjIwMTAtMDgtMDUgMTM6NTc6MTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTUxOTU3MSB0byBiZDIwNTRiCgoyMDEwLTA4LTAzIDEwOjA4OjM0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG1ha2UgY2ljbGVndCAicmFkaXVzIiBwcm9wZXJ0eSByZWxhdGl2ZQoJICBNYWtlIHRoZSAicmFkaXVzIiBwcm9wZXJ0eSBvZiBDaXJjbGVHZW9tZXRyaWNUcmFuc2Zvcm0gcmVsYXRpdmUuCgkgIFRoaXMgaXMgbW9yZSBjb2hlcmVudCB3aXRoIHRoZSB3YXkgW3gseV0tY2VudGVyIHByb3BlcnRpZXMgYXJlIGhhbmRsZWQKCSAgYW5kIGFsbG93IHRvIHNldCBhIHJhZGl1cyB3aXRob3V0IGtub3dpbmcgdGhlIHZpZGVvIHNpemUuCgkgIFJhZGl1cyBpcyBkZWZpbmVkIHdpdGggcmVzcGVjdCB0byB0aGUgY2lyY2xlIGNpcmN1bXNjcmliZWQgYWJvdXQgdGhlCgkgIHZpZGVvIHJlY3RhbmdsZSBzbyB0aGF0IGEgcG9pbnQgaW4gdGhlIGNlbnRlciBoYXMgcmFkaXVzIDAuMCBhbmQgb25lIGluCgkgIGEgdmVydGV4IGhhcyByYWRpdXMgMS4wLgoJICBOb3RlIHRoYXQgdGhpcyBpcyBub3QgYSByZWdyZXNzaW9uIGZyb20gdGhlIHByZXZpb3VzIGFic29sdXRlIHdheSBvZgoJICBkZWZpbmluZyB0aGUgcmFkaXVzIGFzIGEgdXNlciB3aG8ga25vd3MgdGhlIHZpZGVvIHNpemUgY2FuIGVhc2lseQoJICBjYWxjdWxhdGUgdGhlIHJlbGF0aXZlIHJhZGl1cyBhbmQgc2V0IHRoYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5NTkKCjIwMTAtMDgtMDQgMjM6NTA6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBtaW5vciBjb2RlIGNsZWFuLXVwCgkgIEFkZCBoZWxwZXIgZnVuY3Rpb24gdG8gd3JpdGUgdGV4dCBmcmFtZXMgd2l0aCBqdXN0IG9uZSBzdHJpbmcuCgoyMDEwLTA4LTA0IDIzOjQ0OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBtb3JlIHVuaXQgdGVzdCBiaW5hcmllcwoKMjAxMC0wNi0xNCAyMDowNzozMyArMTAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5AZDE0bi5vcmc+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzbXV4LmM6CgkgIGlkM211eDogYWRkIHN1cHBvcnQgZm9yIGJlYXRzLXBlci1taW51dGUgdGFnCgkgIFdyaXRlIGJlYXRzIHBlciBtaW51dGUgaW50byB0aGUgVEJQTSBmcmFtZSwgYW5kIGFkZCB1bml0CgkgIHRlc3QgZm9yIGlkM211eCwgYmFzZWQgb24gaWQzdjJtdXggdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIxNTIzCgoyMDEwLTA4LTA0IDE5OjI2OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJICBjb25maWd1cmU6IENoZWNrIGlmIHRoZSBjb21waWxlciBzdXBwb3J0cyBJU08gQzg5IG9yIEM5OSBhbmQgd2hpY2ggcGFyYW1ldGVycyBhcmUgcmVxdWlyZWQKCSAgVGhpcyBmaXJzdCBjaGVja3Mgd2hhdCBpcyByZXF1aXJlZCBmb3IgSVNPIEM5OSBzdXBwb3J0IGFuZCBzZXRzIHRoZSByZWxldmFudAoJICBjb21waWxlciBwYXJhbWV0ZXJzIGFuZCBpZiBubyBDOTkgY29tcGlsZXIgaXMgZm91bmQsIGl0IGNoZWNrcyBmb3IgYQoJICBDODkgY29tcGlsZXIuIFRoaXMgZW5hYmxlcyB1cyB0byBjaGVjayBmb3IgYW5kIHVzZSBDODkvQzk5IGZ1bmN0aW9ucwoJICB0aGF0IGdjYyBoaWRlcyBmcm9tIHVzIHdpdGhvdXQgdGhlIGNvcnJlY3QgY29tcGlsZXIgcGFyYW1ldGVycy4KCjIwMTAtMDgtMDQgMTA6MTU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkgIGNvbG9yZWZmZWN0czogQWRkIHRvIHRoZSBkb2N1bWVudGF0aW9uCgoyMDEwLTA4LTA0IDEwOjExOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkgIGNvbG9yZWZmZWN0czogTWlub3IgY2xlYW51cAoKMjAxMC0wOC0wNCAxMDowOTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJICBjb2xvcmVmZmVjdHM6IEltcHJvdmUgcHJvcGVydHkgZGVzY3JpcHRpb24gYSBiaXQKCjIwMTAtMDgtMDQgMTA6MDg6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSAgY29sb3JlZmZlY3RzOiBEb24ndCB1c2UgdGhlIGZpeGVkX2NhcHMgZnVuYyBvbiB0aGUgcGFkcwoJICBjb2xvcmVmZmVjdHMgY2FuIHJlbmVnb3RpYXRlIGR1cmluZyBwbGF5YmFjayB3aXRob3V0IGFueSBwcm9ibGVtcy4KCjIwMTAtMDgtMDMgMTQ6Mzk6MjIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSAgY29sb3JlZmZlY3RzOiBhZGQgYXl1diBzdXBwb3J0CgkgIEN1cnJlbnRseSBpbXBsZW1lbnRlZCBzd2l0Y2hpbmcgZnJvbSB5dXYgdG8gcmdiLCBsb29raW5nIHVwIHJnYiBmcm9tIHRoZQoJICB0YWJsZSBpbiB0aGUgdXN1YWwgd2F5LCBnZXR0aW5nIGJhY2sgdG8geXV2LiBXaXRoIGx1bWEgbG9va3VwIHByZXNldHMKCSAgKHNlcGlhLCBoZWF0LCB4cmF5KSBhIGNvbG9yIHNwYWNlIGNvbnZlcnNpb24gaXMgc2F2ZWQgZGlyZWN0bHkgbG9va2luZwoJICB1cCByZ2IgZm9yIGEgZ2l2ZW4gWSBhbmQgY29udmVydGluZyB0byB5dXYuCgkgIFByb2JhYmx5IHRoaXMgbGF0dGVyIHN0ZXAgY2FuIGV2ZW4gYmUgbWFkZSBmYXN0ZXIgcHJlY2FsY3VsYXRpbmcgYSBsdW1hCgkgIHRvIHl1diB0YWJsZSBpbiBhbiBvdXRlciBsb29wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1ODE3CgoyMDEwLTA4LTAxIDIzOjAzOjI0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSAgY29sb3JlZmZlY3RzOiBuZXcgcGx1Z2luIGZvciBsb29rdXAgdGFibGUgY29sb3IgbWFwcGluZwoJICBJbXBsZW1lbnRzIGEgY29sb3IgbG9va3VwIHRhYmxlIGZpbHRlciB3aXRoIDQgcHJlc2V0czoKCSAgLSBoZWF0OiBmYWtlIGhlYXQgY2FtZXJhIGVmZmVjdAoJICAtIHNlcGlhOiBzZXBpYSB0b25pbmcKCSAgLSB4cmF5OiBpbnZlcnQgKyBzaGFkZSB0byBibHVlCgkgIC0geHBybzogY3Jvc3MgcHJvY2VzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1ODE3CgoyMDEwLTA4LTAzIDEwOjI5OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICBkb2NzOiBBZGQgbG90cyBvZiBnYXVkaWVmZmVjdHMvZ2VvbWV0cmljdHJhbnNmb3JtIHN5bWJvbHMgdG8gdGhlIGRvY3MKCjIwMTAtMDgtMDIgMTE6MzA6NTAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgImZpc2hleWUiCgkgIFBvcnRzIGdsZWZmZWN0cyAiZmlzaGV5ZSIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgRmFrZSBmaXNoZXllIGxlbnMgZmlsdGVyLiBTb21ld2hhdCBlbXBpcmljIGltcGxlbWVudGF0aW9uIGJlY2F1c2UgSQoJICBkaWRuJ3QgZmluZCBhbnkgZ29vZCBhbGdvcml0aG0gdGhhdCBkb2VzIGl0IHdpdGggbmljZSByZXN1bHRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDExOjEyOjQyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAibWlycm9yIgoJICBQb3J0cyBnbGVmZmVjdHMgIm1pcnJvciIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgU2ltcGxlIHlldCBlZmZlY3RpdmUgbWlycm9yIGVmZmVjdCwgc3BsaXRzIHRoZSBpbWFnZSBpbnRvIGhhbHZlcyBhbmQKCSAgcmVmbGVjdCB0aGUgZmlyc3QgaW50byB0aGUgc2Vjb25kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDExOjAxOjMxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAic3F1YXJlIgoJICBQb3J0cyBnbGVmZmVjdHMgInNxdWFyZSIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgTWFwcyBhIHJlZ2lvbiBhcm91bmQgdGhlIGNlbnRlciBpbnRvIGEgem9vbWVkIHNxdWFyZSBhbmQgc21vb3RobHkgZ2V0CgkgIGJhY2sgdG8gbm9ybWFsIHpvb20uIFdpdGggZmFjZXMgaXQgbWFrZXMgYSBmdW5ueSAiY3ViZS1mYWNlIiBlZmZlY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU3MjIKCjIwMTAtMDgtMDIgMTA6NDY6NDQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBuZXcgZmlsdGVyICJ0dW5uZWwiCgkgIFBvcnRzIGdsZWZmZWN0cyAidHVubmVsIiBmaWx0ZXIgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLgoJICBEbyBub3RoaW5nIGluIGEgY2lyY2xlIGFyb3VuZCB0aGUgY2VudGVyIGFuZCB6b29tIG91dHNpZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU3MjIKCjIwMTAtMDgtMDIgMDk6Mzk6NTEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAiYnVsZ2UiCgkgIFBvcnRzIGdsZWZmZWN0cyAiYnVsZ2UiIGZpbHRlciB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uCgkgIEFkZHMgYSBwcm90dWJlcmFuY2UgYXJvdW5kIHRoZSBjZW50ZXIgcG9pbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU3MjIKCjIwMTAtMDgtMDIgMDk6MTc6MDMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAic3RyZXRjaCIKCSAgUG9ydHMgZ2xlZmZlY3RzICJzdHJldGNoIiBmaWx0ZXIgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLgoJICBTaHJpbmtzIHRoZSBpbWFnZSBhcm91bmQgdGhlIGNlbnRlciBhbmQgZ3JhZHVhbGx5IHJldHVybiB0byBub3JtYWwgem9vbQoJICBjcmVhdGluZyBmdW5ueSBjYXJpY2F0dXJlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTcyMgoKMjAxMC0wOC0wMiAxODozMzo0NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJICB2ZHBhdTogc2V0IGJhY2sgcGx1Z2luIHJhbmtzIHRvIEdTVF9SQU5LX05PTkUKCSAgdGhlIHByZXZpb3VzIGNoYW5nZSB3YXMgbm90IG1lYW50IHRvIHNsaXAgaW4KCjIwMTAtMDgtMDIgMTg6MjM6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBzbGlnaHRseSBmaXggR3N0QmFzZVZpZGVvRGVjb2RlciB0aW1lc3RhbXBpbmcKCSAgY2xlYXIgdGltZXN0YW1wcyBvbiBmbHVzaCBhbmQgcHJvcGVybHkgY2FsY3VsYXRlIHRoZSBmcmFtZSdzIGVuZCBvZmZzZXQKCjIwMTAtMDgtMDEgMTI6MzI6MzEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkgIHZkcGF1OiBpbml0IGRlYnVnIGNhdGVnb3J5IGluIGdzdF92ZHBfdmlkZW9fYnVmZmVyX2dldF90eXBlCgoyMDEwLTA4LTAyIDIwOjQxOjEyICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9ibHVyLWV4YW1wbGUucHk6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmg6CgkgIGdhdWRpZWZmZWN0czogQWRkIEdhdXNzaWFuIEJsdXIgZWZmZWN0LCBhbmQgYnJpZWYgZXhhbXBsZS4KCjIwMTAtMDctMzAgMjM6NTk6MTAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBmaXggd2FybmluZyBvbiBvc3guCgoyMDEwLTA3LTMwIDIyOjI3OjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogYWRkIGVycm9yIHJlcG9ydGluZyB0byBkZXZpY2UgY3JlYXRpb24KCjIwMTAtMDctMzAgMTY6NTQ6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIHZkcGF1OiBmaXggc21hbGwgdHlwbyBpbiBHc3RCYXNlVmlkZW9EZWNvZGVyCgoyMDEwLTA3LTMwIDE0OjQ3OjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJICB2ZHBhdTogdXNlIGdzdF92ZHBfeXV2X3RvX3ZpZGVvX2NhcHMgaW4gR3N0VmRwVmlkZW9TcmNQYWQgdG8gdHJhbnNmb3JtIHNldCBjYXBzCgkgIHRoaXMgd2F5IHdlJ2xsIGtlZXAgb3RoZXIgYWxsIG90aGVyIGZpZWxkcyBpbiB0aGUgY2FwcyB3aGljaCB3ZSBkaWRuJ3QgdGFrZSBpbgoJICBhY2NvdW50IHdoZW4gd2UgbWFudWFsbHkgY3JlYXRlZCB0aGUgInZpZGVvL3gtdmRwYXUtdmlkZW8iIGNhcHMKCjIwMTAtMDctMzAgMTQ6NDQ6MDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiByZW5hbWUgZ3N0X3ZkcF92aWRlb19idWZmZXJfcGFyc2VfeXV2X2NhcHMgYW5kIG1vdmUgaXQgdG8gZ3N0dmRwdXRpbHMuaAoKMjAxMC0wNy0zMCAxNDowNzoyMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkgIHZkcGF1OiBHc3RWZHBPdXRwdXRTcmNQYWQgdXNlIGdzdF9wYWRfYWxsb2Mgd2hlbiBvdXRwdXR0aW5nIHZpZGVvL3gtcmF3LXJnYgoJICB3ZSBpbXBsZW1lbnQgImFjY2VwdGNhcHMiIHRvIHByZXZlbnQgdXMgZnJvbSBnZXR0aW5nIGEgYnVmZmVyIHdpdGggZGlmZmVyZW50CgkgIHdpZHRoIGFuZCBoZWlnaHQgZnJvbSB3aGF0IHdlIHJlcXVlc3RlZC4KCjIwMTAtMDctMzAgMTE6Mjk6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmM6CgkgIHZkcGF1OiBwcm9wZXJseSByZW1vdmUgImNocm9tYS10eXBlIiBmaWVsZCBmcm9tIHRyYW5zZm9ybWVkIGNhcHMKCjIwMTAtMDctMzAgMTE6Mjc6MjcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IHVzZSBHc3RWZHBbVmlkZW98T3V0cHV0XUJ1ZmZlclBvb2wgdG8gY2FjaGUgb3VyIGJ1ZmZlcnMKCSAgVGhpcyB3YXkgd2UnbGwgcmV1c2UgdGhlIEdzdFZkcFtWaWRlb3xPdXRwdXRdQnVmZmVycyBpZiB0aGV5J3JlIG9mIHRoZSBzYW1lCgkgIHNpemUgYW5kIGNocm9tYS10eXBlL3JnYmEtZm9ybWF0LgoJICBBbHNvIHJlbW92ZSBnc3RfdmRwX291dHB1dF9zcmNfcGFkX25lZ290aWF0ZSBhbmQgc2V0IGEgInNldGNhcHMiIGZ1bmN0aW9uIG9uCgkgIEdzdFZkcE91dHB1dFNyY1BhZCBpbnN0ZWFkLCBsZWF2aW5nIG5lZ290aWF0aW9uIHRvIEdzdFZkcFZpZGVvUG9zdFByb2Nlc3MuCgoyMDEwLTA3LTMwIDExOjIwOjM1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSAgdmRwYXVzaW5rOiB1c2UgR3N0VmRwT3V0cHV0QnVmZmVyUG9vbCB0byBhbGxvYyBvdXIgYnVmZmVycwoJICBUaGlzIHdheSB3ZSdsbCByZXVzZSBvdXIgR3N0VmRwT3V0cHV0QnVmZmVycyBpZiB0aGV5J3JlIG9mIHRoZSBzYW1lIHNpemUgYW5kCgkgIHJnYmEtZm9ybWF0CgoyMDEwLTA3LTMwIDExOjE2OjA5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJICB2ZHBhdTogdXNlIEdzdFZkcFZpZGVvQnVmZmVyUG9vbCBpbiBHc3RWZHBWaWRlb1NyY1BhZAoJICBXZSBhbHNvIGRvbid0IHBhZF9hbGxvYyBvdXIgR3N0VmRwVmlkZW9CdWZmZXJzIGFueW1vcmUgc2luY2Ugd2UgZG9uJ3Qgc3VwcG9ydAoJICBkb3duc3RyZWFtIG5lZ290YXRpb24gYW55d2F5LgoKMjAxMC0wNy0zMCAxMTowNjoxNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXU6IGFkZCBHc3RWZHBPdXRwdXRCdWZmZXJQb29sCgkgIEdzdFZkcFZpZGVvT3V0cHV0UG9vbCBpcyBhIHN1YmNsYXNzIG9mIEdzdFZkcEJ1ZmZlclBvb2wgdGhhdCBjYWNoZXMKCSAgR3N0VmRwT3V0cHV0QnVmZmVycwoKMjAxMC0wNy0zMCAxMTowMToxNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiBhZGQgR3N0VmRwVmlkZW9CdWZmZXJQb29sCgkgIEdzdFZkcFZpZGVvQnVmZmVyUG9vbCBpcyBhIHN1YmNsYXNzIG9mIEdzdFZkcEJ1ZmZlciB0aGF0IGNhY2hlcwoJICBHc3RWZHBWaWRlb0J1ZmZlcnMKCjIwMTAtMDctMzAgMTA6NTU6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmg6CgkgIHZkcGF1OiBhZGQgR3N0VmRwQnVmZmVyUG9vbCBiYXNlIGNsYXNzCgkgIEdzdFZkcEJ1ZmZlclBvb2wgd2lsbCBiZSB1c2VkIHRvIGNhY2hlIEdzdFZkcFtWaWRlb3xPdXRwdXRdQnVmZmVycyBzaW5jZQoJICBjcmVhdGluZyB0aGVzZSBjYW4gYmUgYSBjb3N0bHkgb3BlcmF0aW9uIG9uIHNvbWUgaGFyZHdhcmUuCgoyMDEwLTA3LTI4IDIxOjM5OjEyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogcmVtb3ZlIEdzdFZkcE91dHB1dFNyY1BhZCAidGVtcGxhdGUtY2FwcyIgcHJvcGVydHkKCSAgaW5zdGVhZCB3ZSBkbyBhcyBHc3RWZHBWaWRlb1NyY1BhZCBhbmQgdXNlIHRoZSAidGVtcGwiIHByb3BlcnR5IG9mIEdzdFBhZCwKCSAgd2hpY2ggZW5hYmxlIHVzIHRvIGNoYW5nZSB0aGUgc2lnbmF0dXJlIG9mIGdzdF92ZHBfb3V0cHV0X3NyY19wYWRfbmV3IHRvIG1hdGNoCgkgIGdzdF9wYWRfbmV3X2Zyb21fdGVtcGxhdGUKCjIwMTAtMDctMjggMjE6MTU6NDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogcmVtb3ZlIEdzdFZkcE91dHB1dFNyY1BhZCBjb2RlIHRvIHJldHJpZXZlIHRoZSBkZXZpY2UgZnJvbSBkb3duc3RyZWFtCgkgIHdlIG5vdyBubyBsb25nZXIgdHJ5IHRvIGdldCB0aGUgR3N0VmRwRGV2aWNlIGZyb20gZG93bnN0cmVhbSBzaW5jZSBpdCBpbgoJICBwcmFjdGljZSBkaWRuJ3QgZ2l2ZSB1cyBhbnl0aGluZyBhbmQgY29tcGxpY2F0ZXMgdGhlIGNvZGUgYWxvdC4gTmV2ZXJ0aGVsZXNzIGlmIGRldmljZQoJICBkaXN0cmlidXRpb24gc2hvdWxkIGJlIGRvbmUgdGhlcmUncyBwcm9iYWJseSBhIGxvdCBiZXR0ZXIgd2F5cyB0byBkbyBpdC4KCSAgSW5zdGVhZCB3ZSBub3cgc2ltcGx5IGFxdWlyZSB0aGUgZGV2aWNlIGluIHZkcGF1dmlkZW9wb3N0cHJvY2VzcyB3aGVuIHdlJ3JlCgkgIGdvaW5nIGludG8gUEFVU0VELgoKMjAxMC0wNy0yNyAyMzoyNDo0MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogY2xlYW51cCBHc3RWZHBEZWNvZGVyIG9wZW5pbmcgb2YgaXQncyBHc3RWZHBEZXZpY2UKCSAgd2Ugbm93IG5vIGxvbmdlciB0cnkgdG8gZ2V0IHRoZSBHc3RWZHBEZXZpY2UgZnJvbSBkb3duc3RyZWFtIHNpbmNlIGl0IGluCgkgIHByYWN0aWNlIGRpZG4ndCBnaXZlIHVzIGFueXRoaW5nIGFuZCBjb21wbGljYXRlcyB0aGUgY29kZSBhbG90LiBOZXZlcnRoZWxlc3MgaWYgZGV2aWNlCgkgIGRpc3RyaWJ1dGlvbiBzaG91bGQgYmUgZG9uZSB0aGVyZSdzIHByb2JhYmx5IGEgbG90IGJldHRlciB3YXlzIHRvIGRvIGl0LgoKMjAxMC0wNy0yNyAyMzoxNzowOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgdmRwYXU6IGZpeCBHc3RCYXNlVmlkZW9EZWNvZGVyIHJldHVybmluZyB3cm9uZyBHc3RTdGF0ZUNoYW5nZVJldHVybgoJICB3aGVuIGdzdF9iYXNlX3ZpZGVvX2RlY29kZXJfW3N0YXJ0fHN0b3BdIGZhaWxzIHdlIG5vdyByZXR1cm4KCSAgR1NUX1NUQVRFX0NIQU5HRV9GQUlMVVJFIGluc3RlYWQgb2YgcmV0dXJuaW5nIHdoYXQgdGhlIHBhcmVudCBjbGFzcyByZXR1cm5zCgoyMDEwLTA3LTI3IDE1OjMzOjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlbW92ZSB1bm5lZWRlZCBzZXR0aW5nIG9mIGJ1ZmZlciBmbGFncwoJICBHc3RCYXNlVmlkZW9EZWNvZGVyIHNldHMgR1NUX1ZJREVPX0JVRkZFUl9URkYgZm9yIHVzIGFuZAoJICBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCBkb2Vzbid0IG1ha2Ugc2Vuc2UgZm9yIGRlY29kZWQgZnJhbWVzLgoKMjAxMC0wNy0yOSAxNjowODowMyArMDIwMCAgQW5kb25pIE1vcmFsZXMgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkgIGRzaG93dmlkZW9zcmM6IGRvbid0IG1ha2UgYSByYW5nZSBpZiBtaW49PW1heAoJICBGaXhlcyBidWcgIzYyNTEzOAoKMjAxMC0wNy0yOSAxMDozODo1OCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogYWN0dWFsbHkgd29yayB3aGVuIHdlIGhhdmUgc21hbGwgYnVmZmVycyBjb21pbmcgaW4KCSAgYXZhaWxhYmxlX2Zhc3QgaXMgbm90IHdoYXQgd2Ugd2FudCBhbmQgaXQgd2lsbCBuZXZlciBnZXQgdG8gZGlzY292ZXIgcGFja2V0CgkgIHNpemUgaWYgMTg4IGJ5dGUgYnVmZmVycyBhcmUgYmVpbmcgcGlja2VkIHVwLgoKMjAxMC0wNy0yOCAxODozNjo1MyArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgZ3NldHRpbmdzIHhtbCBzY2hlbWEgZmlsZQoKMjAxMC0wNy0yOCAxODozNDoxNSArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJICBkb2NzOiBhZGQgbW9yZSBwbHVnaW5zIGFuZCBlbGVtZW50cyB0byB0aGUgZG9jcwoKMjAxMC0wNy0yOCAxNzo0Njo1MyArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkgIGl2ZnBhcnNlOiBmaXggdXAgbWFjcm9zIGFuZCBmdW5jdGlvbiBuYW1lcyB0byBtYXRjaCBndWlkZWxpbmVzCgoyMDEwLTA3LTI4IDE3OjM0OjAyICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBmaXggc3RydWN0dXJlIG5hbWVzIHRvIGNvbXBseSB3aXRoIHRoZSBwbHVnaW4gbW92aW5nIGd1aWRlbGluZXMKCjIwMTAtMDctMjggMTY6MTU6NTMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgY2FwcyBiaXRyYXRlIGF0IGxhc3QgY2hhbmNlCgkgIElmIHdlIGRpZG4ndCBnZXQgdGhlIHN0cmVhbSdzIGJpdHJhdGUgZnJvbSBvbmUgb2YgdGhlIGF0b21zLAoJICB0cnkgZ2V0dGluZyBpdCBmcm9tIHRoZSBjYXBzIGFzIGEgbGFzdCByZXNvcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU0OTYKCjIwMTAtMDctMjggMTY6MTI6MTEgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBidHJ0IC0gbWF4IGJpdHJhdGUgYmVmb3JlIGF2ZXJhZ2UKCSAgQWNjb3JkaW5nIHRvIGlzbyBiYXNlIG1lZGlhIGZpbGUgZm9ybWF0LCB0aGUgbWF4IGJpdHJhdGUKCSAgaXMgYmVmb3JlIHRoZSBhdmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTQ5NgoKMjAxMC0wNy0yNyAxODoyMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBSZXNldCB0aGUgc2VnbWVudCBvbiBGTFVTSF9TVE9QIGFuZCB3aGVuIGdvaW5nIGJhY2sgdG8gUkVBRFkKCjIwMTAtMDctMjcgMTg6MDc6MDAgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IGRpc3QgbmV3IGhlYWRlciBmaWxlCgkgIEZpeCBtYWtlIGRpc3RjaGVjay4KCjIwMTAtMDctMjMgMTk6NDE6MjkgKzAyMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBkc2hvd3ZpZGVvc2luazogSW1wcm92ZW1lbnRzIGNvbnRyaWJ1dGVkIGZyb20gdGhlIE1vb3ZpZGEgcHJvamV0LgoJICAqIEluaGVyaXQgZnJvbSBHc3RWaWRlb1NpbmsKCSAgKiBJbXBsZW1lbnQgR3N0TmF2aWdhdGlvbiBpbnRlcmZhY2UKCSAgKiBQcm9wZXIgQ09NIGluaXRpYWxpemF0aW9uIGZvciB0aHJlYWRlZCBlbnZpcm9ubWVudHMKCSAgKiBGaXggV2luZG93IHJlc291cmNlIGxlYWsKCSAgKiBBZGQgRVZSIHN1cHBvcnQgZm9yIGJldHRlciB2aWRlbyBzY2FsaW5nIG9uIFdpbmRvd3MgVmlzdGEgYW5kIGFib3ZlCgkgICogT25seSBhcHBseSBQQVIgc2NhbGluZyB3aGVuIHRoZSBrZWVwX2FzcGVjdF9yYXRpbyBwcm9wZXJ0eSBpcyBzZXQgdG8gc3RheQoJICBjb25zaXN0ZW50IHdpdGggdGhlIG90aGVyIExpbnV4IHNpbmtzCgkgICogUHJldmVudCBhbiBpbmZpbml0ZSBsb29wIHdpdGggdGhlIHduZHByb2MgY2hhaW4KCSAgKiBGaXggZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHVzZSB0aGUgb2JqZWN0IGluc3RhbmNlCgoyMDEwLTA3LTIzIDAwOjI4OjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGFkZCBnc3RfdmRwX2RlY29kZXJfcmVuZGVyIGFuZCBnc3RfdmRwX2RlY29kZXJfaW5pdF9kZWNvZGVyCgoyMDEwLTA3LTIyIDA5OjIxOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBleGFtcGxlczogVXNlIGNhaXJvIGluc3RlYWQgb2YgZ2RrX2RyYXdfKiBBUEkKCSAgRml4ZXMgYnVnICM2MjUwMDMuCgoyMDEwLTA3LTEyIDIyOjM3OjQ3IC0wMzAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogQWRkcyBuZXcgcGx1Z2luICdnYXVkaWVmZmVjdHMnCgkgIEFkZHMgdGhlIG5ldyAnZ2F1ZGllZmZlY3RzJyBwbHVnaW4sIG9yaWdpbmFsbHkgZm91bmQKCSAgaGVyZTogaHR0cDovL2dpdGh1Yi5jb20vbHVpc2JnL2dhdWRpX2VmZmVjdHMKCSAgQ29udGFpbnMgdGhlIGZvbGxvd2luZyB2aWRlbyBlZmZlY3QgZWxlbWVudHM6IGJ1cm4sIGNocm9taXVtLCBkaWxhdGUsCgkgIGRvZGdlLCBleGNsdXNpb24gYW5kIHNvbGFyaXplLgoJICBUaGFua3MgdG8gSmFuIFNjaG1pZHQgZm9yIHRoZSByZXZpZXdpbmcgYW5kIHJlZmFjdG9yaW5nCgoyMDEwLTA3LTE5IDIxOjUzOjMwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogdHJ5IHRvIGNhbGN1bGF0ZSBmcmFtZXJhdGUgaWYgd2UgZG9uJ3QgZ2V0IG9uZSBmcm9tIHVwc3RyZWFtCgoyMDEwLTA3LTE5IDExOjM0OjM5ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IGZpeCBzZWdmYXVsdCB3aGVuIHZkcGF1IGRldmljZSBjb3VsZCBub3QgYmUgY3JlYXRlZAoKMjAxMC0wNy0xOCAyMToxNTozNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggcHJvYmxlbSB3aGVuIGVuY291bnRlcmluZyBHU1RfTkFMX0FVX0RFTElNSVRFUgoKMjAxMC0wNy0wOCAwOTo1Njo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJICB3YXNhcGlzcmM6IFVzZSBuZXcgZ3N0X2F1ZGlvX2Nsb2NrX25ld19mdWxsKCkKCjIwMTAtMDctMDggMDk6NTU6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgIGFsc2FzcGRpZnNpbms6IFVzZSBuZXcgZ3N0X2F1ZGlvX2Nsb2NrX25ld19mdWxsKCkKCjIwMTAtMDctMTUgMTM6MjM6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogY2FsY3VsYXRlIHdpZHRoIGFuZCBoZWlnaHQgZnJvbSBiaXRzdHJlYW0gaW5mbwoKMjAxMC0wNy0xNSAxMToxMDowMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggdXNhZ2Ugb2YgZ19iaXRfc3RvcmFnZQoKMjAxMC0wNy0xNCAxMToxOTowNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogcmVuYW1lIHppZ3phZyBtYXRyaXgKCjIwMTAtMDctMTQgMTE6MTc6NDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiB1c2UgZ19iaXRfc3RvcmFnZSBpbnN0ZWFkIG9mIGxvZzIKCSAgbG9nMiBjYXVzZWQgY29tcGlsZSBpc3N1ZXMgb24gY2VydGFpbiBwbGF0Zm9ybXMKCjIwMTAtMDctMTMgMDA6NDA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSAgZ3NldHRpbmdzOiBGaXggbWFpbnRhaW5lci1jbGVhbiB3aGVuIGl0IGlzIG5vdCBhdmFpbGFibGUKCSAgRG8gbm90IHVzZSBAR1NFVFRJTkdTX1JVTEVTQCBpZiBnc2V0dGluZ3MgaXMgbm90IGF2YWlsYWJsZQoJICB0byBhdm9pZCBtYWludGFpbmVyLWNsZWFuIGZhaWxpbmcuCgoyMDEwLTA3LTExIDEwOjQ3OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5oOgoJICBmcmVpMHI6IFVzZSBjb3JyZWN0IG9yZGVyIG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCBmb3IgcGx1Z2lucwoJICBBbmQgZG9uJ3QgZmFpbCBpZiBhIHBsdWdpbiB3YXMgYWxyZWFkeSByZWdpc3RlcmVkLiBGcmVpMHIgYWxsb3dzCgkgIHBsdWdpbnMgaW4gZGlyZWN0b3JpZXMgd2l0aCBoaWdoZXIgaW1wb3J0YW5jZSB0byBvdmVycmlkZSBwbHVnaW5zCgkgIGZyb20gZGlyZWN0b3JpZXMgd2l0aCBsb3dlciBpbXBvcnRhbmNlLgoKMjAxMC0wNy0xMCAxNjo1MjoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IEFkZCBzdXBwb3J0IGZvciBlbmFibGluZyBhdXRvbWF0aWMgaW5zZXJ0aW9uIG9mIGFsdC1yZWYgZnJhbWVzIGJ5IHRoZSBlbmNvZGVyCgoyMDEwLTA3LTEwIDE2OjUxOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRml4IGhhbmRsaW5nIG9mIGludmlzaWJsZS9hbHQgcmVmIGZyYW1lcwoKMjAxMC0wNy0xMCAxNTo1MDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBGaXggbWVtb3J5IGxlYWsKCSAgVGhlIHRpbWVzdGFtcHMgYXJlIG9ubHkgdXNlZCBpZiB0aGUgb3V0cHV0IGFkYXB0ZXIgaXMgdXNlZCwgbm90CgkgIGlmIGNvbXBsZXRlIGZyYW1lcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGRlY29kZXIgYW5kIGZpbmlzaF9mcmFtZSgpIGlzCgkgIGNhbGxlZCBhbmQgZXZlbiBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgb3V0cHV0IGFkYXB0ZXIgaXMgdXNlZCB0aGV5CgkgIG1pZ2h0IG5vdCBiZSB1c2VkIGFuZCBhcmUgbGVha2VkLgoKMjAxMC0wNy0xMCAxNTo0Njo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkgIHZwOGRlYzogQWRkIHNpbXBsZSB1bml0IHRlc3QgZm9yIHZwOGRlYwoKMjAxMC0wNy0xMCAxNTo0Njo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdnA4ZW5jOiBJbXByb3ZlIHVuaXQgdGVzdCBhIGJpdAoKMjAxMC0wNy0xMCAxNTozMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbHNvIGNoZWNrIHRoZSBvdXRwdXQgY2FwcyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEwLTA3LTEwIDE1OjI5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdnA4ZW5jOiBBZGQgc2ltcGxlIHVuaXQgdGVzdAoKMjAxMC0wNy0wOSAxNzo0NDo1NiArMDMwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkgIGFpZm1tdXg6IHVzZSBhbHRlcm5hdGl2ZSB3YXkgdG8gY2hlY2sgZm9yIGluZgoJICBNU1ZDIGVtaXRzIGEgZGl2aWRlLWJ5LXplcm8gZXJyb3Igd2hlbiBjb21waWxpbmcgYWlmZm11eC5jIG9uIGxpbmUgMjA1LgoJICBGaXhlcyAjNjIzODgxLgoKMjAxMC0wNy0wOCAyMTo1MzozNSArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogZml4IGNvbXBpbGF0aW9uIGJ5IHVzaW5nIHRoZSByaWdodCBmdW5jdGlvbgoJICBGaXhlcyAjNjIzODgzLgoKMjAxMC0wNy0wOCAxNzo1ODoxNiArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBmaXggZXhpZiBmcmFtZSBzaXplCgkgIFNraXAgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGJ5dGVzIHdoZW4gcmVhZGluZyBleGlmCgkgIGRhdGEKCSAgRml4ZXMgIzYyMzg1NAoKMjAxMC0wNy0wOCAxNTowNzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IENvcnJlY3RseSBpbml0aWFsaXplIHByb3BlcnRpZXMgd2l0aCB0aGUgZGVmYXVsdCB2YWx1ZXMgYWdhaW4KCjIwMTAtMDctMDggMDc6NTc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBVc2UgUFJPUF8gaW5zdGVhZCBvZiBBUkdfIGZvciBwcm9wZXJ0eSBlbnVtcyBhbmQgdXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCSAgQWxzbyBkb24ndCB1c2UgR19QQVJBTV9DT05TVFJVQ1QsIGl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgZm9yIGVsZW1lbnRzLgoKMjAxMC0wNy0wNyAyMzowNjo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCB2aWV3ZmluZXItc2luayBwcm9wZXJ0eSBmb3IgYmlucwoJICBDb3JyZWN0bHkgaXRlcmF0ZSB2aWV3ZmluZGVyLXNpbmsgY2hpbGRyZW4gd2hlbgoJICBpdCBpcyBhIGJpbi4KCSAgRml4ZXMgIzYyMzgwMgoKMjAxMC0wNy0wNiAxNDo0ODowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogV3JpdGUgJ2J0cnQnIGF0b20gZm9yIEguMjY0IG1lZGlhIGlmIHBvc3NpYmxlCgkgIFRoaXMgd3JpdGVzIG91dCB0aGUgb3B0aW9uYWwgJ2J0cnQnIGF0b20gKE1QRUc0Qml0cmF0ZUJveCkgZm9yIEguMjY0CgkgIG1lZGlhIGlmIGVpdGhlciBvciBib3RoIG9mIGF2ZXJhZ2UgYW5kIG1heGltdW0gYml0cmF0ZSBhcmUgYXZhaWxhYmxlIGZvcgoJICB0aGUgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzNjc4CgoyMDEwLTA3LTA1IDE0OjA5OjUwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogV3JpdGUgYXZnL21heCBiaXRyYXRlIHRvIEVTRFMgaWYgYXZhaWxhYmxlCgkgIFRoaXMgY29sbGVjdHMgdGhlICdiaXRyYXRlJyBhbmQgJ21heGltdW0tYml0cmF0ZScgdGFncyBvbiB0aGUKCSAgY29ycmVzcG9uZGluZyBwYWQgYW5kIHVzZXMgdGhlc2UgdG8gcG9wdWxhdGUgdGhlc2UgZmllbGRzIGluIHRoZSBFU0RTCgkgIHdoZXJlIGFwcGxpY2FibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM2NzgKCjIwMTAtMDctMDcgMTA6MzM6MTggLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiByZXNldCBmbG93IHJldHVybiBzdGF0ZSB0cmFja2VyIGFmdGVyIGZsdXNoIHRvIGF2b2lkIHNwdXJpb3VzIGVycm9ycyBhZnRlciBmbHVzaGluZyBpbiBzb21lIGNhc2VzLgoKMjAxMC0wNy0wNyAwODozNzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogQWRkIHN1cHBvcnQgZm9yIHdpbGRtaWRpIDAuMi4zCgkgIEZpeGVzIGJ1ZyAjNjIzNzIyLgoKMjAxMC0wNy0wMSAxMDo1NjoxOSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBkc2hvd3ZpZGVvc2luazogVXBkYXRlIHJlbmRlcmVyIGFzcGVjdCByYXRpbyBhZnRlciBmb3JjZS1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdXBkYXRlLgoJICBBIG5ldyB2aXJ0dWFsIG1ldGhvZCBoYXMgYmVlbiBhZGRlZCB0byB0aGUgUmVuZGVyZXJTdXBwb3J0IGNsYXNzLiBJdAoJICBpcyBjYWxsZWQgZHVyaW5nIHRoZSBpbml0aWFsIHJlbmRlcmVyIGNvbmZpZ3VyYXRpb24gYW5kIGVhY2ggdGltZSB0aGUKCSAgZm9yY2UtYXNwZWN0LXJhdGlvIHByb3BlcnR5IG9mIHRoZSBzaW5rIGlzIHVwZGF0ZWQuCgkgIEZpeGVzIGJ1ZyAjNjIzMjcyLgoKMjAxMC0wNy0wNyAwMDoxNToyMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgIGRzaG93YXVkaW9kZWM6IEZpeCBjb21waWxhdGlvbiBlcnJvcgoJICBDbG9zZXMgIzYyMzcxMwoKMjAxMC0wNy0wNiAxMzoxNToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IG9ubHkgdXNlIGdfd2FybmluZygpIHdoZW4gc2V0dGluZyB0aGUgb2xkIGlzLWxpdmUgcHJvcGVydHksIG5vdCB3aGVuIHJlYWRpbmcgaXQKCSAgRG9uJ3Qgd2FudCB3YXJuaW5ncyBpbiBlLmcuIGdzdC1pbnNwZWN0LgoKMjAxMC0wNy0wNiAxMDo1MzowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogVXNlIHByb3BlciBnc2V0dGluZ3Mgc2NoZW1hIGZpbGUKCjIwMTAtMDctMDUgMTE6NTI6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIHRlc3RzOiBmaXggY2FwcyBsZWFrIGluIGpwZWdwYXJzZSB1bml0IHRlc3QKCjIwMTAtMDctMDUgMTE6NDg6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZml4IHNraXBwaW5nIGV4dHJhIDB4ZmYgbWFya2VycwoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIG1ha2VzIHRoZSBqcGVncGFyc2UgdW5pdCB0ZXN0IHBhc3MgYWdhaW4uCgkgIEFsc28gYWRkIGEgZGVidWcgc3RhdGVtZW50LgoJICBGaXhlcyAjNjIyNjkwLgoKMjAxMC0wNy0wNSAxMDowOTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogSW1wcm92ZSBkZWJ1Z2dpbmcKCjIwMTAtMDctMDUgMTA6MDg6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIGNlbHRlbmM6IEFkZCBzdXBwb3J0IGZvciBzZXR0aW5nIHRoZSBwcmVkaWN0aW9uIG1vZGUgYW5kIHRoZSBzdGFydCBiYW5kCgoyMDEwLTA3LTA1IDA5OjUzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY2VsdDogQWRkIGNoZWNrIGZvciBjZWx0IDAuOAoKMjAxMC0wNy0wNSAwOTo1MjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogUmVtb3ZlIHN1cHBvcnQgZm9yIGNlbHQgPCAwLjUKCSAgY2VsdCAwLjUgd2FzIHJlbGVhc2VkIG1vcmUgdGhhbiBhIHllYXIgYWdvIGFuZCB0aGUgYml0c3RyZWFtIGlzCgkgIGluY29tcGF0aWJsZSB3aXRoIHRoZSBjdXJyZW50IG9uZSBhbnl3YXkuCgoyMDEwLTA3LTA1IDA5OjQ3OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBGaXggY29tcGlsYXRpb24gd2l0aCBjZWx0IDAuOAoJICBGaXhlcyBidWcgIzYyMzU1MC4KCjIwMTAtMDctMDUgMDk6MzI6MzAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkgIGdzZXR0aW5nczogZml4IHNvbWUgbW9yZSB3YXJuaW5ncwoKMjAxMC0wNy0wNSAwOToyODo0OSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJICBnc2V0dGluZ3M6IGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMDctMDMgMTY6MTU6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5oOgoJKiBleHQvZ3NldHRpbmdzL29yZy5mcmVlZGVza3RvcC5nc3RyZWFtZXIuZGVmYXVsdC1lbGVtZW50cy5nc2NoZW1hLnhtbC5pbjoKCSogZXh0L2dzZXR0aW5ncy9wbHVnaW4uYzoKCSogcG8vUE9URklMRVMuaW46CgkgIGdzZXR0aW5nczogSW5pdGlhbCB2ZXJzaW9uIG9mIEdTZXR0aW5ncyBwbHVnaW4KCSAgVGhpcyBwcm92aWRlcyBhdWRpby92aWRlbyBzb3VyY2VzIGFuZCBzaW5rcy4KCSAgRml4ZXMgYnVnICM2MTYyNjUuCgoyMDEwLTA3LTAzIDE3OjQ4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSAgZG9jczogSW50ZWdyYXRlIFZQOCBkb2N1bWVudGF0aW9uCgoyMDEwLTA3LTAzIDE3OjQ3OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwODogQWRkIGluaXRpYWwgZG9jdW1lbnRhdGlvbiwgYmFzZWQgb24gdGhlIHRoZW9yYWRlYy90aGVvcmFlbmMgZG9jdW1lbnRhdGlvbgoKMjAxMC0wNy0wMyAxNzozNDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICB2cDg6IE1vdmUgc3RydWN0dXJlIGRlZmluaXRpb25zLCBldGMgdG8gcHVibGljIGhlYWRlciBmaWxlcyBmb3IgZ3RrLWRvYwoKMjAxMC0wNy0wMiAxMjo0NToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgdXNlIGJvZ3VzIGNvZGVjL2Zvcm1hdCB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMzNjUKCjIwMTAtMDctMDEgMTU6MTk6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IEFkZCBzdXBwb3J0IGZvciBHc3RCdWZmZXJMaXN0CgkgIEZhY3RvciBvdXQgbW9zdCBvZiB0aGUgYnVmZmVyIGhhbmRsaW5nIGFuZCBpbXBsZW1lbnQgYSBjaGFpbl9saXN0CgkgIGZ1bmN0aW9uLiBBbHNvLCB0aGUgRFRNRiBtdXhlciBoYXMgYmVlbiBtb2RpZmllZCB0byBqdXN0IGhhdmUgYQoJICBmdW5jdGlvbiB0byBhY2NlcHQgb3IgcmVqZWN0IGEgYnVmZmVyIGluc3RlYWQgb2YgaGF2aW5nIHRvIHN1YmNsYXNzCgkgIGJvdGggY2hhaW4gYW5kIGNoYWluX2xpc3QuCgoyMDEwLTA3LTAxIDE1OjE1OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IGxlYWsgaW52YWxpZCBidWZmZXJzCgoyMDEwLTA2LTE0IDE1OjE1OjA5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmg6CgkgIHZpZGVvbWF4cmF0ZTogQWRkIHRvIGRvY3MKCjIwMTAtMDYtMTEgMTg6MzE6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkgIHZpZGVvbWF4cmF0ZTogQWRkIGZpeGF0ZXNfY2FwcwoKMjAxMC0wNi0xMCAyMDozNjoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSAgdmlkZW9tYXhyYXRlOiBBY2NlcHQgd2lkZXIgY2FwcwoKMjAxMC0wNi0xMCAyMDoyNTowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuaDoKCSAgdmlkZW9tYXhyYXRlOiBNYWtlIHBlcmlvZCBvdmVyIHdoaWNoIHRvIGF2ZXJhZ2UgY29uZmlndXJhYmxlCgoyMDEwLTA2LTEwIDIwOjQzOjE2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJICB2aWRlb21heHJhdGU6IFNpbXBsaWZ5IHRyYW5zZm9ybV9jYXBzCgoyMDEwLTA2LTEwIDIwOjE0OjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJICB2aWRlb21heHJhdGU6IFVzZSBiYXNldHJhbnNmb3JtIGNvcnJlY3RseQoKMjAxMC0wNi0xMCAyMDowODoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuaDoKCSAgdmlkZW9tYXhyYXRlOiBNYWtlIHBsdWdpbiBhY3R1YWxseSB3b3JrIGJ5IHVzaW5nIGFuIGF2ZXJhZ2UKCjIwMTAtMDYtMTAgMTk6MTc6MDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuaDoKCSAgdmlkZW9tYXhyYXRlOiBJbXBvcnQgcGx1Z2luCgkgIEltcG9ydCBwbHVnaW4gZnJvbSBQc2lNZWRpYSwgYmFzZWQgb24gbXkgd29yawoKMjAxMC0wNy0wMSAxNjoyODo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogc2lnbmFsLWZwcy1tZWFzdXJlbWVudHMgaXMgd3JpdGFibGUKCSAgc2lnbmFsLWZwcy1tZWFzdXJlbWVudHMgaXMgYSByZWFkd3JpdGUgcHJvcGVydHksIG5vdCByZWFkLW9ubHkuCgkgIEFsc28gYWRkcyBzb21lIG1vcmUgZGVidWdnaW5nIGxvZ3MuCgoyMDEwLTA2LTMwIDE4OjU5OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYWRkIGdzdC1mZm1wZWcgdG8gd2hpdGVsaXN0IGFzIHdlbGwKCSAgVGhlIG14ZiB0ZXN0cyB1c2Ugc29tZSBmZm1wZWcgZWxlbWVudHMgaWYgdGhleSdyZSBhdmFpbGFibGUuCgoyMDEwLTA2LTMwIDE4OjUyOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYWRkIHBsdWdpbiBsb2FkaW5nIHdoaXRlbGlzdCB0byB0ZXN0IGVudmlyb25tZW50CgkgIE9ubHkgd2FudCB0byBsb2FkIGNvcmUvLWJhc2UvLWdvb2QvLXVnbHkvLWJhZCBwbHVnaW5zIGhlcmUuCgoyMDEwLTA2LTMwIDE4OjIwOjEzICswMTAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGRvbid0IGZyZWUgUEFUIHN0cnVjdHVyZSB3aGljaCBtYXkgc3RpbGwgYmUgbmVlZGVkIGxhdGVyCgkgIFRoaXMgaXMgYSBwcm9ibGVtIGlmIHlvdSB0dW5lIHRvIGEgY2hhbm5lbCB3aGljaCB1c2VzIHBpZCBYIGFuZCBsYXRlciB0dW5lIHRvCgkgIGFub3RoZXIgY2hhbm5lbCB3aGVyZSBYIGlzIHVzZWQgZm9yIGFub3RoZXIgdGFibGUgKGUuZy4gUE1UKS4KCSAgVGhlIGNvZGUgdGhhdCBkb2VzIHRoYXQgd2FzIGFjdHVhbGx5IGFscmVhZHkgdGhlcmUgYnV0IG5ldmVyIHVzZWQgYmVjYXVzZSB0aGUKCSAgcGF0IHN0cnVjdHVyZSB3YXMgZnJlZWQgYmVmb3JlLiBUaGUgY29tbWl0IHRoYXQgaW50cm9kdWNlZCB0aG9zZSBsaW5lcyBpbnRlbmRlZAoJICB0byBmaXggYSBtZW1vcnkgbGVhaywgYnV0IHdlIGNsZWFuIHRoaW5ncyB1cCBlbHNld2hlcmUuCgkgIEZpeGVzICM2MjI3MjUuCgoyMDEwLTA2LTMwIDE4OjE5OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgaW5zcGVjdCBpbmZvLCBub3cgc29ydGVkIGFuZCBlc2NhcGVkCgoyMDEwLTA2LTMwIDE3OjU0OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSB0ZW1wb3Jhcnkgb3JjIGZpbGVzCgoyMDEwLTA2LTI5IDExOjIxOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJICB2ZHBhdTogQ2hlY2sgZm9yIGxvZzIgYW5kIG9ubHkgdXNlIGl0IGlmIGl0J3MgYXZhaWxhYmxlCgoyMDEwLTA2LTI4IDE2OjIwOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBhdXRvbWFrZSByZXF1aXJlbWVudCB0byAxLjEwIGFuZCBhdXRvY29uZiB0byAyLjYwCgkgIEZvciBtYWludGFpbmFiaWxpdHkgcmVhc29ucywgJChidWlsZGRpcikgYW5kIG90aGVyIHRoaW5ncy4KCSAgU2VlICM2MjI5NDQgYW5kICM1NzA0MjguCgoyMDEwLTA2LTI4IDEyOjAwOjU1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkgIHZkcGF1aDI2NGRlYzogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgZ19wdHJfYXJyYXlfZnJlZSBpbmNhc2UgZ2xpYiA+PSAyLjIyCgoyMDEwLTA2LTI4IDExOjE5OjI3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBmaXggcmVzaXppbmcgb2Ygb3V0cHV0CgoyMDEwLTA2LTI4IDExOjA4OjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkgIHZkcGF1aDI2NGRlYzogZG9uJ3QgdXNlIGdsaWIgMi4yMiBmdW5jdGlvbnMKCjIwMTAtMDYtMjcgMjA6Mjk6MDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBjaGFuZ2UgR3N0QmFzZVZpZGVvRGVjb2RlciBzdGF0ZSBhcGkKCjIwMTAtMDYtMjcgMTA6NTI6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkgIHZkcGF1aDI2NGRlYzogZnJlZSBmcmFtZXMgb24gZmluYWxpemUgaW4gR3N0SDI2NERQQgoKMjAxMC0wNi0yNyAwOTo1NToyMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogYWRkIGRpc3BsYXkgcHJvcGVydHkgdG8gR3N0VmRwRGVjb2RlcgoKMjAxMC0wNi0yNyAwMToyNzoyOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmg6CgkgIHZkcGF1aDI2NGRlYzogcmVuYW1lIEdzdFZkcEgyNjRGcmFtZSB0byBHc3RIMjY0RnJhbWUKCjIwMTAtMDYtMjcgMDA6MzY6MjUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogZml4IGVycm9yIGhhbmRsaW5nIHdoZW4gcGx1Z2dpbmcgInZkcGF1dmlkZW9wb3N0cHJvY2VzcyAhIGZha2VzaW5rIgoKMjAxMC0wNi0yNyAwMDozNToxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogYWRkIGVycm9yIHBhcmFtZXRlciB0byBnc3RfdmRwX3ZpZGVvX3NyY19wYWRfZ2V0X2RldmljZQoKMjAxMC0wNi0yOCAxMDo0Nzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBMaW5rIHRvICQoTElCTSkgZm9yIGxvZzIgYW5kIGZyaWVuZHMKCjIwMTAtMDYtMjcgMTk6MjI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiBJbmNsdWRlIF9zdGRpbnQuaCBmb3IgaW50MTZfdCBhbmQgZnJpZW5kcwoKMjAxMC0wNi0yNyAxNzo0Njo0NCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IFVzZSBnX21hbGxvYygpIGluc3RlYWQgb2YgbWFsbG9jKCkKCSAgbWFsbG9jKCkgbmVlZHMgc3RkbGliLmgsIHdoaWNoIGlzbid0IGluY2x1ZGVkIGhlcmUgYW5kIHRoZQoJICBtZW1vcnkgaXMgZnJlZWQgbGF0ZXIgd2l0aCBnX2ZyZWUoKSBhbnl3YXkuCgoyMDEwLTA2LTI3IDExOjI0OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgYXNzcmVuZGVyLCBpdmZwYXJzZSwganBlZ2Zvcm1hdDogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZGVidWdnaW5nIGRpc2FibGVkIGluIGNvcmUKCjIwMTAtMDYtMjcgMTA6NDE6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIHRlc3RzOiBGaXggYnVpbGQgd2l0aCBHVEsrIDwgMi4xNy43CgkgIGd0a193aWRnZXRfZ2V0X2FsbG9jYXRpb24oKSB3YXMgYWRkZWQgaW4gdGhhdCB2ZXJzaW9uLgoKMjAxMC0wNi0yNyAxMDozNjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdUSysgPj0gMi4xNCBmb3IgdGhlIGV4YW1wbGUKCjIwMTAtMDYtMjcgMDc6NDA6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIHRlc3RzOiBEb24ndCB1c2UgZGVwcmVjYXRlZCBHVEsgQVBJIHRvIGZpeCB0aGUgYnVpbGQgd2l0aCBHVEsrIDMuMAoKMjAxMC0wNi0yNiAyMTowMjo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkgIHZkcGF1OiBhZGQgR3N0VmRwRGVjb2RlciBiYXNlIGNsYXNzCgoyMDEwLTA2LTI2IDE5OjAyOjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBhZGQgZ3N0X2gyNjRfZHBiX3NldF9vdXRwdXRfZnVuYyBmdW5jdGlvbgoKMjAxMC0wNi0yNSAyMDoxOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFdyaXRlIHVpbnQgdGFncyB0aGF0IGRvbid0IGhhdmUgYSBjb21wbGVtZW50CgkgIFdyaXRlIHVpbnQgdGFncyB0aGF0IGhhdmUgY29tcGxlbWVudHMgKGUuZy4gdHJhY2stbnVtYmVyLwoJICB0cmFjay1jb3VudCkgZXZlbiB3aGVuIHdlIG9ubHkgaGF2ZSBvbmUgb2YgdGhlbSBhdmFpbGFibGUKCSAgYW5kIHNldCB0aGUgb3RoZXIgb25lIHRvIDAuCgkgIEZpeGVzICM2MjI0ODQKCjIwMTAtMDYtMjUgMTE6MDI6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgbWV0YWRhdGE6IEluY2x1ZGUgY29uZmlnLmggaW4gbWV0YWRhdGEqLmMgZmlsZXMKCSAgSW5jbHVkZSBjb25maWcuaCBpbiBtZXRhZGF0YWV4aWYuYyBpbiBtZXRhZGF0YSBwbHVnaW4gc28KCSAgdGhhdCBIQVZFX0VYSUYgZ2V0cyBkZWZpbmVkIGFuZCBleGlmIG1ldGFkYXRhIGlzIHByb3Blcmx5CgkgIGdlbmVyYXRlZC4KCSAgQWxzbyBhZGRzIGNvbmZpZy5oIHRvIGFsbCAuYyBmaWxlcyBtaXNzaW5nIGl0IGluIG1ldGFkYXRhIHBsdWdpbgoJICBGaXhlcyAjNjIyNjkyCgoyMDEwLTA2LTI0IDIwOjIxOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogV2FybiBpZiBwcmVyb2xsIHZhbHVlIGlzIHRvbyBiaWcKCSAgUG9zdCBhIHdhcm5pbmcgd2hlbiB0aGUgcHJlcm9sbCB2YWx1ZSBpcyBncmVhdGVyIHRoYW4KCSAgdGhlIHN0cmVhbXMgZHVyYXRpb24KCjIwMTAtMDYtMjQgMjM6NTc6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkgIHZkcGF5OiBmaXggYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgQWRkIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTIHRvIENGTEFHUyBzbyBpdCBmaW5kcyB0aGUgZ3N0L3ZpZGVvL3ZpZGVvLmgKCSAgaGVhZGVycyBpbiBhbiB1bmluc3RhbGxlZCBzZXR1cC4gQWxzbyByZXNodWZmbGUgb3JkZXIuCgoyMDEwLTA2LTI0IDE4OjMyOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJICBhc2ZtdXg6IE1ha2UgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIHNldHRpbmcgaXQKCSAgQmVmb3JlIGNvcHlpbmcgbWV0YWRhdGEgZnJvbSBvbmUgYnVmZmVyIHRvIGFub3RoZXIsIG1ha2Ugc3VyZQoJICB0aGUgZGVzdGluYXRpb24gaXMgbWV0YWRhdGEtd3JpdGFibGUuCgoyMDEwLTA2LTI0IDIyOjE0OjM4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCB1bml0aWFsaXplZCB2YXJpYWJsZQoKMjAxMC0wNi0yNCAyMjowNjo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuaDoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggaW5pdGFsaXphdGlvbiBvZiBHc3ROYWxSZWFkZXIgY2FjaGUKCjIwMTAtMDYtMjQgMTI6Mzc6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvLmdpdGlnbm9yZToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHMtbWFyc2hhbC5saXN0OgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogQWRkcyBhIHNpZ25hbCB0byBpbmZvcm0gbWVhc3VyZW1lbnRzIHRvIGFwcHMKCSAgQWRkcyBhIHNpZ25hbCBmb3IgYXBwbGljYXRpb25zIHRvIHJlY2VpdmUgdGhlIGZwcyBtZWFzdXJlbWVudHMgbWFkZQoJICBpbnN0ZWFkIG9mIG9ubHkgcHJpbnRpbmcgdGhlbSB0byB0aGUgZnJhbWUvc3Rkb3V0LgoJICBUaGlzIHNpZ25hbCBpcyBvbmx5IGVtaXRlZCBpZiB0aGUgc2lnbmFsLWZwcy1tZWFzdXJlbWVudHMgcHJvcGVydHkKCSAgaXMgc2V0IHRvIFRSVUUKCjIwMTAtMDYtMjQgMTA6NTk6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IEFkZHMgbWF4LWZwcyBhbmQgbWluLWZwcyBwcm9wZXJ0eQoJICBBZGRzIDIgcHJvcGVydGllcyBmb3IgZ2V0dGluZyB0aGUgbWF4aW11bSBhbmQgbWluaW11bSBmcHMKCSAgdmFsdWVzIG1lYXN1cmVkCgoyMDEwLTA2LTI0IDEwOjI0OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBpbiBhbGwgcHJvcGVydGllcwoJICBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyB0byB0aGUgcHJvcGVydGllcyB0aGF0IGFyZQoJICBtaXNzaW5nIGl0CgoyMDEwLTA2LTI0IDEwOjIzOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBBZGQgZnBzLXVwZGF0ZS1pbnRlcnZhbCBwcm9wZXJ0eQoJICBVc2UgYSBwcm9wZXJ0eSB0byBzZXQvZ2V0IHRoZSBmcHMgdXBkYXRlIGludGVydmFsIGluc3RlYWQKCSAgb2YgaGF2aW5nIGEgaGFyZGNvZGVkIHZhbHVlLgoKMjAxMC0wNi0yNCAxNjoyMDoyMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJICB2ZHBhdTogcmVuYW1lIEdzdEJhc2VWaWRlb0RlY29kZXIgdG8gU2F0QmFzZVZpZGVvRGVjb2RlciB1c2luZyBDRkxBR1MKCjIwMTAtMDYtMjQgMTU6MjM6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXRiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXR2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5oOgoJICBSZXZlcnQgInZkcGF1OiByZW5hbWUgR3N0QmFzZVZpZGVvRGVjb2RlciB0byBTYXRCYXNlVmlkZW9EZWNvZGVyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFhMDQ0NGYyMDQxNTdjMjJjMTFhNzQyNTQ3YzllNjhhOWVhZWNjODAuCgoyMDEwLTA2LTI0IDE1OjA5OjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM1NjE3YzIgdG8gYTUxOTU3MQoKMjAxMC0wNi0yNCAxMzoxODo1NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXRiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdGJhc2V2aWRlb3V0aWxzLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkgIHZkcGF1OiByZW5hbWUgR3N0QmFzZVZpZGVvRGVjb2RlciB0byBTYXRCYXNlVmlkZW9EZWNvZGVyCgoyMDEwLTA2LTIzIDIyOjMzOjA1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJICB2ZHBhdWgyNjRkZWM6IHVzZSBiaXRzaGlmdHMgaW5zdGVhZCBvZiBwb3cKCjIwMTAtMDYtMjMgMjI6MjE6MTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogYWRkIGludGVybGFjZWQgPSBmYWxzZSB0byBzaW5rIGNhcHMKCSAgd2UgZG9uJ3Qgc3VwcG9ydCBpbnRlcmxhY2VkIGNvbnRlbnQgeWV0CgoyMDEwLTA2LTIzIDIyOjE4OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcDogQWxsIHJlYWQgcmV0dXJuIHZhbHVlcyBzbWFsbGVyIHRoYW4gemVybyBhcmUgZmFpbHVyZXMKCjIwMTAtMDYtMjMgMjE6MTA6MDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkgIHZkcGF1aDI2NGRlYzogZml4IHBhcnNpbmcgb2Ygc2NhbGluZyBsaXN0cwoKMjAxMC0wNi0yMyAyMTowOTo0MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5jOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCByZWFkaW5nIG9mIHNpZ25lZCBleHAgZ29sb21iCgoyMDEwLTA2LTIyIDE1OjQ5OjE1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogZml4dXAgZGVjb2RlciB0aW1lc3RhbXBpbmcKCjIwMTAtMDYtMjIgMTQ6NTI6MDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgdmRwYXU6IHJlbW92ZSBwYXJzZV9jb2RlY19kYXRhIGZyb20gR3N0QmFzZVZpZGVvRGVjb2RlcgoKMjAxMC0wNi0yMiAxNDoyNToxNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggaW5pdGlhbGl6YXRpb24gb2YgZmFsbGJhY2sgc2NhbGluZyBtYXRyaXgKCjIwMTAtMDYtMjIgMTQ6MTc6MjggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmg6CgkgIHZkcGF1aDI2NGRlYzogaW1wcm92ZSBmdXJ0aGVyCgoyMDEwLTA2LTE3IDE1OjIwOjUxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBub3cgd29ya3MgZm9yIHNpbXBsZSBzdHJlYW1zCgoyMDEwLTA2LTE3IDE1OjIwOjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGNoYW5nZSBnc3RfdmRwX3ZpZGVvX3NyY19wYWRfZ2V0X2RldmljZSBiZWhhdmlvdXIKCSAgaXQgbm93IGNyZWF0ZXMgdGhlIGRldmljZSBpZiBpdCdzIG5vdCBhdmFpbGFibGUKCjIwMTAtMDYtMTYgMjM6MTI6NDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuaDoKCSAgdmRwYXU6IG1vcmUgd29yayBvbiBoMjY0IGRlY29kZXIKCjIwMTAtMDYtMTAgMTI6MTM6NTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuaDoKCSAgdmRwYXU6IGFkZCBiZWdpbm5pbmcgb2YgaDI2NCBkZWNvZGVyCgoyMDEwLTA2LTA5IDE1OjQzOjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdTogYmFzZSB2ZHBhdW1wZWdkZWMgb24gR3N0QmFzZVZpZGVvRGVjb2RlcgoKMjAxMC0wNi0wOCAxMzozNjo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZml4IHNtYWxsIGJ1ZwoKMjAxMC0wNS0xNSAyMjo0Nzo0MSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBSRUFEX1VJTlRbOHwxNnwzMl0gbWFjcm9zCgoyMDEwLTA2LTA0IDEyOjI0OjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICB2ZHBhdTogcmVtb3ZlIGdzdF92ZHBfdmlkZW9fc3JjX3BhZF9zZXRfY2FwcwoKMjAxMC0wNi0yMyAyMTo0Njo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IERvIHNvbWUgc2FuaXR5IGNoZWNrcyBiZWZvcmUgYWNjZXB0aW5nIGFuIFVSSQoJICBGaXhlcyBidWcgIzYyMjM2OS4KCjIwMTAtMDYtMTcgMTA6NTg6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIGppZm11eDogQWRkcyBpbWFnZSBvcmllbnRhdGlvbiB0YWdzIHRlc3RzCgkgIEFkZHMgdGVzdHMgZm9yIGltYWdlIG9yaWVudGF0aW9uIHRhZ3MgdG8gamlmbXV4CgoyMDEwLTA2LTIzIDEwOjM4OjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogb2J0YWluIGNvcnJlY3QgdXBzdHJlYW0gdGltZXN0YW1wCgkgIC4uLiBmb3Igb3B0aW9uYWwgZG93bnN0cmVhbSB1c2UuCgoyMDEwLTA2LTIyIDEyOjI4OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWRkIG5ldyBoMjY0IGNhcHMgYXR0cmlidXRlIGFsaWdubWVudAoJICBTZWUgIzYwNjY2Mi4KCjIwMTAtMDYtMjEgMjM6NDg6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogZml4IHByZXZpb3VzIGNvbW1pdAoJICBXZSB3ZXJlIGxlYWtpbmcgdGhlIGVsZW1lbnQgcmVmY291bnQgYW5kIG5vdCB0aGUgcGFkIG9uZS4KCjIwMTAtMDYtMjEgMjI6MzM6NTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogZG9uJ3QgbGVhayB0aGUgZWxlbWVudCByZWZjb3VudAoKMjAxMC0wNi0yMSAxOTozOTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogUmVtb3ZlIHRoZSBwYWQgZnJvbSBvdXIgaW50ZXJuYWwgbGlzdCBiZWZvcmUgY2FsbGluZyBjb2xsZWN0cGFkcwoJICBQcmV2aW91c2x5IHdlIHdvdWxkIGVuZCB1cCB3aXRoIHRoZSBjb2xsZWN0cGFkZGF0YSBzdHJ1Y3R1cmUgYWxyZWFkeSBmcmVlZC4KCSAgVGhpcyB3b3VsZCByZXN1bHQgaW4gYSBib2d1cyBpdGVyYXRpb24gb2YgbXV4LT5zaW5rcGFkcyAoYWxsIHRoZQoJICBHc3RRVFBhZCBiZWluZyBmcmVlZCkgYW5kIGl0IHdvdWxkbid0IGJlIHJlbW92ZWQgZnJvbSB0aGF0IGxpc3QuCgkgIEZpbmFsbHksIGR1ZSB0byBpdCBub3QgYmVpbmcgcmVtb3ZlZCBmcm9tIHRoYXQgbGlzdCwgd2Ugd291bGQgZW5kIHVwCgkgIGNhbGxpbmcgYSBib2d1cyBnc3RfcXRfbXV4X3BhZF9yZXNldCBvbiB0aG9zZSBzdHJ1Y3R1cmVzID0+IFNFR0ZBVUxUCgoyMDEwLTA2LTIxIDEwOjIxOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZGVidWcuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBNb3ZlIGRlYnVnIGNhdGVnb3J5IGRlY2xhcmF0aW9uIHRvIGEgc2VwYXJhdGUgZmlsZQoJICBIYXZpbmcgR1NUX0RFQlVHX0NBVEVHT1JZIGFuZCBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOIHRvZ2V0aGVyCgkgIG1pZ2h0IGxlYWQgdG8gJ3VuZGVmaW5lZCBzeW1ib2wnIHByb2JsZW1zLiBUaGlzIGNvbW1pdCBtb3ZlcwoJICB0aGUgX0VYVEVSTiB0byBhIHNlcGFyYXRlIG5ldyBmaWxlLgoKMjAxMC0wNi0yMSAxMToxMzoyMCArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIFJldmVydCAiaDI2NHBhcnNlOiBhZGQgcGFyc2VkIGZpZWxkIHRvIHNyYyBjYXBzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDU0ZWRhZTRmMWYyMTE5Y2Y0OTJmZmU0NGY5MzZmOTllMTMzYWY3ZGMuCgkgIFNlZSB0aGlzIGJ1ZyBmb3IgbW9yZSBpbmZvcm1hdGlvbjoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY2MgoKMjAxMC0wNi0xNyAwODo0Mjo1MyArMTAwMCAgQXVzdGluIEx1bmQgPGF1c3Rpbi5sdW5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJICBtcGVndmlkZW9wYXJzZTogUmVtb3ZlIHJlZHVuZGFudCBsb2cgbWVzc2FnZQoKMjAxMC0wNi0yMCAxMDozOTozOSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWRkIHBhcnNlZCBmaWVsZCB0byBzcmMgY2FwcwoKMjAxMC0wNi0xOCAxNDozNzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFVzZSBnc3RfdGFnX2xpc3RfcGVla19zdHJpbmdfaW5kZXgKCSAgUmVwbGFjZSBfZ2V0X3N0cmluZ19pbmRleCB3aXRoIF9wZWVrX3N0cmluZ19pbmRleCB0byBhdm9pZAoJICBhIHN0cmluZyBjb3B5CgoyMDEwLTA2LTE4IDE4OjQxOjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWxzbyBoYW5kbGUgMy1ieXRlIGJ5dGVzdHJlYW0gc3luYyBjb2RlCgoyMDEwLTA2LTE3IDEwOjUyOjMxICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmM6CgkgIG1wZWdkZW11eDogaW1wcm92ZSBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDYtMTYgMTA6MzE6MTkgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkgIHBubWRlYzogRG9uJ3QgY3Jhc2ggaWYgbm8gdmFsaWQgaW5wdXQgd2FzIHBhcnNlZCB5ZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD02MDM3NzEKCjIwMTAtMDYtMTEgMTA6NTM6MjYgKzEwMDAgIEF1c3RpbiBMdW5kIDxhdXN0aW4ubHVuZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBBZGRlZCBkZWJ1Z2dpbmcgb3V0cHV0IGZvciBtcGVncGFja2V0aXNlcgoKMjAxMC0wNi0xNSAxNjo1MDowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTMzOWNjYyB0byAzNTYxN2MyCgoyMDEwLTA2LTE1IDE2OjU0OjI4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVhZGIxY2EgdG8gOTMzOWNjYwoKMjAxMC0wNi0xNSAxNTozNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBzZWVrIGV2ZW50IHJlZiBoYW5kbGluZwoKMjAxMC0wNi0xNSAxNTozMzozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByZXZlbnQgYXJpdGhtZXRpYyBvdmVyZmxvd3MgaW4gcHVsbCBtb2RlIGJ1ZmZlciBjYWNoZSBoYW5kbGluZwoKMjAxMC0wNi0xNSAxNTozMjozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBzZWVrIGhhbmRsaW5nCgkgIEFsbG93IGEgZmV3IG1vcmUgc2VlayBldmVudCB0eXBlIGNvbWJpbmF0aW9ucywgYW5kIHJlYWxseSB1c2UgdGhlIHJlc3VsdAoJICBvZiBnc3Rfc2VnbWVudF9zZXRfc2VlayB0byBwZXJmb3JtIHRoZSBzZWVrLiAgQWxzbyBhZGQgc29tZSBkZWJ1Zy4KCjIwMTAtMDYtMTUgMTY6MzU6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTdjODliNyB0byA1YWRiMWNhCgoyMDEwLTA2LTE1IDE1OjQ5OjI2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM4MDQ5ODggdG8gNTdjODliNwoKMjAxMC0wNi0xMiAwOTowMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEltcGxlbWVudCBtdWx0aXBhc3MgZW5jb2RpbmcKCSAgRml4ZXMgYnVnICM2MjEzNDguCgoyMDEwLTA2LTE1IDExOjIwOjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogc3ByaW5rbGUgc29tZSBicmFuY2ggcHJlZGljdGlvbgoKMjAxMC0wNi0xNSAxMToxNjo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGhhbmRsZSBGTFVTSF9TVE9QIGV2ZW50CgoyMDEwLTA2LTE1IDExOjE2OjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogYWRkIGNvbmZpZy1pbnRlcnZhbCBwYXJhbWV0ZXIgdG8gcmUtaW5zZXJ0IGNvbmZpZyBpbiBzdHJlYW0KCSAgQWRkIGEgbmV3IGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0byBpbnN0cnVjdCB0aGUgcGFyc2VyIHRvIGluc2VydAoJICBjb25maWcgKFZPU0gsIFZPUywgZXRjKSBhdCBwZXJpb2RpYyBpbnRlcnZhbHMgaW4gdGhlIHN0cmVhbQoJICAod2hlbiBhIEdPUCBvciBWT1AtSSBpcyBlbmNvdW50ZXJlZCkuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IDxtYXJjLmxlZW1hbiBhdCBnbWFpbC5jb20+CgkgIEZpeGVzICM2MjEyMDUuCgoyMDEwLTA2LTE1IDE3OjE2OjEyICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEFwcGx5IHByZXZpb3VzIHRpbWVzdGFtcCB3aGVuIHRoZXJlIGlzbid0IGFueSBuZXdlci4KCSAgSWYgdGhlIGN1cnJlbnQgaW5jb21pbmcgcGFja2V0IGRpZG4ndCBjYXJyeSBhIHRpbWVzdGFtcCwgYnV0IGEKCSAgcHJldmlvdXMgcGFja2V0IGhhZCBvbmUgd2UgZGlkbid0IHlldCB1c2UsIHRoZW4gYXBwbHkgdGhhdCB0aW1lc3RhbXAKCSAgdG8gdGhlIG5leHQgcGljdHVyZS4KCSAgRml4ZXM6ICM2MTgzMzYKCjIwMTAtMDYtMTQgMTc6MDE6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBHTGliIDIuMjAKCjIwMTAtMDYtMTQgMTU6NTY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBTZXQgVlA4RV9TRVRfQ1BVVVNFRCB0byAwCgkgIFRoaXMgc2V0dGluZyBjb250cm9scyBob3cgbXVjaCBDUFUgY2FuIGJlIHVzZWQgYnkgdGhlIGVuY29kZXIsIHNwZWNpZmllZAoJICBpbiBmcmFjdGlvbnMgb2YgMTYuIE5lZ2F0aXZlIHZhbHVlcyBtZWFuIHN0cmljdCBlbmZvcmNlbWVudCBvZiB0aGlzCgkgIHdoaWxlIHBvc2l0aXZlIHZhbHVlcyBhcmUgYWRhcHRpdmUuCgkgIFRoZSBkZWZhdWx0IHZhbHVlIGlzIC00LCB3aGljaCBtZWFucyB0aGF0IHdlJ3JlIG5vdCBydW5uaW5nIGFzIGZhc3QKCSAgYXMgcG9zc2libGUgYW5kIHByb2JhYmx5IGFyZSB3YXN0aW5nIHNvbWUgcXVhbGl0eS4gMCBpcyB0aGUgcmVjb21tZW5kZWQKCSAgZGVmYXVsdCBieSBsaWJ2cHggdXBzdHJlYW0uCgoyMDEwLTA2LTE0IDE1OjUxOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXNlIFZQWCBkZWZpbmVzIGZvciBSRUFMVElNRSwgR09PRC9CRVNUIHF1YWxpdHkgZGVhZGxpbmVzIGluc3RlYWQgb2Ygb3VyIG93bgoJICBUaGVzZSBhcmUgdGhlIHZhbHVlcyB1c2VkIGZvciB0aGUgc3BlZWQgcHJvcGVydHkuCgoyMDEwLTA2LTE0IDE1OjQ2OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogcHJldmVudCBjb21waWxlciB3YXJuaW5nIGlmIG9yYyBub3QgcHJlc2VudAoKMjAxMC0wNS0zMSAxODozMDozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBoYW5kbGUgRkxVU0hfU1RPUCBzaW5rIGV2ZW50CgoyMDEwLTA1LTMxIDE4OjMwOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IG9wdGltaXplIGltYWdlIHBhcnNpbmcKCSAgVXNlIGFkYXB0ZXIgQVBJIGZvciBzY2FubmluZyBhbmQgcGVla2luZyB0byByZWR1Y2UgYnVmZmVyIGNvcHlpbmcuCgkgIFNlZSAjNTgzMDQ3LgoKMjAxMC0wNi0xNCAxNTozMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IENhbGwgb3JjX2luaXQoKSBiZWZvcmUgdHJ5aW5nIHRvIGdldCB0YXJnZXQgZmxhZ3MKCjIwMTAtMDYtMTQgMTQ6NTM6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENoZWNrIGZvciBvcmMgaW5zdGVhZCBvZiBsaWJvaWwKCjIwMTAtMDYtMTQgMTQ6NTE6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBVc2Ugb3JjIGZvciBDUFUgZmVhdHVyZSBkZXRlY3Rpb24KCjIwMTAtMDYtMTQgMTQ6NDg6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRG9uJ3QgdXNlIGxpYm9pbCBmdW5jdGlvbnMKCSAgZ2xpYmMgbWVtY3B5KCkgd2lsbCBiZSBmYXN0ZXIgdGhhbiBsaWJvaWwncy9vcmMncyBmb3Igbm93IGFueXdheQoJICBhbmQgd2UgY2FuIHVzZSBvcmMncyBsYXRlciwgYWZ0ZXIgb3JjIGhhcyBzdXBwb3J0IGZvciBsb29wIHVucm9sbGluZy4KCjIwMTAtMDYtMTQgMTQ6NDc6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiBEb24ndCBpbmNsdWRlIGxpYm9pbCBoZWFkZXJzLCB0aGV5J3JlIG5vdCB1c2VkIGFueXdheQoKMjAxMC0wNi0xNCAxMzoyNjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIEdMSUJfRVhUUkFfQ0ZMQUdTCgoyMDEwLTA2LTE0IDEzOjA0OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2EwZmRmNSB0byBjODA0OTg4CgoyMDEwLTA2LTE0IDEyOjQ5OjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogYWRkIG9wdGlvbiB0byBpbnNlcnQgU1BTL1BQUyBpbiBzdHJlYW0KCSAgQWRkIGEgbmV3IGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0byBpbnNlcnQgU1BTIGFuZCBQUFMgYXQgcGVyaW9kaWMgaW50ZXJ2YWxzCgkgIGluIHRoZSBzdHJlYW0gKHdoZW4gYW4gSURSIGlzIGVuY291bnRlcmVkKS4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgPG1hcmMubGVlbWFuIGF0IGdtYWlsLmNvbT4KCSAgRml4ZXMgIzYyMDk3OC4KCjIwMTAtMDYtMDkgMTU6MzI6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhbHNvIGNvbGxlY3QgU1BTIGFuZCBQUFMgbmFsdSBpbiBjb2RlY19kYXRhCgoyMDEwLTA2LTE0IDExOjM0OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmRhM2JhYiB0byA3YTBmZGY1CgoyMDEwLTA2LTEzIDA4OjI4OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSAgeHZpZDogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgMTUvMTYgYml0IFJHQiBtYXNrcwoKMjAxMC0wNi0xMiAwODoyODo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDczM2ZjYTkgdG8gNmRhM2JhYgoKMjAxMC0wNS0yMiAxMDozNTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICB2Y2RzcmM6IG1pbm9yIGNsZWFuLXVwCgkgIFVzZSBnc3RfdXJpX2hhc19wcm90b2NvbCgpLgoKMjAxMC0wNi0xMSAxNToyOTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgamlmbXV4OiBGaXggdGVzdHMgYnVpbGRpbmcKCSAgT25seSBidWlsZCBqaWZtdXggdGVzdHMgaWYgbGliZXhpZiBoZWFkZXJzIGFyZSBwcmVzZW50CgoyMDEwLTA2LTA5IDE5OjE2OjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBleHQvY29nL2dzdGNvZ29yYy5vcmM6CgkgIGNvZzogdXNlIGdsaWIgaW5zdGVhZCBvZiBzdGRpbnQgdHlwZXMKCjIwMTAtMDYtMDkgMTg6Mzk6MzggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSBtNCBtYWNybyBmb3IgT3JjIGNoZWNrCgoyMDEwLTA2LTA1IDE2OjAyOjQxICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogcmVtb3ZlIHNwdXJpb3VzIHdhcm5pbmcKCjIwMTAtMDYtMTAgMTQ6MTc6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgY29yZS9iYXNlIGdpdCBmb3IgdGhlIG5ldyBpbWFnZSB0YWdzIGFuZCBoZWxwZXIgZnVuY3Rpb25zCgoyMDEwLTA1LTEwIDEwOjQ3OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogQWRkcyBqaWZtdXggZXhpZiB0YWdzIHRlc3RzCgkgIEFkZHMgYSBiYXNpYyB1bml0IHRlc3QgZm9yIGppZm11eCB0byB0ZXN0IHRoYXQgZXhpZiB0YWdzCgkgIGFyZSB3cml0ZW4gcHJvcGVybHkuCgkgIFRoaXMgdGVzdCB1c2VzIGxpYmV4aWYuCgkgIEZpeGVzICM2MTQ4NzIKCjIwMTAtMDQtMjggMjM6NTI6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBBZGQgZXhpZiBzdXBwb3J0CgkgIEFkZHMgZXhpZiB3cml0aW5nIHN1cHBvcnQgdG8gamlmbXV4LgoJICBBZGRzIHBhcnNpbmcgc3VwcG9ydCB0byBqcGVncGFyc2UuCgkgIEZpeGVzICM2MTQ4NzIKCjIwMTAtMDYtMDkgMTI6NDA6MjEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmYWQxNDViIHRvIDczM2ZjYTkKCjIwMTAtMDYtMDkgMTI6MzQ6MTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NzY4M2MxIHRvIGZhZDE0NWIKCjIwMTAtMDYtMDkgMjA6NDk6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBGaXggdGltZXN0YW1wcyBhZnRlciBhIHNlZWsKCjIwMTAtMDYtMDggMTQ6MzM6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSAgYXNmbXV4OiBEZXByZWNhdGUgJ2lzLWxpdmUnIGFuZCBhZGQgJ3N0cmVhbWFibGUnIHByb3BlcnR5CgkgIEZvbGxvd2luZyB0aGUgc2ltaWxhciBjaGFuZ2UgaW4gZmx2bXV4LCB0aGlzIGNvbW1pdCBhZGRzCgkgICdzdHJlYW1hYmxlJyBwcm9wZXJ0eSBhbmQgZGVwcmVjYXRlZCAnaXMtbGl2ZScgZm9yIGEgYmV0dGVyL2xlc3Mgd3JvbmcKCSAgbmFtZS4KCjIwMTAtMDUtMTMgMTI6MTU6MjcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogZG9uJ3Qgc2V0IHRoZSAnc2Vla2FibGUnIGZsYWcgaWYgd2UgYXJlIHN0cmVhbWluZwoJICBGaXhlcyAjNjE4NTIyCgoyMDEwLTA0LTI5IDEwOjQ2OjQ5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHdyaXRlIHByZXJvbGwgaW5mbyBpbiB0aGUgaGVhZGVyIGF0IGluaXRpYWxpemF0aW9uCgkgIFRoaXMgdmFsdWUgZG9lc24ndCBuZWVkIHRvIGJlIHVwZGF0ZWQgYW5kIGlzIHVzZWZ1bGwgaW4gYSBzdHJlYW1pbmcgY29udGV4dAoJICBGaXhlcyAjNjE4NTIyCgoyMDEwLTA0LTI2IDEzOjMzOjQ4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHB1dCBoZWFkZXJzIGluIHN0cmVhbWhlYWRlciBmb3Igc3RyZWFtaW5nCgkgIEZpeGVzICM2MTg1MjIKCjIwMTAtMDYtMDggMTM6NTk6NDUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IHN0YXJ0IHBtdCBhdCAweDAyMCBhcyBzdWdnZXN0ZWQgYnkgWmFoZWVyCgoyMDEwLTA2LTA4IDEzOjU5OjA4ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IHRha2UgYWxsIHRoZSBwbXQgaW4gdGhlIHN0cmVhbWhlYWRlcnMKCjIwMTAtMDYtMDggMDk6MTQ6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEbyBub3QgYXNzZXJ0IG9uIHNldF9wcm9wZXJ0eSB0byBOVUxMIGZvciBlbGVtZW50cwoJICBDaGVjayBpZiB0aGUgdmFsdWUgaXMgTlVMTCBiZWZvcmUgcmVmZmluZyB0aGVtIGluIHNldF9wcm9wZXJ0eQoJICBmb3IgJ0dzdEVsZW1lbnQnIHByb3BlcnRpZXMKCjIwMTAtMDYtMDggMDg6NDE6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEbyBub3QgYXNzZXJ0IG9uIG51bGwgY2FwcyBwcm9wZXJ0eQoJICBJZiBjYW1lcmFiaW4gcmVjZWl2ZXMgYSBudWxsIGNhcHMgYXMgJ2ZpbHRlci1jYXBzJyBhcmd1bWVudCwKCSAgdXNlIHRoZSBkZWZhdWx0IHZhbHVlCgoyMDEwLTA2LTA3IDIyOjU2OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogVXNlIF9DQVNUIG1hY3JvCgkgIFJlcGxhY2UgZGVmYXVsdCB0eXBlIGNhc3RpbmcgbWFjcm8gd2l0aCB0aGUgZmFzdGVyIGRpcmVjdCBfQ0FTVCBtYWNybwoKMjAxMC0wNi0wNyAyMjoyMToxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBNYWtlIHByb3BlcnRpZXMgY29udHJvbGxhYmxlCgkgIE1ha2VzIHRoZSBlbGVtZW50J3MgcHJvcGVydGllcyBjb250cm9sbGFibGUgYW5kIHRocmVhZHNhZmUuCgkgIEZpeGVzICM2MjA4MjUKCjIwMTAtMDYtMDcgMTc6Mzk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBSZW1vdmUgcGFnZS11cmwgYW5kIHN3Zi11cmwgcHJvcGVydGllcwoJICBJdCdzIHBvc3NpYmxlIHRvIGluY2x1ZGUgYWxsIHRob3NlIG9wdGlvbnMgaW4gdGhlIFVSTCBhbHJlYWR5CgkgIGJ5IGFwcGVuZGluZyB0aGUgb3B0aW9ucyBhbmQgc2VwYXJhdGluZyB0aGVtIGJ5IHNwYWNlcywgZS5nLgoJICBydG1wOi8vc29tZXdoZXJlL3NvbWV0aGluZyBvcHQxPXZhbDEgb3B0Mj12YWwyCgoyMDEwLTA2LTA3IDE3OjMwOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogRml4IG1lbW9yeSBsZWFrcwoKMjAxMC0wNi0wNyAxMToxNToyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSAgZHRtZmRldGVjdDogT25seSB3b3JrcyB3aXRoIHJhdGU9ODAwMCwgZml4IGluIGNhcHMKCjIwMTAtMDYtMDcgMDc6NTg6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggY3Jhc2ggaW4gJ2ZpbGVuYW1lJyBwcm9wZXJ0eQoJICBEbyBub3QgY3Jhc2ggd2hlbiBmaWxlbmFtZSBwcm9wZXJ0eSBpcyBzZXQgdG8gTlVMTCwgdXNlIGFuCgkgIGVtcHR5IHN0cmluZyBpbnN0ZWFkLgoKMjAxMC0wNi0wNyAwNzozODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogUnVuIGdzdC1pbmRlbnQgb24gLmMgZmlsZXMKCSAga2F0ZSBwbHVnaW4gaGFzIHNvbWUgaW5kZW50YXRpb24gcHJvYmxlbXMsIHJ1biBnc3QtaW5kZW50IG9uIHRoZW0KCSAgYW5kIGZpeCBpdAoKMjAxMC0wNi0wNiAyMjozNDo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIG1hcmJsZTogQWRkcyAnbWFyYmxlJyBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybQoJICBBZGRzIGEgbmV3IGVsZW1lbnQgdGhhdCBkb2VzIGEgbWFyYmxpbmcgZWZmZWN0IHRvCgkgIGdlb21ldHJpY3RyYW5zZm9ybSBwbHVnaW4KCjIwMTAtMDYtMDYgMTQ6MzU6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBVc2UgZXhwbGljaXQgZm9ybWF0cyBmcm9tIGdzdHZpZGVvCgkgIFVzZSBleHBsaWNpdCBmb3JtYXQgbWFjcm9zIGZyb20gZ3N0dmlkZW8gdG8gYXZvaWQgZXhwb3NpbmcKCSAgdW5zdXBwb3J0ZWQgZm9ybWF0cyBvbiB0ZW1wbGF0ZSBwYWRzLiBVc2luZyB0aGUgbWFjcm9zCgkgIGFsc28gZ2l2ZSB1cyBjb21wbGV0ZSBjYXBzICh3aWR0aC9oZWlnaHQvZnJhbWVyYXRlKS4KCSAgQW5kIGFkZCBzdXBwb3J0IGZvciBBWVVWLgoJICBGaXhlcyAjNjIwNzE3CgoyMDEwLTA2LTA1IDE5OjM4OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZGlmZnVzZTogQWRkcyBkaWZmdXNlIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtCgkgIEFkZHMgdGhlICdkaWZmdXNlJyBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybS4gSXQgbW92ZXMKCSAgdGhlIHBpeGVscyBvZiB0aGUgaW1hZ2UgaW4gcmFuZG9tIGRpcmVjdGlvbnMKCjIwMTAtMDYtMDUgMTk6MjA6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBNYWtlIG1hcCBwcmVjYWxjdWxhdGlvbiBvcHRpb25hbAoJICBBZGRzIGEgdmFyaWFibGUgdG8gYmUgc2V0IHRvIGFsbG93IHN1YmNsYXNzZXMgdG8gZW5hYmxlCgkgIG9yIGRpc2FibGUgcHJlY2FsY3VsYXRpb24gb2YgdGhlIHBpeGVscyBtYXBwaW5nCgoyMDEwLTA2LTA2IDE1OjMyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogQWRkIHNvbWUgYnJhY2VzIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkKCjIwMTAtMDYtMDYgMTU6Mjk6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBJbXByb3ZlIHRpbWVzdGFtcCBoYW5kbGluZyBhIGJpdAoKMjAxMC0wNi0wNiAxNToyNDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSAgcnRtcHNyYzogQWRkIHN1cHBvcnQgZm9yIHNlZWtpbmcKCjIwMTAtMDYtMDYgMTM6NTc6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkgIHJ0bXBzcmM6IEhhbmRsZSB0aW1lc3RhbXBzIGFuZCB0aGUgcG9zaXRpb24gcXVlcnkKCSAgVGhpcyBpcyBub3QgdmVyeSBhY2N1cmF0ZSBidXQgYmV0dGVyIHRoYW4gbm90aGluZy4gVGhlIGRlbXV4ZXIKCSAgYWZ0ZXIgdGhlIHNvdXJjZSBrbm93cyBtb3JlIGFjY3VyYXRlIHRpbWVzdGFtcHMuCgoyMDEwLTA2LTA2IDA4OjMwOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogQWxsb2NhdGUgYW5kIGZyZWUgdGhlIFJUTVAgaW5zdGFuY2UgaW4gc3RhcnQvc3RvcAoKMjAxMC0wNi0wNCAyMjozNjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSAgcnRtcHNyYzogQWRkIHByb3BlcnRpZXMgZm9yIHNldHRpbmcgdGhlIHN3ZlVybCBhbmQgcGFnZVVybCBwcm9wZXJ0aWVzCgkgIFRoZXNlIGFyZSByZXF1aXJlZCBmb3Igc29tZSBzdHJlYW1zIHVuZm9ydHVuYXRlbHkuCgoyMDEwLTA2LTA0IDIyOjA0OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJICBydG1wc3JjOiBNYWpvciBjbGVhbnVwIGFuZCByZW9yZ2FuaXphdGlvbgoKMjAxMC0wNi0wNCAwODoxNDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3J0bXAvTWFrZWZpbGUuYW06CgkqIGV4dC9ydG1wL1JFQURNRToKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkqIGdzdC9ydG1wL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRtcC9hbWYuYzoKCSogZ3N0L3J0bXAvYW1mLmg6CgkqIGdzdC9ydG1wL2J5dGVzLmg6CgkqIGdzdC9ydG1wL2RoLmg6CgkqIGdzdC9ydG1wL2RoZ3JvdXBzLmg6CgkqIGdzdC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZ3N0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJKiBnc3QvcnRtcC9oYW5kc2hha2UuaDoKCSogZ3N0L3J0bXAvaGFzaHN3Zi5jOgoJKiBnc3QvcnRtcC9odHRwLmg6CgkqIGdzdC9ydG1wL2xvZy5jOgoJKiBnc3QvcnRtcC9sb2cuaDoKCSogZ3N0L3J0bXAvcGFyc2V1cmwuYzoKCSogZ3N0L3J0bXAvcnRtcC5jOgoJKiBnc3QvcnRtcC9ydG1wLmg6CgkqIGdzdC9ydG1wL3J0bXBfc3lzLmg6CgkgIHJ0bXA6IE1vdmUgdG8gZXh0IGFuZCBkcm9wIGludGVybmFsIGxpYnJ0bXAgY29weQoJICBXZSByZWFsbHkgZG9uJ3Qgd2FudCB0aGlzIGluIGdzdC1wbHVnaW5zLWJhZCBiZWNhdXNlIG9mCgkgIGxlZ2FsIGNvbXBsZXhpdGllcyBhcm91bmQgUlRNUCBhbmQgcG9zc2libGUgcHJvYmxlbXMKCSAgZm9yIGRpc3RyaWJ1dGlvbnMuCgkgIEFkZCBSRUFETUUgdGhhdCBleHBsYWlucyBob3cgdG8gYnVpbGQgbGlicnRtcCB0byBiZSBzdWl0YWJsZQoJICBmb3IgbGlua2luZyB0byB0aGUgR1N0cmVhbWVyIHBsdWdpbi4KCjIwMTAtMDYtMDIgMDA6NDU6MDYgKzAxMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0bXAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydG1wL2FtZi5jOgoJKiBnc3QvcnRtcC9hbWYuaDoKCSogZ3N0L3J0bXAvYnl0ZXMuaDoKCSogZ3N0L3J0bXAvZGguaDoKCSogZ3N0L3J0bXAvZGhncm91cHMuaDoKCSogZ3N0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBnc3QvcnRtcC9nc3RydG1wc3JjLmg6CgkqIGdzdC9ydG1wL2hhbmRzaGFrZS5oOgoJKiBnc3QvcnRtcC9oYXNoc3dmLmM6CgkqIGdzdC9ydG1wL2h0dHAuaDoKCSogZ3N0L3J0bXAvbG9nLmM6CgkqIGdzdC9ydG1wL2xvZy5oOgoJKiBnc3QvcnRtcC9wYXJzZXVybC5jOgoJKiBnc3QvcnRtcC9ydG1wLmM6CgkqIGdzdC9ydG1wL3J0bXAuaDoKCSogZ3N0L3J0bXAvcnRtcF9zeXMuaDoKCSAgcnRtcDogQWRkIFJUTVAgc291cmNlIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY2NjA0CgoyMDEwLTA2LTA1IDExOjA0OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogU2V0IG91dHB1dCBidWZmZXIgZGF0YSB0byAwCgkgIEluaXRpYWxpemUgb3V0cHV0IGJ1ZmZlciBkYXRhIHRvIDAgYmVmb3JlIGRvaW5nIHRoZQoJICB0cmFuc2Zvcm0uCgoyMDEwLTA2LTA1IDEwOjU4OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogRGVzY3JpcHRpb25zIGFuZCBkZWZhdWx0IHZhbHVlcwoJICBJbXByb3ZlIHNvbWUgcHJvcGVydGllcyBhbmQgZWxlbWVudCBkZXNjcmlwdGlvbnMgYW5kIGNoYW5nZXMKCSAgc29tZSBkZWZhdWx0IHByb3BlcnRpZXMgdmFsdWVzLgoKMjAxMC0wNi0wNCAxNjoxNDowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IFZlcmlmeSB0aGF0IHBpcGUgZXhpc3RzIGJlZm9yZSByZXNpemluZyBpdAoKMjAxMC0wNi0wNCAxNTo1NDozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1hbGxvYy5jOgoJKiBzeXMvc2htL3NobWFsbG9jLmg6CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBBZGQgY29weXJpZ2h0IG5vdGljZXMgdG8gc2htYWxsb2MuW2NoXSBhbmQgc2htcGlwZS5bY2hdCgoyMDEwLTA2LTA0IDE1OjUzOjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBSZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZQoJICBSZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZSBmcm9tIGdlb21ldHJpY3RyYW5zZm9ybSBmaWxlcwoKMjAxMC0wNi0wMyAwMDoyNDo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgd2F0ZXJyaXBwbGU6IEFkZHMgbmV3IHdhdGVycmlwcGxlIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNvZm1yCgkgIEFkZHMgYW4gd2F0ZXIgcmlwcGxlIGRpc3RvcnRpb24gZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0KCjIwMTAtMDYtMDIgMjM6NTU6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgc3BoZXJlOiBBZGRzIG5ldyAnc3BoZXJlJyBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybQoJICBBZGRzIGEgbmV3IGVsZW1lbnQgdG8gZG8gJ3NwaGVyZScgZWZmZWN0IGludG8gZ2VvbWV0cmljdHJhbnNmb3JtCgkgIHBsdWdpbgoKMjAxMC0wNi0wMiAyMjowMTozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGRzIHNvbWUgcHJvcGVydGllcyB0byBiYXNlIGNsYXNzCgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZWxlY3Qgd2hhdCB0byBkbyB3aXRoIHBpeGVscyB0aGF0IGFyZSBtYXBwZWQgb3V0IG9mCgkgIGVkZ2VzOiBpZ25vcmUsIGNsYW1wIG9yIHdyYXAuCgoyMDEwLTA2LTAyIDE4OjU4OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgY2lyY2xlOiBBZGRzIGNpcmNsZSBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybSBwbHVnaW4KCSAgQWRkcyB0aGUgbmV3ICdjaXJjbGUnIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtIHBsdWdpbgoKMjAxMC0wNi0wMiAwMToyMToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGthbGVpZG9zY29wZTogQWRkcyBuZXcgZWxlbWVudCAna2FsZWlkb3Njb3BlJwoJICBBZGRzIG5ldyBrYWxlaWRvc2NvcGUgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0gcGx1Z2luCgoyMDEwLTA2LTAyIDAwOjQ4OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnc3R0d2lybDogQWRkcyBuZXcgZWxlbWVudCB0d2lybAoJICBBZGRzIGEgbmV3IGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtIHBsdWdpbjogdHdpcmwKCjIwMTAtMDYtMDIgMDA6MzQ6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogQWRkcyBhIGludGVybWVkaWFyeSBiYXNlY2xhc3MgY2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtCgkgIEFkZHMgYW4gaW50ZXJtZWRpYXJ5IGJhc2VjbGFzcyBuYW1lZCBnc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0KCSAgdG8ga2VlcCBjb21tb24gcHJvcGVydGllcyBjb2RlIGZvciBmaWx0ZXJzIHRoYXQgb3BlcmF0ZSBvbgoJICBhIGNpcmN1bGFyIGFyZWEuCgoyMDEwLTA1LTMwIDEyOjUwOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5oOgoJICBwaW5jaDogU29tZSBvcHRpbWl6YXRpb24gdXNpbmcgdGhlIHByZXBhcmUgZnVuYwoJICBTbWFsbCBvcHRpbWl6YXRpb24gYnkgcHJlY2FsY3VsYXRpbmcgdGhlIGNlbnRlciBvZiB0aGUgZWZmZWN0LAoJICBhbHNvIHVzZSBuZXdseSBhZGRlZCBfQ0FTVCBtYWNyby4KCjIwMTAtMDUtMzAgMTI6MzY6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBBZGRzIHByZXBhcmUgZnVuY3Rpb24gYW5kIGNsZWFudXAKCSAgQWRkcyBhIHByZXBhcmUgZnVuY3Rpb24gdG8gbWFrZSBzdWJjbGFzc2VzIHByZWNhbGN1bGF0ZSB2YWx1ZXMKCSAgdGhhdCB3aWxsIGJlIHVzZWQgdGhyb3VnaG91dCB0aGUgbWFwcGluZyBmdW5jdGlvbnMuCgkgIEFsc28gYWRkcyBhIG1pc3NpbmcgY2xlYW51cCB0byBmaXggYSBtZW1sZWFrCgoyMDEwLTA1LTI2IDIxOjM5OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogUHJlY2FsY3VsYXRlIG1hcHBpbmcgYXJyYXkKCSAgUHJlY2FsY3VsYXRlIHdoZW4gc2V0dGluZyBjYXBzIHRoZSB3YXJwaW5nIG1hcCB0byBhdm9pZAoJICByZWNhbGN1bGF0aW5nIGl0IGV2ZXJ5IGJ1ZmZlcgoKMjAxMC0wNS0yNiAxODoyOToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEFjY2VwdCBhbnkgcmdiIG9yIGdyYXkKCSAgVXNpbmcgZ3N0dmlkZW8gZnVuY3Rpb25zIGdlb21ldHJpY3RyYW5zZm9ybSBjYW4gaGFuZGxlCgkgIHJnYiBvciBncmF5LCBwdXQgdGhhdCBvbiB0ZW1wbGF0ZSBjYXBzCgoyMDEwLTA1LTI2IDE4OjIyOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBSZW5hbWUgc29tZSB2YXJpYWJsZXMgZm9yIGNsYXJpdHkKCSAgUmVuYW1lcyBzb21lIHZhcmlhYmxlcyBhbmQgYWRkcyBhIG1pbmltdW0gZG9jIHRvIHRoZQoJICBtYXBwaW5nIGZ1bmN0aW9uIGZvciBhIGxpdHRsZSBjbGFyaXR5LgoJICBBbHNvIHVzZXMgZ3N0dmlkZW8gZnVuY3Rpb25zIGZvciB0aGUgcm93IGFuZCBwaXhlbCBzdHJpZGVzCgkgIGluc3RlYWQgb2YgaGFyZGNvZGVkIHZhbHVlcwoKMjAxMC0wNS0yNCAyMzo1NzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IE5ldyBwbHVnaW4gZm9yIGdlb21ldHJpYyB0cmFuc2Zvcm1zCgkgIEFkZHMgYSBuZXcgcGx1Z2luIHRoYXQgaGFzIGVsZW1lbnRzIHRoYXQgcGVyZm9ybSBnZW9tZXRyaWMKCSAgdHJhbnNmb3JtYXRpb25zIHRvIGltYWdlcy4gQnkgZ2VvbWV0cmljIHRyYW5zZm9ybWF0aW9ucyBJIG1lYW4KCSAgdGhhdCB0aGUgb3BlcmF0aW9ucyBhcmUgZnVuY3Rpb25zIHRoYXQgZ2l2ZW4gdGhlIG91dHB1dCBwaXhlbAoJICBwb3NpdGlvbiwgZ2V0IHRoZSBwaXhlbCBwb3NpdGlvbiBpbiB0aGUgaW5wdXQgaW1hZ2UuIFRoaXMgcGl4ZWwKCSAgaXMgdGhlbiBjb3BpZWQgZnJvbSBpbnB1dCB0byBvdXRwdXQuCgkgIFRoZSBnc3RnZW9tZXRyaWN0cmFuc2Zvcm0gYmFzZWNsYXNzIG1ha2VzIGl0IGVhc3kgdG8gd3JpdGUKCSAgc3VjaCBlbGVtZW50cy4gSXQgYm9pbHMgZG93biB0byB3cml0ZSB0aGUgbWFwcGluZyBmdW5jdGlvbgoJICBhbmQgZXhwb3NpbmcgcHJvcGVydGllcwoJICBBbHJlYWR5IGFkZGVkIHRoZSBmaXJzdCBvZiB0aGUgZWxlbWVudHMsICdwaW5jaCcuIEl0J3MgYSBjb21tb24KCSAgZWZmZWN0IGluIGltYWdlIGVkaXRvcnMsIGxpa2UgZ2ltcCAoZGlzdG9ydCAtPiBwaW5jaCkKCjIwMTAtMDYtMDMgMjM6MTk6MzUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ29iamVjdC5jOgoJKiB0b29scy9nc3RiYXNlc2luay5jOgoJKiB0b29scy9nc3RiYXNlc3JjLmM6CgkgIHRvb2xzOiBmbGVzaCBvdXQgZWxlbWVudC1tYWtlciB0ZW1wbGF0ZXMKCjIwMTAtMDYtMDMgMTg6MTQ6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IGhhbmRsZSBvdGhlciBiYXllciBmb3JtYXRzCgoyMDEwLTA2LTAzIDE4OjE0OjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5oOgoJICByZ2IyYmF5ZXI6IGhhbmRsZSBtdWx0aXBsZSBiYXllciBmb3JtYXRzCgoyMDEwLTA2LTAzIDE1OjUzOjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSogZ3N0L2JheWVyL2dzdGJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5oOgoJICBiYXllcjogQWRkIHJnYjJiYXllciBlbGVtZW50CgkgIE1vc3RseSBmb3IgdGVzdGluZy9jb21wbGV0ZW5lc3MuCgoyMDEwLTA2LTAzIDIwOjUxOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG06IGZpeCBkZWJ1ZyBtZXNzYWdlcwoJICBNaXNjLiBwcmludGYgZm9ybWF0IGZpeGVzIGFuZCBtaXNzaW5nIGFyZ3VtZW50cy4KCjIwMTAtMDYtMDMgMTU6Mjc6MDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBNYWtlIHN0YXRpYyBmdW5jdGlvbiBzdGF0aWMKCjIwMTAtMDYtMDMgMTU6MjY6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG06IFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDYtMDMgMTQ6NDI6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NobS9NYWtlZmlsZS5hbToKCSogZ3N0L3NobS9nc3RzaG0uYzoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkqIGdzdC9zaG0vZ3N0c2htc2luay5oOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5oOgoJKiBnc3Qvc2htL3NobWFsbG9jLmM6CgkqIGdzdC9zaG0vc2htYWxsb2MuaDoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5oOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vZ3N0c2htLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuaDoKCSogc3lzL3NobS9zaG1hbGxvYy5jOgoJKiBzeXMvc2htL3NobWFsbG9jLmg6CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBNb3ZlIHRvIHN5cy8gc2luY2UgaXQgZG9lc24ndCBleGlzdCBvbiB3aW5kb3dzCgoyMDEwLTA2LTAzIDE0OjQxOjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEZpeCBpbmRlbnRhdGlvbgoKMjAxMC0wNi0wMyAxNDoyMjozNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJKiBnc3Qvc2htL3NobXBpcGUuaDoKCSAgc2htc2luazogUHJpbnQgZXJyb3JzIGlmIGZjaG1vZCBmYWlscwoKMjAxMC0wNC0wNyAxOTowNTozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IEZpeCBjcmFzaCB3aGVuIHNwX2Nsb3NlX3NobSBpcyBjYWxsZWQgd2l0aCBzZWxmID09IE5VTEwuCgkgIElmIHNwX29wZW5fc2htIGVycm9ycyBvdXQgdHJ5aW5nIHRvIG9wZW4gYSBzaG0gYXJlYSwgaXQgd291bGQgY3Jhc2gKCSAgd2hlbiB0cnlpbmcgdG8gZnJlZSB0aGUgYXJlYS4gVGhlIFJFVFVSTl9FUlJPUiBtYWNybyBjYWxscwoJICBzcF9zaG1fYXJlYV9kZWMgd2l0aCBzZWxmID09IE5VTEwuIHNwX3NobV9hcmVhX2RlYyBjYWxscwoJICBzcF9zaG1fY2xvc2UsIHdpdGggc2VsZiA9PSBOVUxMLCB3aGljaCBpdCB0aGVuIHRyaWVzIHRvIGFjY2VzcyBhCgkgIHBhcmFtZXRlciBvZiB3aXRob3V0IGNoZWNraW5nLiBUaGlzIHBhdGNoIGNoZWNrcyB0byBtYWtlIHN1cmUKCSAgc2VsZiAhPSBOVUxMIGJlZm9yZSBhY2Nlc3NpbmcgdGhhdCBwYXJhbWV0ZXIuCgoyMDEwLTA0LTA3IDE5OjA1OjE1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogVXBkYXRlIGNvZGUgc3RhbmRhcmQKCjIwMTAtMDItMDMgMTM6NTA6MTMgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogQWRkIHNvY2tldCBwYXRoIHRvIGVycm9yIG1lc3NhZ2UKCjIwMTAtMDItMDIgMTc6NDA6MDkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBSZW1vdmUgd3JvbmcgdGVzdCBpbnZlcnNpb24KCjIwMTAtMDItMDIgMTc6MzU6MjYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBWZXJpZnkgdGhhdCBhY2NlcHQgc3VjY2VlZHMKCjIwMTAtMDItMDIgMTc6MzU6MTUgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBGaXggb25lIGJ5dGUgb3ZlcmZsb3cKCjIwMTAtMDItMDIgMTE6MTE6MDYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEltcHJvdmUgZGVidWcgcHJpbnRzCgoyMDEwLTAxLTI2IDEyOjM0OjM0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogR2V0IHBvdGVudGlhbGx5IG1vZGlmaWVkIGFmdGVyIG9wZW5pbmcgc2htcGlwZQoKMjAxMC0wMS0yNiAxMjozMjo1NiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5oOgoJICBzaG06IFRyeSBhbHRlcm5hdGUgcGF0aHMgZm9yIHRoZSBzb2NrZXQKCjIwMTAtMDEtMjkgMTE6MDY6NDQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBEb24ndCBwcmV0ZW5kIHRoZSBwYXRoIGlzIHJhbmRvbQoKMjAxMC0wMS0yOSAxMDo1NzoyNyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IENyZWF0ZSBzaG0gYXJlYSBleGNsdXNpdmVseQoKMjAxMC0wMS0yOCAxNTozNDo0NCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1hbGxvYy5oOgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSogZ3N0L3NobS9zaG1waXBlLmg6CgkgIHNobWFsbG9jOiBNYWtlIGl0IGJ1aWxkIGluIG5vbi1nbGliIHdvcmxkCgoyMDEwLTAxLTI4IDEyOjE5OjA3ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5oOgoJICBzaG1zcmM6IE1ha2UgdGhlIHNobXBpcGUgbGlmZSBpbmRlcGVuZGFudCBvZiB0aGUgZWxlbWVudCBzdGF0ZXMKCjIwMTAtMDEtMjggMTE6NTc6MzQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBTaW1wbGlmeSBoYW5kbGluZyBvZiByYW5kb20gcGF0aHMKCjIwMTAtMDEtMjggMTE6MzY6MDEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXBpcGU6IFJlbW92ZSB1c2VsZXNzIGF0dHJpYgoKMjAxMC0wMS0yOCAxMTozMToxMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IFJlZiBjbGllbnQgc2htYXJlYSB3aGVuIGEgYnVmZmVyIGlzIHJlY2VpdmVkIGluIGl0CgoyMDEwLTAxLTI4IDExOjMwOjExICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogRG9uJ3QgZGVjIG9sZCBzaG0gYXJlYSB3aGVuIG5ldyBvbmUgaXMgYWRkZWQKCSAgSXRzIHJlZiB3aWxsIGJlIGRyb3BwZWQgd2hlbiB0aGUgImNsb3NlIiBtZXNzYWdlIGFycml2ZXMKCjIwMTAtMDEtMjcgMTE6NDk6MzQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogTG9jayB1c2VzIG9mIHNobXBpcGUKCjIwMTAtMDEtMjYgMTQ6MjA6MzUgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogQWRkIGlzLWxpdmUgcHJvcGVydHkKCjIwMDktMTEtMDMgMjA6MDM6MjQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG06IFByaW50IGRldGFpbHMgb24gZXJyb3JzCgoyMDA5LTExLTAzIDE4OjMzOjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobTogTWFrZSB2YWxncmluZCBoYXBweQoKMjAwOS0xMS0wMyAxNjozMTozNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IERvbid0IGJsb2NrIG9uIEVPUyBpbiBub24tYmxvY2tpbmcgbW9kZQoKMjAwOS0xMS0wMyAxNjowOTozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobTogQmxvY2sgaWYgcmVxdWlyZWQKCjIwMDktMTAtMzAgMTg6MjQ6NTggKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htLmg6CgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuaDoKCSAgc2htc2luazogUG9ydCB0byBTaG1QaXBlCgoyMDA5LTEwLTMwIDEyOjM3OjUwICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5oOgoJICBzaG1zcmM6IFBvcnQgdG8gU2htUGlwZQoKMjAwOS0xMC0yOSAxOToxODoyNSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9NYWtlZmlsZS5hbToKCSogZ3N0L3NobS9zaG1hbGxvYy5jOgoJKiBnc3Qvc2htL3NobWFsbG9jLmg6CgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJKiBnc3Qvc2htL3NobXBpcGUuaDoKCSAgc2htOiBBZGQgc2htcGlwZSBpbXBsZW1lbnRhdGlvbgoKMjAwOS0wNC0yOSAxNjozMzo0NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2htL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2htL2dzdHNobS5jOgoJKiBnc3Qvc2htL2dzdHNobS5oOgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmg6CgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkqIGdzdC9zaG0vZ3N0c2htc3JjLmg6CgkgIHNobTogQWRkIHNobSBiYXNlZCBzaW5rIGFuZCBzcmMKCSAgVGhlc2UgdHdvIGVsZW1lbnRzIChzaG1zaW5rIGFuZCBzaG1zcmMpIGNvbW11bmljYXRlIGJ1ZmZlcnMgdXNpbmcgUE9TSVgKCSAgc2hhcmVkIG1lbW9yeS4gVGhleSBhbHNvIGNvbW11bmljYXRlIHRoZSBjYXBzLiBUaGUgc291cmNlIGN1cnJlbnRseSBhY3RzIGFzCgkgIGEgbGl2ZSBzb3VyY2UgYW5kIGlnbm9yZXMgdGhlIHRpbWVzdGFtcHMgY29taW5nIGZyb20gdGhlIHNpbmsuIEl0IGFsc28gZG9lcwoJICBub3QgdHJhbnNmZXIgdGhlIHRhZ3MuCgoyMDEwLTA2LTAzIDE1OjUxOjE4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFNvbWUgY2hlY2tzIHRvIGF2b2lkIGFzc2VydHMKCSAgZ3N0X21wZWdfZGVzY3JpcHRvcl9maW5kKCkgZXhwZWN0cyB0aGUgZGVzY3JpcHRpb24gZmllbGQgdG8gYmUgbm9uLU5VTEwuCgkgIFRoaXMgZml4ZXMgYSBjb3VwbGUgb2YgY2FsbHMgd2hlcmUgdGhlIHZhbHVlIGJlaW5nIHBhc3NlZCBpcyBub3QKCSAgdmVyaWZpZWQgdG8gYmUgbm9uLU5VTEwgZmlyc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjA0NTYKCjIwMTAtMDYtMDMgMTA6NDk6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaXggcHJpbnRmIGZvcm1hdCB3YXJuaW5nIGluIGxvZyBtZXNzYWdlCgkgIGdzdHZwOGVuYy5jOjU2NDogZXJyb3I6IGZvcm1hdCDigJglZOKAmSBleHBlY3RzIHR5cGUg4oCYaW504oCZLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSDigJhzaXplX3TigJkKCSAgZ3N0dnA4ZW5jLmM6NzQ0OiBlcnJvcjogZm9ybWF0IOKAmCVk4oCZIGV4cGVjdHMgdHlwZSDigJhpbnTigJksIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlIOKAmHNpemVfdOKAmQoKMjAxMC0wNi0wMyAxMDo0MzoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBmaXggbWlzc2luZyBkZWJ1ZyBsb2cgbWVzc2FnZSBhcmd1bWVudAoKMjAxMC0wNi0wMiAyMjowNzozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IGFkZCBhbiBhc3NlcnQgdG8gcGxhY2F0ZSBnY2MtNC41CgoyMDEwLTA2LTAyIDE5OjQ2OjUwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJICBiYXNldmlkZW9wYXJzZTogZml4IHdhcm5pbmcKCjIwMTAtMDYtMDIgMTk6Mzg6MzUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkgIGJhc2V2aWRlb3BhcnNlOiByZW1vdmUgYm9ndXMgYXBpCgoyMDEwLTA2LTAyIDE3OjU0OjQyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiByZW1vdmUgZ3N0X2Jhc2VfdmlkZW9fc3RhdGVfZnJvbV9jYXBzCgoyMDEwLTA2LTAyIDE3OjQwOjE3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJICBiYXNldmlkZW86IHJlbW92ZSBjb21wYXRpYmlsaXR5IGNvZGUKCjIwMTAtMDYtMDIgMTY6MDY6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE9yYyBpcyBub3QgcmVxdWlyZWQKCjIwMTAtMDYtMDIgMTY6MDE6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSAgYmFzZXZpZGVvOiB1c2UgZGVidWcgY2F0ZWdvcnkgZm9yIGVhY2ggY2xhc3MKCjIwMDktMTAtMDUgMTU6NDc6NTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJICBiYXNldmlkZW86IEZhaWwgaWYgY2FwcyBkb24ndCBjb250YWluIGEgZnJhbWVyYXRlIGZpZWxkCgkgIFJldHVybiBmYWxzZSBmcm9tIHRoZSBjYXBzIHBhcnNpbmcgZnVuY3Rpb24gaWYgdGhlcmUgaXMgbm8gZnJhbWVyYXRlCgkgIGZpZWxkIGluIHRoZSBwcm92aWRlZCBjYXBzCgkgIE1lcmdpbmcgcHJldmlvdXMgY29tbWl0IGludG8gY3VycmVudCBjb2RlYmFzZS4KCjIwMTAtMDYtMDIgMTM6MzE6NDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogY3JlYXRlIG5ldyBzZWdtZW50cyBpZiBtaXNzaW5nCgoyMDA5LTA5LTE3IDEwOjUwOjQwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogQWRkIGEgd2FybmluZwoJICBNZXJnaW5nIHByZXZpb3VzIGNvbW1pdCBpbnRvIGN1cnJlbnQgY29kZWJhc2UuCgoyMDA5LTA3LTAzIDE2OjA4OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvLCB2cDg6IGd1YXJkIHVuc3RhYmxlIEFQSSB3aXRoIEdTVF9VU0VfVU5TVEFCTEVfQVBJCgkgIEFkZCBzb21lIGd1YXJkcyBhbmQgZmF0IHdhcm5pbmdzIHRvIHRoZSBoZWFkZXIgZmlsZXMgd2l0aCBzdGlsbCB1bnN0YWJsZQoJICBBUEksIHNvIHBlb3BsZSB3aG8ganVzdCBsb29rIGF0IHRoZSBpbnN0YWxsZWQgaGVhZGVycyBrbm93IHRoYXQgaXQKCSAgYWN0dWFsbHkgaXMgdW5zdGFibGUgQVBJLgoJICBNZXJnaW5nIHByZXZpb3VzIGNvbW1pdCBpbnRvIGN1cnJlbnQgY29kZWJhc2UuCgoyMDEwLTA2LTAyIDE5OjUyOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogQ2xlYXIgYWRhcHRlciB3aGVuIGZsdXNoaW5nCgoyMDEwLTA2LTAyIDE5OjQ1OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogU3RvcCBkZWNvZGluZyBpZiBjYW4ndCBwdXNoCgoyMDEwLTA2LTAyIDE5OjQ0OjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogRmx1c2ggYWRhcHRlciByaWdodCBhdGVyIHVzaW5nIGl0CgoyMDA5LTExLTE4IDExOjE0OjI4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogTm8gbmVlZCB0byBkbyBhIHRyeSBhbGxvY2F0aW9uCgoyMDA5LTExLTE4IDExOjA4OjI1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogRG9jdW1lbnQgcGF1c2VkLW1vZGUgcHJvcGVydHkKCjIwMDktMTAtMTIgMjA6MTk6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogVXNlIGxvZyBsb2dsZXZlbCBmb3IgbWVzc2FnZXMgdGhhdCBhcmUgc2hvd24gb24gZXZlcnkgZnJhbWUKCjIwMDktMTAtMTIgMjA6MDk6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBtaW1kZWM6IFJlbW92ZSBvYmplY3QgbG9jayB1c2FnZSwgc3RyZWFtIGxvY2sgaXMgZW5vdWdoCgoyMDA5LTEwLTEyIDIwOjA4OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogT3V0cHV0IGZyYW1lcmF0ZSBpcyB1bmtub3duCgoyMDA5LTEwLTEyIDIwOjA2OjEzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgbWltZGVjOiBSZW1vdmUgbG9jYWwgc3RhdGUgdmFyaWFibGUgZnJvbSBpbnN0YW5jZQoKMjAwOS0xMC0xMiAxOTo1Nzo1MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IFJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlCgoyMDA5LTEwLTEyIDE5OjU2OjU0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogTWFrZSBjYXBzIGEgbG90IHN0cmljdGVyCgoyMDA5LTEwLTEyIDE5OjUyOjM1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogU2V0IGRlbHRhX3VuaXQgZmxhZyBvbiBpbnRyYSBmcmFtZXMKCjIwMDktMTAtMTIgMTk6NTA6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogSW5pdGlhbGl6ZSBlbmNvZGVyL2RlY29kZXJzIGluIHN0YXRlIGNoYW5nZSBhbmQgc2V0Y2FwcyB3aGVyZSBwb3NzaWJsZQoKMjAwOS0xMC0xMiAxOTozNjoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBGaXggZWxlbWVudCBkZXRhaWxzCgoyMDA5LTEwLTEyIDE5OjMxOjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBIb2xkIGVsZW1lbnQgbG9jayB3aGlsZSBhY2Nlc3NpbmcgdGhlIGNsb2NrCgoyMDA5LTEwLTEyIDE5OjI5OjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBSZWZhY3RvciB0Y3AgaGVhZGVyIGNyZWF0aW9uIHRvIG5vdCBtYWtlIGEgc2VwYXJhdGUgYnVmZmVyCgoyMDA5LTEwLTEyIDE5OjE4OjIwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBGdW5jdGlvbiBjYW4ndCBmYWlsCgoyMDA5LTEwLTEyIDE5OjE3OjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IFJlbW92ZSBDKysgc3R5bGUgY29tbWVudHMKCjIwMDktMTAtMTIgMTk6MTY6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogVXNlIEdTVF9FTEVNRU5UX0VSUk9SIHdoZW4gcmV0dXJuaW5nIGEgZmxvdyBlcnJvcgoKMjAwOS0xMC0xMiAxODo1NDo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWljOiBGaXggR1NUX01JTV8qX0NMQVNTIG1hY3JvcwoKMjAwOS0xMC0xMiAxODo0NzozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogV2FybiBpZiBwYXVzZWQtbW9kZSBpcyB0b2dnbGVkIHdoaWxlIHBsYXlpbmcKCjIwMDktMTAtMTIgMTg6Mzk6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogQWRkIEdTVF9ERUJVR19GVU5DUFRSIHdoZXJlIGFwcHJvcHJpYXRlCgoyMDA5LTEwLTEyIDE4OjM2OjU4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJICBtaW1pYzogUmVuYW1lIGZ1bmN0aW9ucy9tYWNyb3MgdG8gbWF0Y2ggY2xhc3MgbmFtZXMKCjIwMTAtMDUtMTAgMTg6Mzc6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBBZGQgc29tZSBkZWJ1ZyBtZXNzYWdlcwoKMjAxMC0wNS0wNyAxODo1Njo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBkdG1mbXV4OiBSZW1vdmUgc3RyZWFtLWxvY2sgZXZlbnQgaGFuZGxpbmcKCjIwMTAtMDUtMDcgMTg6NTQ6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBVcGRhdGUgZG9jIGZvciBzaW1wbGlmaWNhdGlvbgoKMjAxMC0wNS0wNyAxODo0MjowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFJlbW92ZSBydHBkdG1mbXV4IHN0cmVhbS1sb2NrIGNvZGUKCjIwMTAtMDUtMDcgMTg6NDA6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICB0ZXN0czogQ2hhbmdlIHRlc3RzIHRvIG5vdCB1c2UgdGhlIHByaW9yaXR5IHBhZHMgaW5zdGVhZCBvZiB0aGUgZXZlbnRzCgoyMDEwLTA1LTA2IDE5OjUxOjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IERyb3AgYnVmZmVycyBvbiBub24tcHJpb3JpdHkgc2lua3Mgd2hlbiBzb21ldGhpbmcgaXMgaW5jb21pbmcgb24gdGhlIHByaW9yaXR5IHNpbmsKCjIwMTAtMDUtMDYgMTg6MTE6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBkdG1mbXV4OiBBZGQgcHJpb3JpdHkgc2luayBwYWRzCgoyMDEwLTA1LTA3IDE3OjE1OjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogQ2xlYW51cCBldmVudCBmdW5jdGlvbgoKMjAxMC0wNS0wNyAxNjo0MjoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogQWdncmVnYXRlIGluY29taW5nIHNlZ21lbnRzCgoyMDEwLTA1LTA2IDE5OjA5OjQ4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogVXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDUtMDYgMTg6MTA6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogU2ltcGxpZnkgcmVxdWVzdCBwYWQgY3JlYXRpb24KCjIwMTAtMDYtMDIgMTI6MTY6NTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJICBiYXNldmlkZW86IG1ha2UgcHJpbnRmIGZvcm1hdHMgcG9ydGFibGUKCjIwMTAtMDYtMDIgMTE6NDE6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgT3JjIHJlcXVpcmVtZW50IHRvIDAuNC40LjEKCjIwMTAtMDYtMDIgMTE6MzE6MjYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgTWVyZ2UgYnJhbmNoICdoYWNraW5nJwoKMjAxMC0wNS0yMiAxODoxNDowOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IEFkZCB2ZXJpZnktZmllbGQtZmxhZ3MgcHJvcGVydHkKCSAgV2hlbiBlbmFibGVkLCBjaGVjayB0aGF0IHRoZSB2aWRlbyBtYXRjaGVzIHRoZSBmaWVsZCBmbGFncyBvbiB0aGUKCSAgaW5jb21pbmcgYnVmZmVycy4KCjIwMTAtMDUtMjIgMTE6MzY6MzcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiByZW1vdmUgb2xkIGNvZGUKCjIwMTAtMDUtMjIgMTE6MzA6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBBZGQgNDoyOjIgZm9ybWF0cwoKMjAxMC0wNS0yMiAwMDo0NDo0MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IENoYW5nZSBmb3JtYXQgdGFibGUKCSAgQWRkIGZvcm1hdCBuYW1lLCBwaGFzZSB0YWJsZS4KCjIwMTAtMDMtMDkgMTI6MzI6NDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBBZGQgbXVsdGlwbGUgcHVsbGRvd24gZm9ybWF0cwoKMjAxMC0wNS0yMSAyMzozOTowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogaGFuZGxlIGRpZmZlcmVudCBmcmFtZSBzaXplcwoKMjAxMC0wNS0yNCAxMjo1NToxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiAoaW4gdnA4KSBNYXJrIGRpc2NvbnQgYnVmZmVycwoKMjAxMC0wNi0wMiAwNTo1MTo0MSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSAgaXZmcGFyc2U6IEZpeCBmb3JtYXQgc3RyaW5nIHdhcm5pbmcKCSAgRml4ZXMgIzYyMDMyNAoKMjAxMC0wNi0wMSAyMzo1MDowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgY29nOiByZW1vdmUgb2xkIHRlc3RzCgoyMDEwLTA2LTAxIDIzOjM0OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogQWRkIG9yYyB0ZXN0cyB0byBjaGVjayBNYWtlZmlsZQoKMjAxMC0wNi0wMSAxNjo1NToxNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMub3JjOgoJICBjb2c6IHVzZSBjb21tb24vb3JjLm1hawoKMjAxMC0wNS0xNiAxMDoyNDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvOiBGaXggc2VnZmF1bHQgb24gRU9TCgoyMDEwLTA1LTE0IDAxOjIxOjA4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSAgc2Nocm86IGZpeCBmb3IgYmFzZSB2aWRlbyB1cGRhdGVzCgoyMDEwLTA1LTE2IDEwOjE1OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IEZpeGVzIGZvciBiYXNlIHZpZGVvIGVuY29kZXIgY2hhbmdlcwoKMjAxMC0wNi0wMSAxNTo1NDo1MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0LmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogTW92ZSBiYXNlIHZpZGVvIGZyb20gdnA4IHRvIGdzdC1saWJzCgoyMDEwLTA2LTAxIDIzOjQ5OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTdmODllNSB0byA0NzY4M2MxCgoyMDEwLTA2LTAxIDIyOjU1OjExIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmQ3Y2EwNCB0byAxN2Y4OWU1CgoyMDEwLTA1LTI2IDA2OjUyOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSAgdnA4OiBVc2UgVlBYX1BMQU5FXyogaW5zdGVhZCBvZiBQTEFORV8qCgoyMDEwLTA1LTI0IDExOjA0OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSAgdnA4OiBBZGQgY29tcGF0aWxpYml0eSBkZWZpbmVzIHRvIHdvcmsgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBsaWJ2cHggdG9vCgoyMDEwLTA1LTIzIDA5OjI4OjEzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZGVjOiBzL0lNR19GTVRfSTQyMC9WUFhfSU1HX0ZNVF9JNDIwLwoJICBUaGlzIGNvcnJlc3BvbmRzIHRvIHVwc3RyZWFtIGxpYnZweCBjb21taXQgNmNkNGExMGUxNjcyMDNkMWRlYjc5YWJmNjBlZTcyNTk5ZTk3ODkxYgoKMjAxMC0wNS0yMiAxMjo1NTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFsbG93IGEgbWF4aW11bSBrZXlmcmFtZSBkaXN0YW5jZSBvZiAwLCBpLmUuIGFsbCBmcmFtZXMgYXJlIGtleWZyYW1lcwoKMjAxMC0wNS0yMiAwOTowODo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSAgaXZmcGFyc2U6IFNlbmQgYW4gaW5pdGlhbCBORVdTRUdNRU5UIGV2ZW50CgoyMDEwLTA1LTIyIDA5OjAyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2l2ZnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSAgaXZmcGFyc2U6IEludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMTAtMDUtMjIgMDg6NTY6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5oOgoJICBpdmZwYXJzZTogQWRkIHNpbXBsZSBJVkYgcGFyc2VyCgkgIFRoaXMgb25seSBzdXBwb3J0cyBWUDggc28gZmFyLgoJICBGaXhlcyBidWcgIzYxOTE1OC4KCjIwMTAtMDUtMjIgMDg6NDU6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBTZXQgZGVjb2RlciBkZWFkbGluZSBmcm9tIHRoZSBRb1MgaW5mb3JtYXRpb24KCjIwMTAtMDYtMDEgMTA6MTg6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4xOSA9PT0KCjIwMTAtMDUtMzEgMDI6MTA6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE5CgoyMDEwLTA1LTMxIDAyOjEwOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTA1LTMxIDAxOjUyOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogYWRkIHNvbWUgZGlzdGNsZWFuIHJ1bGVzIHRvIGZpeCBkaXN0Y2hlY2sKCSAgU3RvbGVuIGZyb20gZ3RrLWRvYy5tNCBhbmQgbm90IGZvdW5kIGluIGd0ay1kb2MtcGx1Z2luLm00LiBXZSBuZWVkCgkgIHRoZW0gYmVjYXVzZSB3ZSBkbyBoYXZlIGxpYnMvaW50ZXJmYWNlcyBzdHVmZiBhcyB3ZWxsIG5vdyAobmFtZWx5CgkgIEdzdFBob3RvZ3JhcGh5KS4KCjIwMTAtMDUtMzEgMDA6MzM6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBmaXggYnVpbGQgb2YgZ3RrLWRvYyBzY2FubmVyCgoyMDEwLTA1LTI4IDE2OjM1OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogTW92ZSBkZWJ1ZyBvdXRwdXQgb25lIGxpbmUgYWJvdmUgd2hlcmUgdGhlIHBhY2tldCBpcyBzdGlsbCB2YWxpZAoKMjAxMC0wNS0yOCAxNTo1MzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IENvcnJlY3RseSBpZ25vcmUgbm9uLWZyYW1lIHBhY2tldHMgZnJvbSB0aGUgZW5jb2RlcgoJICBGaXhlcyBidWcgIzYxOTkxNi4KCjIwMTAtMDUtMjEgMTQ6MDE6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBjaGFuZ2UgcHJvZmlsZSBhbmQgbGV2ZWwgc3RyaW5ncyB0byBzb21ldGhpbmcgbmljZXItbG9va2luZwoJICBUaGlzIGlzIG1vcmUgaW4gbGluZSB3aXRoIHdoYXQgd2UgZG8gZWxzZXdoZXJlLCBldmVuIGlmIGl0IGRvZXNuJ3QKCSAgcmVzZW1ibGUgdGhlIG9mZmljYWwgYWJicmV2aWF0aW9ucyBleGFjdGx5LgoJICBTZWUgIzYxNjA3OC4KCjIwMTAtMDUtMjUgMTY6Mzc6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwbHVnIGEgZmV3IG1lbW9yeSBsZWFrcwoJICBGaXhlcyAjNjE5NjE3LgoKMjAxMC0wNS0yNiAxNDoxMToxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOC4zIHByZS1yZWxlYXNlCgoyMDEwLTA1LTI2IDE0OjAzOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvY2FtZXJhYmluLmRvdDoKCSogZG9jcy9wbHVnaW5zL2NhbWVyYWJpbi5wbmc6CgkqIGRvY3MvcGx1Z2lucy9maWd1cmVzL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZmlndXJlcy9jYW1lcmFiaW4uZG90OgoJKiBkb2NzL3BsdWdpbnMvZmlndXJlcy9jYW1lcmFiaW4ucG5nOgoJICBkb2NzOiBmaXggZGlzdC9kaXN0Y2hlY2sgaXNzdWVzIHdpdGggY2FtZXJhYmluIGZpZ3VyZXMKCSAgTW92ZSBmaWd1cmVzIGludG8gZG9jcy9wbHVnaW5zIGFzIHdlbGwsIHRvIGF2b2lkIGlzc3VlcyB3aXRoCgkgIG1ha2UgZGlzdCBhbmQgbWFrZSBkaXN0Y2hlY2sgKG1ha2UgZGlzdGRpciB3aWxsIG5vdCBmaXJzdCBkZXNjZW5kCgkgIGludG8gY2hpbGQgZGlyZWN0b3JpZXMpLiBPdXQtb2Ytc291cmNlIGJ1aWxkIHNlZW1zIHRvIHN0aWxsIHdvcmsKCSAgYXMgd2VsbC4KCjIwMTAtMDUtMjYgMTI6MzY6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA1LTI2IDExOjU1OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzU3YjBkYiB0byBmZDdjYTA0CgoyMDEwLTA1LTA3IDE2OjQyOjEyICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICBtcGxleDogYWRkIE1QTEVYX0xERkxBR1MgdmFyaWFibGUKCSAgU28gbWluZ3czMiB1c2VycyBjYW4gaGFjayBhcm91bmQgYSBjb21waWxlci9saW5rZXIgYnVnLgoJICBGaXhlcyAjNjE3MTQ1CgoyMDEwLTA1LTI1IDAwOjI3OjE3ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZml4IGNyYXNoIGlmIGRvd25zdHJlYW0gaXMgdW5saWtlZAoJICBtcGVnX3BhY2tldGl6ZXJfZ2V0X2Jsb2NrKCkgaW4gc29tZSBjaXJjdW1zdGFuY2VzIChoZXJlOiBpZgoJICBkb3duc3RyZWFtIHdhcyB1bmxpbmtlZCkgcmV0dXJucyBhIGJsb2NrIGJ1dCBkb2VzIG5vdCBzZXQgdGhlCgkgIGJ1ZmZlciBjYXVzaW5nIG1wZWd2aWRlb3BhcnNlX2RyYWluX2F2YWlsKCkgdG8gY2F1c2UgaW52YWxpZCBtZW1vcnkKCSAgYWNjZXNzLgoJICBGaXhlcyAjNjE5NTAyLgoKMjAxMC0wNS0yNCAxNzo0MTo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkqIGdzdC1saWJzL2dzdC9hcHAvLmdpdGlnbm9yZToKCSogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHAtbWFyc2hhbC5saXN0OgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkqIGdzdC9hcHAvZ3N0YXBwLmM6CgkgIFJlbW92aW5nIHJlbWFpbmluZyBnc3RhcHAqCgkgIFRoZXJlIGFyZSBzb21lIHJlbWFpbmluZyBnc3RhcHAqIGxpdmluZyB1bmxpbmtlZCBmcm9tIHRoZSBidWlsZCBzY3JpcHRzLgoJICBSZW1vdmUgdGhlbS4KCjIwMTAtMDUtMjQgMTk6MjE6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjogRml4IHRlc3QgYnVpbGQKCSAgQWRkcyBtaXNzaW5nIC1iYWQgY2ZsYWdzIHRvIGNhbWVyYWJpbiB0ZXN0cy4KCjIwMTAtMDUtMjMgMTk6MTc6NDEgKzAxMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGZpeCBtaW5vciBtZW1vcnkgbGVhawoJICBEb24ndCBsZWFrIGxhbmd1YWdlIGNvZGUuCgkgIEZpeGVzICM2MTk0NDQuCgoyMDEwLTA1LTIxIDIwOjQ4OjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2djb2xvcnNwYWNlOiByZXNhbXBsZSBZVVYtPllVViBjb252ZXJzaW9ucwoJICBGaXhlcyBhIHNlZ2ZhdWx0IChidWcgIzYxODA0NCkuCgoyMDEwLTA0LTA4IDE2OjA1OjExICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICB2Y2RzcmM6IGNoYW5nZSBWQ0QgVVJJIGhhbmRsZXIgdG8gdGhlIERWRCBzY2hlbWUKCSAgVGhlIGN1cnJlbnQgVVJJIHBhcnNpbmcgY29kZSBkb2Vzbid0IGFsbG93IHNldHRpbmcgdGhlICJkZXZpY2UiCgkgIGZyb20gd2hpY2ggdGhlIFZDRCBzaG91bGQgYmUgcmVhZC4KCSAgVXNlIHRoZSBzYW1lIHN0cnVjdHVyZSBhcyB0aGUgRFZEIFVSSSBoYW5kbGluZyBpbnN0ZWFkLCBzbyB0aGF0CgkgIGRldmljZXMgY2FuIGJlIHBhc3NlZCBpbiB0aGUgVVJJLCBhcyB3ZWxsIGFzIHRyYWNrIG51bWJlci4KCSAgVXAgdGhlIHJhbmsgb2YgdGhlIFZDRCBwbHVnaW4gc28gdGhhdCBpdCBjYW4gYmUgYXV0by1wbHVnZ2VkIGFuZAoJICB1c2VkIGJ5IFRvdGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQwOTg2CgoyMDEwLTA1LTIyIDA3OjQ0OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogVGFrZSB0aGUgZnJhbWUgZHVyYXRpb24gaW50byBhY2NvdW50IHdoZW4gY2FsY3VsYXRpbmcgdGhlIGVhcmxpZXN0IHRpbWUKCSAgVGhpcyBmb3JtdWxhIGlzIHVzZWQgaW4gbWFueSBvdGhlciBlbGVtZW50cyB0b28uCgkgIEZpeGVzIGJ1ZyAjNjE5MzE4LgoKMjAxMC0wNS0yMiAwNzozNTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFJlc2V0IFFvUyB2YWx1ZXMgd2hlbiBuZWNlc3NhcnkKCjIwMTAtMDUtMjIgMDk6MzU6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVc2UgR1NUX1ZJREVPX0NBUFNfWVVWKEk0MjApIGluc3RlYWQgb2YgaGFuZHdyaXR0ZW4gSTQyMCBjYXBzIGZvciB0aGUgcGFkIHRlbXBsYXRlCgkgIEZpeGVzIGJ1ZyAjNjE5MzQ0LgoKMjAxMC0wNS0yMSAyMDo1MzozNiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IGRyb3AgbGF0ZSBmcmFtZXMgYWZ0ZXIgZGVjb2RpbmcgdGhlbQoJICBUaGlzIHNhdmVzIGEgbWVtY3B5LCB3aGljaCBpcyBhbHdheXMgc29tZXRoaW5nLgoKMjAxMC0wNS0yMSAyMToyODoyOSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogdGhyZWFkcyBwcm9wZXJ0eQoJICBJbmNyZWFzaW5nIGZyb20gMSB0byAyIHRocmVhZHMgb24gYW4gVGhpbmtwYWQgWDYwcyBkZWNyZWFzZWQgZW5jb2RlIHRpbWUKCSAgaW4gYSB0ZXN0IGZyb20gfjI0IHMgdG8gfjE5IHMsIHNvIHRoaXMgaXMgcXVpdGUgdXNlZnVsLgoJICBJZGVhbGx5IHdlIHNob3VsZCBsZXQgMCBiZSB0aGUgZGVmYXVsdCBhbmQgYXV0b21hdGljYWxseSBtYXRjaCB0aGUgbnVtYmVyCgkgIG9mIENQVSBjb3JlcyAob3Igc29tZXRoaW5nKS4KCjIwMTAtMDUtMjEgMTU6MTc6NDYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGFkZCBtb2RlIHByb3BlcnR5IHRvIHN3aXRjaCBiZXR3ZWVuIENCUi9WQlIKCSAgQWx3YXlzIHVzaW5nIENCUiB3aGVuIGJpdHJhdGUgaXMgdXNlZCBpc24ndCB0aGF0IGdyZWF0LCBWQlIgbW9kZQoJICBjYW4gcHJvZHVjZSBtZWFuaW5nZnVsIHJlc3VsdHMgdG9vLgoKMjAxMC0wNS0yMSAxMDo1NDo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IE9ubHkgZW5hYmxlIHBvc3Rwcm9jZXNzaW5nIGlmIHRoZSBkZWNvZGVyIHN1cHBvcnRzIGl0CgoyMDEwLTA1LTIxIDA4OjIzOjU4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgdnA4OiB0eXBvOiBzL0hBVkVfVlA4X0RFQ09ERVIvSEFWRV9WUDhfRU5DT0RFUi8KCSAgRml4dXAgZm9yIGJ1ZyAjNjE5MTcyLgoKMjAxMC0wNS0yMSAwODoxMzowNiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogbW92ZSAjaWZkZWYgSEFWRV9WUDhfRU5DT0RFUi9ERUNPREVSCgkgIE90aGVyd2lzZSB3ZSdsbCB0cnkgaW5jbHVkaW5nIGUuZy4gPHZweC92cDhjeC5oPiB3aGljaCBkb2Vzbid0IGV4aXN0LgoKMjAxMC0wNS0yMCAxNjo0OTowMyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdnA4OiBsaW5rIHdpdGggLWxtIC1scHRocmVhZCB3aGVuIHRlc3RpbmcgZm9yIHZwOCBlbmNvZGVyL2RlY29kZXIKCSAgRml4dXAgZm9yIGJ1ZyAjNjE5MTcyLgoKMjAxMC0wNS0yMCAyMDowNjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFdyaXRlIEdTdHJlYW1lciBlbGVtZW50IGFuZCB2ZXJzaW9uIGluIHRoZSB2b3JiaXNjb21tZW50IHZlbmRvciBzdHJpbmcKCjIwMTAtMDUtMjAgMTY6NDk6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICB2cDg6IE9ubHkgZW5hYmxlIHRoZSBlbmNvZGVyIG9yIGRlY29kZXIgaWYgaXQncyBhdmFpbGFibGUgaW4gbGlidnB4CgkgIEZpeGVzIGJ1ZyAjNjE5MTcyLgoKMjAxMC0wNS0yMCAxMDoxOTo1NCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIHZwODogZXhsY3VkZSBkZWMvZW5jIGJhc2VkIG9uIENPTkZJR19WUDhfREVDT0RFUi9FTkNPREVSCgkgIFRoaXMgbWF5IG5vdCBiZSB2ZXJ5IGF1dG90b29saXNoLCBidXQgd29ya3Mgd2l0aCBsaWJ2cHggaW4gdGhlIHN0YXRlCgkgIHRoYXQgbGlidnB4IGlzIGFjdHVhbGx5IGluLiBNb3ZlZCB0aGUgZGVidWcgaW5pdCB0byB0aGUgZWxlbWVudHMKCSAgdGhlbXNlbHZlcyB0byBtaW5pbWl6ZSBhbW91bnQgb2YgI2lmZGVmcwoKMjAxMC0wNS0yMCAxNTo1OTo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGZpeCBodG1sIGltYWdlIGxvY2F0aW9uIGZvciBvdXQtb2Ytc291cmNlIGJ1aWxkCgoyMDEwLTA1LTIwIDA5OjI0OjUzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBMaW1pdCBtYXgtbGF0ZW5jeSB0byAyNSB0byBtYXRjaCBsaWJ2cHgKCSAgRnJvbSBsaWJ2cHgvdnA4L2VuY29kZXIvb255eF9pbnQuaDoKCSAgI2RlZmluZSBNQVhfTEFHX0JVRkZFUlMgKENPTkZJR19SRUFMVElNRV9PTkxZPyAxIDogMjUpCgkgIFdoaWxlIHdlIGRvbid0IG5lZWQgdG8gYmUgdGllZCB0byB3aGF0IGxpYnZweCBkb2VzIGludGVybmFsbHksIGl0CgkgIGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBwcmV0ZW5kIHRvIHN1cHBvcnQgbG9uZ2VyIGZyYW1lIGxhZ3MgdGhhbiBhcmUKCSAgYWN0dWFsbHkgcG9zc2libGUuCgoyMDEwLTA1LTIwIDA5OjU2OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuYzoKCSAgdnA4OiBVbmRlZiBIQVZFX0NPTkZJR19IIGJlZm9yZSBpbmNsdWRpbmcgbGlidnB4IGhlYWRlcnMKCSAgQSBwdWJsaWMgbGlidnB4IGhlYWRlciBpbmNsdWRlcyBwcml2YXRlIGhlYWRlcnMgaWYgdGhpcyBpcwoJICBkZWZpbmVkLCBjYXVzaW5nIGNvbXBpbGF0aW9uIGZhaWx1cmVzIGJlY2F1c2UgdGhlIHByaXZhdGUgaGVhZGVycwoJICBhcmUgbm90IGluc3RhbGxlZCBvZiBjb3Vyc2UuCgoyMDEwLTA1LTIwIDA4OjUzOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogU29tZSBtb3JlIG1pbm9yIGFkanVzdG1lbnRzIGZvciB0aGUgT2dnIG1hcHBpbmcKCjIwMTAtMDUtMTkgMTc6MTI6NTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgU3BsaXQgb3V0IEdTVF9QTFVHSU5TX0JBRF9DRkxBR1MgZnJvbSBHU1RfQ0ZMQUdTCgkgIE1vdmUgaW5jbHVkZSBkaXJlY3RpdmVzIGZvciBnc3QtbGlicyBpbnRvIEdTVF9QTFVHSU5TX0JBRF9DRkxBR1MsCgkgIGFuZCBmaXggYWxsIHRoZSBNYWtlZmlsZXMgdGhhdCB1c2UgaXQuICBUaGlzIGlzIHNvIHRoYXQgYWxsIHRoZQoJICBpbmNsdWRlIGRpcmVjdG9yaWVzIGFyZSBhZGRlZCBpbiB0aGUgcHJvcGVyIG9yZGVyOiBmaXJzdCB0aGUKCSAgZGlyZWN0b3JpZXMgaW4gc3JjZGlyL2J1aWxkZGlyLCB0aGVuIGdzdC1wbHVnaW5zLWJhc2UgZGlycywgdGhlbgoJICBnc3RyZWFtZXIgZGlycy4gIElmIHRoZSBvcmRlciBpcyB3cm9uZywgaW5zdGFsbGVkIGhlYWRlcnMgbWF5IGJlCgkgIHVzZWQgaW5zdGVhZCBvZiBsb2NhbCBoZWFkZXJzIGFuZC9vciB1bmluc3RhbGxlZCBoZWFkZXJzIGZyb20gLWJhc2UuCgoyMDEwLTA1LTE5IDIzOjAyOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRml4IG1lbW9yeSBsZWFrCgoyMDEwLTA1LTE5IDIxOjM0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWRqdXN0IE9nZyBtYXBwaW5nIGZvciB0aGUgY2hhbmdlcwoKMjAxMC0wNS0xMiAxODo1MDozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFkZCBWUDgKCjIwMTAtMDUtMTkgMTg6MTI6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBBZGQgcHJvcGVydGllcyB0byBjb250cm9sIHRoZSBWUDggZGVjb2RlciBwb3N0IHByb2Nlc3NpbmcgZmVhdHVyZQoJICBUaGlzIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgZm9yIG5vdy4KCjIwMTAtMDUtMTkgMTc6MTY6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBSZW5hbWUga2V5ZnJhbWUtaW50ZXJ2YWwgdG8gbWF4LWtleWZyYW1lLWRpc3RhbmNlCgkgIEFuZCB1c2UgZGVmYXVsdCBzZXR0aW5ncyBmb3IgYnVmZmVyIHNpemVzIHVudGlsIHdlIGV4cG9zZSB0aGlzCgkgIHNvbWVob3cuCgoyMDEwLTA1LTE5IDE3OjEzOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJICB2cDg6IEltcHJvdmUgZXJyb3IgaGFuZGxpbmcgYW5kIGRlYnVnIG91dHB1dAoKMjAxMC0wNS0xOSAxNDo0Njo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IFVzZSBjb3JyZWN0IHN0cmlkZXMgYW5kIHBsYW5lIG9mZnNldHMgZm9yIEdTdHJlYW1lcgoKMjAxMC0wNS0xOCAxNDo0Nzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEltcGxlbWVudCBHc3RUYWdTZXR0ZXIgaW50ZXJmYWNlCgoyMDEwLTA1LTE4IDE0OjMzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRml4IHNldHRpbmcgb2YgdGhlIGtleWZyYW1lIGZsYWcgb24gZW5jb2RlZCBmcmFtZXMKCjIwMTAtMDUtMTggMTQ6MzA6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBlbmNvZGVyIGluaXRpYWxpemF0aW9uIGZhaWxzCgoyMDEwLTA1LTE4IDE0OjI4OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRml4IG1lbW9yeSBsZWFrcyBhbmQgZmFpbCBpZiBpbml0aWFsaXppbmcgdGhlIGRlY29kZXIgZmFpbHMKCjIwMTAtMDUtMTggMDI6NDQ6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBTZXQgdGltZWJhc2UKCSAgQWxzbyBtaXNjIGNsZWFudXAuCgoyMDEwLTA1LTE2IDEwOjM2OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRml4IGRlY29kaW5nIG9mIGludmlzaWJsZSBmcmFtZXMKCjIwMTAtMDUtMTQgMTQ6MjY6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgdGhlIGxhdGVuY3kgd2hlbiBpbml0aWFsaXppbmcgdGhlIGVuY29kZXIKCjIwMTAtMDUtMTQgMTQ6MDI6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBDb3JyZWN0bHkgaW5pdGlhbGl6ZSBzdHJlYW0gaW5mbyBiZWZvcmUgcGVla2luZyBhdCB0aGUgc3RyZWFtCgkgIE90aGVyd2lzZSBwZWVraW5nIHdpbGwgZmFpbCBhbmQgd2UnbGwgZ2V0IGludmFsaWQgdmFsdWVzCgoyMDEwLTA1LTE0IDExOjAxOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogTWFrZSBzdXJlIHRvIHBhc3MgYSBrZXlmcmFtZSBhcyBmaXJzdCBmcmFtZSB0byB0aGUgZGVjb2RlciwgY29weSBvdXRwdXQgZnJhbWVzIG9ubHkgb25jZSBhbmQgcmVxdWlyZSB3aWR0aC9oZWlnaHQvZXRjIG9uIHRoZSBpbnB1dCBjYXBzCgoyMDEwLTA1LTE0IDEwOjMwOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWRkIHN1cHBvcnQgZm9yIGludmlzaWJsZSBmcmFtZXMgYW5kIHRoZSBPZ2cgbWFwcGluZwoKMjAxMC0wNS0xNCAwMToxNDo0NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEZpeCByZXNldCBhZnRlciBzZWVraW5nCgkgIEFsc28gcmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCgoyMDEwLTA1LTEzIDIxOjE5OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogU2V0IGZyYW1lIG51bWJlcnMgYXMgYnVmZmVyIG9mZnNldHMKCjIwMTAtMDUtMTMgMjE6MTg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbHdheXMgZ2V0IGFzIG1hbnkgZnJhbWVzIGFzIHBvc3NpYmxlIGZyb20gdGhlIGVuY29kZXIKCjIwMTAtMDUtMTMgMjE6MDg6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaWxsIHRoZSBvbGRlc3QgcGVuZGluZyBmcmFtZSBpbnN0ZWFkIG9mIHRoZSBuZXdlc3QKCjIwMTAtMDUtMTMgMjA6MjA6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBDb3JyZWN0bHkgc2V0IGRlbHRhIHVuaXQgZmxhZyBmb3Igbm9uLWtleWZyYW1lcwoKMjAxMC0wNS0xMyAwMTowNDowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5oOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICB2cDg6IEFkZCBlbmNvZGVyL2RlY29kZXIKCjIwMTAtMDUtMTggMjE6MzI6MjIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggd3JvbmcgdGltZXN0YW1wcyBpbiBzb21lIGNhc2VzIGFmdGVyIHNlZWtpbmcuCgkgIFJlc2V0IC0+bGFzdF9vdXRidWZfZHRzIG9uIGZsdXNoLXN0b3AuIEZpeGVzICM2MTkwNjQuCgoyMDEwLTA1LTE3IDE2OjI2OjAzICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IG1lbW9yeSBjb3JydXB0aW9uIHdoZW4gcGFyc2luZyBhZGFwdGF0aW9uIGZpZWxkCgoyMDEwLTA1LTE3IDExOjUyOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJKiBleHQvcG9seXAvcGx1Z2luLmM6CgkqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzoKCSogZXh0L3BvbHlwL3BvbHlwc2luay5oOgoJICBSZW1vdmUgdW51c2VkIHBvbHlwIGF1ZGlvIHBsdWdpbiBjb2RlCgkgIHBvbHlwYXVkaW8gd2FzIHJlbmFtZWQgdG8gcHVsc2VhdWRpbyBhZ2VzIGFnby4KCSAgRml4ZXMgIzYxODg2Ny4KCjIwMTAtMDUtMTUgMTU6Mzc6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIHJlc2luZHZkOiBDaGVjayBmb3IgZHZkbmF2IGFuZCBkdmRyZWFkIGxpYnJhcmllcwoKMjAxMC0wNS0xNSAwMToxODo1MiArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogRG9uJ3QgaW5zdGFsbCBjYW1lcmFiaW4gZXhhbXBsZXMKCjIwMTAtMDUtMTUgMDA6MTk6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTguMiBwcmUtcmVsZWFzZQoKMjAxMC0wNS0xNCAxODozMTo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIGRvY3M6IHJlbW92ZSBtb3JlIGNydWZ0IHJlbGF0ZWQgdG8gcGx1Z2lucyB0aGF0IGhhdmUgYmVlbiBtb3ZlZCB0byAtZ29vZAoKMjAxMC0wNS0xNCAxODoyNToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDRkNjdiZDYgdG8gMzU3YjBkYgoKMjAxMC0wNS0xNCAxNjo1MzoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoKMjAxMC0wNS0xNCAwMTo1NTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCBvbGQgc2hhdmUgZmlsZXMgaW4gY29tbW9uIHRvICdjcnVmdCcgZmlsZXMKCjIwMTAtMDUtMTMgMTQ6NDI6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiBPbmx5IGNsb3NlIHRoZSBjb25uZWN0aW9uIGlmIGl0J3Mgb3BlbmVkCgoyMDEwLTA1LTEzIDE0OjQxOjA4ICswMjAwICBJdmFuIFpkZXJhZGlja2EgPGl2YW4uemRlcmFkaWNrYUBnbWFpbC5jb20+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IERvbid0IG9wZW4gYW4gaW5maW5pdGUgbnVtYmVyIG9mIGNvbm5lY3Rpb25zIHRvIHRoZSBzZXJ2ZXIgYW5kIGNsb3NlIGNvbm5lY3Rpb25zCgkgIEZpeGVzIGJ1ZyAjNjE4NTI3LgoKMjAxMC0wNS0xMyAxMjo1NToyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrc3JjOiBtYWtlIHN1cmUgd2UgYWx3YXlzIHJlYWQgbmZyYW1lcwoJICBFcnJvciBvdXQgd2hlbiB3ZSBhcmUgYXNrZWQgdG8gcmVhZCBhIGRpZmZlcmVudCBzaXplIHRoYXQgd2hhdCB3YXMgY29uZmlndXJlZCBhcwoJICB0aGUgamFjayBwZXJpb2Qgc2l6ZSBiZWNhdXNlIHRoYXQgd291bGQgbWVhbiBzb21ldGhpbmcgZWxzZSBpcyB3cm9uZy4KCSAgRml4ZXMgIzYxODQwOQoKMjAxMC0wNS0xMSAxNzo1NjozMSAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGltcHJvdmUgcHJvY2Vzc19jYgoKMjAxMC0wNS0xMSAxMzo1Mjo1MSAtMDQwMCAgSm9zaHVhIE0uIERvZSA8am9zaHVhLmRvZUB1cy5hcm15Lm1pbD4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmg6CgkgIGZyZWkwcjogRml4IHNldHRpbmcgb2YgYm9vbGVhbiB2YWx1ZXMKCSAgU2V0dGluZyBib29sZWFuIHR5cGUgcGFyYW1ldGVycyBmcm9tIGdzdC1sYXVuY2ggZmFpbGVkIGJlY2F1c2Ugb2YgaW1wcm9wZXIgaGFuZGxpbmcgb2YgdHlwZSBjb252ZXJzaW9ucy4KCSAgRml4ZXMgYnVnICM2MTgzODguCgoyMDEwLTA1LTEyIDEzOjAwOjE2ICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBwYXJzZSBURFQgdGFibGUgaW4gbXBlZ3RzLgoJICBTb21lIHRhYmxlcyBpbiBNUEVHLVRTIGRvIG5vdCBoYXZlIGEgY3JjIGluIHRoZSBzcGVjLCBzbyBhbHNvIG1wZWd0c3BhcnNlCgkgIGlzIG5vdCBjYWxjdWxhdGluZyBjcmMgZm9yIHNlY3Rpb25zIHdpdGggdGFibGVfaWQgMHg3MCAtIDB4NzIgYmVjYXVzZSB0aGV5CgkgIGRvIG5vdCBoYXZlIGEgQ1JDIGluIHRoZSBzcGVjLiBTZWUgRU4zMDA0NjguIFBhcnNlIFRpbWUgYW5kIERhdGUgdGFibGUgYW5kCgkgIG91dHB1dCBidXMgbWVzc2FnZS4KCjIwMTAtMDUtMTEgMTY6MDM6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiByZW1vdmUgb3NzNCBzdHJpbmdzCgoyMDEwLTA1LTExIDE1OjMzOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHBvL1BPVEZJTEVTLmluOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuaDoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSogc3lzL29zczQvb3NzNC1zb3VuZGNhcmQuaDoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuaDoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJICBSZW1vdmUgb3NzNCBwbHVnaW4KCSAgSXQgaGFzIGJlZW4gbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ29vZC4KCSAgU2VlICM2MTQzMDUuCgoyMDEwLTA1LTExIDE0OjAyOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBSZW1vdmUgaW1hZ2VmcmVlemUgcGx1Z2luL2VsZW1lbnQuCgkgIEl0IGhhcyBiZWVuIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QuCgkgIFNlZSAjNjEzNzg2LgoKMjAxMC0wNS0xMSAxMzoxNTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiBkb24ndCBmYWlsIHRhZ3NjaGVja2luZyB0ZXN0IGlmIHF0ZGVtdXggaXMgbm90IGF2YWlsYWJsZSBvciB0b28gb2xkCgoyMDEwLTA1LTExIDEzOjA4OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkgIFJlbW92ZSBjYXBzc2V0dGVyIGVsZW1lbnQKCSAgSXQgaGFzIGJlZW4gbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ29vZC4KCSAgU2VlICM2MTc3MzkuCgoyMDEwLTA1LTExIDEwOjA0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDaGVjayBmb3IgR1RLKyAzLjAgYW5kIGlmIGl0J3Mgbm90IGF2YWlsYWJsZSBmb3IgR1RLKyAyLjAKCjIwMTAtMDUtMTEgMTA6MDE6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJICBzY2FsZXRlbXBvOiBEb24ndCB1c2UgZGVwcmVjYXRlZCBHVEsgc3ltYm9scyBpbiB0aGUgZGVtbwoKMjAxMC0wNS0wNyAxOToxNTozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IERvbid0IHRyeSB0byByZS1zZW5kIHRoZSBzYW1lIGV2ZW50IG1vcmUgdGhhbiBvbmNlCgoyMDEwLTA1LTA3IDIyOjUzOjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IG1ha2UgdGhlIGludGVudGlvbiBvZiB0aGUgZWxlbWVudHMgbW9yZSBjbGVhcgoKMjAxMC0wNS0wNyAxMzo1NzoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgUmV2ZXJ0ICJqaWZtdXg6IE1lcmdlIHhtcCBhbmQgdGFnc2V0dGVyIHRhZ3MuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDRlNWM0MTIyMzQ5MDMxMjY0YmY0N2U2YWY5MzM4ZjhhZTAyMzZkNWYuCgkgIGppZm11eCBzaG91bGRuJ3QgYmUgYWJsZSB0byBoYW5kbGUgamlmIGFuZCBzaG91bGRuJ3QgZXhwZWN0CgkgIGFueSB4bXAgb24gaXRzIGRhdGEuIFNvLCBubyBuZWVkIHRvIGhhbmRsZSB0aGVtLgoKMjAxMC0wNS0wNyAxMjo0MjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBNZXJnZSB4bXAgYW5kIHRhZ3NldHRlciB0YWdzLgoJICBXaGVuIHRoZSBjdXJyZW50IGZpbGUgYWxyZWFkeSBoYXMgdGFncywgdGhleSBzaG91bGRuJ3QgYmUgaWdub3JlZCwKCSAgcGFyc2UgdGhlbSBhbmQgbWVyZ2Ugd2l0aCB0aGUgdGFnc2V0dGVyIG9uZXMuCgoyMDEwLTA1LTA3IDExOjA3OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IFJlamVjdCBidWZmZXJzIHdpdGhvdXQgY2FwcwoJICBqaWZtdXggZXhwZWN0cyB3aG9sZSBqcGVnIHBpY3R1cmVzIGluIGJ1ZmZlcnMsIHNvIGl0IHNob3VsZAoJICByZWplY3QgYnVmZmVycyB3aXRob3V0IGNhcHMuCgoyMDEwLTA1LTA3IDEwOjU5OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IEJlIHNhZmUgYW5kIGNoZWNrIGJ5dGV3cml0ZXIgcmV0dXJucwoJICBDaGVjayBHc3RCeXRlV3JpdGVyIHJldHVybnMgdG8ga25vdyB3aGVuIHJlY29tYmluaW5nIHRoZSBpbWFnZQoJICBmYWlsZWQgYW5kIGxvZyBhIHdhcm5pbmcuCgoyMDEwLTA1LTA3IDEwOjEzOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IEF2b2lkIGFkZGluZyAyIHhtcCBwYWNrZXRzCgkgIGppZm11eCB3YXMgb25seSBhcHBlbmRpbmcgYSBuZXcgeG1wIHBhY2tldCB0byB0aGUgc3RyZWFtLAoJICBpdCBzaG91bGQgcmVwbGFjZSBpZiB0aGVyZSBpcyBhbHJlYWR5IG9uZS4KCjIwMTAtMDUtMDcgMTA6NTg6NDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGZyZWV6ZSB0byBwbHVnaW4gZG9jcwoKMjAxMC0wNS0wNyAwODoxMjo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleGFtcGxlcy9tcHRzX3Rlc3QyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0c211eC9tcHRzX3Rlc3QyLmM6CgkgIG1wZWd0c211eDogTW92ZSBtdWx0aS1wcm9ncmFtIG11eGluZyBleGFtcGxlIGF0IGxlYXN0IHRvIHRoZSBjb3JyZWN0IGRpcmVjdG9yeQoJICBCdXQgaXQgZG9lc24ndCB3b3JrIG91dCBvZiB0aGUgYm94IGJlY2F1c2Ugb2YgaGFyZGNvZGVkIHBhdGhzLgoKMjAxMC0wNS0wNiAxMzo1MToyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1pYzogUHVzaCBvdXQgbmV3c2VnbWVudCBmcm9tIGN1cnJlbnQgdGltZXN0YW1wIGlmIHRoZSBpbmNvbWluZyB0cyBpcyB2YWxpZAoJICBQdXNoIG91dCBuZXdzZWdtZW50IGV2ZW50IHdpdGggdGhlIHRpbWVzdGFtcCBmcm9tIHRoZSBpbmNvbWluZyBidWZmZXIgaWYKCSAgdGhlIGluY29taW5nIGJ1ZmZlcnMgaGF2ZSBhIHZhbGlkIHRpbWVzdGFtcCBidXQgbm8gdmFsaWQgbmV3c2VnbWVudCBldmVudAoJICBoYXMgYmVlbiB0aHJvdWdoLgoKMjAxMC0wNS0wNiAyMjozODoyMiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBcHBseSBjYXBzIHRvIGdlbmVyYXRlZCBidWZmZXJzCgkgIEF2b2lkIHRoZSBuZXcgd2FybmluZyBmcm9tIHRoZSBjb3JlIGFib3V0IG5vdCBiZWluZyBhYmxlIHRvIGFwcGx5IGNhcHMKCSAgdG8gTkFWIHBhY2tldCBidWZmZXJzLCB3aGVyZSByZXNpbmR2ZHNyYyBob2xkcyBhIHJlZi4KCjIwMTAtMDUtMDYgMTM6MTI6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmg6CgkgIGNhcHNzZXR0ZXI6IFNvbWUgbWlub3IgY2xlYW51cAoKMjAxMC0wNS0wNiAwOTo1MToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IFVzZSB0aGUgZXNjYXBlZCBsb2NhdGlvbiBmb3IgdGhlIFJUU1AgcmVkaXJlY3QgbWVzc2FnZQoJICBnc3RfdXJpX2dldF9sb2NhdGlvbigpIHVuZXNjYXBlcyB0aGUgbG9jYXRpb24sIHdoaWNoIGNvdWxkIHJlc3VsdCBpbgoJICBhbiBpbnZhbGlkIFJUU1AgVVJJLgoKMjAxMC0wNS0wNiAwOTo0ODowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IENoZWNrIFVSSSBmb3IgdmFsaWRpdHkgYW5kIHdvcmsgYXJvdW5kIFVSSSBwYXJzaW5nIGJ1Z3MgaW4gbGlibW1zCgkgIEZpeGVzIGJ1ZyAjNjE3NjUwLgoKMjAxMC0wNS0wNiAwODowODowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IFNvbWUgcmFuZG9tIGNsZWFudXAKCjIwMTAtMDUtMDUgMTI6MjM6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBTZXQgZml4ZWQgY2FwcyBvbiB0aGUgY29ycmVjdCBwYWQKCSAgVGhpcyBtYWtlcyB0aGUgc2luayBnZXRjYXBzIGZ1bmN0aW9uIGFjdHVhbGx5IHVzZWQgaW5zdGVhZCBvZiB1c2luZwoJICB0aGUgZml4ZWQgY2FwcyBmdW5jdGlvbiBmb3IgaXQuCgoyMDEwLTA1LTAxIDEyOjMxOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJICBBZGQgbmV3IGNhbWVyYWJpbiB0ZXN0IGJpbmFyeSB0byAuZ2l0aWdub3JlCgoyMDEwLTA1LTAxIDE1OjAwOjI3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5oOgoJICB2ZHBhdTogZml4IHNtYWxsIHR5cG8KCjIwMTAtMDUtMDEgMTQ6NTg6MzAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAuaDoKCSAgdmRwYXU6IGFkZCBsZWZ0b3ZlciBnc3R2ZHAuaAoKMjAxMC0wNS0wMSAxNDo0NTowNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZml4IGNyYXNoZXIgb24gc2V0dGluZyBwcm9wZXJ0aWVzIGJlZm9yZSB3ZSdyZSBpbiBSRUFEWQoKMjAxMC0wNC0yOSAyMjo0Mzo1OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSAgdmRwYXU6IHJlbW92ZSBkZWJ1ZyBjb2RlCgoyMDEwLTA0LTI5IDIyOjI0OjM1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSAgdmRwYXU6IHNtYWxsIGFwaSBjbGVhbnVwCgkgIG1lcmdlIGdzdF92ZHBfdmlkZW9fYnVmZmVyX2dldF9hbGxvd2VkX1t2aWRlb3x5dXZdX2NhcHMgaW50bwoJICBnc3RfdmRwX3ZpZGVvX2J1ZmZlcl9nZXRfYWxsb3dlZF9jYXBzCgoyMDEwLTA0LTIyIDEyOjU3OjMwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkgIHZkcGF1OiBzbWFsbCBmaXhlcwoKMjAxMC0wNC0yMiAxMjo1Mjo0MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJICB2ZHBhdTogYWRkIGJhY2sgZ3N0dmRwYXUuYwoKMjAxMC0wMy0xNyAyMTowMjowNyArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIHZkcGF1OiBhZGQgZ3N0X3ZkcF9pbml0IGZ1bmN0aW9uIHdoZXJlIHdlIHJlZ2lzdGVyIHR5cGVzCgoyMDEwLTAzLTE3IDIwOjU5OjA4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1OiBhZGQgYmV0dGVyIGVycm9yIGhhbmRsaW5nIHRvIEdzdFZkcE91dHB1dFNyY1BhZAoJICBnc3RfdmRwX291dHB1dF9zcmNfcGFkX3B1c2gsIGdzdF92ZHBfb3V0cHV0X3NyY19wYWRfYWxsb2NfYnVmZmVyIGFuZAoJICBnc3RfdmRwX291dHB1dF9zcmNfcGFkX2dldF9kZXZpY2Ugbm93IHRha2UgYSBHRXJyb3IgcGFyYW1ldGVyIHRvIGJlIGFibGUgdG8KCSAgc2lnbmFsIGVycm9ycyB0byB0aGUgY2FsbGVyCgoyMDA5LTExLTI4IDIzOjU4OjU3ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICB2ZHBhdTogbWFrZSBHc3RWZHBWaWRlb1NyY1BhZChDbGFzcyk/IHByaXZhdGUKCjIwMDktMTEtMjggMjM6NTU6MDkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IGZvbGxvdyBHc3RWZHBWaWRlb1NyY1BhZCBjaGFuZ2VzCgoyMDA5LTExLTI4IDIzOjUyOjE1ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICB2ZHBhdTogcmVtb3ZlIHRlbXBsYXRlLWNhcHMgcHJvcGVyeSBmb3JtIEdzdFZkcFZpZGVvU3JjUGFkCgkgIEdzdFZkcFZpZGVvU3JjUGFkIG5vdyB1c2UgdGhlIHRlbXBsYXRlIHByb3BlcnR5IG9mIEdzdFBhZCBpbnN0ZWFkLiBBbHNvIGNoYW5nZWQKCSAgdGhlIF9uZXcgZnVuY3Rpb24gdG8gYmUgbGlrZSBnc3RfcGFkX25ld19mcm9tX3RlbXBsYXRlLgoKMjAxMC0wNS0wMSAwMToxNjo1MCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgRml4IHdhcm5pbmdzIGluIGRpcmVjdGRyYXdzaW5rIGFuZCBkaXJlY3Rzb3VuZHNyYwoJICBGaXhlcyAjNjE3MzMxCgoyMDEwLTA0LTMwIDE5OjAzOjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zCgoyMDEwLTA0LTI5IDE2OjMzOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGltcHJvdmUgYnVmZmVyIHNjYW5uaW5nCgkgIFNwZWNpZmljYWxseSwgd2hlbiBzY2FubmluZyBmb3IgZW50cm9weSBkYXRhIHNlZ21lbnQgbGVuZ3RoIGFuZCBuZWVkaW5nCgkgIG1vcmUgZGF0YSwgZG8gbm90IHJlc2NhbiBmcm9tIHN0YXJ0IG5leHQgdGltZSBhcm91bmQsIGJ1dCByZXN1bWUgYXQKCSAgbGFzdCBwb3NpdGlvbi4KCSAgU2VlIGFsc28gIzU4MzA0Ny4KCjIwMTAtMDQtMjcgMTA6NDg6MzIgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5AdHJpc3Rhbi1sYXB0b3AuKG5vbmUpPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5oOgoJICBqYWNrOiBpbXBsZW1lbnQgbXVsdGljaGFubmVsIHN1cHBvcnQgY29ycmVjdGx5IGZvciBqYWNrYXVkaW9zcmMKCSAgRml4ZXMgcGFydHMgb2YgYnVnICM2MTY1NDEuCgoyMDEwLTA0LTI5IDEzOjE4OjU4ICswMTAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQG9yYWNsZS5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkgIG9zczRzaW5rOiBpbXBsZW1lbnQgR3N0U3RyZWFtVm9sdW1lIGludGVyZmFjZSBhbmQgYWRkIG11dGUgYW5kIHZvbHVtZSBwcm9wZXJ0aWVzCgkgIE9TUzQgc3VwcG9ydHMgcGVyLXN0cmVhbSB2b2x1bWUgY29udHJvbCwgc28gZXhwb3NlIHRoaXMgdXNpbmcgdGhlIHJpZ2h0CgkgIEFQSSwgc28gdGhhdCBwbGF5YmluMiBhbmQgYXBwbGljYXRpb25zIGxpa2UgdG90ZW0gY2FuIG1ha2UgdXNlIG9mIGl0CgkgIChpbnN0ZWFkIG9mIHVzaW5nIGEgdm9sdW1lIGVsZW1lbnQgZm9yIHZvbHVtZSBjb250cm9sKS4KCSAgRml4ZXMgIzYxNDMwNS4KCjIwMTAtMDQtMjkgMDQ6NDI6MjEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgRml4IHByaW50ZiBmb3JtYXQgc3RyaW5ncyBmb3IgZ2NjIDQuNQoJICBEb25lIG9uIFdpbmRvd3MvTWluR1cuCgkgIEZpeGVzICM2MTcxNDYKCjIwMTAtMDQtMjcgMTE6MjE6MTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkgIGphY2s6IHJlbW92ZSBlbXB0eSBkaXNwb3NlIGFuZCBmaW5hbGl6ZSBtZXRob2RzCgoyMDEwLTA0LTI3IDEwOjU5OjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBkb24ndCBsZWFrIGNhcHMKCSAgQWRkIGRpc3Bvc2UgbWV0aG9kcyB0byBjbGVhciBjYXBzLgoKMjAxMC0wNC0yNyAxMDozNDoyNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZG9uJ3QgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBnb2JqZWN0IHZtZXRob2RzCgoyMDEwLTA0LTI2IDE1OjA2OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsYWRzcGEsbHYyOiBkb24ndCBmYWlsIGluIHBsdWdpbl9pbml0IHdoZW4gaGF2aW5nIDAgZWxlbWVudHMKCSAgSWYgd2UgZmFpbCwgdGhlIHBsdWdpbiBzY2FubmVyIHdpbGwgYmxhY2tsaXN0IHVzLgoKMjAxMC0wNC0yMyAxNDo0MToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZjODU4NjcgdG8gNGQ2N2JkNgoKMjAxMC0wNC0yMCAxNjo1ODozMyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCBtZWFuaW5nZnVsIG5hbWVzIGZvciBxdWV1ZSBlbGVtZW50cyBpbnNpZGUgY2FtZXJhYmluCgoyMDEwLTA0LTIwIDE1OjM3OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogYWxzbyBzZXQgc2hvcnQgY29uZmlndXJhdGlvbiBkYXRhIGluIGNvZGVjX2RhdGEKCSAgVGhhdCBpcywgaGVhZGVyIGNvbmZpZ3VyYXRpb24gbWF5IHN0YXJ0IGF0IFZpZGVvIE9iamVjdCAoc3RhcnRjb2RlKSwKCSAgcmF0aGVyIHRoYW4gYXQgVmlzdWFsIE9iamVjdCBTZXF1ZW5jZSwgd2hpY2ggaXMgY2F0ZXJlZCBmb3IgYW5kIHBhcnNlZCwKCSAgc28gbGV0J3MgYWxzbyB0YWtlIGl0IGFzIGNvZGVjX2RhdGEgaWYgbm8gbW9yZSBhdmFpbGFibGUuCgkgIEZpeGVzIChyZW1haW5kZXIgb2YpICM1NzI1NTEuCgoyMDEwLTA0LTE5IDE5OjA0OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQXZvaWQgY3Jhc2hpbmcgd2hlbiBzZXR0aW5nIHpvb20gaW4gTlVMTAoJICBBdm9pZCBzZXR0aW5nIHpvb20gaW4gTlVMTCBzdGF0ZSBiZWNhdXNlIHRoZSBzb3VyY2UgaXMgbm90CgkgIHNldCB5ZXQgYW5kIHRoaXMgbGVhZHMgdG8gYSBjcmFzaC4gSXQgaXMgc2V0IG9uIFJFQURZID4gUEFVU0VECgkgIGFueXdheS4KCjIwMTAtMDQtMTggMTQ6NTE6MzUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEV4cG9ydCBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgkgIFRoaXMgZXhwb3J0cyBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzIGZvciBNUEVHIDIgc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjA3OAoKMjAxMC0wNC0xNiAxOTo0NToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlZnMuaDoKCSAgcmVzaW5kdmRiaW46IFVzZSBHU1RfRkxPV19DVVNUT01fU1VDQ0VTUyBpbnN0ZWFkIG9mIHNvbWUgaW50ZWdlcgoJICBGaXhlcyBjb21waWxlciB3YXJuaW5ncyB3aXRoIGdjYyA0LjUuCgkgIFRoaXMgaXMgdGhlIHNhbWUgYXMgY29tbWl0IDVhNTFkYmQuCgoyMDEwLTA0LTE2IDE5OjQzOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSAgbXBlZ2RlbXV4OiBVc2UgR1NUX0ZMT1dfQ1VTVE9NX1NVQ0NFU1MgaW5zdGVhZCBvZiBzb21lIGludGVnZXIKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZyB3aXRoIGdjYyA0LjUuCgoyMDEwLTA0LTE2IDE5OjQyOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIFJldmVydCAibXBlZ3BzZGVtdXg6IFdvcmthcm91bmQgbmV3IGdjYyA0LjUgY29tcGlsZXIgd2FybmluZyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhMzMxMjI4ZWNjZmI4YzY2NDkzZmEzYzhjNDkzMzhjNzljZjQ2NDJjLgoKMjAxMC0wNC0xNiAxOTo0MTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIFJldmVydCAicmVzaW5kdmRiaW46IEFwcGx5IGdjYyA0LjUgY29tcGlsZXIgd2FybmluZyB3b3JrYXJvdW5kIHRvIHRoZSBtcGVncHNkZW11eCBjb3B5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDY1YjBmNzVkMWIzMTE5MzE2YjJkY2FmNWJmZjRkZmQyYmQ4MjRjYzEuCgoyMDEwLTA0LTE1IDIxOjQ0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IEFub3RoZXIgd29ya2Fyb3VuZCBmb3IgZW51bSB2YWx1ZXMgdGhhdCBhcmUgbm90IGFjdHVhbGx5IG1lbWJlciBvZiB0aGUgZW51bQoKMjAxMC0wNC0xNSAyMTo0MDoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkYmluOiBBcHBseSBnY2MgNC41IGNvbXBpbGVyIHdhcm5pbmcgd29ya2Fyb3VuZCB0byB0aGUgbXBlZ3BzZGVtdXggY29weQoJICBTYW1lIGFzIGEzMzEyMjhlY2NmYjhjNjY0OTNmYTNjOGM0OTMzOGM3OWNmNDY0MmMuCgoyMDEwLTA0LTE1IDIxOjM4OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiBJbml0aWFsaXplIHBvc3NpYmx5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMTAtMDQtMTUgMjE6MzU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBBY3R1YWxseSBjb21wYXJlIHRoZSBzdGF0ZSBhbmQgbm90IHRoZSBzdGF0ZSBjaGFuZ2UgcmV0dXJuIGZyb20gX2dldF9zdGF0ZSgpCgoyMDEwLTA0LTE1IDIxOjI2OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBXb3JrYXJvdW5kIG5ldyBnY2MgNC41IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ2NjIDQuNSB3YXJucyB3aGVuIGNvbXBhcmluZyBzb21lIGludGVnZXIgd2l0aCBhbiBlbnVtIHZhbHVlLCBpbgoJICB0aGUgY2FzZSBvZiBHc3RGbG93UmV0dXJuIHRoaXMgaXMgdmFsaWQgdGhvdWdoLiBXZSBzaG91bGQgbGF0ZXIKCSAgYWRkIEdTVF9GTE9XX0NVU1RPTV9PSzEsIEdTVF9GTE9XX0NVU1RPTV9PSzIsIGV0Yy4gYWZ0ZXIgbmV3IGNvcmUKCSAgaXMgcmVsZWFzZWQuCgoyMDEwLTA0LTE1IDIwOjUwOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkgIGNkeGFwYXJzZTogQ29tcGFyZSB0aGUgY29ycmVjdCB2YXJpYWJsZSB0byBHU1RfU0VFS19UWVBFX1NFVAoKMjAxMC0wNC0xNSAwNzoyNDoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRHJvcCAtV2Nhc3QtYWxpZ24KCSAgQ29tbWl0IG1lc3NhZ2UgY29waWVkIGZyb20gY29yZSdzIGNvbW1pdCBmcm9tIEJlbmphbWluIE90dGU6CgkgIDI0NmY1ZGJhOTZhNWI1MGJiNzQ2MjFhZjY3YjMwOTQyY2NhNzJhZjUKCSAgQXBwYXJlbnRseSBnY2Mgd2FybnMgdGhhdCBHc3RNaW5pT2JqZWN0IGlzIG5vdCBjYXN0YWJsZSB0bwoJICBHc3RFdmVudC9NZXNzYWdlL0J1ZmZlciBkdWUgdG8gdGhlbSBjb250YWluaW5nIDY0Yml0IHZhcmlhYmxlcywgZXZlbgoJICB0aG91Z2ggQVJNIGhhY2tlcnMgY2xhaW0gdGhhdCB0aG9zZSBvbmx5IG5lZWQgNGJ5dGUgYWxpZ25tZW50LiBBbmQgYXMKCSAgbG9uZyBhcyBnY2MgYmVoYXZlcyB0aGF0IHdheSwgdGhpcyB3YXJuaW5nIGlzIG5vdCB2ZXJ5IHVzZWZ1bC4KCSAgU28gd2UnbGwgcmVtb3ZlIHRoZSB3YXJuaW5nIHVudGlsIHRoaXMgcHJvYmxlbSBpcyBmaXhlZC4KCSAgRml4ZXMgIzYxNTY5OAoKMjAxMC0wNC0xNSAxMzoyMDo0MiArMDMwMCAgQWRhbSBFbmRyb2RpIDxhZGFtLmVuZHJvZGlAYmx1bXNvZnQuZXU+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHJlc2V0IHNvZnR3YXJlIHpvb21pbmcgaWYgbm90IHNldCBieSB0aGUgcGhvdG8gaW50ZXJmYWNlCgkgIE90aGVyd2lzZSBib3RoIHNvZnR3YXJlICh2aWRlb3NjYWwrdmlkZW9jcm9wKSBhbmQgaGFyZHdhcmUgem9vbWluZyB3b3VsZCBiZSB1c2VkLgoKMjAxMC0wNC0xNCAxNjo0Mjo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IEZpeCB1cCBlbGVtZW50IGRldGFpbHMKCjIwMTAtMDQtMTQgMTY6MzI6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2Jhc2UuYzoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ29iamVjdC5jOgoJKiB0b29scy9nc3RhdWRpb2ZpbHRlci5jOgoJKiB0b29scy9nc3RhdWRpb3NpbmsuYzoKCSogdG9vbHMvZ3N0YXVkaW9zcmMuYzoKCSogdG9vbHMvZ3N0YmFzZWF1ZGlvc2luay5jOgoJKiB0b29scy9nc3RiYXNlYXVkaW9zcmMuYzoKCSogdG9vbHMvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJKiB0b29scy9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJKiB0b29scy9nc3RiYXNlc2luay5jOgoJKiB0b29scy9nc3RiYXNlc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2V0cmFuc2Zvcm0uYzoKCSogdG9vbHMvZ3N0Y2RkYWJhc2VzcmMuYzoKCSogdG9vbHMvZ3N0ZWxlbWVudC5jOgoJKiB0b29scy9nc3RwdXNoc3JjLmM6CgkqIHRvb2xzL2dzdHRhZ2RlbXV4LmM6CgkqIHRvb2xzL2dzdHZpZGVvc2luay5jOgoJICB0b29sczogQWRkIGVsZW1lbnQtbWFrZXIKCSAgQWRkIGEgc2NyaXB0IHRoYXQgY3JlYXRlcyBlbGVtZW50cyBiYXNlZCBvbiBhbnkgb2YgdGhlIEdTdHJlYW1lcgoJICBiYXNlIGNsYXNzZXMuICBJdCBpc24ndCB2ZXJ5IHVzZXIgZnJpZW5kbHkgYXQgdGhlIG1vbWVudCwgb25lCgkgIG5lZWRzIHRvIGVkaXQgdGhlIHNjcmlwdCB0byBtYWtlIGl0IHdvcmsgcHJvcGVybHkuICBFYWNoIGJhc2UgY2xhc3MKCSAgaGFzIGEgdGVtcGxhdGUgZmlsZSBkZXNjcmliaW5nIHdoYXQgdG8gcHV0IGludG8gdGhlIGNvbnN0cnVjdGVkCgkgIGVsZW1lbnQuICBFdmVudHVhbGx5LCB0aGVzZSB0ZW1wbGF0ZXMgc2hvdWxkIGJlIG1vdmVkIHRvIHJlc2lkZQoJICB3aXRoIHRoZSBiYXNlIGNsYXNzIHNvdXJjZSBhbmQgaW5zdGFsbGVkIHRvIGEgd2VsbC1rbm93biBkaXJlY3RvcnksCgkgIHdoZXJlIGFuIGluc3RhbGxlZCBzY3JpcHQgY291bGQgZmluZCB0aGVtLgoJICBUaGUgdGVtcGxhdGUgZmlsZXMgdXNlIHRoZSAuYyBlbmRpbmcgc28gZWRpdG9ycyBrbm93IHRoZXkgYXJlIEMKCSAgc291cmNlLCBidXQgZ3N0LWluZGVudCBkb2Vzbid0IGhhbmRsZSB0aGVtIGNvcnJlY3RseS4gIFNvIHRoZXkKCSAgbmVlZCB0byBiZSBjb21taXR0ZWQgd2l0aCAtbi4gIFVnaC4gIEknbGwgdHJ5IHRvIGZpZ3VyZSBvdXQgYSBmaXgKCSAgZm9yIHRoYXQgc29vbi4KCjIwMTAtMDQtMTMgMjA6MzI6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogQWRkIHZpZGVvLWNhcHR1cmUtd2lkdGgvaGVpZ2h0L2ZyYW1lcmF0ZSBwcm9wZXJ0aWVzCgkgIEFkZHMgdmlkZW8tY2FwdHVyZS13aWR0aCwgdmlkZW8tY2FwdHVyZS1oZWlnaHQgYW5kCgkgIHZpZGVvLWNhcHR1cmUtZnJhbWVyYXRlIHByb3BlcnRpZXMgdG8gYWxsb3cgYXBwbGljYXRpb25zIHRvCgkgIGdldC9zZXQgdGhvc2UgdmFsdWVzLiBHZXR0aW5nIHdhcyBub3QgcG9zc2libGUgYmVmb3JlIHRoaXMgcGF0Y2gsCgkgIGFuZCBzZXR0aW5nIHdhcyBkb25lIHRocm91Z2ggdGhlIHNldC12aWRlby1yZXNvbHV0aW9uLWZwcwoJICBhY3Rpb24sIHdoaWNoIHNldHMgdGhlIHByb3BlcnRpZXMgYW5kIHByb21wdGx5IHJlc2V0cyB0aGUKCSAgdmlkZW8gc291cmNlIHRvIHVzZSB0aGVtLgoJICBGaXhlcyAjNjE0OTU4CgoyMDEwLTA0LTEzIDE4OjMzOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBBZGRzIGltYWdlLWNhcHR1cmUtd2lkdGgvaGVpZ2h0IHByb3BlcnRpZXMKCSAgQWRkcyBpbWFnZS1jYXB0dXJlLXdpZHRoIGFuZCBpbWFnZS1jYXB0dXJlLWhlaWdodCBwcm9wZXJ0aWVzCgkgIHRvIGNhbWVyYWJpbiwgYWxsb3dpbmcgdGhlIHVzZXIgdG8gZ2V0L3NldCB0aGVtLiBHZXR0aW5nIHdhcwoJICBub3QgcG9zc2libGUgYmVmb3JlIGFuZCBzZXR0aW5nIHdhcyBkb25lIHRocm91Z2ggdGhlCgkgIHNldC1pbWFnZS1yZXNvbHV0aW9uIGFjdGlvbiwgd2hpY2ggc2hvdWxkbid0IG5vdyBqdXN0IHNldAoJICB0aGUgcHJvcGVydGllcy4KCSAgRml4ZXMgIzYxNDk1OAoKMjAxMC0wNC0xMyAxNTo1OTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHBob3RvZ3JhcGh5OiBTcHJpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoJICBTcHJpbmtsZSBzb21lIEdfUEFSQU1fU1RBVElDX1NUUklOR1Mgb3ZlciB0aGUgcHJvcGVydGllcwoJICBpbiBHc3RQaG90b2dyYXBoeSBpbnRlcmZhY2UgYW5kIGluIGNhbWVyYWJpbgoKMjAxMC0wMy0wMiAxNDowNDo0NCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgYmxvY2stYWZ0ZXItY2FwdHVyZSBwcm9wZXJ0eSBmb3Igdmlld2ZpbmRlciBibG9ja2luZwoJICBBZGRzIGJsb2NrLWFmdGVyLWNhcHR1cmUgcHJvcGVydHkgdG8gYmxvY2sgcnVubmluZyB2aWV3ZmluZGVyIGFmdGVyIGNhcHR1cmluZy4KCSAgVGhpcyBwcm9wZXJ0eSBpcyB1c2VmdWwgaWYgYXBwbGljYXRpb24gd2FudHMgdG8gZGlzcGxheSBjYXB0dXJlIHByZXZpZXcgYW5kIGF2b2lkCgkgIHJ1bm5pbmcgdmlld2ZpbmRlciBvbiBiYWNrZ3JvdW5kLgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCjIwMTAtMDItMDkgMTQ6NTI6NDkgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogYWRkIHZpZXdmaW5kZXItZmlsdGVyIGFuZCBmaWx0ZXIgY2FwcyBwcm9wZXJ0aWVzCgkgIEFkZHMgc3VwcG9ydCBmb3Igc2V0dGluZyBmaWx0ZXItY2FwcyBhbmQgdmlld2ZpbmRlci1maWx0ZXIKCSAgcHJvcGVydGllcyBpbiB0aGUgZ3N0LWNhbWVyYWJpbi10ZXN0IGFwcGxpY2F0aW9uCgoyMDEwLTAxLTI2IDE1OjE4OjI0ICswMjAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIEdzdFBob3RvZ3JhcGh5OiBBZGQgZmxpY2tlciBhbmQgZm9jdXMgbW9kZSBzZXR0aW5ncyB0byBwaG90b2dyYXBoeSBBUEkKCSAgQWRkcyBmbGlja2VyIGFuZCBmb2N1cyBtb2RlIHNldHRpbmdzIHRvIHBob3RvZ3JhcGh5IEFQSSBhbmQgYWxzbwoJICBpbXBsZW1lbnQgaXQgaW4gY2FtZXJhYmluLgoKMjAwOS0xMS0yNiAxMjoxMjowNiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBjYW1lcmFiaW46IGFkZCBnc3QtY2FtZXJhYmluLXRlc3QgY29tbWFuZCBsaW5lIHRlc3QgdG9vbAoJICBnc3QtY2FtZXJhYmluLXRlc3QgdG9vbCBjYW4gYmUgdXNlZCB0byBjYXB0dXJlIHN0aWxsIGltYWdlcyBhbmQKCSAgdmlkZW8gY2xpcHMgdXNpbmcgY2FtZXJhYmluIGVsZW1lbnQuCgoyMDA5LTExLTE2IDE1OjAyOjAzICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IGRvIG5vdCBzZXQgaW1hZ2ViaW4gc2lua3BhZCB0d2ljZQoJICBJZiB3ZSBhbHJlYWR5IGhhdmUgYSBzaW5rcGFkLCBkbyBub3QgZ2V0IGEgbmV3IG9uZQoKMjAwOS0xMS0xNiAxNToxMzozMSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSB1bml0IHRlc3RzCgkgIEFkZCB0ZXN0aW5nIG9mIHNldHRpbmcgYW5kIGdldHRpbmcgb2YgY2FtZXJhYmluIHByb3BlcnR5IGVsZW1lbnRzIGFuZAoJICBhZGQgcG9zdC1wcm9jZXNzaW5nIGVsZW1lbnRzIHRvIHBpcGVsaW5lLgoKMjAwOS0xMS0xMyAxNjo0Mjo0NCArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCB1bml0IHRlc3RzIGZvciBzZXR0aW5nIGRpZmZlcmVudCBmbGFncyB3aGVuIGNhcHR1cmluZwoJICBBZGRzIHNvbWUgdGVzdHMgdGhhdCB1c2UgZmxhZ3MgZm9yIGNhcHR1cmluZyB0byBhc3VyZSBpdCB3b3JrcwoJICB3aXRoIGZsYWdzIHNldCBvciBub3QuCgoyMDA5LTEwLTI4IDE3OjM3OjU2ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIHBhdXNlZCB2aWRlbyBjYXB0dXJlIGZpbGUgdmFsaWRpdHkgY2hlY2sgaW4gdW5pdCB0ZXN0CgkgIEFsc28gY2hlY2sgdGhhdCB0aGUgZmlsZSBjYXB0dXJlZCBpbiB0aGUgcGF1c2VkIGNhcHR1cmUgdW5pdCB0ZXN0IGlzCgkgIHBsYXlhYmxlLgoKMjAwOS0xMC0xOSAxNDozMTo1NCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgdmlld2ZpbmRlci1maWx0ZXIgcHJvcGVydHkKCSAgQWRkcyBhIG5ldyBwcm9wZXJ0eSBjYWxsZWQgdmlld2ZpbmRlci1maWx0ZXIgdG8gY2FtZXJhYmluLgoJICBUaGlzIHByb3BlcnR5IGlzIHVzZWQgdG8gYWRkIGEgZmlsdGVyIHRvIHByb2Nlc3MgdGhlIHZpZGVvCgkgIGZsb3cgcmlnaHQgYmVmb3JlIHRoZSB2aWV3ZmluZGVyIHNpbmsuCgkgIEFsc28gdXBkYXRlcyB0ZXN0IHRvIGNoZWNrIHByb3BlcnR5IGV4aXN0cy4KCjIwMDktMTAtMjEgMTg6MDI6MjcgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNldCB2aWRlb3Rlc3RzcmMgcGF0dGVybiB0byB3aGl0ZSBpbiB1bml0IHRlc3QKCSAgTG93ZXIgY29tcGxleGl0eSBvZiBlbmNvZGluZyBhbmQgdmlkZW90ZXN0c3JjIHJlZHJhd2luZyBpbiBvcmRlcgoJICB0byBwcmV2ZW50IHVuaXQgdGVzdCB0aW1lb3V0cy4KCjIwMDktMTAtMTQgMTQ6MDE6MzQgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogcHJveHkgdmlkZW8gc291cmNlIHBob3RvZ3JhcGh5IGludGVyZmFjZSBwcm9wZXJ0eSBub3RpZnkgc2lnbmFscwoJICBJZiBwaG90b2dyYXBoeSBpbnRlcmZhY2UgcHJvcGVydGllcyBjaGFuZ2UgaW4gdmlkZW8gc291cmNlLCBub3RpZnkgdGhlCgkgIGFwcGxpY2F0aW9uIGJ5IGVtaXR0aW5nIG5vdGlmeSBmb3IgcmVzcGVjdGl2ZSBjYW1lcmFiaW4gcHJvcGVydGllcy4KCjIwMDktMTAtMTQgMTQ6NDI6MDEgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBOZXcgdW5pdCB0ZXN0cwoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgY2FtZXJhYmluIHByb3BlcnRpZXMgc2V0dGluZyBhbmQgZ2V0dGluZywKCSAgYWRkcyBvbmUgZm9yIHZpZGVvIGNhcHR1cmluZyB3aXRoIHBhdXNlLgoJICBBbHNvIGRvZXMgc29tZSBjOTkgdmFyaWFibGUgZGVjbGFyYXRpb24gZml4ZXMuCgoyMDA5LTEwLTE0IDE0OjAxOjA1ICswMzAwICBTaGVuZ2h1YSBMaXUgPEVYVC1MaXUuc2hlbmdodWFAbm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHVuaXQgdGVzdCB0byBoYXZlIHRlc3Qgb24gcmVjb3JkaW5nIHNuYXBzaG90IHByZXZpZXcKCSAgQWRkcyBhIHNtYWxsIGNoZWNrIHRvIHZlcmlmeSB0aGF0IHRoZSBwcmV2aWV3IGltYWdlIG1lc3NhZ2UgaXMKCSAgYmVpbmcgc2VudCBvbiB2aWRlbyByZWNvcmRpbmcuCgoyMDA5LTA5LTIxIDE3OjQ3OjIwICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSAgY2FtZXJhYmluOiBhZGQgYXBpIHRvIHF1ZXJ5IHN1cHBvcnRlZCBpbWFnZSBjYXB0dXJlIHJlc29sdXRpb24KCSAgQWRkcyBuZXcgcHJvcGVydHkgJ2ltYWdlLWNhcHR1cmUtc3VwcG9ydGVkLWNhcHMnIHRvIEdzdFBob3RvZ3JhcGh5CgkgIHRvIHF1ZXJ5IHRoZSBzdXBwb3J0ZWQgaW1hZ2UgY2FwdHVyZSBjYXBzLgoJICBBbHNvIGltcGxlbWVudCBpdCBpbiBjYW1lcmFiaW4uCgoyMDA5LTA3LTAyIDE4OjAzOjU3ICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IHJlbmFtZSBmdW5jdGlvbiBhbmQgdmFyaWFibGUgbmFtZXMsIHVwZGF0ZSBkb2N1bWVudGF0aW9uCgkgIEdldCByaWQgb2YgdXNlcl8qIHByZWZpeCBpbnRlcm5hbGx5LCB1c2UgYXBwXyogaW5zdGVhZC4KCjIwMDktMDktMTYgMTU6MTE6NDkgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBhZGQgdmlkZW8tc291cmNlLWZpbHRlciBwcm9wZXJ0eQoJICBBZGQgdmlkZW8tc291cmNlLWZpbHRlciBwcm9wZXJ0eSB0aGF0IGNhbiBiZSB1c2VkIHRvIGluamVjdCBhcHBsaWNhdGlvbgoJICBzcGVjaWZpYyBnc3RyZWFtZXIgZWxlbWVudCB0byBjYW1lcmFiaW4gcGlwZWxpbmUuIFRoZSB2aWRlby1zb3VyY2UtZmlsdGVyCgkgIGVsZW1lbnQgd2lsbCBwcm9jZXNzIGFsbCBmcmFtZXMgY29taW5nIGZyb20gdmlkZW8gc291cmNlLgoJICBPbmUgY291bGQgYWRkIGltYWdlIGFuYWx5emVycyB0byBjb2xsZWN0IGluZm9ybWF0aW9uIGFib3V0IHRoZSBzdHJlYW0sCgkgIG9yIGFkZCBpbWFnZSBlbmhhbmNlcnMgdG8gaW1wcm92ZSBjYXB0dXJlIHF1YWxpdHksIGZvciBleGFtcGxlLgoKMjAxMC0wNC0xMiAxODowNzoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIGNoZWNrOiBEb24ndCByZS1kZWNsYXJlICdHTGlzdCAqYnVmZmVycycgaW4gdGhlIHRlc3RzCgkgIEl0J3MgYW4gZXh0ZXJuYWwgd2hpY2ggbGl2ZXMgaW4gZ3N0Y2hlY2suYy4gUmVkZWNsYXJpbmcgaXQgbWFrZXMgc29tZQoJICBjb21waWxlcnMvYXJjaGl0ZWN0dXJlcyB0aGluayB0aGUgJ2J1ZmZlcnMnIGluIHRoZSBpbmRpdmlkdWFsIHRlc3RzIGFyZQoJICBhIGRpZmZlcmVudCBzeW1ib2wuLi4gYW5kIHRoZXJlZm9yZSB3ZSBlbmQgdXAgY29tcGFyaW5nIGhvbG9kZWNrcyB3aXRoCgkgIG9yYW5nZXMuCgoyMDEwLTAyLTE4IDE4OjE5OjUwICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IHRyeSBhZGFwdGluZyBpbWFnZSBjYXB0dXJlIHJlc29sdXRpb24gaWYgbm8gc291cmNlLXJlc2l6ZSBmbGFnCgkgIElmIHNvdXJjZS1yZXNpemUgZmxhZyBpcyBkaXNhYmxlZCB0aGVuIHNldCByZXNvbHV0aW9uIHRvIGltYWdlIGNhcHR1cmUgY2FwcwoJICBhY2NvcmRpbmcgdG8gY2FwdHVyZSByZXNvbHV0aW9uIHZpZGVvIHNvdXJjZSBlbGVtZW50IHByb2R1Y2VzLiBPdGhlcndpc2Ugd2UKCSAgd3JpdGUgd3JvbmcgcmVzb2x1dGlvbiB0byBpbWFnZSBtZXRhZGF0YS4KCjIwMTAtMDEtMDUgMTU6MTM6MDIgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IGNhcHR1cmluZyBmbGFnIGhhbmRsaW5nIGFmdGVyIGltYWdlIGhhcyBiZWVuIGNhcHR1cmVkCgkgIE1ha2Ugc3VyZSBjYXB0dXJpbmcgZmxhZyBpcyB1bnNldCBhbmQgaW1hZ2UtY2FwdHVyZWQgbWVzc2FnZSBpcyBzZW50CgkgIGJlZm9yZSBzZW5kaW5nIGVvcyBldmVudCB0byBpbWFnZSBiaW4gYW5kIHNhdmluZyB0aGUgaW1hZ2UgdG8gYSBmaWxlLgoKMjAwOS0xMS0wNCAxMzoyNDoxMyArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggc2V0dGluZyBmaWx0ZXItY2FwcyBwcm9wZXJ0eSBpbiBOVUxMIHN0YXRlCgkgIFNwbGl0IF9zZXRfY2Fwc2ZpbHRlcl9jYXBzKCkgaW50byB0d28gcGFydHMgc28gdGhhdCB3ZSBjYW4gY2FsbCBvbmUgcGFydAoJICByZWdhcmRsZXNzIG9mIHRoZSBlbGVtZW50IHN0YXRlLgoKMjAwOS0wOS0xMSAwOTozODo1MSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBpbXByb3ZlIGltYWdlIGRvbmUgc2lnbmFsIGVtaXNzaW9uCgkgIFVzZSBnX2lkbGVfYWRkX2Z1bGwoKSB3aXRoIEdfUFJJT1JJVFlfSElHSCB0byBlbWl0IGltYWdlIGRvbmUgc2lnbmFsLAoJICBnX2lkbGVfYWRkKCkgaXMgbW9yZSBsaWtlbHkgdG8gc3RhcnZlIHdpdGggaGlnaGVyIHByaW9yaXR5IGV2ZW50cy4KCjIwMTAtMDQtMTIgMTI6NDI6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVtb3ZlIC1XdW5kZWYgZmxhZwoJICBTYW1lIGZpeCBhcyBmb3IgIzYxNTE2MQoKMjAxMC0wNC0xMiAwOToxNjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBDb3JyZWN0bHkgbGluayB0byB0aGUgbG9jYWwgbGliZ3N0dmRwLTAuMTAgYnkgdXNpbmcgdGhlIGxpYnRvb2wgYXJjaGl2ZQoKMjAxMC0wNC0wOSAwOToxNDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGNhbWVyYWJpbjogZW5hYmxlIGNhbWVyYWJpbiB0ZXN0cwoJICBSZS1lbmFibGluZyBjYW1lcmFiaW4gdGVzdHMsIHRoZXkgYXJlIHBhc3NpbmcuCgoyMDEwLTA0LTA5IDExOjIyOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmRmMDIzZCB0byBmYzg1ODY3CgoyMDEwLTA0LTA4IDEyOjAwOjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIHRlc3RzOiBGaXggY29tcGlsYXRpb24gZXJyb3Igb24gbWFjb3N4CgoyMDEwLTA0LTA4IDEwOjQ1OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogOC1iaXQgUENNIGF1ZGlvIGNhcHMgZG9uJ3QgbmVlZCBhbiBlbmRpYW5uZXNzIGZpZWxkCgoyMDEwLTA0LTA4IDEwOjQwOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogZG9uJ3QgaXRlcmF0ZSB0aGUgZm9ybWF0cyB0YWJsZSB0d2ljZSBmb3IgZWFjaCBlbnRyeQoJICBXaGVuIGl0ZXJhdGluZyB0aGUgZm9ybWF0cyB0YWJsZSwgd2UgY2FuIGp1c3QgcGFzcyB0aGUgd2hvbGUKCSAgZW50cnkgdG8gb3VyIGhlbHBlciBmdW5jdGlvbiwgd2hpY2ggYXZvaWRzIGl0ZXJhdGluZyB0aGUgdGFibGUKCSAgYWdhaW4gdG8gZmluZCB0aGUgZW50cnkgc3RydWN0dXJlIGZyb20gdGhlIHBhc3NlZCBmb3JtYXQgaWQuCgoyMDEwLTAzLTMwIDExOjQzOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogYWxzbyBhY2NlcHQgZm9ybWF0cyBub3QgbmF0aXZlbHkgc3VwcG9ydGVkCgkgIEFsc28gYWNjZXB0IGZvcm1hdHMgdGhhdCBhcmUgbm90IG5hdGl2ZWx5IHN1cHBvcnRlZCBieSB0aGUKCSAgaGFyZHdhcmUsIE9TUzQgY2FuIGNvbnZlcnQgdGhlbSBpbnRlcm5hbGx5LiBMaXN0IHRoZSBuYXRpdmUKCSAgZm9ybWF0cyBmaXJzdCBpbiB0aGUgY2FwcyB0aG91Z2gsIHRvIGV4cHJlc3Mgb3VyIHByZWZlcmVuY2UKCSAgZm9yIHRoZSBuYXRpdmUgZm9ybWF0cy4gV2UgbmVlZCB0aGlzIGluIG9yZGVyIHRvIHN1cHBvcnQgdGhlCgkgIGNhc2UgcHJvcGVybHkgd2hlcmUgdGhlIGF1ZGlvIGhhcmR3YXJlIHN1cHBvcnRzIG9ubHkgZS5nLgoJICBsaXR0bGUgZW5kaWFuIFBDTSwgYnV0IHRoZSBob3N0IGlzIGJpZyBlbmRpYW4sIHNpbmNlIG1hbnkKCSAgYXVkaW8gZWxlbWVudHMgb25seSBzdXBwb3J0IG5hdGl2ZSBlbmRpYW5uZXNzIGFuZCBtYWtlIHRoZQoJICByZWFzb25hYmxlIGFzc3VtcHRpb24gdGhhdCBhbnkgYXVkaW9zaW5rIHdpbGwgYmUgYWJsZSB0bwoJICBoYW5kbGUgYXVkaW8gaW4gbmF0aXZlIGVuZGlhbm5lc3MuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEplcnJ5IFRhbiA8amVycnkudGFuQHN1bi5jb20+CgkgIEZpeGVzICM2MTQzMTcuCgoyMDEwLTA0LTA4IDA4OjQ4OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICBzb3VuZHRvdWNoOiB1c2UgJChMSUJNKSBpbiBNYWtlZmlsZS5hbSBpbnN0ZWFkIG9mIC1sbQoKMjAxMC0wNC0wOCAwMTo0MjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IGZpeCBwcmludCBmb3JtYXQgaW4gZGVidWcgbWVzc2FnZQoKMjAxMC0wNC0wOCAwMTo0MTozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHBhc3MgY29uc3RhbnQgc3RyaW5nIGFzIGZvcm1hdCBzdHJpbmcgdG8gcHJpbnRmCgkgIEZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IG5vbi1zdHJpbmcgbGl0ZXJhbCBiZWluZyBwYXNzZWQgYXMKCSAgZmlyc3QgYXJndW1lbnQgdG8gcHJpbnQuCgoyMDEwLTAzLTI2IDE4OjU2OjQ5ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRG9uJ3QgZW1pdCBiaXRyYXRlIHRhZ3MgdG9vIGVhcmx5CgkgIFdlIHdhaXQgdG8gcGFyc2UgYSBtaW5pbXVtIG51bWJlciBvZiBmcmFtZXMgKDEwLCBhcmJpdHJhcmlseSkgYmVmb3JlCgkgIGVtaXRpbmcgYml0cmF0ZSB0YWdzIHNvIHRoYXQgb3VyIGVhcmx5IGVzdGltYXRlcyBhcmUgbm90IHdpbGRseQoJICBpbmFjY3VyYXRlIGZvciBzdHJlYW1zIHRoYXQgc3RhcnQgd2l0aCBhIHNpbGVuY2UuIElmIHRoZSBzdHJlYW0gZW5kcwoJICBiZWZvcmUgdGhhdCwgd2UganVzdCBlbWl0IHRoZSB0YWdzIGFueXdheS4KCSAgV2hpbGUgaXQgX3dvdWxkXyBiZSBuaWNlciB0byBiZSBzcGVjaWZ5IHRoZSB0aHJlc2hvbGQgdG8gc3RhcnQgcHVzaGluZwoJICB0aGUgdGFncyBpbiB0ZXJtcyBvZiBkdXJhdGlvbiwgdGhpcyB3b3VsZCBpbnRyb2R1Y2UgbW9yZSBjb21wbGV4aXR5IHRoYW4KCSAgdGhpcyBtZXJpdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ5OTEKCjIwMTAtMDQtMDcgMTE6MjI6NDMgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IGZpeCBjcmFzaCB3aGVuIGNvbnZlcnRpbmcgdW5pdHMKCSAgeC95LXJlc29sdXRpb24gYXJlIGZyYWN0aW9ucywgc28gc2V0dGluZyB0aGVtIHVzaW5nIGZsb2F0IHZhbHVlcyBpcyBub3QKCSAgYSBnb29kIGlkZWEuCgkgIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9NTc3NjU1CgoyMDEwLTA0LTA1IDEwOjMzOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBCbHVlUmF5IHN0eWxlIERUUwoJICBGaXhlcyBidWcgIzYxNDI1OS4KCjIwMTAtMDQtMDQgMjA6MjM6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgdGhlIHR3byBEVFMgSEQgc3RyZWFtIHR5cGVzCgkgIEZpeGVzIGJ1ZyAjNjE0MjU5LgoKMjAxMC0wNC0wMiAxOTo1MjoyNSArMDIwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEFkZGl0aW9uYWxseSB1c2UgdGhlIENSQyB0byBjaGVjayBpZiB0YWJsZXMgYXJlIGR1cGxpY2F0ZXMKCSAgVGhlIGN1cnJlbnQgY29kZSBqdXN0IHVzZXMgdGFibGUgaWQsIHN1YnRhYmxlIGV4dGVuc2lvbiBhbmQgdmVyc2lvbiBudW1iZXIgdG8KCSAgY2hlY2sgaWYgdGhlIHNlY3Rpb24gaGFzIGJlZW4gc2VlbiBiZWZvcmUuIEhvd2V2ZXIsIHRoaXMgY29tcGFyaXNvbiBpcyBub3QKCSAgc3VmZmljaWVudCwgY2F1c2luZyBhY3R1YWxseSBuZXcgdGFibGVzIGJlaW5nIGRpc21pc3NlZC4KCSAgRml4ZXMgYnVnICM2MTQ0NzkuCgoyMDEwLTA0LTAyIDE5OjQ4OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQ29ycmVjdGx5IGNsZWFuIHVwIGludGVybmFsIHN0YXRlIGZvciByZXVzZQoJICBGaXhlcyBidWcgIzYxNDU5MS4KCjIwMTAtMDQtMDIgMTk6MTk6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogTWFrZSBzdXJlIHRoYXQgdGhlIGJ1ZmZlciBtZXRhZGF0YSBpcyB3cml0YWJsZSBiZWZvcmUgc2V0dGluZyBjYXBzCgkgIEZpeGVzIGJ1ZyAjNjE0MzQ5LgoKMjAxMC0wNC0wMiAxOTowOTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IFVzZSB1aW50IGluc3RlYWQgb2YgaW50IGZvciBmcmVxdWVuY3kgYW5kIHN5bWJvbC1yYXRlIHByb3BlcnRpZXMKCSAgVGhlIGtlcm5lbCBBUEkgc3BlY2lmaWVzIHRoZW0gYXMgdWludDMyIGFuZCBmcmVxdWVuY2llcy9zeW1ib2wtcmF0ZXMgZ3JlYXRlcgoJICB0aGFuIDJeMzEgYXJlIGFjdHVhbGx5IG5lZWRlZCBzb21ldGltZXMuCgkgIEZpeGVzIGJ1ZyAjNjE0NDc1LgoKMjAxMC0wMy0zMCAwMToxNzoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0L01ha2VmaWxlLmFtOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBidWlsZCBwbHVnaW5zIGFuZCBleGFtcGxlcyBpbiBwYXJhbGxlbCB3aGVyZSBwb3NzaWJsZSwgaWYgbWFrZSAtak4gaXMgdXNlZAoKMjAxMC0wMy0zMCAwMToxNjozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHVwZGF0ZSBmb3Igc3RyaW5nIGNoYW5nZXMgYW5kIG5ldyBjb21tZW50CgoyMDEwLTAzLTMwIDAxOjE0OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogYWRkIGNvbW1lbnQgZm9yIHRyYW5zbGF0b3JzCgkgIE5vdCB0aGF0IHRoYXQgd2lsbCBtYWtlIHRoZXNlIHN0cmluZ3MgbXVjaCBiZXR0ZXIuIEFsc28gcmVtb3ZlIGkxOG4KCSAgbWFya2VyIHdoZXJlIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZS4KCjIwMTAtMDMtMjcgMDk6NDY6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4cGx1Z2luLmM6CgkgIHF0bXV4OiB1c2UgR1N0cmVhbWVyIHBhY2thZ2UgbmFtZSBhbmQgb3JpZ2luIGluIHRoZSBwbHVnaW4gaW5mbwoKMjAxMC0wMy0yOSAxNDo0OTowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCB3cml0aW5nIE5BTFUgcHJlZml4IGZvciBieXRlLXN0cmVhbSBvdXRwdXQgZm9ybWF0CgkgIFNwZWNpZmljYWxseSwgaW5wdXQgbWF5IGFscmVhZHkgYmUgaW4gYnl0ZS1zdHJlYW0gZm9ybWF0LCBzbyBzeW5jCgkgIGJ5dGVzIHNob3VsZCBub3QgYmUgbWlzaW50ZXJwcmV0ZWQgYXMgTkFMVSBzaXplLgoKMjAxMC0wMy0yOSAxMDowMDo1NyArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3NwYy9nc3RzcGMuaDoKCSAgb3BlbnNwYzogRml4IGJ1aWxkIHdhcm5pbmcKCSAgQWRkIGEgcHJvdG90eXBlIGZvciBnc3Rfc3BjX2RlY19nZXRfdHlwZQoKMjAxMC0wMy0yNiAxODo1ODozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IE9wdGlvbmFsbHkgY2hlY2sgdGhlIG92ZXJhbGwgZnJhbWUgY2hlY2tzdW1zIHRvbyBiZWZvcmUgYWNjZXB0aW5nIGEgZnJhbWUgYXMgdmFsaWQKCSAgVGhpcyBpcyBvcHRpb25hbCBiZWNhdXNlIGl0J3MgYSBxdWl0ZSBleHBlbnNpdmUgb3BlcmF0aW9uIGFuZCBpdCdzIHZlcnkKCSAgdW5saWtlbHkgdGhhdCBhIG5vbi1mcmFtZSBpcyBkZXRlY3RlZCBhcyBmcmFtZSBhZnRlciB0aGUgaGVhZGVyIENSQyBjaGVjawoJICBhbmQgY2hlY2tpbmcgYWxsIGJpdHMgZm9yIHZhbGlkIHZhbHVlcy4gVGhlIG92ZXJhbGwgZnJhbWUgY2hlY2tzdW1zIGFyZQoJICBtYWlubHkgdXNlZnVsIHRvIGRldGVjdCBpbmNvbnNpc3RlbmNpZXMgaW4gdGhlIGVuY29kZWQgcGF5bG9hZC4KCjIwMTAtMDMtMjYgMTg6NDI6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBDaGVjayB0aGUgQ1JDLTggb2YgdGhlIGhlYWRlcnMgYmVmb3JlIGFjY2VwdGluZyBhIGZyYW1lIGFzIHZhbGlkCgkgIFRoaXMgbWFrZXMgZmFsc2UtcG9zaXRpdmVzIGR1cmluZyBzZWVraW5nIG11Y2ggbGVzcyBsaWtlbHkgYW5kIGRldGVjdGlvbiBvZgoJICB0aGVtIG11Y2ggZmFzdGVyLgoKMjAxMC0wMy0yNiAxODoyMDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IFNldCB0aGUgbGFzdCBzdG9wIHRvIHRoZSBidWZmZXIgc3RhcnR0aW1lIGlmIHRoZSBkdXJhdGlvbiBpcyBpbnZhbGlkCgkgIC4uLmluc3RlYWQgb2Ygbm90IHNldHRpbmcgaXQgYXQgYWxsLgoKMjAxMC0wMy0yNiAxODoxOTowMCArMDEwMCAgSm9zaHVhIE0uIERvZSA8am9zaEBqb3NoZG9lLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogU2VuZCBORVdTRUdNRU5UIGV2ZW50IHdpdGggY29ycmVjdCBzdGFydCBhbmQgcG9zaXRpb24KCSAgSW5zdGVhZCBvZiB0YWtpbmcgdGhlIGxhc3Qgc3RvcCAod2hpY2ggY291bGQgYmUgYnVmZmVyIGVuZHRpbWUgaW5zdGVhZAoJICBvZiBzdGFydHRpbWUpIGFsd2F5cyB0YWtlIHRoZSBidWZmZXIgc3RhcnR0aW1lLgoJICBGaXhlcyBidWcgIzYxNDAxNi4KCjIwMTAtMDMtMjYgMTY6NDk6MDEgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggYnVmZmVyIHJlZmNvdW50IGlzc3VlCgkgIFdoZW4gY2FsbGVkIGZyb20gdGhlIEdTVF9GTEFDX1BBUlNFX1NUQVRFX0hFQURFUlMgY2FzZSwKCSAgZ3N0X2ZsYWNfcGFyc2VfaGFuZF9oZWFkZXJzKCkgZG9lcyBhIGdzdF9idWZmZXJfc2V0X2NhcHMoKSBvbiBhIGJ1ZmZlcgoJICB3aXRoIHJlZmNvdW50ID4gMS4gVGhpcyBjaGFuZ2UgaGFuZGxlcyB0aGlzIGNhc2UgYnkgbWFraW5nIHRoZSBidWZmZXIKCSAgbWV0YWRhdGFfV3JpdGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQwMzcKCjIwMTAtMDMtMjYgMTI6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkIG1pc3Npbmcgc3BhY2UgdG8gZGVidWcgbWVzc2FnZQoKMjAxMC0wMy0yNiAwODo0MTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IGRvbid0IHVzZSBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3QKCSAgRml4ZXMgdGhlIGJ1aWxkLgoKMjAxMC0wMy0yNSAyMzo0ODowOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgIGRpdng6IGFkZCBjb25zdCB0byBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMDMtMjUgMjM6MzA6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogYWRkIGJvb2xlYW4gcmV0dXJuIHRvIF9wcm9jZXNzCgkgIEF2b2lkIHRyeWluZyB0byBwdXNoIHJlc3VsdHMgaWYgcHJvY2Vzc2luZyBmYWlsZWQgYW55d2F5LgoKMjAxMC0wMy0yNSAyMzoyODoyNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiByZW1vdmUgdXNlbGVzcyBnX2Fzc2VydAoJICBnX21hbGxvYyBhbmQgY28gd291bGQgdGVybWluYXRlIHdoZW4gb3V0IG9mIG1lbW9yeS4gTm8gbmVlZCB0byBjaGVjayBhZnRlciBpdC4KCjIwMTAtMDMtMjUgMjM6MjQ6MzYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogYWRkIG1vcmUgbG9nZ2luZwoKMjAxMC0wMy0yNSAyMzoxMjozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiByZWdpc3RlciBmdW5jdGlvbiBwb2ludGVycyBqdXN0IG9uY2UKCSAgQXZvaWQgcmUtcmVnaXN0ZXJpbmcgdGhvc2UgZm9yIGVhY2ggd3JhcHBlZCBsYWRwc2EvbHYyIGVsZW1lbnQuCgoyMDEwLTAzLTI1IDIzOjA3OjQ2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IGFkZCByYXRlIHRvIGNhcHMKCjIwMTAtMDMtMjUgMjM6MDQ6NDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogcmVuYW1lIGxvZyBjYXRlZ29yeSB0byBiZSBsZXNzIGFtYmlnb3VzCgoyMDEwLTAzLTI1IDIyOjU5OjE4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL1JFQURNRToKCSAgbHYyOiBhZGQgbW9yZSBleGFtcGxlcwoKMjAxMC0wMy0yNSAyMjo1ODo0NyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiBpZiB3ZSB0ZWxsIHRoYXQgd2UgaGFuZGxlIGdhcCBmbGFncywgdGhlbiBkbyBzbwoKMjAxMC0wMy0yNSAyMjo1NTozMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiB1c2UgZ2xpYiB0eXBlcwoKMjAxMC0wMy0yNSAyMjo1NDo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiBmaXggY2xhc3NpZmljYXRpb24KCjIwMTAtMDMtMjUgMjI6NTM6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogcmVmb3JtYXQgbWVzc2FnZSBkb2NzCgkgIFVzZSBhIGxpc3QgbGlrZSBpbiBvdGhlciBlbGVtZW50IGRvY3MgYXMgYW4gdW50d2Vha2VkIGRvY2Jvb2sgdGFibGUgbG9vayB1Z2x5LgoKMjAxMC0wMy0yNSAxNzowOToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBhdWRpb3BhcnNlcnM6IHJlbW92ZSB1bnVzZWQgR3N0QmFzZVBhcnNlQ2xhc3NQcml2YXRlIHN0cnVjdHVyZQoKMjAxMC0wMy0yNSAxMjo1NTowMiArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IE1ha2UgYml0cmF0ZSBlc3RpbWF0aW9uIG1vcmUgYWNjdXJhdGUKCSAgVGhpcyBpbXBsZW1lbnRzIHRoZSBnZXRfZnJhbWVfb3ZlcmhlYWQoKSB2ZnVuYyBzbyB0aGF0IGJhc2VwYXJzZSBjYW4KCSAgbWFrZSBtb3JlIGFjY3VyYXRlIGJpdHJhdGUgZXN0aW1hdGVzLgoKMjAxMC0wMy0yNSAxMTo0ODo0NiArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggYml0cmF0ZSBjYWxjdWxhdGlvbgoJICBUaGlzIHBhdGNoIGFkZHMgdGhlIGdldF9mcmFtZV9vdmVyaGVhZCgpIHZmdW5jIHNvIHRoYXQgYmFzZXBhcnNlIGNhbgoJICBhY2N1cmF0ZWx5IGNhbGN1bGF0ZSB0aGUgbWluL2F2Zy9tYXggYml0cmF0ZXMgZm9yIGFhY3BhcnNlLgoJICBOb3RlOiBUaGUgYml0cmF0ZSB3YXMgYmVpbmcgaW5jb3JyZWN0bHkgY2FsY3VsYXRlZCBmb3IgQURUUyBzdHJlYW1zCgkgIChpdCdzIG5vdCBpbiB0aGUgaGVhZGVyIGFzIHRoZSBjb2RlIHN1Z2dlc3RzKS4KCjIwMTAtMDMtMjUgMTE6MjI6NTggKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYXVkaW9wYXJzZXJzOiBBZGQgYml0cmF0ZSBjYWxjdWxhdGlvbiB0byBiYXNlcGFyc2UKCSAgVGhpcyBtYWtlcyBiYXNlcGFyc2Uga2VlcCBhIHJ1bm5pbmcgYXZlcmFnZSBvZiB0aGUgc3RyZWFtIGJpdHJhdGUsIGFzCgkgIHdlbGwgYXMgdGhlIG1pbmltdW0gYW5kIG1heGltdW0gYml0cmF0ZXMuIFN1YmNsYXNzZXMgY2FuIG92ZXJyaWRlIGEKCSAgdmZ1bmMgdG8gbWFrZSBzdXJlIHRoYXQgcGVyLWZyYW1lIG92ZXJoZWFkIGZyb20gdGhlIGNvbnRhaW5lciBpcyBub3QKCSAgYWNjb3VudGVkIGZvciBpbiB0aGUgYml0cmF0ZSBjYWxjdWxhdGlvbi4KCSAgV2UgdGFrZSBjYXJlIG5vdCB0byBvdmVycmlkZSB0aGUgYml0cmF0ZSwgbWluaW11bS1iaXRyYXRlLCBhbmQKCSAgbWF4aW11bS1iaXRyYXRlIHRhZ3MgaWYgdGhleSBoYXZlIGJlZW4gcG9zdGVkIHVwc3RyZWFtLiBXZSBhbHNvCgkgIHJhdGUtbGltaXQgdGhlIGVtaXNzaW9uIG9mIGJpdHJhdGUgc28gdGhhdCBpdCBpcyBvbmx5IHRyaWdnZXJlZCBieSBhCgkgIGNoYW5nZSBvZiA+MTAga2Jwcy4KCjIwMTAtMDMtMjMgMTc6MzQ6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogdGFnc2NoZWNraW5nOiBOZXcgdGFncyB0ZXN0cwoJICBBZGRzIG5ldyB0YWdzIGNoZWNraW5nIHRlc3RzLgoKMjAxMC0wMy0yNSAwMDoyMDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGluaXQgZGVidWcgY2F0ZWdvcnkgYmVmb3JlIHVzaW5nIGl0CgoyMDEwLTAzLTI0IDE4OjU0OjU3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1NWNkNTE0IHRvIGMxZDA3ZGQKCjIwMTAtMDMtMjQgMTc6MDU6MTQgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3ZpZGVvc3JjOiBBZGQgc3VwcG9ydCBmb3IgWVVZMiBpbnB1dCBmb3JtYXQKCSAgRml4IGJ1ZyAjNjEzNzA4CgoyMDEwLTAzLTI0IDE2OjE1OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSAgZG9jczogYWRkIHBob3RvZ3JhcGh5IGlmYWNlIHRvIGRvY3MKCSAgV2Ugbm9ybWFseSBoYXZlIHNlcGFyYXRlIGxpYnMgZG9jcywgbm90IGRvbmUgYmVjYXN1ZSBvZiBsYXp5bmVzcyBoZXJlIHlldC4KCjIwMTAtMDMtMjQgMTY6MDU6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBhZGQgYmxhbmsgbGluZSB0byBmaXggZ2VuZXJhdGVkIHhtbAoKMjAxMC0wMy0yNCAxNTo1OTo1MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGZpeCBlbGVtZW50IG5hbWUgaW4gc2VjdGlvbiBkb2MgYmxvYgoKMjAxMC0wMy0yNCAxNTowNTo1MCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogRGVmaW5lIFdPUkRTX0JJR0VORElBTiB0byBhdm9pZCB1bmRlZmluZWQgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEzNzk1CgoyMDEwLTAzLTI0IDEyOjE2OjA3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFVzZSBwa2djb25maWcgdG8gZGV0ZWN0IGR2ZG5hdgoJICBUaGUgcHJldmlvdXNseSB1c2VkIGR2ZG5hdi1jb25maWcgc2NyaXB0IHdhcyBicm9rZW4gaW4gYSBsb3Qgb2YgZGlzdHJvcy4KCjIwMTAtMDMtMjQgMDA6Mjc6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGZpeCB5ZXQgYW5vdGhlciBjb21waWxlciB3YXJuaW5nCgoyMDEwLTAzLTIzIDE5OjU2OjQ4IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuYzoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5oOgoJICBvc3g6IG1vcmUgY29tcGlsZXIgd2FybmluZyBmaXhlcwoJICBBdm9pZCBuZXcgd2FybmluZ3MuCgkgIEZpeGVzICM2MTM3NTguCgoyMDEwLTAzLTIzIDE0OjE1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSAgdGVzdHM6IGZhYWM6IEZpeCBidWlsZAoJICBGaXhlcyBidWlsZCBvZiBmYWFjIGR1ZSB0byBmdW5jdGlvbnMgbm90IGJlaW5nIHN0YXRpYyBub3IKCSAgaGF2aW5nIGJlaW5nIGRlY2xhcmVkIGluIGhlYWRlcnMuIChObyBwcmV2aW91cyBwcm90b3R5cGUgZXJyb3IpCgkgIFByb2JhYmx5IGR1ZSB0byBhZGRlZCAtV21pc3NpbmctcHJvdG90eXBlcwoKMjAxMC0wMy0yMyAxMToxMDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSAgYW1yd2JlbmM6IEZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTAzLTIzIDA5OjE0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSAgY29nOiB0b3VjaCBjb2cub3JjIHRvIGZvcmNlIHJlZ2VuZXJhdGlvbiBvZiBjb2dvcmMuW2NoXQoJICAuLiB3aXRoIG5ldyBNYWtlZmlsZS5hbSBydWxlcywgd2hpY2ggc2hvdWxkIGZpeCB0aGUgYnVpbGQKCSAgd2l0aG91dCB0aGUgbmVlZCB0byBkbyBhICdtYW51YWwnIG1ha2UgY2xlYW4gYWZ0ZXIgdXBkYXRpbmcuCgoyMDEwLTAzLTIzIDAxOjQxOjMxICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIHdpbmluZXQ6IEZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMyAwMTozMDo1NCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhdzogRml4IHdhcm5pbmdzCgoyMDEwLTAzLTIzIDAxOjE1OjI3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSAtV3VuZGVmIGZvciBXaW5kb3dzCgkgIFdpbmRvd3MgaGVhZGVycyB0ZW5kIHRvIGNoZWNrIF9NU0NfVkVSIHVuY29uZHRpb25hbGx5IGluIHNvbWUgcGxhY2VzLAoJICBidXQgdXNlICNpZmRlZiBfTVNDX1ZFUiBpbiBvdGhlciBwbGFjZXMuCgoyMDEwLTAzLTIzIDAxOjE0OjMzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEFkZCBhIGJ1bmNoIG9mIHdhcm5pbmcgZmxhZ3MKCSAgTm9uZSBvZiB0aGVtIHRyaWdnZXIgYW55IHdhcm5pbmcKCjIwMTAtMDMtMjMgMDE6MTE6NDIgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIEZpeGVzIGZvciAtV2FnZ3JlZ2F0ZS1yZXR1cm4KCSAgVGhlIGZsYWcgd2Fzbid0IGFkZGVkIGR1ZSB0byBsaWJleGlmIHVzaW5nIGFnZ3JlZ2F0ZSByZXR1cm4gdmFsdWVzLgoKMjAxMC0wMy0yMiAxODowMjozOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dldHRleHQuaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuYzoKCSAgaTE4bjogYnVpbGQgZml4ZXM6ICNpZiAtPiAjaWZkZWYgZm9yIEVOQUJMRV9OTFMKCjIwMTAtMDMtMjIgMTg6MDE6MjcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nc3QtaTE4bi1wbHVnaW4uaDoKCSAgaTE4bjogZml4IHRoZSBidWlsZAoJICBEb24ndCBpbmNsdWRlIGxvY2FsZS5oIHdoaWNoIHdlIGluY2x1ZGUgaW4gZ2V0dGV4dC5oIGlmIG5lZWRlZC4gR3VhcmQgdGhlCgkgIGluY2x1ZGUgbGlrZSB3ZSBkbyBpbiB0aGUgc2ltaWxsYXIgaGVhZGVycyBpbiBjb3JlLgoKMjAxMC0wMy0yMiAxNjo1NjowMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGdzdC9saWJyZmIvZDNkZXMuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgQWRkIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24KCSAgYW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjIgMTY6MjE6MzEgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgQWRkIC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgZmxhZ3MKCSAgYW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjIgMTY6MTM6MTIgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogUmVmYWN0b3IgY29kZSB0byBtYWtlIGl0IGxvb2sgbW9yZSBtb2Rlcm4KCSAgQSBzaWRlIGVmZmVjdCBpcyB0aGF0IGl0IHBhc3NlcyAtV2Zvcm1hdC1ub25saXRlcmFsIGFuZCBkb2Vzbid0IHJlYWQKCSAgaW52YWxpZCBtZW1vcnkgaW4gc29tZSBjYXNlcywgbGlrZSB3aGVuIHRoZSBtaXhlciB0cmFjayBjb250YWlucwoJICBhICUgc2lnbiBvciB0aGVyZSBpcyBhIG51bWJlciBidXQgbm90IGEga25vd24gbWl4ZXIgbmFtZS4KCjIwMTAtMDMtMjIgMTQ6MDk6MjQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogQXZvaWQgZ19xdWFya190b19zdHJpbmcgKGdfcXVhcmtfZnJvbV9zdHJpbmcgKCkpIG1hZG5lc3MKCSAgV2UgdG8gdGhlIHN0cmR1cCBpbnNpZGUgZ3N0X29zczRfbWl4ZXJfY29udHJvbF9nZXRfdHJhbnNsYXRlZF9uYW1lKCkKCSAgaW5zdGVhZCBvZiBpbiB0aGUgb25seSBjYWxsZXIuCgoyMDEwLTAzLTIyIDEzOjUwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTAyLTAyIDE1OjQ5OjI5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBQYXJzZSBiaXRyYXRlIGFuZCBlbWl0IGFzIHRhZwoJICBUaGlzIHBhdGNoIHBpY2tzIHVwIHRoZSBiaXRyYXRlIGZvciB0aGUgc3RyZWFtIGZyb20gdGhlIE1QRUcgc2VxdWVuY2UKCSAgaGVhZGVyIGFuZCBlbWl0cyBpdCBhcyBhIHRhZyBvbiB0aGUgc291cmNlIHBhZC4KCSAgRml4ZXMgIzU5OTI5OC4KCjIwMTAtMDMtMjIgMTI6Mzg6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBzb3VuZHRvdWNoOiBidWlsZCBmaXhlczogI2lmIC0+ICNpZmRlZgoKMjAxMC0wMy0yMiAxMzoxNjozMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5oOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2VsZWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOgoJICBBZGQgLVd3cml0ZS1zdHJpbmdzCgkgIGFuZCBmaXggaXRzIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDEyOjMwOjAxICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkqIGdzdC9uc2YvZm1vcGwuaDoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIEFkZCAtV3VuZGVmCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDEyOjAzOjU2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgVXBkYXRlIC5naXRpZ25vcmUKCjIwMTAtMDMtMjIgMTI6MDI6MTYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSAgQWRkIC1XcmVkdW5kYW50LWRlY2xzIGZsYWcKCSAgYW5kIGZpeCB3YXJuaW5ncyBmcm9tIGl0CgoyMDEwLTAzLTIyIDA4OjQ3OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmg6CgkgIGdtZTogRml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMDMtMjIgMDg6NDU6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJICB2ZHBhdTogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIzOjEwOjA4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkgIG9yYzogRml4IHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIzOjAwOjQ4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkgIGV4YW1wbGVzOiBGaXggd2FybmluZ3MKCjIwMTAtMDMtMjEgMjI6NDg6MTMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXc6IEZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMjo0NjowMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5oOgoJICBnc3QtY2FtZXJhOiBBZGQgYSBoZWFkZXIgZGVjbGFyaW5nIHRoZSBmdW5jdGlvbnMgZnJvbSB0aGUgdWkgZmlsZQoKMjAxMC0wMy0yMSAyMjoxMDo0NyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5oOgoJICB0ZXN0czogQWRkIGZpbGUgSSBmb3Jnb3QgdG8gY2hlY2sgaW4KCjIwMTAtMDMtMjEgMjI6MDk6MjAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkgIGFjbW1wM2RlYzogZml4IHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIxOjUzOjQ0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJICBGaXggYWNtZW5jIGZvciB3YXJuaW5nIGZsYWdzCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuaDoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4Lmg6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4Lmg6CgkqIGdzdC9tdmUvbXZlYXVkaW9kZWMuYzoKCSogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbnNmL25lc19hcHUuYzoKCSogZ3N0L25zZi9uc2YuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2lyZW4vY29tbW9uLmM6CgkqIGdzdC9zaXJlbi9jb21tb24uaDoKCSogZ3N0L3NpcmVuL2RjdDQuYzoKCSogZ3N0L3NpcmVuL2RjdDQuaDoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uYzoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uaDoKCSogZ3N0L3NpcmVuL3JtbHQuYzoKCSogZ3N0L3NpcmVuL3JtbHQuaDoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIHN5cy9kdmIvY2FtLmM6CgkqIHN5cy9kdmIvY2FtLmg6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmM6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmg6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5jOgoJKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5oOgoJKiBzeXMvZHZiL2NhbXNlc3Npb24uYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5oOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NlbGVjdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RpbWlkaXR5LmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMjEgMjE6Mzc6MzcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9zaXJlbi9jb21tb24uYzoKCSogZ3N0L3NpcmVuL2RjdDQuYzoKCSogZ3N0L3NpcmVuL2RlY29kZXIuYzoKCSogZ3N0L3NpcmVuL2VuY29kZXIuYzoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uYzoKCSogZ3N0L3NpcmVuL3JtbHQuYzoKCSAgc2lyZW46IFJ1biBnc3QtaW5kZW50IHNjcmlwdAoJICBJbmNsdWRlcyBydW5uaW5nIGRvczJ1bml4IG9uIGRlY29kZXIuYwoKMjAxMC0wMy0yMSAyMToyOTo0NyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICB0ZXN0czogRml4IGthdGUgdGVzdAoJICBJdCB3YXMgZmFpbGluZyBkdWUgdG8gdGhlIG5ldyBidWZmZXJfbWV0YWRhdGFfd3JpdGFibGUgY2hlY2tzIGFkZGVkIHRvCgkgIHRoZSBjb3JlIHJlY2VudGx5LgoKMjAxMC0wMy0yMSAxODo1OTozMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfY2h1bmsuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IHJlbW92ZSB1bnVzZWQgZmlsZQoKMjAxMC0wMy0yMSAxNzo1NDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHMvR1NUX0NWUy9HU1RfR0lULwoKMjAxMC0wMy0xOSAxNjo0NzoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJICBjb2c6IEdlbmVyYXRlIGNvcnJlY3QgWVVWLT5SR0IgdGFibGVzCgkgIEZpeGVzOiAjNjEzMzMyLgoKMjAxMC0wMy0xOSAxMToxMDo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IGRpc2FibGUgbG9vcCBhbmQgYXV0byBtdWx0aWNhc3Qgam9pbgoJICBEaXNhYmxlIGxvb3BiYWNrIG9mIHBhY2tldHMuCgkgIERpc2FibGUgYXV0b2pvaW4gb2YgbXVsdGljYXN0IGdyb3VwcyBpbiB0aGUgc2luayBiZWNhdXNlIHRoZSBzb3VyY2UgYWxyZWFkeQoJICBkb2VzIHRoYXQgb24gdGhlIHNoYXJlZCBzb2NrZXQuCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ2ZpbHRlci5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTAzLTE4IDE3OjExOjU5ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvdmlydHVhbGR1Yi9MSUNFTlNFOgoJKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpcnR1YWxkdWIvZ3N0dmlydHVhbGR1Yi5jOgoJKiBnc3QvdmlydHVhbGR1Yi9nc3R2aXJ0dWFsZHViLmg6CgkqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkqIGdzdC92aXJ0dWFsZHViL3ZpcnR1YWxkdWIudmNwcm9qOgoJICB2aXJ0dWFsZHViOiBSZW1vdmUKCSAgVEhlIHBsdWdpbiBpcyBzbyBob3BlbGVzc2x5IG91dGRhdGVkLCBpdCdzIGp1c3Qgbm90IHdvcnRoIGtlZXBpbmcuCgoyMDEwLTAzLTE4IDE3OjA0OjU5ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSogZXh0L3hpbmUvZ3N0eGluZS5oOgoJKiBleHQveGluZS94aW5lLmM6CgkqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOgoJKiBleHQveGluZS94aW5lYXVkaW9zaW5rLmM6CgkqIGV4dC94aW5lL3hpbmVjYXBzLmM6CgkqIGV4dC94aW5lL3hpbmVpbnB1dC5jOgoJICBSZW1vdmUgeGluZSBwbHVnaW4gY29kZQoJICBUaGUgcGx1Z2luIGlzIHVubWFpbnRhaW5lZCAoZXZlbiB3b3JzZSB0aGFuIFhpbmUgOykpCgoyMDEwLTAzLTE4IDE2OjE3OjEwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nb2IvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dvYi9nc3QtaWRlbnRpdHkyLmdvYjoKCSAgUmVtb3ZlIGdvYiBleGFtcGxlcwoJICBUaGV5IHdlcmUgb3V0ZGF0ZWQgYW5kIHdvdWxkbid0IGhhdmUgY29tcGlsZWQgYW55bW9yZS4KCjIwMTAtMDMtMTcgMTE6MzA6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBGaXggb2ZmLWJ5LW9uZSBpbiA0NDQtPjQyMCBjb252ZXJzaW9uCgkgIEZpeGVzICM2MTMxNjAuCgoyMDEwLTAzLTE3IDE0OjI5OjMxICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IFVzZSAiKHBuZ19pbmZvcHApIE5VTEwiIGluc3RlYWQgb2YgcG5nX2luZm9wcF9OVUxMCgoyMDEwLTAzLTE3IDE0OjIzOjQxICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IFVzZSBwbmdfZ2V0X2lvX3B0cigpIGluc3RlYWQgb2YgYWNjZXNzaW5nIGlvX3B0ciBkaXJlY3RseQoKMjAxMC0wMy0xNyAxNDoyMTo1MyArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvZzogQ2hlY2sgZm9yIGxpYnBuZyA+PSAxLjIgaW5zdGVhZCBvZiBsaWJwbmcxMgoKMjAxMC0wMy0xNiAyMzo0NjowNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJICBkb2NzOiB0aGUgeGRnbWltZSBwbHVnaW4gd2FzIG1lcmdlZCBpbnRvIHR5cGVmaW5kZXJzCgoyMDEwLTAzLTE2IDIzOjQzOjAyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBuZW9uLGR2ZDogYWxzbyB1c2UgZ192YWx1ZV9zZXRfc3RhdGljX3N0cmluZygpIGhlcmUgZm9yIHN0YXRpYyBzdHJpbmdzCgoyMDEwLTAzLTE1IDEwOjEzOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBtaW5vciBtZW1vcnkgbGVhayBpbiBwcm9wZXJ0eSBnZXR0ZXIKCSAgRG9uJ3QgbGVhayB0aGUgc3RyaW5nIHJldHVybmVkIGJ5IGdfc3Ryam9pbnYoKS4gV2hpbGUgd2UncmUgYXQgaXQsCgkgIHVzZSBHU3RyaW5nIHRvIGFzc2VtYmxlIHRoZSBzdHJpbmcgdG8gYmUgcmV0dXJuZWQuCgoyMDEwLTAzLTE1IDA5OjI0OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogdXNlIGdfdmFsdWVfc2V0X3N0YXRpY19zdHJpbmcoKSB3aGVyZSBwb3NzaWJsZQoKMjAxMC0wMy0xNSAxMjoxNzozNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogZGlzYWJsZSBjb2RlIHRoYXQgY2F1c2VzIGFuIG9yY2MgY3Jhc2gKCSAgUmV2ZXJ0IHRoaXMgYWZ0ZXIgb3JjIHJlbGVhc2UgYW5kIHZlcnNpb24gYnVtcC4KCjIwMTAtMDMtMTUgMTE6NTQ6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBPbmx5IHN0YXJ0IHRoZSB0YXNrIGFmdGVyIGEgc2VlayBpZiBhIGJ1ZmZlciB3YXMgcmVjZWl2ZWQgYWxyZWFkeQoKMjAxMC0wMy0xNSAwMTo0Njo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBjb21tZW50IG9uIHByZXZpb3VzIGJhZCBjb21taXQgbWVzc2FnZQoJICBUaGUgcmVjZW50IGNvbW1pdCAibG9nb2luc2VydCBjaGVja3BvaW50IEZJWE1FIiBzaG91bGQKCSAgYWN0dWFsbHkgcmVhZDogIEZpeCBsb2dvaW5zZXJ0IHZhcmlhYmxlIG5hbWVzLgoKMjAxMC0wMy0xNSAwMToyNjoyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2dmcmFtZS5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogaW1wbGVtZW50IGNocm9tYS1zaXRlCgkgIERldGVybWluZSBjaHJvbWEgc2l0ZSBwb3NpdGlvbiBmcm9tIHRoZSBjYXBzIGFuZCB1c2UgaXQgd2hlbgoJICB1cHNhbXBsaW5nL2Rvd25zYW1wbGluZyBjaHJvbWEuCgoyMDEwLTAzLTE0IDE4OjU2OjA2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZ2NvbG9yc3BhY2U6IGltcGxlbWVudCBjb2xvci1tYXRyaXggaGFuZGxpbmcKCjIwMDktMTAtMDggMTU6MTg6NDEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogbG9nb2luc2VydCBjaGVja3BvaW50IEZJWE1FCgoyMDA5LTEwLTMwIDE1OjM1OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IEFkZCBuX3RhcHMgdG8gY2hyb21hIHVwc2FtcGxpbmcKCjIwMTAtMDMtMTMgMTg6NTQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBmaXggdHlwbyBpbiBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAxMC0wMy0xMyAwNjowMzozMiArMDEwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFVwZGF0ZSBjYXBzIHdoZW4gdGhlIHNlcXVlbmNlIGhlYWRlciBjaGFuZ2VzCgkgIEZpeGVzIGJ1ZyAjNjEyNjg3LgoKMjAxMC0wMy0xMiAxOTozMDo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFjdGl2YXRlIHZpZGVvIGJpbiBiZWZvcmUgZmVlZGluZyBkYXRhIHRvIGl0CgkgIEZpeGVzICM2MTI2MTUuCgoyMDEwLTAzLTEyIDExOjI4OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHRhZ3NjaGVja2luZzogSW1wcm92ZW1lbnRzIGFuZCBuZXcgZ2VvLWxvY2F0aW9uIHRlc3RzCgkgIE1ha2VzIHNvbWUgaW1wcm92ZW1lbnRzIHRvIHRhZ3NjaGVja2luZy5jLCBtYWtpbmcgaXQgdXNlCgkgIGZha2VzcmMgaW5zdGVhZCBvZiB2aWRlb3Rlc3RzcmMgYW5kIGFsbG93aW5nIHRvIHNldCBpbnB1dAoJICBjYXBzIHNvIHRoYXQgbW9yZSBtdXhlcnMgY2FuIGJlIHVzZWQuIFByZXZpb3VzbHkgd2UgY291bGQKCSAgb25seSB1c2UgdGhvc2UgdGhhdCBhY2NlcHRlZCByYXcgdmlkZW8gY2Fwcy4KCSAgQWxzbyBhZGRzIHNvbWUgdGVzdHMgZm9yIGdlby1sb2NhdGlvbiB0YWdzCgoyMDEwLTAzLTEyIDEwOjUzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogVXNlIHhtcCBvbiBtcDRtdXggYW5kIGdwcG11eCB0b28KCSAgRG8gbm90IHJlc3RyaWN0IHhtcCB0byBxdG11eCwgYnV0IHVzZSBpdCB0b28KCSAgb24gbXA0bXV4IGFuZCBncHBtdXgKCjIwMTAtMDMtMTIgMTM6NTk6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGUyNzJmNzEgdG8gNTVjZDUxNAoKMjAxMC0wMy0xMiAwOTo1Mjo1NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBvbiBtYWNvc3ggMTAuNQoKMjAxMC0wMy0xMSAyMTozMjoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBhZGQgeG1wIHJlYWRpbmcgYW5kIHdyaXRpbmcgc3VwcG9ydAoJICBCdW1wIG5lZWRlZCBiYXNlIHZlcnNpb24gZm9yIG5ldyB4bXAgaGVscGVyIGxpYnJhcnkuIFVzZSB4bXAgaGVscGVycyBpbgoJICBqcGVncGFyc2UgYW5kIGppZm11eC4KCjIwMTAtMDMtMTIgMDg6MjM6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBtZXJnZSBtaXN0YWtlCgoyMDEwLTAyLTI4IDE5OjQxOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NlZ21lbnRjbGlwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmg6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmg6CgkqIGdzdC9zZWdtZW50Y2xpcC9wbHVnaW4uYzoKCSAgc2VnbWVudGNsaXA6IEFkZCBhdWRpby92aWRlbyBidWZmZXIgc2VnbWVudCBjbGlwIGVsZW1lbnRzCgkgIFRoZXNlIGVsZW1lbnRzIGNsaXAgdGhlIGF1ZGlvL3ZpZGVvIGJ1ZmZlcnMgdG8gdGhlIGNvbmZpZ3VyZWQgc2VnbWVudAoJICBmb3IgdGhlIGNhc2Ugd2hlbiB0aGUgdXBzdHJlYW0gZWxlbWVudHMgZG9uJ3QgZG8gdGhpcyBjb3JyZWN0bHkuCgoyMDEwLTAyLTI4IDE2OjA4OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogQWRkIHNvbWUgdW5pdCB0ZXN0cwoKMjAxMC0wMi0yOCAxNjowNDozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFNldCB1bmRlZmluZWQgZnJhbWVyYXRlIGluIHNpbmsgZ2V0Y2FwcyBmdW5jdGlvbgoKMjAxMC0wMi0yOCAxNTowMjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEltcGxlbWVudCByZXZlcnNlIHBsYXliYWNrIGFuZCBzZXQgYnVmZmVyIG9mZnNldHMKCjIwMTAtMDItMjcgMTc6Mzc6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJICBpbWFnZWZyZWV6ZTogQWRkIHRvIHRoZSBkb2NzCgoyMDEwLTAyLTI3IDE3OjMzOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBBZGQgc3RpbGwgZnJhbWUgc3RyZWFtIGdlbmVyYXRvciBlbGVtZW50CgoyMDEwLTAzLTA1IDEzOjMzOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIGNoZWNrOiB0YWdzY2hlY2tpbmc6IHRlc3RzIGZvciB0YWdzIHNlcmlhbGl6YXRpb24gaW4gbXV4ZXJzCgkgIEFkZHMgYSBjaGVjayB1bml0IHRlc3QgdGhhdCBhaW1zIHRvIHRlc3QgdGFncyBzZXJpYWxpemF0aW9uCgkgIGFuZCBkZXNlcmlhbGl6YXRpb24gY29uc2lzdGVuY3kgKGluIG11eGVycykuIEl0IHByb3ZpZGVzIGEKCSAgYmFzaWMgZnVuY3Rpb24gdGhhdCBhbGxvd3Mgb25lIHRvIGVhc2lseSBzcGVjaWZ5IHRhZ3MsIGEKCSAgbXV4ZXIgYW5kIGEgZGVtdXhlciBhbmQgYSB0ZXN0IHdpbGwgYmUgZG9uZSB0byBjaGVjayBpZgoJICB0aGUgdGFncyBoYXZlIGJlZW4gY29uc2lzdGVudGx5IG11eGVkIGFuZCBkZW11eGVkCgoyMDEwLTAyLTIyIDE2OjQ1OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIHhtcCBzdXBwb3J0CgkgIEFkZHMgeG1wIG1ldGF0YWdzIGFkZGluZyB0byBxdG11eC4KCSAgRml4ZXMgIzYwOTUzOQoKMjAxMC0wMy0xMSAwOToyOTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgbWV0YWRhdGE6IFJlbW92ZSBfWE1QX0dFT18qIHRhZ3MKCSAgUmVtb3ZlcyBHU1RfVEFHX1hNUF9HRU9fTE9DQVRJT05fQ09VTlRSWSwKCSAgR1NUX1RBR19YTVBfR0VPX0xPQ0FUSU9OX0NJVFkgYW5kCgkgIEdTVF9UQUdfWE1QX0dFT19MT0NBVElPTl9TVUJMT0NBVElPTiBmcm9tIG1ldGFkYXRhJ3MKCSAgcHJpdmF0ZSB0YWdzIGFzIHRob3NlIGFyZSBub3cgcHJlc2VudCBhdCAtY29yZSB0YWdzLgoJICBGaXhlcyAjNjEyNDEwCgoyMDEwLTAzLTExIDE3OjE3OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkgIHF0bXV4OiBmaXggR1NUX0VMRU1FTlRfRVJST1IgdXNhZ2UKCSAgV2UgbmVlZCB0byBwYXNzIChOVUxMKSByYXRoZXIgdGhhbiBOVUxMIGZvciBlbXB0eSBhcmd1bWVudHMuCgoyMDEwLTAzLTExIDE3OjU4OjI1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzCgoyMDEwLTAzLTEwIDExOjUwOjQ3IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIGZpeCBjb21waWxlIGVycm9yIHdpdGggdHJhY2UgbWFjcm8KCSAgTm90ZSB0aGF0IHRoaXMgb25lIGlzbid0IGEgcHJvYmxlbSB3aXRoIG5vcm1hbCB0cmFjZSBtYWNyb3MsIGJ1dCBjYXVzZXMgcHJvYmxlbXMgd2l0aAoJICBzb21lIHJlcGxhY2VtZW50IHRyYWNlIG1hY3JvcyB0aGF0IEkgdXNlLCB3aGljaCBleHBlY3QgdGhlIGZvcm1hdCBzdHJpbmcgdG8gYmUKCSAgYXBwZW5kYWJsZSAoaWUgImZvbyAiZm10IGluIHRoZSBtYWNybykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjQ1NAoKMjAxMC0wMy0xMCAxMTo0OToyMiAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgIGZpeCB0cmFjZSBtYWNybyB0eXBvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTI0NTQKCjIwMTAtMDMtMTAgMTA6MjY6MjcgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZml4IGNvbXBpbGUgZXJyb3IKCSAgZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzo2ODk6IHdhcm5pbmc6IGNvbXBhcmlzb24gaXMgYWx3YXlzIHRydWUgZHVlIHRvIGxpbWl0ZWQgcmFuZ2Ugb2YgZGF0YSB0eXBlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTI0NTQKCjIwMTAtMDMtMTAgMTA6MjM6MjMgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkgIHF0bXV4OiBmaXggY29tcGlsZSBlcnJvcgoJICBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOjI2ODogd2FybmluZzogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTI0NTQKCjIwMTAtMDMtMTEgMTE6MjE6MTAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGY4YTdjOCB0byBlMjcyZjcxCgoyMDEwLTAzLTExIDExOjI5OjE2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBkb24ndCBjaGVjayBmb3IgTlVMTCB3aGVuIGNhbGxpbmcgZ19mcmVlLgoJICBnX2ZyZWUgZG9lcyB0aGUgY2hlY2sgYWxyZWFkeS4gQWxzbyBzbWFsbCBjb2RlIGxvZ2ljIGNsZWFudXAgYW5kIHdoaXRlc3BhY2UgZml4LgoKMjAxMC0wMy0xMSAxMToyODoxNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkgIG1ldGFkYXRhOiByZW1vdmUgZW1wdHkgc2V0dGVyL2dldHRlciB2bWV0aG9kIGltcGxlbWVudGF0aW9ucwoKMjAxMC0wMy0xMSAxMToxNDo1MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBpbmxjdWRlIHN0ZGxpYi5oIGZvciBhYnMoKQoKMjAxMC0wMi0xNyAxMzoxMToxOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkgIG1ldGFkYXRhOiB1cGRhdGUgYnVnIHN0YXR1cwoKMjAwOS0wOS0wOCAwOToxMzowNyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiByZWZhY3RvciBjcm9wcGluZyBhbmQgYWRhcHRpbmcgY2FwdHVyZWQgaW1hZ2VzCgoyMDA5LTA5LTEwIDEzOjQxOjQwICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IE5VTEwgLT4gUkVBRFkgc3RhdGUgY2hhbmdlIGZhaWx1cmUgaGFuZGxpbmcuCgkgIEluIHNvbWUgZXJyb3Igc2l0dWF0aW9ucyB0aGUgTlVMTCAtPiBSRUFEWSBzdGF0ZSBjaGFuZ2UgZmFpbGVkCgkgIGFuZCBjYW1lcmFiaW4gZWxlbWVudHMgd2VyZSBub3QgZGVzdHJveWVkLgoKMjAxMC0wMi0xNyAxMTo1MToyNiArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgdXNlIGdzdF9idXNfcG9sbCgpIHdoZW4gY3JlYXRpbmcgcHJldmlldyBpbWFnZQoJICBBdm9pZCB1c2luZyBnc3RfYnVzX3BvbGwoKSBhcyB0aGUgZG9jcyByZWNvbW1lbmQuIFVzZQoJICBnc3RfYnVzX3RpbWVkX3BvcF9maWx0ZXJlZCgpIGluc3RlYWQuCgoyMDEwLTAzLTEwIDIxOjAxOjIwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSBmb3IgcmVjZW50IGNoYW5nZXMgdG8gY29tbW9uIHN1Ym1vZHVsZQoJICBUaGlzIGp1c3QgcmVwbGFjZXMgZXZlcnkgIiRFUlJPUl9DRkxBR1MiIHVzYWdlIHdpdGggYSB1c2FnZSBvZgoJICAiJFdBUk5JTkdfQ0ZMQUdTICRFUlJPUl9DRkxBR1MiIHRvIGdldCB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IGFzCgkgIHByZXZpb3VzbHkuCgkgIEFjdHVhbGx5IHVzaW5nIHRoYXQgc2VwYXJhdGlvbiB3aWxsIGhhcHBlbiBsYXRlci4KCjIwMTAtMDMtMTAgMjE6NTI6MjAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTcyMGE3ZCB0byBkZjhhN2M4CgoyMDEwLTAzLTEwIDIwOjQ0OjA3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDBiNmUwNzIgdG8gOTcyMGE3ZAoKMjAxMC0wMy0xMCAxNjoxMDowNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3Y2M1ZWI0IHRvIDBiNmUwNzIKCjIwMTAtMDMtMTAgMTE6MzM6MTAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgZG9jczogVXBkYXRlIHRvIG1hdGNoIHJlY2VudCBjb21taXRzCgoyMDEwLTAzLTEwIDAxOjEwOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2FhNjViNSB0byA3Y2M1ZWI0CgoyMDA5LTEyLTA4IDE2OjM2OjE2IC0wNTAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgIGRjMTM5NDogbGlzdCB2YWxpZCBpc28tc3BlZWRzIGluIGhlbHAgYW5kIHZhbGlkYXRlIHNwZWVkcyBpbiBzZXRfcHJvcGVydHkuCgoyMDA5LTEyLTA4IDE2OjA1OjE0IC0wNTAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgIGRjMTM5NDogY2hlY2sgaXNvLXNwZWVkIHZhbHVlcyBpbiBzZXRfcHJvcGVydHksIGlnbm9yZSBpZiBpbnZhbGlkCgoyMDA5LTEyLTA4IDE1OjM3OjAzIC0wNTAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0Lmg6CgkgIGRjMTM5NDogYWRkIGlzby1zcGVlZCBwcm9wZXJ0eQoJICBBZGQgaXNvLXNwZWVkIHByb3BlcnR5IHdoaWNoIGFsbG93cyBmb3IgaGlnaGVyIGJhbmR3aWR0aCBkYyB2aWRlby4KCSAgQXV0b21hdGljYWxseSBzZXQgdG8gYi1tb2RlIGFzIG5lZWRlZC4KCSAgRml4ZXMgIzYwMzc0NS4KCjIwMTAtMDMtMDkgMTk6NDg6NDQgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICBpbnB1dHNlbGVjdG9yOiBmaXggdGhlIExERkxBR1MKCjIwMTAtMDMtMDkgMjE6Mzg6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NGVjY2U3IHRvIDdhYTY1YjUKCjIwMTAtMDMtMDkgMjE6MjY6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogT25seSBlbmFibGUgZnJhbWVzdGF0cyBjb2RlIHdpdGggc2Nocm8gPj0gMS4wLjkKCjIwMTAtMDItMjggMTA6NDI6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IFN5bmMgcHJvcGVydGllcyB0byB0aGUgY29udHJvbGxlciBpZiBvbmUgd2FzIHNldAoKMjAxMC0wMi0yNyAxOTowODo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogUHJvdGVjdCBzZXQvZ2V0IHByb3BlcnR5IGFuZCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzCgkgIFRoZSBmcmVpMHIgZG9jdW1lbnRhdGlvbiBzYXlzIHRoYXQgdGhlc2UgZnVuY3Rpb25zIG11c3Qgbm90IGJlIGNhbGxlZAoJICBvbiB0aGUgc2FtZSBpbnN0YW5jZSBmcm9tIGRpZmZlcmVudCB0aHJlYWRzIGF0IHRoZSBzYW1lIHRpbWUuIEFsbAoJICBvdGhlciBmdW5jdGlvbnMgYXJlIGd1YXJhbnRlZWQgdG8gYmUgdGhyZWFkc2FmZS4KCjIwMTAtMDItMjYgMTY6NDA6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IE1ha2Ugc29tZSBtb3JlIHJ1bGVzIHNpbGVudCBpZiByZXF1ZXN0ZWQKCjIwMTAtMDItMjYgMTU6NDU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSBhdXRvbWFrZSAxLjExIHNpbGVudCBydWxlcyBpbnN0ZWFkIG9mIHNoYXZlIGlmIGF2YWlsYWJsZQoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZSB1c2Ugc29tZXRoaW5nIHRoYXQgaXMgc3RpbGwgbWFpbnRhaW5lZCBhbmQKCSAgYWxzbyBicmluZ3MgYmFjayBsaWJ0b29sIDEuNSBzdXBwb3J0LgoKMjAxMC0wMi0yNiAxNToyNTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBBZGQgdGVzdCBmb3IgY29ycmVjdCBJNDIwIHJlbmRlcmluZwoKMjAxMC0wMy0wOSAxMjozMzozNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBBZGQgZnJhbWUtc3RhdHMgbWVzc2FnZQoKMjAxMC0wMy0wOCAyMTowMDoyMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnZ0ZWxlY2luZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBBZGQgaW52dGVsZWNpbmUgZWxlbWVudAoJICBBdXRvbWF0aWMgaW52ZXJzZSB0ZWxlY2luZSBlbGVtZW50LiAgUmlnaHQgbm93LCBpdCBjbHVtc2lseSBhdHRlbXB0cwoJICB0byByZWFycmFuZ2UgdmlkZW8gZmllbGRzIGludG8gZnJhbWVzIHRoYXQgZG9uJ3QgaGF2ZSBjb21iaW5nIGVmZmVjdHMsCgkgIGFuZCBvbmx5IHdvcmtzIHdpdGggNjBpLzI0cCBjb250ZW50IGF0IDcyMHg0ODAuICBMYXRlciwgaXQgd2lsbCBoYW5kbGUKCSAgb3RoZXIgcHVsbGRvd24gdmFyaWF0aW9ucywgY2hhbmdlIGNhcHMgYW5kIHNtb290aCB0aW1lc3RhbXBzCgkgIGFwcHJvcHJpYXRlbHkuCgoyMDEwLTAzLTAxIDEzOjQ5OjM5ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOgoJICBhcGV4c2luazogVXNlICJhcGV4c2luayIgZm9yIHBsdWdpbiBuYW1lCgoyMDEwLTAzLTAxIDEzOjQ3OjMyICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHdtbmM6IFVwZGF0ZSBkZXNjcmlwdGlvbgoKMjAxMC0wMy0wMSAxMzoyMjowNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIG51dmRlbXV4OiBVcGRhdGUgcGx1Z2luIGRlc2NyaXB0aW9uCgoyMDEwLTAzLTAxIDEzOjE4OjU5ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJICBuc2Y6IE5hbWUgdGhlIHBsdWdpbiBuc2YsIG5vdCBuc2ZkZWMKCSAgVGhlIHBsdWdpbiBpbiBnc3Ruc2Yuc28gc2hvdWxkIGJlIG5hbWVkIG5zZiwgbm90IG5zZmRlYy4KCjIwMTAtMDMtMDggMTI6MjM6NDggLTAzMDAgIFRpYWdvIEthdGNpcGlzIDx0aWFnb2thdGNpcGlzQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiByZW1vdmluZyB2ZXJ5IGFubm95aW5nIGdfcHJpbnQoKSBpbiBwaXRjaCBlbGVtZW50CgkgIEZpeGVzICM2MTIyMDguCgoyMDEwLTAzLTA5IDE3OjUwOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjE4ID09PQoKMjAxMC0wMy0wNiAwMTo0OToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE4CgoyMDEwLTAzLTA2IDAxOjM5OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTAzLTAzIDIzOjQyOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE3LjQgcHJlLXJlbGVhc2UKCjIwMTAtMDItMjIgMTk6Mzg6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBSZW5hbWUgJ2F2Yy1zYW1wbGUnIHRvICdhdmMnIGluIGNhcHMKCSAgRml4ZXMgIzYwNjY2MgoKMjAxMC0wMi0yMiAxOToyNDowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFJlcGxhY2UgJ2F2Yy1zYW1wbGUnIHdpdGggJ2F2YycgaW4gY2FwcwoJICBGaXhlcyAjNjA2NjYyCgoyMDEwLTAyLTI4IDIzOjE0OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBkb2NzOiByZW1vdmUgYml0cyB0aGF0IHJlZmVyIHRvIHBsdWdpbnMgdGhhdCBoYXZlIGJlZW4gbW92ZWQKCjIwMTAtMDItMjYgMTg6MDY6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEcm9wIHRleHQgYnVmZmVycyBiZWZvcmUgdGhlIHNlZ21lbnQgc3RhcnQgYW5kIGNsaXAgcnVubmluZyB0aW1lIGVuZCB0byB0aGUgc2VnbWVudCBzdG9wCgoyMDEwLTAyLTI3IDExOjIzOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogQ29uc3VtZSB0ZXh0IGJ1ZmZlcnMgaWYgdGhleSdyZSB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIG5leHQgNTAwbXMKCSAgSW5zdGVhZCBvZiBvbmx5IGNvbnN1bWluZyB0aGVtIGlmIHRoZXkncmUgdG8gYmUgZGlzcGxheSBub3cuIENvbnN1bWluZwoJICB0aGVtIHRoZW4gbWlnaHQgbWFrZSBmb2xsb3dpbmcgYnVmZmVycyB3aXRoIHRoZSBzYW1lIHRpbWVzdGFtcCB0bwoJICBiZSB0b28gbGF0ZS4KCjIwMTAtMDItMjYgMTE6NTA6MjUgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBUYWtlIGxvY2sgYXJvdW5kIHVzZSBvZiAobm9uLXRocmVhZHNhZmUpIHRhZ3NldHRlciBpbnRlcmZhY2UuCgoyMDEwLTAyLTI0IDAyOjAzOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE3LjMgcHJlLXJlbGVhc2UKCjIwMTAtMDItMjMgMTg6MTY6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBQcm90ZWN0IGxpYmFzcyBzdHJ1Y3R1cmVzIGZyb20gY29uY3VycmVudCBhY2Nlc3MgZnJvbSBtdWx0aXBsZSB0aHJlYWRzCgkgIEZpeGVzIGJ1ZyAjNjA4NzUxLgoKMjAxMC0wMi0yMyAxNzoyODowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2FsbCAkUEtHX0NPTkZJRyBpbnN0ZWFkIG9mIHBrZy1jb25maWcgdG8gZml4IGNyb3NzIGNvbXBpbGF0aW9uCgoyMDEwLTAyLTIyIDE2OjUxOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogd3JpdGUgYWxsIHVkdGEgY2hpbGRyZW4gYXRvbXMKCSAgVURUQSBtaWdodCBoYXZlIE1FVEEgYW5kIG90aGVyIGNoaWxkcmVuIGF0b21zCgkgIHRvZ2V0aGVyLCB3cml0ZSB0aGVtIGFsbC4KCjIwMTAtMDItMjIgMTA6NDg6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogVXNlIGludGVybmFsIHNpbmsgcGFkcyBsaXN0CgkgIER1ZSB0byBHc3RDb2xsZWN0UGFkcyBzaW5rIHBhZHMgbGlzdCBiZWluZyBub3QgcmVsaWFibHkKCSAgaXRlcmF0YWJsZSAod2hlbiBub3QgaW5zaWRlIHRoZSBjb2xsZWN0ZWQgZnVuY3Rpb24pIHRoaXMKCSAgcGF0Y2ggYWRkcyBhIHNpbmsgcGFkcyBsaXN0IHRvIHF0bXV4IHRvIGJlIHVzZWQgd2hlbiBpdGVyYXRpbmcKCSAgc2luayBwYWRzIG9uIHJlc2V0IGZ1bmN0aW9uLgoJICBGaXhlcyAjNjA5MDU1CgoyMDEwLTAyLTIxIDE5OjU3OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICBmYWFkOiBmaXggTWFrZWZpbGUuYW0gc29tZSBtb3JlCgkgIEZBQURfQ0ZMQUdTIGFuZCBfTElCUyBzaG91bGQgYmUgYXQgdGhlIGVuZCwgYW5kIC1sZ3N0YXVkaW8tMC4xMAoJICBzaG91bGQgZ28gcmlnaHQgYWZ0ZXIgR1NUX1BMVUdJTlNfQkFTRV9MSUJTLgoKMjAxMC0wMi0xOSAxNToxNzoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgZmFhZDogTGluayB3aXRoIGxpYmdzdGJhc2UgZm9yIEdzdEFkYXB0ZXIKCSAgQWxzbyBmaXggb3JkZXIgb2YgQ0ZMQUdTIGFuZCBMSUJTCgoyMDEwLTAyLTE5IDA4OjU4OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTcuMiBwcmUtcmVsZWFzZQoKMjAxMC0wMi0xOSAwODo1ODowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgZ2VuZXJhdGVkIGNvZyBmaWxlcwoKMjAxMC0wMi0xOSAxMDozMjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogZml4IE5VTEwgcmVmIGFuZCBlcnJvciBoYW5kbGluZyBpZiBubyB2aWRlbyBzaW5rIGlzIGZvdW5kCgkgIElmIG5vIHZpZGVvIHNpbmsgaXMgc2V0IGFuZCBhdXRvdmlkZW9zaW5rIGlzIG5vdCBhdmFpbGFibGUgZm9yIHNvbWUKCSAgcmVhc29uLCBwb3N0IGEgcHJvcGVyIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyB3aGVuIGZhaWxpbmcgdG8KCSAgY2hhbmdlIHN0YXRlLCBhbmQgZG9uJ3QgdHJ5IHRvIGdzdF9vYmplY3RfcmVmKCkgTlVMTCBwb2ludGVycy4gRml4ZXMKCSAgZ2VuZXJpYy9zdGF0ZXMgdW5pdCB0ZXN0IHdoZW4gZGlzdGNoZWNraW5nLgoKMjAwOS0xMi0xMCAxNjozMDoyNiAtMDUwMCAgU3RlcGhlbiBEZXBvb3RlciA8c3RlcGhlbmRAeGFuZHJvcy5jb20+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IGZpeCBjb21waWxlIGFnYWluc3QgZWFybGllciBDRUxUIHZlcnNpb25zCgkgIENoZWNrIHRoZSBleGlzdGVuY2Ugb2YgdGhlIENFTFRfU0VUX0NPTVBMRVhJVFkgc3ltYm9sCgkgIGJlZm9yZSB0cnlpbmcgdG8gdXNlIGl0LiBGaXhlcyBjb21waWxhdGlvbiBhZ2FpbnN0CgkgIGxpYmNlbHQgMC40LjAuCgkgIEZpeGVzICM2MDQzMTEuCgoyMDEwLTAyLTE3IDEyOjM0OjM4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiByZXR1cm4gb2Zmc2V0K2xlbmd0aCBmcm9tIF9nZXRfaW1hZ2VfbGVuZ3RoKCkuCgkgIF9maW5kX2VuZF9tYXJrZXIoKSBmaW5kIHRoZSBwb3NpdGlvbiBvZiB0aGUgbWFya2VyLiBFT0kgaGFzIGEgZml4ZWQgbGVuZ3RoIG9mIDIKCSAgYnl0ZXMgdGhhdCB3aGVyZSBtaXNzaW5nLiBGaXhlcyAjNjA4OTk4CgoyMDEwLTAyLTE3IDAxOjM0OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBuZXcgZmFhZCB1bml0IHRlc3QKCjIwMTAtMDItMTcgMDE6Mjk6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZml4IGludmFsaWQgbWVtb3J5IGFjY2VzcwoJICBTZWUgYnVnICM2MDg5OTguCgoyMDEwLTAyLTE2IDIyOjIzOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCB1bml0IHRlc3QgdG8gYWN0dWFsbHkgY2hlY2sgZm9yIGV2ZXJ5dGhpbmcgdG8gd29yayBjb3JyZWN0bHkKCjIwMTAtMDItMTYgMjI6MjI6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJZiBubyBjb2RlYyBkYXRhIGlzIHNldCwgc3RpbGwgaW5pdGlhbGl6ZSB0aGUgYXNzIHRyYWNrCgoyMDEwLTAyLTE2IDIxOjQxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBBZGQgc2ltcGxlIHVuaXQgdGVzdAoJICBUaGlzIHJlbmRlcnMgYSB0ZXN0IHN0cmluZyBvbiB0b3Agb2YgYSByZWQgdmlkZW8gc3RyZWFtIGFuZCBjaGVja3MKCSAgaWYgdGhlIHRleHQgaXMgb25seSByZW5kZXJlZCBhdCB0aGUgY29ycmVjdCB0aW1lc3RhbXBzLgoKMjAxMC0wMi0xNiAyMDozODozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSAgb2ZhOiBGaXggd2FybmluZyBtZXNzYWdlIHBhcnNpbmcKCjIwMTAtMDItMTYgMTY6NDk6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBndWFyZCBhZ2FpbnN0IGNvZGVjX2RhdGEgZmllbGQgd2l0aCBhIE5VTEwgYnVmZmVyIGluIGNhcHMKCSAgRml4ZXMgIzYwOTQ3OC4KCjIwMTAtMDItMTYgMTc6MTM6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBwcmV2ZW50IGxlYWtpbmcgaGRsciBuYW1lCgoyMDEwLTAyLTE2IDE2OjI0OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogc3VwcG9ydCBmb3IgQUxBQwoJICBGaXhlcyAjNTgwNzMxLgoKMjAxMC0wMi0xNiAxNDoxOTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGJ1aWxkaW5nIHN0c2QgZW50cnkgJ3dhdmUnIGV4dGVuc2lvbgoKMjAxMC0wMi0xNiAxMDowMDo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIC5zcGVjIGZpbGU6IHNoYXBld2lwZSBhbmQgaXZvcmJpc2RlYyBoYXZlIGJlZW4gbW92ZWQgZWxzZXdoZXJlCgoyMDEwLTAyLTE2IDA5OjQ5OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZG9jczogdW5pZnkgZG9jIHN0eWxlCgkgIFVzZSBndGtkb2Mgc3ludGF4IGFuZCBhZGQgc2hvcnQgZGVzYyBmb3IgdGhlIGV4YW1wbGVzLgoKMjAxMC0wMi0xNSAyMzo0MzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IHVwIEdTVF9DWFhGTEFHUyBwcm9wZXJseQoJICBXZSBkb24ndCB3YW50IEMgc3BlY2lmaWMgZmxhZ3MgaW4gR1NUX0NYWEZMQUdTLCBzbyBiYXNlIGl0IG9uIHRoZQoJICBHU1RfQ0ZMQUdTIHRoYXQgb25seSBjb250YWlucyB0aGUgcGtnLWNvbmZpZyBDRkxBR1MgYnV0IG5vbmUgb2YKCSAgdGhlIEdTVF9PUFRJT05fQ0ZMQUdTLiBBbHNvLCB3ZSBvbmx5IG5lZWQgdGhlIGxvY2FsIGluY2x1ZGVzIG9uY2UuCgoyMDEwLTAyLTE1IDIzOjE3OjU3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYmFzZSBHU1RfQ1hYRkxBR1Mgb24gLS1jZmxhZ3MgZnJvbSBwa2ctY29uZmlnCgkgIHBrZy1jb25maWcgc2V0cyBHU1RfQ0ZMQUdTIGFuZCBHU1RfTElCUy4gV2UgbmVlZCB0byB1c2UgQ0ZMQUdTIGFzIGEgc3RhcnRpbmcKCSAgcG9pbnQgZm9yIGZvciBib3RoIEMgYW5kIENYWCBzZXR0aW5ncy4KCjIwMTAtMDItMTUgMTI6NTc6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nbXNlOiBmaXggcHJpbnRmIGZvcm1hdCBhbmQgYSBmZXcgcmVmIGxlYWtzCgoyMDEwLTAyLTE1IDEyOjQ2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2dzdC1pdm9yYmlzLm00OgoJICBidWlsZDogcmVtb3ZlIHNvbWVtIG1vcmUgaXZvcmJpcyBjcnVmdAoKMjAxMC0wMi0xNSAxMTo1NTowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10cmVtb3IueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJKiBleHQvaXZvcmJpcy92b3JiaXMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5oOgoJKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICBNb3ZlZCAnaXZvcmJpcyhkZWMpJyBmcm9tIC1iYWQgdG8gLWJhc2UuCgkgIEZpeGVzICM2MDkwNjMuCgoyMDEwLTAyLTE1IDA5OjM2OjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkgIGhkdnBhcnNlOiBGaXggZmllbGQgZXJyb3IuCgkgIFNwb3R0ZWQgYnkgQnVya2hhcmQgUGxhdW0KCjIwMTAtMDItMTUgMDE6MjY6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIHRlc3RzOiBmaXggY2FwcyBsZWFrIGluIGpwZWdwYXJzZSB1bml0IHRlc3QKCjIwMTAtMDItMTMgMTU6Mjg6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGF0YXVyaXNyYy5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdCBmb3IgZGF0YXVyaXNyYwoJICBSZXF1aXJlcyBmaXhlcyBmcm9tIGNvcmUgZ2l0LCBzbyBidW1wIGNvcmUgcmVxdWlyZW1lbnQgdG8gZ2l0IGFzIHdlbGwuCgoyMDEwLTAyLTE0IDIzOjE4OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTZkYzc5MyB0byA0NGVjY2U3CgoyMDEwLTAyLTE0IDE1OjIyOjA1ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS51aToKCSAgZXhhbXBsZXM6IENhbGwgZ3N0X2Vuc3VyZV9uYXRpdmVfd2luZG93KCkgZm9yIGdzdC1jYW1lcmEKCSAgRml4ZXMgc3B1cmlvdXMgU0VHVnMgZHVlIHRvIG11bHRpdGhyZWFkaW5nIGNvbmZsaWN0cyBpbgoJICBjbGllbnQtc2lkZS13aW5kb3cgR3RrIHZlcnNpb25zLgoKMjAxMC0wMi0xNCAxMzo0MzowNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgZXhhbXBsZXM6IFVzZSBndGsgZnVuY3Rpb25zIGluc3RlYWQgb2YgbGliWDExIGZ1bmN0aW9ucyBpbiBjYW1lcmFiaW4KCSAgR2V0cyBhcm91bmQgdGhlIG5lZWQgdG8gbGluayB0byBsaWJYMTEgZGlyZWN0bHkgYW5kIHByb3ZpZGVzIHRoZSBzYW1lCgkgIGZ1bmN0aW9uYWxpdHkuCgkgIFRvIGJvb3N0LCBpdCdzIG1vcmUgcG9ydGFibGUsIHRvbyEKCjIwMTAtMDItMTQgMTM6NDE6NTcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogUHJvcGVybHkgbGluayB0byBsaWJtCgoyMDEwLTAyLTEzIDExOjAwOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBBZGQgc2hhcGV3aXBlIGV4YW1wbGVzIGRpcmVjdG9yeSB0byBDUlVGVF9ESVJTCgoyMDEwLTAyLTEyIDExOjM1OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkgIGRvY3M6IFVwZGF0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTAyLTEyIDExOjIxOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIE1vdmVkICdzaGFwZXdpcGUnIGZyb20gLWJhZCB0byAtZ29vZAoJICBGaXhlcyBidWcgIzU4NDUzNi4KCjIwMTAtMDItMTEgMjE6NTc6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDEwLTAyLTExIDIwOjM3OjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkgIGZhYWQ6IGFkZCB1bml0IHRlc3QKCjIwMTAtMDItMTEgMjA6MjE6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmaXggZG9jdW1lbnRhdGlvbiB0eXBvCgoyMDEwLTAyLTExIDIwOjIxOjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcmVtb3ZlIHNvbWUgcmVkdW5kYW50IGNvZGUKCSAgLi4uIGFuZCBtb3ZlIGFuZCBtb2RpZnkgc29tZSBkZWJ1ZyBsb2dnaW5nLgoKMjAxMC0wMi0xMCAyMzoyOToyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGRyYWluIHN5bmMgcGVuZGluZyBmcmFtZXMgd2hlbiBhcHByb3ByaWF0ZQoKMjAxMC0wMi0xMCAyMzoxNDo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHNlbmQgdGFncyBleGFjdGx5IG9uY2Ugd2hlbiBpbml0J2VkCgoyMDEwLTAyLTEwIDIzOjE0OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcmVmYWN0b3Igc29tZSBwYXJ0aWFsIHN0cmVhbSByZXNldAoKMjAxMC0wMi0xMCAyMjoxNDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGNvcnJlY3RseSBlc3RpbWF0ZSBhdmVyYWdlIGJwcwoJICBDb3VudCBjb25zdW1lZCBieXRlcyBhbmQgY29ycmVzcG9uZGluZyBkdXJhdGlvbiBhdG9taWNhbGx5LAoJICByYXRoZXIgdGhhbiBsZXR0aW5nIGJ5dGVjb3VudCBydW4gYWhlYWQgb2Ygd2hhdCBoYXMgYmVlbiBkZWNvZGVkLgoJICBGaXhlcyAjNDQwNDc2LgoKMjAxMC0wMi0xMCAyMTo0OTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGdpdmUgdXAgYWZ0ZXIgc29tZSBudW1iZXIgb2YgZGVjb2RpbmcgZmFpbHVyZXMKCjIwMTAtMDItMTAgMjE6Mzc6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IGRvIG5vdCBhdHRlbXB0IHRvIHN5bmMgaW5kZWZpbml0ZWx5CgoyMDEwLTAyLTEwIDIxOjEyOjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiB1c2UgYWRhcHRlciByYXRoZXIgdGhhbiB0ZW1wb3JhcnkgYnVmZmVyCgoyMDEwLTAyLTEwIDE5OjE0OjE5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogb2JqZWN0aWZ5IGRlYnVnIHN0YXRlbWVudHMgYW5kIGFkanVzdCBzb21lIGxldmVscwoKMjAxMC0wMi0xMCAxODo0NjoxNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJlZmFjdG9yIHNyYyBjYXBzIChyZSluZWdvdGlhdGlvbiBhbmQgcmVmbG93IHNvbWUgZXJyb3IgZXhpdHMKCjIwMTAtMDItMDkgMjM6MzU6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IHJlbW92ZSBkZWZ1bmN0IGFuZCBvdGhlcndpc2Ugb2Jzb2xldGUgY29kZQoKMjAxMC0wMi0wOSAyMzoyNToxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJlZmFjdG9yIHJlc2V0CgoyMDEwLTAyLTA5IDIyOjQ2OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiB1c2UgYW4gaW4gc3RydWN0IHNlZ21lbnQgcmF0aGVyIHRoYW4gYSBzZXBhcmF0ZWx5IGFsbG9jYXRlZCBvbmUKCjIwMTAtMDItMTAgMTA6NTI6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBQcmVzZXJ2ZSB0aGUgaW5wdXQgY29sb3IgdmFsdWVzIGluIGFsbCBjYXNlcwoKMjAxMC0wMi0xMCAxMDo1MDo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFNjYWxlIG1hc2sgYWxwaGEgdmFsdWVzIGJ5IHRoZSBzb3VyY2UgYWxwaGEgdmFsdWVzCgoyMDEwLTAyLTEwIDEwOjQyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRml4IEFSR0IgcHJvY2Vzc2luZwoKMjAxMC0wMi0xMCAxMDozNDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBQcmludCBzb21lIG1vcmUgZGV0YWlscyBvbiBlcnJvci93YXJuaW5nIG1lc3NhZ2VzCgoyMDEwLTAyLTA5IDE1OjIwOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IE5ldmVyIGZsdXNoIG1vcmUgYnl0ZXMgdGhhbiBhdmFpbGFibGUKCSAgVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlIGlucHV0IGRvZXNuJ3QgY29udGFpbiBhbnkgTVBFRyBUUwoJICBkYXRhIGFuZCB0aGUgY29tcGxldGUgYWRhcHRlciBjb250ZW50IHNob3VsZCBiZSBza2lwcGVkLgoKMjAxMC0wMi0wOCAxMTo1MTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5jOgoJICBxdG11eDogYXRvbXNyZWNvdmVyeTogRml4IGNvbXBpbGF0aW9uIHByb2JsZW0KCSAgRml4ZXMgYSBjb21waWxhdGlvbiBlcnJvciBkdWUgdG8gdW51c2VkIGZ1bmN0aW9uIHJlc3VsdC4KCjIwMTAtMDItMDggMDg6MjY6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBJbXByb3ZlL2FkZCBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDItMDggMDg6MjA6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBbHdheXMgaG9sZCB0aGUgbWFzayBtdXRleCBiZWZvcmUgc2lnbmFsbGluZyB0aGUgR0NvbmQKCjIwMTAtMDItMDggMDg6MTk6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBNb3ZlIGNoYWluIGZ1bmN0aW9uIGVycm9yIGNhc2VzIGF0IHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uIGFuZCBhZGQgdXNlZnVsIGRlYnVnIG91dHB1dAoKMjAxMC0wMi0wOCAwODoxMjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IEZpeCByYWNlIGNvbmRpdGlvbiBkdXJpbmcgc2h1dGRvd24gdGhhdCBjYW4gbGVhZCB0byBhIGRlYWRsb2NrCgoyMDEwLTAyLTA4IDA4OjExOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRHJvcCBtYXNrIGJ1ZmZlciBvbiBGTFVTSCBldmVudHMKCjIwMTAtMDItMDggMDg6MDk6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgc2hhcGV3aXBlOiBVcGRhdGUgY29weXJpZ2h0IHllYXIKCjIwMTAtMDItMDggMDg6MDg6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBEb24ndCByZXNldCBwcm9wZXJ0aWVzIHdoZW4gZ29pbmcgUEFVU0VELT5SRUFEWQoJICBBbHNvIHVzZSBkZWZpbmVzIGZvciB0aGUgZGVmYXVsdCB2YWx1ZXMgb2YgdGhlIHByb3BlcnRpZXMuCgoyMDEwLTAyLTA3IDExOjA5OjQ1ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2Z2RlYzogZml4IGNvbXBpbGF0aW9uIHdpdGggTVNWQwoJICBNU1ZDIGRvZXNuJ3QgbGlrZSAjaWYgI2Vsc2Ugd2l0aGluIHN0YXRlbWVudHMuCgkgIEZpeGVzICM2MDkyMTUuCgoyMDEwLTAxLTI2IDE3OjA4OjA0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJICBrYXRlZGVjOiBkb24ndCBlc2NhcGUgc3BlY2lhbCBjaGFyYWN0ZXJzCgkgIERvbid0IGVzY2FwZSBzcGVjaWFsIGNoYXJhY3RlcnMsIGFzIHdlJ2xsIHNlbmQgdGhlIGJ1ZmZlciBhcwoJICB0ZXh0L3BsYWluIHJhdGhlciB0aGFuIHRleHQveC1wYW5nby1tYXJrdXA7IHRoaXMgYXZvaWRzIGUuZy4KCSAgcXVvdGVzIGZyb20gYXBwZWFyaW5nIGFzICZxdW90OyBpbiB0aGUgcmVuZGVyZWQgc3VidGl0bGVzLgoJICBTZWUgYnVnICM2MDA5MjkuCgoyMDEwLTAxLTI0IDExOjE0OjE1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IHJlbmFtZSB0aGUgdGlnZXIgb3ZlcmxheSBlbGVtZW50J3Mgc2luayBwYWQgdG8gJ3N1YnRpdGxlX3NpbmsnCgkgIEFzIHRoaXMgaXMgd2hhdCBwbGF5YmluMiBleHBlY3RzLiBTZWUgYnVnICM2MDA5MjkuCgoyMDEwLTAyLTA3IDEwOjE5OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSAganBlZ3BhcnNlOiBsb3dlciByYW5rIHRvIE5PTkUgc28gaXQgaXMgbm90IGF1dG9wbHVnZ2VkIGZvciBkZWNvZGluZwoJICBUaGlzIGVsZW1lbnQgaXMgdG9vIG5ldyBhbmQgdG9vIHVudGVzdGVkIHRvIGhhdmUgaXQgYXV0b3BsdWdnZWQuCgoyMDEwLTAyLTA1IDE3OjI1OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IEZpeCB1bml0IHRlc3QKCSAgVGhlIHBhcnNlZCBidWZmZXJzIGhhdmUgYSBmcmFtZXJhdGUgb2YgMS8xLgoJICBGaXhlcyBidWcgIzYwODk5OC4KCjIwMTAtMDItMDUgMTA6MTg6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSAgbWV0YWRhdGE6IGFwcGVuZF9zb3J0ZWQgc2hvdWxkIHJlYWxseSBhcHBlbmQgc29ydGVkCgkgIC4uLiB3aGljaCBtZWFucyB0aGF0IGlkZW50aWNhbCBvZmZzZXRfb3JpZyBzaG91bGQgcHJlc2VydmUgdGhlIG9yZGVyCgkgIGluIHdoaWNoIHRoZXkgYXJlIGFwcGVuZGVkLgoKMjAxMC0wMi0wNSAxMDoxNjoyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJICBtZXRhZGF0YTogdXNlIGEgbm9uLURFRkFVTFQgcHJvcGVyIGRlYnVnIGNhdGVnb3J5IGluIGhlbHBlciBmaWxlcwoKMjAxMC0wMi0wNCAxOTo0NTo0MiArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJICBtcGVndHNtdXg6IEZpeCBhIHBvdGVudGlhbCB1bnJlZiBvZiBhIE5VTEwgcG9pbnRlci4KCSAgQXQgZmlyc3QgaXRlcmF0aW9uIHdlIGRvbid0IGhhdmUgYW55IGNhY2hlZCBTUFMvUFBTIGJ1ZmZlciB0byBmcmVlLgoKMjAxMC0wMi0wMiAxMTo0MzoyMiAtMDUwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IGFkZCBQQVQvUE1UIGluIHN0cmVhbWhlYWRlcgoJICBUaGUgY2hlY2sgZm9yIFBBVC9QTVQgYnVmZmVycyB3YXMgc3VnZ2VzdGVkIGJ5CgkgIFphaGVlciBBYmJhcyBNZXJhbGkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDg4OTYKCjIwMTAtMDItMDMgMTM6MzE6MjIgKzAxMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkgIG1wZWd0c211eDogYWRkIHBhdC1pbnRlcnZhbCBhbmQgcG10LWludGVydmFsIHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwODg5NgoKMjAxMC0wMi0wMyAxMzo0MToyNyArMDEwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBmaXggUEFUL1BNVCBpbnNlcnRpb24gZnJlcXVlbmN5CgkgIFRoZSBjdXJyZW50IGNvZGUgaXMgY29tcGFyaW5nIHRpbWVzdGFtcHMgd2l0aCBkaWZmZXJlbnQgY2xvY2suCgkgIExldCdzIHVzZSBvbmx5IHRoZSBjbG9jayBmb3IgUFRTIHZhbHVlcy4KCSAgQWxzbyByZW5hbWUgZnJlcXVlbmN5IHRvIGludGVydmFsLCB0byBhdm9pZCBjb25mdXNpb24uIEFuZCByZW1vdmUKCSAgZG9jdW1lbnRhdGlvbiBhYm91dCB2YWx1ZSAwLCB3aGljaCB3b24ndCB3b3JrIGxpa2UgZG9jdW1lbnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwODg5NgoKMjAxMC0wMS0yNyAxNjoyOTowMCArMDEwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBtYXJraW5nIG5vbi1kZWx0YSB1bml0LCBpbmNsdWRpbmcgcHJlLXNlY3Rpb25zCgkgIFRoaXMgcGF0Y2ggYWRkcmVzcyB0aGUgaXNzdWUgb2JzZXJ2ZWQgd2l0aCBLRiB0aW1lc3RhbXBzCgkgIGFuZCBkZWx0YSBmbGFnLiBXaGVuIGEgc2VjdGlvbiBpcyBhcHBlbmRlZCBiZWZvcmUgdGhlIGtleWZyYW1lLAoJICBpdCBpcyBub3QgbWFya2VkIGFzIG5vbi1kZWx0YS4gSXQncyBwcmVmZXJhYmxlIHRvIG1hcmsgdGhlCgkgIGZpcnN0IGJ1ZmZlciBub24tZGVsdGEuCgkgIFRoaXMgcGF0Y2ggYWxzbyBzaW1wbGlmeSB0aGUgaW5pdGlhbCBwYXRjaCB3cml0dGVuIGJ5IHRob21hcywKCSAgc2luY2UgaXQgZG9lcyBub3QgY2x1dHRlciB0c211eC8gd2l0aCBhIGRlbHRhIGZsYWcgcGFzc2VkCgkgIGFyb3VuZCBvbmx5IGZvciBHU3RyZWFtZXIgY29udmVuaWVuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDQ5MDgKCjIwMTAtMDItMDMgMTU6MDc6MDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4Lmg6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5oOgoJICBqcGVnZm9ybWF0OiBhZGQgYSBiYXNpYyBqaWZtdXhlcgoJICBUaGUgbmV3IGVsZW1lbnQgY2FuIGNob3AgYW5kIHJlYXNzZW1ibGUgdGhlIG1hcmtlcnMuIEkgaW1wbGVtZW50cyB0aGUgdGFnc2V0dGVyCgkgIGFuZCBmb3Igbm93IGNhbiBzZXJpYWxpemUgc29tZSB0YWdzIHRvIGpwZWcgY29tbWVudHMuCgoyMDA5LTEyLTEyIDE2OjA3OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4cGx1Z2luLmM6CgkgIHF0bXV4OiBBZGRzIG1vb3YgcmVjb3ZlcnkgZmVhdHVyZQoJICBBZGRzIGEgbmV3IHByb3BlcnR5IHRvIHF0bXV4IHRoYXQgc2V0cyBhIHBhdGggdG8gYSBmaWxlIHRvIHdyaXRlCgkgIGFuZCB1cGRhdGUgZGF0YSBhYm91dCB0aGUgbW9vdiBhdG9tICh0aGF0IGlzIG5vdCB3cml0ZW4gdGlsbCB0aGUKCSAgZW5kIG9mIHRoZSBmaWxlKS4gSWYgdGhlIHBpcGVsaW5lL2FwcCBjcmFzaGVzIGR1cmluZyBleGVjdXRpb24gaXQKCSAgbWlnaHQgYmUgcG9zc2libGUgdG8gcmVjb3ZlciB0aGUgbW92aWUgdXNpbmcgdGhlIHF0bW9vdnJlY292ZXIgZWxlbWVudC4KCSAgcXRtb292cmVjb3ZlciBpcyBhbiBlbGVtZW50IHRoYXQgaXMgYWxzbyBhIHBpcGVsaW5lLiBJdCBpcyBub3QKCSAgbWVhbnQgdG8gYmUgdXNlZCB3aXRoIG90aGVyIGVsZW1lbnRzIChpdCBoYXMgbm8gcGFkcykuIEl0IGlzIG1lcmVseQoJICBhIHRvb2wvdXRpbGl0YXJ5IHRvIHJlY292ZXIgdW5maW5pc2hlZCBxdG11eCBmaWxlcy4KCSAgRml4ZXMgIzYwMTU3NgoKMjAxMC0wMi0wMiAxMToyMjowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBpbXByb3ZlIHBhcnNpbmcKCSAgSGFuZGxlIG1vcmUgYXBwIG1ha2VyLiBQcmludCBhcHAgbWFya2VyIG5hbWVzIHRvIGRlYnVnIGxvZy4gUmVtZW1iZXIgbGFzdF9tYXJrZXIKCSAgd2hlbiBwYXJzaW5nIHRvIGF2b2lkIHJlcGFyc2luZyBmcm9tIHRoZSB2ZXJ5IGJlZ2luLgoKMjAxMC0wMi0wMiAxMjoyMzoyNCArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0Lmg6CgkgIG1wZWd0c211eDogZ2VuZXJhdGUgU1BTL1BQUyBoZWFkZXIgb25jZSBhbmQgZml4IG92ZXJmbG93CgkgIFNvbWUgSDI2NCBwYWNrZXRzIGNhbiBiZSBhcyBzbWFsbCBhcyA1IGJ5dGVzIGZvciByZXBlYXRlZCBmcmFtZXMuCgkgIEluIHN1Y2ggYSBzaXR1YXRpb24gdGhlIG91dHB1dCBidWZmZXIgc2l6ZSB3YXMgbm90IGJpZyBlbm91Z2ggKDUqMikgdG8gZml0IHRoZQoJICBTUFMvUFBTIGhlYWRlciBhbmQgdGhlIHN0YXJ0IGNvZGVzLiBUaGlzIGNvcnJ1cHRzIHRoZSBFUyBzdHJlYW0uCgkgIFdlIG5vdyBnZW5lcmF0ZSB0aGUgU1BTL1BQUyBvbmx5IG9uY2Ugd2hpY2ggaXMgbXVjaCBtb3JlIG9wdGltYWwgYW5kIHdlIG5vdwoJICBrbm93IHRoZSBzaXplIG9mIHRoZSBoZWFkZXIgdG8gY2FsY3VsYXRlIHRoZSBvdXRwdXQgYnVmZmVyIHNpemUgbW9yZSBzYWZlbHkuCgoyMDEwLTAyLTAyIDAxOjQ0OjIwICswMTAwICBHcmlnb3JpIEdvcm9uenkgPGdyZWdAYmxhY2tib3g+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGluc3RydWN0IGxpYmFzcyB0byB1c2UgbGlnaHQgYXV0b2hpbnRpbmcKCSAgRml4ZXMgYnVnICM2MDg3NTMuCgoyMDEwLTAyLTAyIDA4OjUzOjUzICswMTAwICBFcmljIEFwcGxlbWFuIDxlcmFwcGxlbWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRG9uJ3Qgc2NhbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IHJlY3Vyc2l2ZWx5IGZvciBmb250cwoJICBUaGlzIGNhbiB0YWtlIGEgdmVyeSBsb25nIHRpbWUgYW5kIGFsc28gbGliYXNzIHdpbGwgb3ZlcndyaXRlIGZpbGVzCgkgIGlmIHRoZXJlJ3MgYW4gZW1iZWRkZWQgZm9udCB3aXRoIHRoZSBzYW1lIGZpbGVuYW1lIGFzIGFuIGV4aXN0aW5nIGZpbGUuCgkgIEZpeGVzIGJ1ZyAjNTc1ODc4IGFuZCAjNjA4NzA2LgoKMjAxMC0wMi0wMSAxNjoyNjozNiAtMDgwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogZG9uJ3QgY3Jhc2ggb24gaW52YWxpZCBBTV9NRURJQV9UWVBFCgoyMDEwLTAxLTI3IDE5OjA2OjUzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogZm9yIGZpeGVkLXNhbXBsZSBzaXplIHN0cmVhbXMgKFBDTSBhdWRpbywgZXRjKSBkb24ndCBhbGxvY2F0ZSBhbiBlbm9ybW91cyBidWZmZXIgdGhhdCB3ZSB0aGVuIHdvbid0IHVzZSBhdCBhbGwuCgoyMDEwLTAxLTI3IDE1OjM3OjM3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogaGFuZGxlIG11eGluZyBhZHBjbSBjb3JyZWN0bHkuCgoyMDEwLTAxLTIyIDEzOjM2OjA0IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogU2V0IHRoZSBtZGlhIGhkbHIgbmFtZSBmaWVsZCB0byB3aGF0IHF1aWNrdGltZSB1c2VzLiBGaXggd3JpdGluZyBpdCBzaW5jZSBpdCdzIG5vdCBudWxsLXRlcm1pbmF0ZWQuIEltcHJvdmVzIGNvbXBhdGliaWxpdHkgd2l0aCBzb21lIGhhcmR3YXJlIHBsYXllcnMuCgoyMDEwLTAxLTIyIDEzOjMwOjA3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZW5kaWFubmVzcyBpbiBnc3RyZWFtZXIgaXMgYW4gaW50LCBub3QgYm9vbGVhbi4KCjIwMTAtMDEtMTYgMTM6MTc6MDggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBwYXJzZSBtb3JlIGZvcm1zIG9mIGNvZGVjX2RhdGEKCjIwMTAtMDItMDEgMjI6Mzc6MzkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogY29kZSBjbGVhbnVwcwoJICBNb3JlIGxvZ2dpbmcgYW5kIGNvbW1lbnRzLiBSZW5hbWUgc29tZSB2YXJzIGZvciBjb25zaXN0ZW5jeS4gRnVsbHkgaW5pdCBwb3J0CgkgIHN0cnVjdC4KCjIwMTAtMDItMDEgMjI6MzI6MzIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIHNpZ25hbHByb2Nlc3NvcixsdjIsbGFkc3BhOiBtb3ZlIHNhbXBsZS1yYXRlIHRvIGJhc2VjbGFzcwoJICBXZSBuZWVkIHRoZSBzYW1wbGUtcmF0ZSBpbiBiYXNlY2xhc3MgZm9yIHVwY29tbWluZyB0aW1lc3RhbXAgY2hhbmdlcy4KCjIwMTAtMDItMDEgMjI6MjQ6NTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvUkVBRE1FOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IHNob3J0ZXIgZWxlbWVudCBuYW1lcwoJICBDdXQgb2ZmIHRoZSBwcm90b2NvbCBwYXJ0IGZyb20gdGhlIHVyaS4gQWxzbyBqdXN0IGdfU3RyZHVwLCBpbnN0ZWFkIG9mIHByaW50ZgoJICB0aGUgbmFtZS4KCjIwMTAtMDItMDEgMTc6NDY6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHByb3ZpZGUgYSBnZXRjYXBzIGZ1bmN0aW9uIGZvciBzcmMgcGFkIGFuZCBpbXByb3ZlIHNldGNhcHMKCSAgUHJldmlvdXNseSBqcGVncGFyc2Ugd2FzIGZhaWxpbmcgaW4gZGVjb2RlYmluIGFzIHRoZSBjYXBzIHdlIHdlcmUgc2V0dGluZyB3aGVyZSBub3QKCSAgc2V0dGluZyBhbGwgY2FwcyBmaWVsZHMuIFdlIG5lZWQgdGhlIG93biBnZXRjYXBzIGZ1bmN0aW9uIHRvIHJlcG9ydCB3aGF0IHdlIGFjdHVhbHkKCSAgYWNjZXB0LgoKMjAxMC0wMi0wMSAxNzoxNjoxNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZXh0cmFjdCBjb21tZW50IGFuZCBwb3N0IGFzIG1ldGFkYXRhCgoyMDEwLTAyLTAxIDE1OjA0OjI4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmg6CgkgIGpwZWdmb3JtYXQ6IGNvZGUgY2xlYW51cHMKCSAgTW92ZSB0aGUganBlZyBtYXJrZXIgZGVmaW5lcyB0byBhIGhlYWRlciAodG8gYmUgdXNlZCBmb3IgamlmbXV4KS4gUmV3cml0ZSBzb21lCgkgIGNvbW1lbnRzLiBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuIEFkZCBtb3JlIGxvZ2dpbmcuCgoyMDEwLTAxLTMxIDIyOjIxOjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IHNpbXBpZnkgcHJvcGVydHkgcmVnaXN0cmF0aW9uCgkgIEF2b2lkIHR5cGUgY2hla2luZyBjYXN0cyBmb3IgZWFjaCBwcm9wZXJ0eS4gVXNlIGEgcnVubmluZyBpbmRleC4KCjIwMTAtMDEtMzEgMjI6MTY6MTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogdXNlIHRoZSBnc3QtY29udHJvbGxlciwgYWRkIHNvbWUgYmFzaWMgdGltZXN0YW1waW5nCgkgIEF0bGVhc3QgZm9yIEZYIHdlIG5vdyBoYXZlIHRpbWVzdGFtcHMgYW5kIGNhbiBzeW5jIHRoZSBjb250cm9sbGVyLiBTdGlsbCBuZWVkCgkgIHRpbWVzdGFtcHMgZm9yIHNvdXJjZXMuCgoyMDEwLTAxLTMxIDIyOjE0OjA0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IHNpbXBsaWZ5IHByb3BlcnR5IHJlZ2lzdHJhdGlvbgoJICBEb24ndCBkbyBjaGVja2luZyBjYXN0IGZvciBlYWNoIHBhcmFtZXRlci4gVXNlIGEgcnVubmluZyBpbmRleC4KCjIwMTAtMDEtMzEgMjI6MTM6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogdXNlIHBsdWdpbiBkZXBlbmRlbmN5IHJlZ2lzdHJ5IGFwaQoKMjAxMC0wMS0zMSAyMjoxMTo0MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBsb29rdXAgR1F1YXJrIGp1c3Qgb25jZSBpbnN0ZWFkIGZvciBlYWNoIHBsdWdpbisxCgoyMDEwLTAxLTMxIDIyOjA4OjMzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGxvb2t1cCBHUXVhcmsganVzdCBvbmNlIGFuZCBub3QgZm9yIGVhY2ggcGx1Z2luKzEKCjIwMTAtMDEtMzEgMjI6MDc6MDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogdGhlc2UgYXJlIG5vdCBndGstZG9jIGNvbW1lbnRzCgoyMDEwLTAxLTMxIDIyOjA1OjMwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsYWRzcGEvbHYyOiBsaW5rIGFuZCBpbml0IHRvIGdzdC1jb250cm9sbGVyCgoyMDEwLTAxLTMxIDE1OjUzOjI3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IG5ldyBpcyBhIGMrKyBrZXl3b3JkLCBiZXR0ZXIgbG9nZ2luZwoJICBVc2UgcGFkIGluc3RlYWQgb2YgbmV3IGZvciB0aGUgcGFkIHZhci4gQWxzbyB1c2UgcGFkIGFzIG9iamVjdCBpbiB0byBkZWJ1ZwoJICBsb2dnaW5nLgoKMjAxMC0wMS0zMCAxNToxOTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE1ZDQ3YTYgdG8gOTZkYzc5MwoKMjAxMC0wMS0yOSAxMjoyNTowOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IG1vdmUgcGx1Z2luIHBhcnQgdG8gc3BlcGFyYXRlIGZpbGUsIHNvIHRoYXQgd2UgY2FuIGFkZCB0aGUgamlmbXV4CgoyMDEwLTAxLTI5IDExOjM5OjUwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBvZiB0aGUgcGx1Z2luIGRvY3MsIGFkZGluZyBuZXcgaW50cm9zcGVjdCBkYXRhCgoyMDA5LTA4LTE5IDEyOjIyOjMwICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IG5ldyBqcGVnIHBhcnNlciBlbGVtZW50LiBGSXhlcyAjNTgzMDk4CgkgIFBhcnNlIEpQRUcgaW1hZ2VzLCBleHRyYWN0cyBpdHMgbWV0YWRhdGEsIHNldCBjYXBzIGFuZAoJICBwYWNrZXRpemUgYW4gaW1hZ2UgcGVyIGJ1ZmZlci4KCjIwMTAtMDEtMjggMTU6MDA6MzIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGNhbWVyYWJpbi1leGFtcGxlOiBjbGVhbnVwcyBmb3IgbWFpbmxvb3AgYW5kIHN0YXRlLWNoYW5nZXMuIEZpeGVzICM2MDgwNDIKCSAgU3RhcnQgY2FtZXJhYmluIHZpYSBpZGxlIGhhbmRsZXIgdG8gaGF2ZSB0aGUgbWFpbmxvb3AgYWxyZWFkeSBydW5uaW5nLiBBdm9pZAoJICBzb21lIHVubmVjZXNzYXJ5IHN0YXRlIGNoYW5nZXMuIENsZWFudXAgdGhlIGJ1cyB1c2FnZSB3aGVuIHJlc3RhcnRpbmcuCgoyMDEwLTAxLTI4IDE0OjU3OjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxvZyBOVUxMIGNhcHMsIGFsc28gZG93bmdyYWRlIHRvIERFQlVHIGFzIGl0IGlzIHZlcnkgdmVyYm9zZQoJICBUaGlzIGRlYnVnIGxvZyBlbnRyeSB3YXMgYWxzbyBub3QgbWVudCB0byBiZSB1c2VkIGluIHRoZSBmYWlsdXJlIGNhc2UuCgoyMDEwLTAxLTI4IDAwOjA3OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogYWRkIHN0YXJ0IGZ1bmN0aW9uIHNvIHdlIGNhbiBlcnJvciBvdXQgcHJvcGVybHkgaWYgbm8gdXJpIGlzIHNldAoJICBBbHNvIHNhdmUgYSBzZXQgVVJJIGFmdGVyIGl0IGhhcyBiZWVuIHBhcnNlZCBzdWNjZXNzZnVsbHksIHNvIHRoYXQgX2dldF91cmkoKQoJICBhY3R1YWxseSB3b3Jrcy4KCjIwMTAtMDEtMjcgMjM6NDY6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBkb24ndCBwb3N0IGVycm9yIG1lc3NhZ2Ugd2hlbiBzZXR0aW5nIHRoZSBVUkkgZmFpbGVkCgkgIFRoZXJlJ3MgYSBnYm9vbGVhbiByZXR1cm4gZm9yIHRoYXQsIGFuZCB0aGUgbWVzc2FnZXMgZG9uJ3QgcmVhbGx5CgkgIGFkZCBhbnl0aGluZyB1c2VmdWwuCgoyMDEwLTAxLTI3IDIzOjM5OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogbXVzdCByZWxlYXNlIHRoZSBvYmplY3QgbG9jayBiZWZvcmUgdXNpbmcgR1NUX0VMRU1FTlRfRVJST1IKCjIwMTAtMDEtMjcgMjM6MzQ6MzQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogYWRkIG1vcmUgZGVidWcgYW5kIHJlbW92ZSAiXG4iIGZyb20gZGVidWcgbG9nZ2luZwoKMjAxMC0wMS0yNyAyMzoyOTo0NCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBiZXR0ZXIgZ29iamVjdCBwcm9wZXJ0aWVzCgkgIFVzZSBsdjI6c3ltYm9sIGFzIGEgYmFzZSBmb3IgdGhlIHByb3BlcnR5IG5hbWUgYW5kIGx2MjpuYW1lIGZvciBuaWNrIGFuZCBibHVyYi4KCjIwMTAtMDEtMjYgMTc6NTQ6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJICBxdG11eDogc3RyZWFtbGluZSBtb292IGRhdGEgbWVtb3J5IHN0b3JhZ2UKCSAgSW4gcGFydGljdWxhciwgdXNlIGFycmF5cyByYXRoZXIgdGhhbiAoZG91YmxlKSBsaW5rZWQgbGlzdHMuCgoyMDEwLTAxLTE0IDExOjUwOjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVuYW1lIGJhc2VwYXJzZSBHVHlwZSBuYW1lIHRvIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0cwoKMjAxMC0wMS0xNCAxMjowNjowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVzZSBjb3JyZWN0IGgyNjRfcGFyc2UgcHJlZml4IGluIGZ1bmN0aW9uIG5hbWUKCjIwMTAtMDEtMjcgMTI6MDg6NDggKzAxMDAgIFZpbmNlbnQgR0VOSUVVWCA8dmdlbmlldXggYXQgZnJlZS5mcj4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogZml4IGVsZW1lbnQgc2h1dGRvd24gb24gYmFkIHJlY2VwdGlvbgoJICBXaGVuIHdlIGhhdmUgYSBiYWQgcmVjZXB0aW9uLCBhdm9pZCBnb2luZyBpbnRvIGFuIGluZmluaXRlIGxvb3AgYnkgc2V0dGluZyBhCgkgIHNodXRkb3duIGZsYWcgd2hlbiBzaHV0dGluZyBkb3duLgoJICBGaXhlcyAjNjA3NzQ3CgoyMDEwLTAxLTI2IDEzOjQ0OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZ19mcmVlIGlzIE5VTEwgc2FmZQoKMjAxMC0wMS0yNSAxOTowNjo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSAgcnRwYXNmcGF5OiBGaXggcGFja2V0IGxlbmd0aCBzZW1hbnRpY3MKCSAgRm9sbG93aW5nIHRoZSBlZDRkMDgxODllYTZlMTlhNTBlMDI5ZTYwZGE1MmQzNTgzYzM5ZmJiCgkgIGNvbW1pdCwgdGhpcyBvbmUgZml4ZXMgcnRwYXNmcGF5IHRvIHVzZSBwYWNrZXQgbGVuZ3RoCgkgIGFzIHRoZSBwYXlsb2FkZWQgZGF0YSBsZW5ndGgsIGJ1dCBhbHNvIGFjY2VwdGluZyBpdAoJICBhcyB0aGUgZnVsbCBwYWNrZXQgc2l6ZSBmb3IgY29tcGF0aWJpbGl0eSB3aXRoCgkgIG90aGVyIGltcGxlbWVudGF0aW9ucyBkdWUgdG8gdGhlIGxhY2sgb2YgY2xhcml0eSBvZiB0aGUKCSAgc3BlYyBpbiB0aGlzIHBhcnQuCgoyMDEwLTAxLTIxIDEwOjUxOjE2IC0wMzAwICBIw6Vrb24gU2tqZWx0ZW4gPHNramVsdGVuQHB2di5vcmc+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSAgYXNmbXV4OiBDb21wYXRpYmlsaXR5IHdpdGggV01TUCBpbiBXTVAKCSAgTWFrZXMgdGhlIGFzZm11eCBjb250ZW50IGNvbXBhdGlibGUgd2l0aCBXTVNQIGFuZCBkb2VzCgkgIHNvbWUgaGFja3MgdG8gbWFrZSBpdCBwbGF5YWJsZSBpbiBXTVAsIGl0IGRvZXNuJ3QgYWNjZXB0CgkgIGRhdGEgb2JqZWN0cyB3aXRoIDAgc2l6ZSBpbmRpY2F0aW5nIHRoYXQgd2UgZG9uJ3Qga25vdwoJICBpdHMgc2l6ZSwgdGhvdWdoIHRoZSBzcGVjIHNheXMgaXQgc2hvdWxkIGJlIHBvc3NpYmxlLgoJICBGaXhlcyAjNjA3NTU1CgoyMDEwLTAxLTI1IDIzOjA2OjU5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBjYW1lcmFiaW4tZXhhbXBsZTogcmVtb3ZlIG1hZW1vIGNvbW1lbnQgYW5kIGxvZyBmaWxlbmFtZQoJICBUaGUgbWFlbW8gZml4bWUgaXMgbm90IG5lZWRlZCBhbnltb3JlLiBMb2cgdGhlIGNob29zZW4gZmlsZW5hbWUgdG8gaGVscAoJICBwZW9wbGUgZmluZGluZyB0aGUgZmlsZXMuCgoyMDEwLTAxLTI1IDIzOjA0OjM4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSAgY2FtZXJhYmluOiByZWYgZWxlbWVudCBiZWZvcmUgcmVtb3ZpbmcgZnJvbSB0aGUgYmluIHRvIHJlc3VycmVjdAoJICBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBzdXBwb3NlZCB0byBkaXNwb3NlIHRoZSBlbGVtZW50IGluIHRoZSBjYXNlIG9mIGZhaWx1cmUKCSAgYXMgdGhlIGNhbGxlciBpcyB1c2luZyB0aGUgZWxlbWVudHMgbmFtZSBpbiB0aGUgZXJyb3IgbWVzc2FnZS4gQWxzbyBhZGQKCSAgc29tZSBtb3JlIGlucHV0IHBhcmFtZXRlciBjaGVja3MgaW4gdGhlIGZvcm0gb2YgZ19yZXR1cm5fdmFsX2lmX2ZhaWwKCjIwMTAtMDEtMjUgMTI6MjE6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgUmV2ZXJ0ICJpbnB1dHNlbGVjdG9yOiBQcm90ZWN0IGdfb2JqZWN0X25vdGlmeSgpIHdpdGggdGhlIG9iamVjdCdzIG11dGV4IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDdlMDY3NjE1ZmZiNTYxNGYwNjhmNzc1M2MxMGRkZTk5YWZlNDljM2MsIGl0J3MgY2F1c2luZwoJICBkZWFkbG9ja3Mgd2l0aCBwbGF5YmluMi4KCjIwMTAtMDEtMjUgMTI6MTI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBSZW1vdmUgcm9sZSBhdHRyaWJ1dGUgZnJvbSBsaW5rcwoKMjAxMC0wMS0yNSAxMTo1NjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IEFkZCBkb2NzIGFuZCBpbnRlZ3JhdGUgaW50byBidWlsZCBzeXN0ZW0KCSAgRml4ZXMgYWdhaW4gYnVnICM1OTY4ODUuCgoyMDEwLTAxLTI1IDExOjEyOjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuaDoKCSAgZGF0YXVyaXNyYzogQWRkIGRhdGE6IFVSSSBzb3VyY2UgZWxlbWVudAoJICBUaGlzIGlzIHNsaWdodGx5IGJhc2VkIG9uIHRoZSBXZWJLaXQgZGF0YTogVVJJIHNvdXJjZQoJICBidXQgc3VwcG9ydHMgbW9yZSBwYXJ0cyBvZiBSRkMgMjM5Ny4KCSAgRml4ZXMgYnVnICM1OTY4ODUuCgoyMDEwLTAxLTI1IDA3OjQyOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RhdGF1cmlzcmMvTWFrZWZpbGUuYW06CgkgIGRhdGF1cmlzcmM6IEFkZCBkaXJlY3RvcnkgZm9yIGRhdGE6IFVSSSBzb3VyY2UKCjIwMTAtMDEtMjUgMTE6MzY6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogY3JlYXRlIHZhbGlkIGdvYmplY3QgcHJvcGVydHkgbmFtZXMuIEZpeGVzICM2MDI1MjgKCSAgV2UgY2Fubm90IHVzZSB0aGUgbmFtZXMgYXMgd2UgZ2V0IHRoZW0gZnJvbSBsdjIgZm9yIHRoZSBncGFyYW1zcGVjIG5hbWUsIG9ubHkKCSAgZm9yIG5pY2svYmx1cmIuIEFwcGx5IHNhbWUgYWxnb3JpdGhtcyBsaWtlIGVsc2V3aGVyZSAobGFkc3BhKSBmb3IgbmFtZS4KCjIwMTAtMDEtMjUgMTE6NDk6NDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmOiBhZGQgYSByZXR1cm4gdG8gZml4IHRoZSBidWlsZCB3aGVuIHR1cm5pbmcgYXNzZXJ0IG9mZgoKMjAxMC0wMS0yNSAxMTo0ODoyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZXZlcnQgIm14ZjogYWRkIGEgcmV0dXJuIHRvIGZpeCB0aGUgYnVpbGQgd2hlbiB0dXJuaW5nIGFzc2VydCBvZmYiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjhjYTYyYjM2OWZjMWI3N2FkYWU4NWQ5ZDgwNTQ1N2ZlNGUzYjU2Mi4KCjIwMTAtMDEtMjIgMTc6NDU6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgbXhmOiBhZGQgYSByZXR1cm4gdG8gZml4IHRoZSBidWlsZCB3aGVuIHR1cm5pbmcgYXNzZXJ0IG9mZgoKMjAxMC0wMS0yNCAyMDo1MzowMCArMDEwMCAgS2lwcCBDYW5ub24gPGtjYW5ub25AbGlnby5jYWx0ZWNoLmVkdT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IFByb3RlY3QgZ19vYmplY3Rfbm90aWZ5KCkgd2l0aCB0aGUgb2JqZWN0J3MgbXV0ZXgKCSAgVGhpcyB3b3JrcyBhcm91bmQgdGhlIHRocmVhZCB1bnNhZmV0eSBvZiBnX29iamVjdF9ub3RpZnkoKQoJICBGaXhlcyBidWcgIzYwNzUxMy4KCjIwMTAtMDEtMjIgMTA6NDg6MjYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmaXggd2FybmluZ3MgdW5kZXIgT1MgWC4uCgoyMDEwLTAxLTIyIDEwOjQ2OjUxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgYnVpbGQgb3N4dmlkZW9zcmMgYW5kIHF0d3JhcHBlciBpbiBTbm93IExlb3BhcmQuCgkgIFF1aWNrVGltZSBpc24ndCBhdmFpbGFibGUgYW55bW9yZSBpbiBPUyBYIFNub3cgTGVvcGFyZC4KCjIwMTAtMDEtMjIgMDI6MjM6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5oOgoJICBwbm06IHVzZSBzYW1lIG1lZGlhIHR5cGUgYXMgb3RoZXIgZWxlbWVudHMKCSAgZ2RrcGl4YnVmIGFuZCBvdXIgbmV3IHR5cGVmaW5kZXIgaW4gLWJhc2UgdXNlIGltYWdlL3gtcG9ydGFibGUtKi4KCjIwMTAtMDEtMjIgMDI6MjI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tOiBtYWtlIGVsZW1lbnQgZGV0YWlscyBhIGJpdCBtb3JlIGRlc2NyaXB0aXZlCgoyMDEwLTAxLTIyIDAyOjE5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmg6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5oOgoJICBwbm06IGFkZCBjb3B5cmlnaHQgbm90aWNlCgoyMDEwLTAxLTIyIDAyOjEwOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkgIHBubTogbW92ZSB0eXBlZmluZGluZyBpbnRvIC1iYXNlCgoyMDEwLTAxLTExIDAxOjE4OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIHRlc3RzOiByZWZhY3RvciB3ZWlyZCBidXMgc3luYyBoYW5kbGVyIGNvZGUgaW4gY2FtZXJhYmluIGV4YW1wbGUKCjIwMTAtMDEtMjEgMTg6MTE6MzQgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGZsaXRlOiBidWlsZCBhbmQgZGlzdCBmbGl0ZSBwbHVnaW4KCSAgZml4aW5nICJtYWtlIGRpc3QiCgoyMDEwLTAxLTIxIDE1OjU4OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBDb3JyZWN0bHkgaW5pdGlhbGl6ZSBtZW1vcnkKCjIwMTAtMDEtMjAgMTM6MzA6NDggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmg6CgkqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkgIFtjbGVhbnVwXSBWYXJpb3VzIHN0eWxlIGFuZCBjbGVhbnVwcwoJICBWYXJpb3VzIGZpeGVzIGZvciBndGstZG9jIHdhcm5pbmdzIGFuZCBtYWtpbmcgZnVuY3Rpb25zIHdpdGhvdXQKCSAgYXJndW1lbnRzIHRha2Ugdm9pZCBhcyBwYXJhbWV0ZXIuCgoyMDEwLTAxLTIwIDEzOjI5OjUyICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIFtvc3M0XSBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bnVzZWQgcmV0dXJuIHZhbHVlCgoyMDEwLTAxLTIwIDAwOjU0OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzU4Y2Y1YyB0byAxNWQ0N2E2CgoyMDEwLTAxLTE4IDEwOjU3OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkgIGNkeGFwYXJzZTogRml4IGJ1ZmZlciBsZWFrCgkgIEZpeGVzIGJ1ZyAjNjA3Mjg1LgoKMjAxMC0wMS0xNiAxNTozMjo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IEZpeCBjaGFubmVsIGxheW91dAoJICBBZGp1c3RlZCB0aGUgY2hhbm5lbCBtYXBwaW5ncyB0byBhZ3JlZSB3aXRoIHRoZSBkZWZhdWx0IGNoYW5uZWwgbWFwcGluZ3MKCSAgaW4gdGhlIHNwZWMsIHdoaWNoIGlzIHByZXN1bWFibHkgd2hhdCBmYWFjIGlzIHVzaW5nLiAgRml4ZXMgIzYwNzEwNS4KCjIwMTAtMDEtMTYgMTU6MzI6MDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogaGFuZGxlIHNhbXBsZXNwZXJidWZmZXIKCjIwMTAtMDEtMTYgMTI6NDM6NDMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGl0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2ZsaXRlL2dzdGZsaXRlLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IEFkZCBmbGl0ZXRlc3RzcmMKCSAgRmxpdGUgaXMgYSBzcGVlY2ggc3ludGhlc2l6ZXIgbGlicmFyeSAoQlNELWlzaCBsaWNlbnNlKS4gIFRoaXMgZWxlbWVudAoJICBuZWdvdGlhdGVzIGEgKHBvc3NpYmx5KSBtdWx0aWNoYW5uZWwgYXVkaW8gc3RyZWFtLCBhbmQgdGhlbiBjb250aW51YWxseQoJICBvdXRwdXRzIGJ1ZmZlcnMgbmFtaW5nIHRoZSBudW1iZXIgYW5kIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsLiAgSXQncwoJICBraW5kYSBjcmFwcHksIGJ1dCBJIG5lZWRlZCBpdCBmb3IgdGVzdGluZyBwdXJwb3Nlcy4KCjIwMTAtMDEtMTYgMTc6MDI6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBNYWtlIHN1cmUgdGhhdCBwcm9wZXJ0eSBuYW1lcyBhbHdheXMgc3RhcnQgd2l0aCBhIGxldHRlcgoJICBPdGhlcndpc2UgR0xpYiB0aHJvd3MgYXNzZXJ0aW9ucwoKMjAxMC0wMS0xNiAxNjo1MjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFJlcGxhY2UgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBpbiB0aGUgaW5uZXIgcHJvY2Vzc2luZyBsb29wcyBieSBpbnRlZ2VyIGFyaXRobWV0aWMKCjIwMTAtMDEtMTYgMTM6MDU6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBPbmx5IGFjY2VwdCBzcGVjaWZpYyBjaGFubmVsIGxheW91dHMgYXMgcmVxdWlyZWQgYnkgQUFDCgkgIEZpeGVzIGJ1ZyAjNjA3MTA1LgoKMjAxMC0wMS0xNiAxMTo0MToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogRml4IGJ1aWxkIGFuZCBzaWduYWwgY29ubmVjdGlvbiBmb3IgR3RrQnVpbGRlciBzdHVmZgoKMjAxMC0wMS0xNiAxMToyNjoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2hlY2sgZm9yIGdtb2R1bGUtZXhwb3J0LTIuMCBmb3IgR3RrQnVpbGRlcgoKMjAxMC0wMS0xNiAxMToyMzowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIGljbGVzOiBMaW5rIHdpdGggR1RLKwoKMjAxMC0wMS0xNiAxMToxNjowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBHVEsrID49IDIuMTIgZm9yIEd0a0J1aWxkZXIKCSAgR1RLKyAyLjEyIGlzIGFscmVhZHkgb2xkZXIgdGhhbiAyIHllYXJzIHNvIHRoaXMgc2hvdWxkbid0CgkgIGJlIGEgcHJvYmxlbSBmb3IgYW55Ym9keS4gQWxzbyBpdCdzIG9ubHkgdXNlZCBpbiBleGFtcGxlcy4KCjIwMTAtMDEtMTYgMDY6NTc6MjYgKzAxMDAgIEphdmllciBKYXJkw7NuIDxqamFyZG9uQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHBvL1BPVEZJTEVTLnNraXA6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi51aToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLnVpOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5nbGFkZToKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLnVpOgoJICB0ZXN0czogUG9ydCBmcm9tIGxpYmdsYWRlIHRvIEd0a0J1aWxkZXIKCSAgRml4ZXMgYnVnICM2MDExMDguCgoyMDEwLTAxLTE1IDIxOjM0OjAyICswMTAwICBKdWxpZW4gTW91dHRlIDxkb2xwaHlAaW1hYy4obm9uZSk+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGRvbid0IHNldCBhbiBpbnZhbGlkIGZyYW1lcmF0ZS4KCSAgV2hlbiBmaXhlZF92b3BfcmF0ZSBpcyBub3Qgc2V0IHdlIGNhbiBub3Qgc2V0IGEgZnJhbWVyYXRlIGJhc2VkIG9uCgkgIHZvcF90aW1lX2luY3JlbWVudF9yZXNvbHV0aW9uIGFzIGl0IHdvdWxkIG1vc3QgbGlrZWx5IGJlIHdyb25nLgoJICBEb24ndCBzZXQgYW55IGZyYW1lcmF0ZSBvbiB0aGUgY2FwcyBpbiB0aGF0IGNhc2UuCgoyMDEwLTAxLTE0IDA4OjA5OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFjdHVhbGx5IHVzZSBuZXcgY2FwcyBpbmZvIG9uIHJlbmVnb3RpYXRpb24KCSAgRm9sbG93aW5nIHRoZSBwcmV2aW91cyBxdG11eCBjb21taXQsIHRoaXMgcGF0Y2ggdHJpZXMKCSAgdG8gdXNlIHRoZSBuZXcgaW5mbyBhZGRlZCB0byB0aGUgY2FwcyB0byBmaWxsIHRoZSAndHJhaycKCSAgYXRvbSdzIGZpZWxkcyBhbmQgY2hpbGRyZW4gYXRvbXMuIFRoaXMgd2F5IHF0bXV4IHdpbGwKCSAgdXNlIHRoZSBsYXRlIGFkZGVkICdjb2RlY19kYXRhJyB3aGVuIGgyNjRwYXJzZSBhZGRzCgkgIGl0IGluIHRoZSBmb2xsb3dpbmcgcGlwZWxpbmU6CgkgIHZpZGVvdGVzdHNyYyBudW0tYnVmZmVycz0yMDAgISB4MjY0ZW5jIGJ5dGUtc3RyZWFtPXRydWUgISBcCgkgIGgyNjRwYXJzZSBvdXRwdXQtZm9ybWF0PTAgISBxdG11eCAhIFwKCSAgZmlsZXNpbmsgbG9jYXRpb249dGVzdC5tb3YKCjIwMTAtMDEtMTMgMjM6MzM6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRG8gY2FwcyByZW5lZ290aWF0aW9uIHdoZW4gaXQgb25seSBhZGRzIGZpZWxkcwoJICBRdG11eCBjYW4gYWNjZXB0IGNhcHMgcmVuZWdvdGlhdGlvbiBpZiB0aGUgbmV3IGNhcHMgaXMgYQoJICBzdXBlcnNldCBvZiB0aGUgb2xkIG9uZSwgbWVhbmluZyB1cHN0cmVhbSBhZGRlZCBuZXcgaW5mbyB0bwoJICB0aGUgY2Fwcy4gVGhpcyBwYXRjaCBzdGlsbCBkb2Vzbid0IG1ha2UgcXRtdXggdXBkYXRlIGFueQoJICBhdG9tcyBpbmZvIGZyb20gdGhlIG5ldyBpbmZvLCBidXQgYXQgbGVhc3QgaXQgZG9lc24ndAoJICByZWplY3QgdGhlIG5ldyBjYXBzIGFueW1vcmUuCgkgIEEgcGlwZWxpbmUgdGhhdCByZXByb2R1Y2VzIHRoaXMgdXNlIGNhc2UgaXM6CgkgIHZpZGVvdGVzdHNyYyBudW0tYnVmZmVycz0yMDAgISB4MjY0ZW5jIGJ5dGUtc3RyZWFtPXRydWUgISBcCgkgIGgyNjRwYXJzZSBvdXRwdXQtZm9ybWF0PTAgISBxdG11eCAhIFwKCSAgZmlsZXNpbmsgbG9jYXRpb249dGVzdC5tb3YKCjIwMTAtMDEtMTQgMTI6NTk6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJbXByb3ZlIGRlYnVnIG91dHB1dCBhIGJpdCBhbmQgc2ltcGxpZnkgY29kZQoKMjAxMC0wMS0xNCAxMjo1NjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IE1ha2Ugc3VyZSB0aGF0IHRoZSB2aWRlbyBidWZmZXIgaXMgd3JpdGFibGUgYmVmb3JlIHdyaXRpbmcgdG8gaXQKCjIwMTAtMDEtMTQgMTI6NDc6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSAgYXBleHNpbms6IGNoYW5nZSB2b2x1bWUgcHJvcGVydHkgdG8gYSBkb3VibGUKCSAgQ2hhbmdlIHRoZSB2b2x1bWUgcHJvcGVydHkgZnJvbSBpbnQgdG8gYSBkb3VibGUgc28gdGhhdCBwbGF5YmluMiBjYW4gdXNlIGl0LgoJICBLZWVwIHRoZSB2b2x1bWUgaW50ZXJuYWxseSBhcyBhIHBlcmNlbnQgZm9yIG5vdyB3aXRoIHRoZSBkZWZhdWx0IDc1JSBtYXBwZWQgdG8KCSAgYSB2b2x1bWUgb2YgMS4wLgoJICBzb21lIGNsZWFudXBzLCBhZGQgc29tZSBGSVhNRSBhbmQgY29tbWVudHMuCgkgIEZpeGVzICM2MDY4NzgKCjIwMTAtMDEtMTMgMTk6MzA6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBwcm92aWRlIHJlcXVlc3QgcGFkcyB1bmRlciB3aWRlciBjb25kaXRpb25zCgkgIEZpeGVzICM2MDY4NTkuCgoyMDEwLTAxLTEzIDEwOjM1OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogT25seSBhY2NlcHQgYXZjLXNhbXBsZSBoMjY0CgkgIHF0bXV4IGFuZCBtcDRtdXggc2hvdWxkIG9ubHkgYWNjZXB0IGgyNjQgaW4gYXZjLXNhbXBsZQoJICBmb3JtYXQKCjIwMTAtMDEtMTMgMDk6NDI6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBBZGQgc3RyZWFtLWZvcm1hdCB0byBjYXBzCgkgIEFkZHMgdGhlIG5ldyBzdHJlYW0tZm9ybWF0IGZpZWxkIHRvIGgyNjRwYXJzZSBjYXBzCgkgIEZpeGVzICM2MDY2NjIKCjIwMTAtMDEtMTMgMDA6Mzg6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSAgYnVpbGQ6IGluY2x1ZGUgY3J1ZnQubWFrIGFuZCBhZGQgcmVjZW50bHktbWVyZ2VkIHBsdWdpbnMgdG8gY3J1ZnQgbGlzdAoKMjAxMC0wMS0xMiAyMzo1MzoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IHBvc3QgZXJyb3IgbWVzc2FnZSBpbiBhZGRpdGlvbiB0byByZWRpcmVjdCB3aGVuIGNvbm5lY3QgZmFpbHMKCSAgV2hlbiB3ZSBjYW4ndCBjb25uZWN0IHRvIHRoZSBzZXJ2ZXIsIHdlIHNob3VsZCBzdGlsbCBwb3N0IGEgcHJvcGVyCgkgIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cywgc28gdGhhdCBhcHBsaWNhdGlvbnMgdGhhdCBkb24ndCBoYW5kbGUgdGhlCgkgIHJlZGlyZWN0IG1lc3NzYWdlIGdldCBhIHByb3BlciBlcnJvciBtZXNzYWdlIChhbmQgYSBoaW50IHRvIGxvb2sgZm9yCgkgIHRoZSByZWRpcmVjdCkuCgkgIEZpeGVzICM2MDY2MzYuCgoyMDEwLTAxLTEyIDE1OjQ1OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQ29ycmVjdGx5IHJld3JpdGUgYWxsIG5hbCBwcmVmaXhlcwoJICBXaGVuIGNvbnZlcnRpbmcgdG8gYnl0ZS1zdHJlYW0gZG8gbm90IGZvcmdldCB0byByZXdyaXRlCgkgIGFsbCBuYWwgcHJlZml4ZXMgaW5zdGVhZCBvZiBvbmx5IHRoZSBmaXJzdCBvbmUuCgoyMDEwLTAxLTEyIDE5OjMzOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogaW1wcm92ZSBmYWFjIGNvbmZpZ3VyYXRpb24KCSAgSW4gcGFydGljdWxhciwgYWxpZ24gY29uZmlndXJhdGlvbiBzb21lIG1vcmUgd2l0aCByZWZlcmVuY2UgYmluYXJ5IGZhYWMuCgkgIEZpeGVzICM2MDY3MjYuCgoyMDEwLTAxLTEyIDE0OjUxOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzoKCSAgbXBlZ3RzbXV4OiBGaXggbWlzdGFrZSBvbiBwcmV2aW91cyBjb21taXQKCSAgVXNlIHRoZSBjb3JyZWN0IHZhcmlhYmxlcyBhbmQgdmFyaWFibGUgZm9ybWF0IGluIHRoZSB3YXJuaW5nCgkgIG1lc3NhZ2UKCjIwMTAtMDEtMTIgMTg6NTU6NTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEluaXRpYWxpemUgdmFyaWFibGVzLgoJICBGaXhlcyBidWlsZCBvbiAkI0AqKCBtYWNvc3gKCjIwMTAtMDEtMTIgMTc6MDU6MTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IEFkZCBuZW9uaHR0cHNyYyB0byB0aGUgbGlzdCBvZiBlbGVtZW50cyBpZ25vcmVkIGZvciBzdGF0ZS1jaGFuZ2UKCSAgU2V0dGluZyBuZW9uaHR0cHNyYyB0byBQQVVTRUQvUExBWUlORyByZXF1aXJlcyBhIHJ1bm5pbmcgaHR0cCBzZXJ2ZXIgb24KCSAgbG9jYWxob3N0LgoKMjAxMC0wMS0xMiAwOTo1ODo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlbW92ZSBjb2RlY19kYXRhIGlmIG91dHB1dCBpcyBieXRlc3RyZWFtCgkgIGNvZGVjX2RhdGEgc2hvdWxkIGJlIHJlbW92ZWQgZnJvbSB0aGUgc3JjIHBhZCBjYXBzIGlmIHRoZQoJICBvdXRwdXQgaXMgaW4gYnl0ZXN0cmVhbSBmb3JtYXQKCSAgRml4ZXMgIzYwNjY1NwoKMjAxMC0wMS0xMiAwOTozNToyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6CgkgIG1wZWd0c211eDogRG8gbm90IGNyYXNoIG9uIG1pc2ludGVycHJldGVkIGgyNjQKCSAgQXZvaWQgY3Jhc2hpbmcgd2hlbiBieXRlc3RyZWFtIGgyNjQgaXMgaW50ZXJwcmV0ZWQgYXMgYXZjIGZvcm1hdAoJICBoMjY0CgkgIEZpeGVzICM2MDY2NTcKCjIwMTAtMDEtMTEgMjI6NDE6NTcgKzAzMDAgINDz8evg7SDI5uHz6+Dy7uIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgIHdpbjMyOiBJbmNsdWRlIGNvbmZpZy5oIGJlZm9yZSBhbnl0aGluZyBlbHNlLiBGaXggbXBlZ2RlbXV4IExJQkFERAoJICBCZWNhdXNlIGNvbmZpZy5oIGRlZmluZXMgX19NU1ZDUlRfVkVSU0lPTl9fLCB3aGljaCBzaG91bGQgYmUgZGVmaW5lZAoJICBiZWZvcmUgaW5jbHVzaW9uIG9mIGFueSBzeXN0ZW0gaGVhZGVyLgoJICBBbHNvIGZpeGVzIG1wZWdkZW11eCBNYWtlZmlsZS5hbSBMSUJBREQgdHlwby4KCSAgRml4ZXMgIzYwNjY2NQoKMjAxMC0wMS0xMiAwMDo0NjoyNyArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguYzoKCSAgbGlicmZiOiBwb3J0IHJmYnNyYyB0byBNaW5HVwoJICBGaXhlcyAjNjA2Njc3CgoyMDEwLTAxLTExIDEzOjIwOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFsc28gYWRkIHN0cmVhbS1mb3JtYXQgdG8gdGVtcGxhdGUgY2FwcwoJICBEbyBub3QgZm9yZ2V0IHRvIGFkZCBzdHJlYW0tZm9ybWF0IHRvIHRlbXBsYXRlIGNhcHMKCSAgb2ZmIGFhY3BhcnNlCgoyMDEwLTAxLTExIDEzOjEzOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIFJlbmFtZSBhYWMncyBzdHJlYW0tZm9ybWF0ICdub25lJyB0byAncmF3JwoJICBSZW5hbWVzIGFhYydzIHN0cmVhbS1mb3JtYXQgZnJvbSBwcmV2aW91cyBjb21taXRzIGZyb20gbm9uZSB0bwoJICByYXcKCjIwMTAtMDEtMTEgMTY6MDk6MzggKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGluY2x1ZGUgPHdpbmRvd3MuaD4gaW50byBtc2FjbS5oIGNvbmZ0ZXN0CgoyMDEwLTAxLTExIDEyOjEwOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiB1cGRhdGUgdGVzdHMgdG8gc3RyZWFtLWZvcm1hdCBjaGFuZ2VzCgkgIFVwZGF0ZXMgYWFjcGFyc2UgdW5pdCB0ZXN0cyB0byBjaGVjayBmb3Igc3RyZWFtLWZvcm1hdAoJICBjb3JyZWN0bmVzcyBhcyB3ZWxsLgoKMjAxMC0wMS0xMSAxMDo1MToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBZGQgc3RyZWFtLWZvcm1hdCB0byBvdXRwdXQgY2FwcwoJICBBZGRzIHN0cmVhbS1mb3JtYXQgZmllbGQgdG8gb3V0cHV0IGNhcHMKCjIwMTAtMDEtMTEgMTA6MzQ6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogT25seSBhY2NlcHQgc3RyZWFtLWZvcm1hdD0nbm9uZScgYWFjCgkgIE9ubHkgYWNjZXB0IHJhdyBhYWMgc3RyZWFtcyAoc3RyZWFtLWZvcm1hdD1ub25lKSB0byBhdm9pZAoJICBnZW5lcmF0aW5nIGludmFsaWQgZmlsZXMuCgkgIEZpeGVzICM2MDQ5MjUKCjIwMTAtMDEtMTEgMDk6NDg6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBBZGQgZm9ybWF0IHRvIG91dHB1dCBjYXBzCgkgIEFkZHMgJ3N0cmVhbS1mb3JtYXQnIHRvIG91dHB1dCBjYXBzIHRvIGluZm9ybSBpZiB0aGUgc3RyZWFtIGlzCgkgIGFkdHMgb3IgcmF3LiBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIGZvciBtdXhlcnMgdG8gcmVqZWN0CgkgIGlucHV0IHN0cmVhbXMgb24gY2FwcyBpZiB0aGV5IGRvbid0IHN1cHBvcnQgYWR0cyBpbnN0ZWFkIG9mCgkgIGdlbmVyYXRpbmcgYSBpbnZhbGlkIGZpbGUuCgkgIEZpeGVzICM2MDQ5MjUKCjIwMTAtMDEtMTEgMDE6MDI6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogZml4IHVuYWxpZ25lZCBhY2Nlc3MgaW4gdGhpcyBjb3B5IG9mIG1wZWdkZW11eCBhcyB3ZWxsCgkgIFNlZSAjNjA2MzcxLgoKMjAxMC0wMS0xMSAwMDo1OTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHZtbmM6IHVzZSBleGlzdGluZyBtYWNyb3MgdG8gYXZvaWQgYWxpZ25tZW50IGlzc3VlcwoKMjAxMC0wMS0xMSAwMDo1Nzo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgcmZic3JjOiB1c2UgZXhpc3RpbmcgbWFjcm9zIHRvIGF2b2lkIGFsaWdubWVudCBpc3N1ZXMKCjIwMTAtMDEtMTEgMDA6MjQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkgIGFzZm11eDogZml4IGFsaWdubWVudCBhbmQgZW5kaWFubmVzcyBpc3N1ZQoKMjAxMC0wMS0xMSAwMDoxNjoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IHVzZSBHU1RfTUFLRV9GT1VSQ0MgdG8gY3JlYXRlIEZPVVJDQwoKMjAxMC0wMS0xMCAxMDowNjo1NSAtMDMwMCAgTGlucWlhbmcgUHUgPHB1bHEudXN0Y0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZpeCBhbGxpZ25tZW50IGlzc3VlCgkgIFVzZSBHU1RfUkVBRF9VSU5UMzJfQkUgaW5zdGVhZCBvZiBHVUlOVDMyX0ZST01fQkUgdG8KCSAgZml4IGludCBhbGxpZ25tZW50IGlzc3VlcyBvbiBBUk0KCSAgRml4ZXMgIzYwNjM3MQoKMjAxMC0wMS0wOCAxNjowNjozOCArMDAwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IG9ubHkgdmlkZW8gY2FuIGhhdmUgbm9uLWRlbHRhLXVuaXQKCjIwMDktMTItMTggMTQ6MTQ6MTcgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogbWFyayBkZWx0YS11bml0IG9uIG91dGdvaW5nIGJ1ZmZlcnMKCSAgU2lnbmVkLW9mZi1ieTogTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTAxLTA3IDE3OjU0OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogb3B0aW1pemUgc3JjIGNhcHMgdXBkYXRpbmcKCjIwMTAtMDEtMDcgMTc6NDc6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggZnJhbWVyYXRlIGNhbGN1bGF0aW9uCgkgIC4uLiBhbmQgYWxzbyByZW1vdmUgYSBzdXBlcmZsdW91cyBkdXBsaWNhdGUgZGVidWcgc3RhdGVtZW50LgoKMjAxMC0wMS0wNyAxNzo0MjoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCByZWdyZXNzaW9uIGluIG91dHB1dCBidWZmZXIgdGltZXN0YW1waW5nCgkgIFNwZWNpZmljYWxseSwgcHJvcGVybHkgbWFyayBhIGJ1ZmZlciAoTkFMVSBvciBBVSkgdG8gc3RhcnQgYSBmcmFtZSBvciBub3QuCgoyMDEwLTAxLTA2IDExOjIwOjA2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogYXZvaWQgY3Jhc2ggaWYgdm9zIDwgNSBieXRlcy4KCjIwMDktMTItMTMgMTM6NTM6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGZpeCB0eXBvIGluIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDA5LTEyLTEzIDEzOjQ5OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBsYW5ndWFnZSBleHRyYWN0aW9uCgkgIFRoZSBkZXNjcmlwdG9yIGNvbnRhaW5zIElTTyA2MzktMiBsYW5ndWFnZSBjb2RlcywgYnV0IHdlIHdhbnQKCSAgdHdvLWxldHRlciBJU08gNjM5LTEgY29kZXMgaW4gR1NUX1RBR19MQU5HVUFHRS4KCjIwMDktMTItMDUgMTg6MTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgZXhhbXBsZXM6IG1ha2UgY2FtZXJhYmluIHRlc3QgYXBwbGljYXRpb24gaGFuZGxlIGVycm9ycyB3aGVuIHN0YXJ0aW5nIHVwCgkgIEluc3RlYWQgb2YgaGFuZ2luZyBmb3JldmVyIGluIGEgX2dldF9zdGF0ZSgpIGluIGNhc2UgYW4gZXJyb3Igb2NjdXJzIHdoZW4KCSAgc3RhcnRpbmcgdXAgY2FtZXJhYmluLCBiYWlsIG91dCBhbmQgcHJpbnQgYW4gZXJyb3IgbWVzc2FnZS4gQWxzbyByZW1vdmUKCSAgdW5uZWNlc3NhcnkgX2dldF9zdGF0ZSgpIHdoZW4gc2h1dHRpbmcgZG93biB0aGUgcGlwZWxpbmUuCgoyMDEwLTAxLTA1IDE4OjQ0OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBzb21lIG1pc3NpbmcgZG9jdW1lbnRhdGlvbiBwaWVjZXMKCjIwMTAtMDEtMDUgMTY6MTA6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IGRvY3VtZW50YXRpb24gZml4CgoyMDEwLTAxLTA1IDE1OjA1OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGRvY3VtZW50YXRpb24gZml4ZXMKCjIwMTAtMDEtMDUgMTU6MDQ6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMS0wNSAxNDo0ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogYWRkIGRvY3VtZW50YXRpb24KCjIwMDktMTItMjEgMTg6Mjk6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBwZXJmb3JtIGFkZGl0aW9uYWwgZnJhbWUgY2hlY2tzIHdoZW4gcmVzeW5jaW5nCgoyMDEwLTAxLTA1IDE2OjM1OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IChtdWx0aXBsZSBjaGFubmVsKSBmcmFtZSBwYXJzaW5nCgoyMDEwLTAxLTA1IDE2OjM1OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZGVjbGFyZSB1bnBhcnNlZCBpbnB1dCBhbmQgcGFyc2VkIG91dHB1dAoKMjAwOS0xMi0yMSAxODoxOToyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBmaXggc2Nhbm5pbmcgZm9yIG5leHQgc3luY3dvcmQKCjIwMDktMTItMjEgMTg6MTg6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGp1c3Qgc2VlayBoYW5kbGluZyBhbmQgbmV3c2VnbWVudCBzZW5kaW5nCgkgIFBlcmZvcm0gc2FuaXR5IGNoZWNrIG9uIHR5cGUgb2Ygc2VlaywgYW5kIG9ubHkgcGVyZm9ybSBvbmUgdGhhdCBpcwoJICBhcHByb3ByaWF0ZWx5IHN1cHBvcnRlZC4gIEFkanVzdCBkb3duc3RyZWFtIG5ld3NlZ21lbnQgZXZlbnQKCSAgdG8gZmlyc3QgYnVmZmVyIHRpbWVzdGFtcCB0aGF0IGlzIHNlbnQgZG93bnN0cmVhbS4KCjIwMDktMTItMjEgMTE6NTk6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBtaW5vciByZWZhY3RvciBjbGVhbnVwCgkgIEFsc28gYWRkIHNvbWUgZGVidWcgbG9nZ2luZy4KCjIwMDktMTItMTggMjE6MDU6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBsb2NhdGUgbmV4dCBzeW5jIGNvZGUgbW9yZSBlZmZpY2llbnRseQoKMjAwOS0xMi0xOCAyMTowNDoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGJhc2VwYXJzZSB0YWtlcyBjYXJlIG9mIGhhbmRsaW5nIGxlZnRvdmVyIHBpZWNlcwoKMjAwOS0xMi0xOCAyMTowMjo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGltcGxlbWVudCBsZWZ0b3ZlciBkcmFpbmluZyBpbiBwdWxsIG1vZGUKCjIwMDktMTItMTcgMTI6NDU6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBzZXQgX09GRlNFVCBhbmQgX09GRlNFVF9FTkQgb24gb3V0Z29pbmcgYnVmZmVycwoKMjAwOS0xMi0xNyAxMjo0NDoyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGZsYWMuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjcGFyc2UuaDoKCSAgYXVkaW9wYXJzZXJzOiBtb3ZlICdmbGFjcGFyc2UnIGludG8gaXQKCjIwMDktMTItMTYgMTg6Mzg6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm92aWRlIGRlZmF1bHQgY29udmVyc2lvbiB1c2luZyBicHMgaWYgbm8gZnBzIGF2YWlsYWJsZQoJICBBbHNvIHN0b3JlIGVzdGltYXRlZCBkdXJhdGlvbiBhcyBzdWNoLCByYXRoZXIgdGhhbiBwcmV0ZW5kaW5nIG90aGVyd2lzZQoJICAoZS5nLiBzZXQgYnkgc3ViY2xhc3MpLgoKMjAxMC0wMS0wNCAxMDoyMzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBGaXggaW5kZW50aW9uCgoyMDA5LTEyLTI5IDE3OjI4OjA2ICswMjAwICBLYWotTWljaGFlbCBMYW5nIDxtaWxhbmdAdGFsLm9yZz4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IEFsbG93IDEtMiBjaGFubmVscyBmb3IgMTYgYW5kIDMyIGJpdCBkZXB0aHMsIG5vdCBvbmx5IGZvciA4IGJpdHMuCgkgIEZpeGVzIGJ1ZyAjNjA1NzIxLgoKMjAwOS0xMi0yOSAxNjowNzo1OSArMDIwMCAgS2FqLU1pY2hhZWwgTGFuZyA8bWlsYW5nQHRhbC5vcmc+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkgIG1vZHBsdWc6IEFsbG93IDMyIGJpdCBkZXB0aCwgbW9kcGx1Z3MgbmF0aXZlIGZvcm1hdC4KCSAgRml4ZXMgYnVnICM2MDU3MjAuCgoyMDEwLTAxLTAyIDE3OjMzOjU3ICswMTAwICBBcm5hdWQgUGF0YXJkIDxhcm5hdWQucGF0YXJkQHJ0cC1uZXQub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSGFuZGxlIGVhYzMgaW4gUE1UCgkgIFdoZW4gdGhlIHN0cmVhbSB0eXBlIGlzIHNldCB0byBwcml2YXRlIGRhdGEsIGdzdC1tcGVndHNkZW11eCBpcyB0cnlpbmcgdG8gZmluZAoJICBhdWRpbyBkZXNjcmlwdG9ycyBpbiBQTVQgYW5kIGxvb2sgZm9yIEFDMyAodGFnIDB4NmEpIGJ1dCBkb2Vzbid0IGxvb2sgZm9yIEVBQzMKCSAgKHRhZyAweDdhKS4gSGFuZGxlIHRoaXMgY2FzZSB0b28uCgkgIEZpeGVzIGJ1ZyAjNjA1OTA0LgoKMjAwOS0xMi0zMCAyMTo1MDozMiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBjYXBzIGhhbmRsaW5nIGluIF91cGRhdGVfc3JjX2NhcHMuCgoyMDA5LTEyLTI4IDExOjM0OjM1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFsc28gYWRkIC5oIGZpbGUgY2hhbmdlcyB0byB1bmJyZWFrIHRoZSBidWlsZAoKMjAwOS0xMi0yNyAyMzo1MTo1MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgY29ycmVjdCBuYW1lcyBmcm9tIHRlbXBsYXRlIGZvciByZXF1ZXN0IHBhZHMKCSAgVGhlIHBhZHMgd2hlcmUgbmFtZXMgcGFkMCwgcGFkMSwgLi4uCgoyMDA5LTEyLTI3IDIzOjMyOjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1vdmUgZXJyb3JzIF9uZXdfcGFkIHRvIHRoZSBlbmQKCjIwMDktMTItMjEgMTk6MTI6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0N2NiMjNhIHRvIDE0Y2VjODkKCjIwMDktMTItMjEgMTM6NTg6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBY2NlcHQgbm9uLXBhaXJlZCB1aW50IHRhZ3MKCSAgQWRkcyBzdXBwb3J0IGZvciB1bnBhaXJlZCB1bnNpZ25lZCBpbnRlcmdlciB0YWdzCgoyMDA5LTEyLTIxIDEyOjA1OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRzIG5ldyB0YWdzCgkgIE1hcHMgbW9yZSB0YWdzIHRoYXQgYXJlIGFscmVhZHkgcG9zdGVkIGJ5IHF0ZGVtdXgKCSAgRml4ZXMgIzU5OTc1OQoKMjAwOS0xMi0xOCAxNjoxNjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IG9ubHkgcmF3IG91dHB1dCBuZWVkcyBjb2RlY19kYXRhIGluIGNhcHMKCjIwMDktMTItMTggMTM6MzA6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBjaGVjayBmb3IgcmVtYWluaW5nIGRhdGEgd2hlbiBkcmFpbmluZyBpbiBwdXNoIG1vZGUKCjIwMDktMTItMTggMTM6MzA6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggcHVsbCBtb2RlIGNhY2hlIHNpemUgY29tcGFyaXNvbgoKMjAwOS0xMi0xOCAxMzowMToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZS4KCjIwMDktMTItMTcgMTE6MDQ6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IEludGVybmFsIHNpbmsgaW1wcm92ZW1lbnRzCgkgIERvZXMgc29tZSBnZW5lcmFsIGltcHJvdmVtZW50cyB3aXRoIHRoZSBpbnRlcm5hbCBzaW5rIGhhbmRsaW5nLgoJICAxKSBEbyBub3QgcmVtb3ZlIGFuZCByZS1hZGQgdGhlIGdob3N0cGFkIHdoZW4gY2hhbmdpbmcKCSAgaW50ZXJuYWwgc2luawoJICAyKSBPbmx5IGluc3RhbnRpYXRlIHRoZSBkZWZhdWx0IHNpbmsgd2hlbiBjaGFuZ2luZyBmcm9tIE5VTEwKCSAgdG8gUkVBRFkgaWYgdGhlcmUgaXMgbm8gb3RoZXIgYXZhaWxhYmxlCgkgIDMpIEF2b2lkIGNoYW5naW5nIHRoZSBpbnRlcm5hbCBzaW5rIGlmIG5vdCBvbiBOVUxMIHN0YXRlCgkgIEZpeGVzICM1OTg2ODIKCjIwMDktMTItMTcgMDc6NTQ6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IE1pbm9yIGZpeGVzCgkgIERvd25ncmFkZSBhIHdhcm5pbmcgbWVzc2FnZSB0byBkZWJ1Zy4gUmVtb3ZlIGFuCgkgIGFscmVhZHkgZml4ZWQgRklYTUUgYW5kIGFkZCBhIG5vdGUgYWJvdXQgKG5vdC0pdXNpbmcKCSAgZnBzZGlzcGxheXNpbmsgaW4gYXV0b3ZpZGVvc2luay4gQ2hhbmdlIHRoZSBjcmVhdGVkCgkgIGdob3N0cGFkIHRvIHVzZSB0aGUgbmFtZSAic2luayIgYXMgaXQgaXMgYWR2ZXJ0aXNlZCBpbgoJICB0aGUgcGFkIHRlbXBsYXRlLgoKMjAwOS0xMi0xNyAxNDo0NjowMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBzcGVjIGZpbGUgYW5kIGZpeCBhYzNwYXJzZXIgaGVhZGVyIGxpc3RpbmcgaW4gTWFrZWZpbGUuYW0KCjIwMDktMTItMTcgMDE6MDU6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB0cnkgdG8gZml4ICdtYWtlIGRpc3QnIHdoZW4gY29nIGlzIG5vdCBpbnN0YWxsZWQKCjIwMDktMTItMTYgMTg6MzI6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGZpeCBzZXR0aW5nIHN5bmMgb24gY2hpbGQgYmluCgkgIFVzZSBHU1RfSVNfQklOIGluc3RlYWQgb2YgR19PQkpFQ1RfVFlQRSB0byBjaGVjayBpZiB0aGUKCSAgaW50ZXJuYWwgc2luayBpcyBhIGJpbi4gVXNpbmcgdGhlIGxhdGVyIHdvbid0IHdvcmsgd2hlbgoJICB0aGUgc2luayBpcyBub3QgYSBiaW4gZGlyZWN0bHkgKGJ1dCBpbmhlcml0cyBmcm9tIG9uZSwgbGlrZQoJICBhdXRvdmlkZW9zaW5rKS4KCSAgRml4ZXMgIzYwNDI4MAoKMjAwOS0xMi0xNSAxMzowODowOCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbEBiYXNlLWFydC5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogY2hlY2sgdGhlIHN5bmMgcHJvcGVydHkgZXhpc3RzIG9uIGVtYmVkZGVkIHNpbmsocykKCSAgRm9sbG93LXVwIG9uIDQxMTFkNjMyMWYxNDBlYjc3OTA2MjBhYjQyZTVjZjFkOTQxM2I1NmEsIHRoZSB2aWRlbwoJICBzaW5rKHMpIHVzZWQgYnkgZnBzZGlzcGxheXNpbmsgbWlnaHQgbm90IGhhdmUgdGhlIHN5bmMgcHJvcGVydHkuIFNvIHdlCgkgIGNoZWNrIGl0cyBleGlzdGVuY2UgdG8gYXZvaWQgd2FybmluZyBmcm9tIGdfb2JqZWN0X3NldCgpIGF0IHJ1bnRpbWUuCgkgIEZpeGVzICM2MDQyODAKCjIwMDktMTItMTAgMjI6MjA6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBzdXBwb3J0IG1vcmUgb2YgajJrCgkgIFJlYWRzIHRoZSBuZXcgY2FwcyBhZGRlZCB0byBxdGRlbXV4IGJ5IGNvbW1pdAoJICBjOTE3ZDY1ZTZkZjBiNWQ1ODVmOTA1YzdhZDc4YThhMGE0NGIyY2IwCgkgIGFuZCBhZGRzIGl0cyBjb3JyZXNwb25kaW5nIGF0b21zLgoJICBBbHNvIGFkZHMgc3VwcG9ydCBmb3IgaW1hZ2UveC1qcGMgYXMgaXQgaXMgdGhlIHNhbWUKCSAgYXMgaW1hZ2UveC1qcDIsIGV4Y2VwdCB0aGF0IHRoZSBidWZmZXJzIG5lZWQgdG8gYmUKCSAgYm94ZWQgaW5zaWRlIGEganAyYyBpc29tIGJveCBiZWZvcmUgbXV4aW5nLiBUbyBzb2x2ZQoJICB0aGlzIHRoZSBRVFBhZHMgbm93IGhhdmUgYSBmdW5jdGlvbiB0aGF0IChpZgoJICBub3QgTlVMTCkgaXMgY2FsbGVkIHdoZW4gYSBidWZmZXIgaXMgY29sbGVjdGVkLiBUaGlzCgkgIGZ1bmN0aW9uIHJldHVybnMgYSByZXBsYWNlbWVudCB0byB0aGUgY3VycmVudCBjb2xsZWN0ZWQKCSAgYnVmZmVyLgoJICBGaXhlcyAjNTk4OTE2CgoyMDA5LTEyLTE0IDE2OjE2OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkgIGNvZzogVGFibGUgZ2VuZXJhdGlvbiB1dGlsaXR5IG5lZWRzIHRvIGxpbmsgdG8gLWxtIHRvbwoKMjAwOS0xMi0xNCAxNjowODowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvY29nLm9yYzoKCSAgY29nOiBEb24ndCBidWlsZCBvcmNfbWVtY3B5KCkgYW5kIGRlcGVuZCBvbiBvcmMgPj0gMC40LjMgZm9yIG9yY19tZW1jcHkoKQoJICBJbiB0aGUgbGF0ZXN0IHJlbGVhc2UgdGhpcyBmdW5jdGlvbiBpcyBhbHJlYWR5IGRlZmluZWQuCgoyMDA5LTEyLTEwIDE2OjUzOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogTWFwcyAnY2xhc3NpZmljYXRpb24nIHRhZyBmb3IgM2dwcCBmaWxlcwoJICBBZGRzIHRoZSBtYXBwaW5nIG9mICdjbGFzc2lmaWNhdGlvbicgdGFncyB0byB3cml0aW5nIG9mCgkgICdjbHNmJyBhdG9tcyBmb3IgZ3BwbXV4LgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoyMDA5LTEyLTEwIDIyOjQ5OjEzIC0wMzAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsQGJhc2UtYXJ0Lm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBleHBvc2UgdmlkZW8gc2luayB1c2luZyBhIHByb3BlcnR5CgkgIEV4cG9zZXMgdGhlIGludGVybmFsbHkgdXNlZCBzaW5rIGFzIHZpZGVvLXNpbmsgcHJvcGVydHkgYW5kCgkgIG1ha2VzIHRoZSBkZWZhdWx0IG9uZSB0byBiZSBhdXRvdmlkZW9zaW5rIGluc3RlYWQgb2YKCSAgdGhlIGhhcmRjb2RlZCB4dmltYWdlc2luawoJICBGaXhlcyAjNjA0MjgwCgoyMDA5LTEyLTExIDE2OjMyOjQ4IC0wODAwICBQZXRlciB2YW4gSGFyZGVuYmVyZyA8cHZoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvYWRwY21lbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJICBhZHBjbWVuYzogYWRkIG5ldyBhZHBjbSBlbmNvZGVyIGVsZW1lbnQuCgoyMDA5LTEyLTExIDEwOjI1OjE2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IGZpeCBhIGZvcm1hdCBzdHJpbmcgYXMgcmVwb3J0ZWQgb24gaXJjLgoKMjAwOS0xMi0xMCAxMDoxMDoxNSAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IG1ha2UgcG93ZXIgb2YgMiBtb3JlIGFjY3VyYXRlLgoKMjAwOS0xMi0xMCAxMjo1Njo0NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBjYXBzIHBhcmFtZXRlcnMgc2V0dGluZwoJICBBbHNvIGNvbnNpZGVyIFBQUyB3aGVuIHNlbGVjdGluZyBTUFMgdG8gcGljayBwYXJhbWV0ZXJzIGZyb20uCgkgIE9ubHkgdXBkYXRlIGNhcHMgd2hlbiBzZXR0aW5ncyBhY3R1YWxseSBjaGFuZ2VkLCBhbmQgd2hlbiB0aGVzZSBhcmUgdmFsaWQuCgoyMDA5LTEyLTA4IDE4OjU3OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuaDoKCSAgaXZvcmJpczogYWxzbyBjYXRlciBmb3IgdHJhZGl0aW9uYWwgMTYtYml0IHdpZHRoIHNhbXBsZSBvdXRwdXQKCjIwMDktMTItMTAgMTA6NDA6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBEb24ndCBkbyBwb2ludGVyIGRlcmVmZXJlbmNlcyBpbiB0aGUgcHJvY2Vzc2luZyBsb29wCgkgIExvd2VycyB0aGUgdGltZSB0YWtlbiB0aGVyZSBpbiBteSB0ZXN0Y2FzZSBmcm9tIDYuOTElIHRvIDYuMjAlCgkgIGFzIG1lYXN1cmVkIGJ5IGNhbGxncmluZC4KCjIwMDktMTEtMTggMTY6Mzg6MzMgKzAxMDAgIHVua25vd24gPGhhdmFyZC5ncmFmZkAuZXUudGFuZGJlcmcuaW50PgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiB1cGRhdGUgdGhlIGN1cnJlbnRfc3NyYyBmcm9tIHRoZSBjYXBzCgkgIEZpeGVzICM2MDQxMDEKCjIwMDktMTItMDkgMTQ6NDI6MjEgKzAxMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHJlbGVhc2UgcGFkcyB3aGVuIGRpc3Bvc2luZwoJICBCZWNhdXNlIG9mIGFuIGFsbG9jYXRlZCBwcml2IChHc3RSVFBNdXhQYWRQcml2YXRlKSwgdGhlIGVsZW1lbnQgd2lsbAoJICBsZWFrIG1lbW9yeSBpZiBub3QgZ3N0X3J0cF9tdXhfcmVsZWFzZV9wYWQoKSBpcyBjYWxsZWQuIFRoaXMgd291bGQKCSAgcHJldmlvdXNseSBvbmx5IGhhcHBlbiBpZiByZWxlYXNlX3JlcXVlc3RfcGFkKCkgd2FzIGNhbGxlZCBleHBsaWNpdGx5LAoJICBzb210aGluZyB0aGF0IHNob3VsZCBub3QgYmUgbmVjY2VzYXJ5LgoJICBGaXhlcyAjNjA0MDk5CgoyMDA5LTEyLTA5IDEzOjQwOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIGR0bWZtdXg6IG1ldGhvZCBuYW1lIGNsZWFudXBzCgoyMDA5LTEyLTA5IDA5OjU3OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSW1wbGVtZW50IHNyY3BhZCBxdWVyeSBmdW5jdGlvbiB0byBhbHdheXMgZm9yd2FyZCB0byB0aGUgdmlkZW8gc2lua3BhZAoKMjAwOS0xMi0wOSAwOTo1NTozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFByb3h5IGJ1ZmZlciBhbGxvY2F0aW9uIG9uIHZpZGVvIHNpbmtwYWQgdG8gdGhlIHNyY3BhZAoJICAuLi5hbmQgYWRkIGdldGNhcHMgZnVuY3Rpb24gdG8gdGhlIHZpZGVvIHNpbmtwYWQuCgoyMDA5LTEyLTA5IDA5OjUxOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSW1wbGVtZW50IHNyY3BhZCBldmVudCBmdW5jdGlvbnMgZm9yIHNlZWtpbmcgYW5kIGNvcnJlY3QgZXZlbnQgZm9yd2FyZGluZwoJICBDb3BpZWQgZnJvbSB0ZXh0b3ZlcmxheS4KCjIwMDktMTItMDggMTc6NTk6MDQgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIGMrKyBjb21tZW50cyBhbmQgYWRkIHNvbWUgbW9yZSBjb21tZW50cy4KCjIwMDktMTItMDggMTc6NTU6NTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCBpbWEgYWRwY20gc3VwcG9ydAoKMjAwOS0xMi0wOCAxNzo1NToxMyAtMDgwMCAgU3RlcGhlbiBNY05hbWFyYSA8c3RldmUubWNuYW1hcmFAdWx0cmEtc21sLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBkb24ndCBsZWFrIGZpbHRlcl9tZWRpYV9ldmVudAoKMjAwOS0xMS0yMyAxNjozNDo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBlbnN1cmUgc3VmZmljaWVudCBkYXRhIGF2YWlsYWJsZSBmb3IgcGFyc2luZwoKMjAwOS0xMC0yOSAxNToxOTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBleHRyYWN0IGFuZCB1c2Ugc29tZSBtb3JlIGRldGFpbHMgZm9yIEVuaGFuY2VkIEFjLTMgc3RyZWFtcwoKMjAwOS0xMC0yOSAxNToxODozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGN1c3RvbSBidWZmZXJmbGFnIGluZGljYXRlcyBub3QgdG8gY291bnQgZnJhbWUgaW4gc3RhdHMKCjIwMDktMTAtMjggMTQ6MDg6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcGVyZm9ybSBhZGRpdGlvbmFsIGZyYW1lIGNoZWNrcyB3aGVuIHJlc3luY2luZwoKMjAwOS0xMC0yOCAxNDowNzoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBpbmZvcm0gYmFzZSBwYXJzZXIgb2YgZnJhbWUgZHVyYXRpb24KCjIwMDktMTAtMjcgMTY6MTY6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW1wcm92ZSBzcmMgY2FwcyBzZXR0aW5ncwoKMjAwOS0xMS0yNyAxNzo1OTowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYWMzcGFyc2U6IGluaXRpYWwgdmVyc2lvbgoJICBNQVJHSU5BTCByYW5rIGZvciBub3c7IG1pZ2h0IHRha2Ugc29tZSB0aW1lIGZvciBzb21lICh1c2VmdWwpCgkgIGZyYW1lZD10cnVlL2ZhbHNlIHRvIGFwcGVhciBoZXJlIGFuZCB0aGVyZS4KCjIwMDktMTEtMjYgMTg6MzQ6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkgIGFtcnBhcnNlOiB1c2UgKGRlZmF1bHQpIHRpbWUgaGFuZGxpbmcgb2YgYmFzZXBhcnNlciBjbGFzcwoKMjAwOS0xMS0yNiAxODoxNToyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZ3N0L2FtcnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBtb3ZlICdhbXJwYXJzZScgaW50byBpdAoKMjAwOS0xMS0yNyAxNzoyNzozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHJlZmVyZW5jZSBHc3RCYXNlUGFyc2Ugbm93IGxpdmVzIGhlcmUKCjIwMDktMTEtMjggMTg6MTM6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2FhY3BhcnNlL3BsdWdpbi5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiByZW5hbWUgJ2FhY3BhcnNlJyBwbHVnaW4gdG8gZ2VuZXJpYyAnYXVkaW9wYXJzZXJzJyBwbHVnaW4KCjIwMDktMTEtMjYgMTc6MDQ6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL3BsdWdpbi5jOgoJICBhYWNwYXJzZTogc2VwYXJhdGUgcGx1Z2luIHJlZ2lzdHJhdGlvbiBhbmQgcmVuYW1lIHBsdWdpbgoKMjAwOS0xMS0yNiAxNzowNDozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGVuc3VyZSBzdWZmaWNpZW50IGRhdGEgYXZhaWxhYmxlIGJlZm9yZSBhY2Nlc3NpbmcKCjIwMDktMTEtMDUgMTQ6MzE6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogdXNlIChkZWZhdWx0KSB0aW1lIGhhbmRsaW5nIG9mIGJhc2VwYXJzZXIgY2xhc3MKCjIwMDktMTAtMjkgMTU6MTk6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXh1cCBjb21tZW50cyB0byBDLXN0eWxlCgoyMDA5LTEwLTI5IDE2OjA1OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXNldCBwYXNzdGhyb3VnaCBtb2RlIHRvIGRlZmF1bHQgKGRpc2FibGVkKSBvbiBhY3RpdmF0aW9uCgoyMDA5LTEwLTI5IDE1OjE2OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbnN1cmUgYnVmZmVyIG1ldGFkYXRhIGlzIHdyaXRhYmxlCgoyMDA5LTEwLTI4IDE0OjA2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGZpeC9lbmhhbmNlIERJU0NPTlQgbWFya2luZwoJICBJbiBwYXJ0aWN1bGFyLCBjb25zaWRlciBESVNDT05UID09ICFzeW5jLCBhbmQgYWxsb3cgc3ViY2xhc3MgdG8gcXVlcnkKCSAgc3luYyBzdGF0ZSwgYXMgaXQgbWF5IHdhbnQgdG8gcGVyZm9ybSBhZGRpdGlvbmFsIGNoZWNrcyBkZXBlbmRpbmcKCSAgb24gd2hldGhlciBzeW5jIHdhcyBhY2hpZXZlZCBlYXJsaWVyIG9uLgoJICBBbHNvIGFycmFuZ2UgZm9yIHN1YmNsYXNzIHRvIHF1ZXJ5IHdoZXRoZXIgbGVmdG92ZXIgZGF0YSBpcyBiZWluZyBkcmFpbmVkLgoKMjAwOS0xMS0yMyAxNTo0ODoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBhZGQgdGltZXN0YW1wIGhhbmRsaW5nLCBhbmQgZGVmYXVsdCBjb252ZXJzaW9uCgkgIEluIHBhcnRpY3VsYXIsIChvcHRpb25hbGx5KSBwcm92aWRlIGJhc2VwYXJzZSB3aXRoIGEgbm90aW9uIG9mIGZyYW1lcyBwZXIgc2Vjb25kCgkgIChhbmQgdGhlcmVmb3JlIGFsc28gZnJhbWUgZHVyYXRpb24pIGFuZCBoYXZlIGl0IHRyYWNrIGZyYW1lIGFuZCBieXRlIGNvdW50cy4KCSAgVGhpcyB3YXksIHN1YmNsYXNzIGNhbiBwcm92aWRlIGJhc2VwYXJzZSB3aXRoIGZwcyBhbmQgaGF2ZSBpdCBwcm92aWRlIGRlZmF1bHQKCSAgYnVmZmVyIHRpbWUgbWV0YWRhdGEgYW5kIGNvbnZlcnNpb25zLCB0aG91Z2ggc3ViY2xhc3MgY2FuIHN0aWxsIGluc3RhbGwKCSAgY2FsbGJhY2tzIHRvIGhhbmRsZSBzdWNoIGl0c2VsZi4KCjIwMDktMTAtMjggMTI6MDI6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGRvY3VtZW50YXRpb24gZml4ZXMKCjIwMDktMTAtMjggMTI6MDA6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZV9maXhlZF9jYXBzIGZvciBzcmMgcGFkCgkgIEFmdGVyIGFsbCwgc3RyZWFtIGlzIGFzLWlzLCBhbmQgdGhlcmUgaXMgbGl0dGxlIG1vbGRpbmcgdG8gZG93bnN0cmVhbSdzCgkgIHRhc3RlIHRoYXQgY2FuIGJlIGRvbmUuICBJZiBzdWJjbGFzcyBjYW4gYW5kIHdhbnRzIHRvIGRvIHNvLCBpdCBjYW4KCSAgc3RpbGwgb3ZlcnJpZGUgYXMgc3VjaC4KCjIwMDktMTItMDggMTQ6NDY6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IEFkZCBkb2NzIGFuZCBpbnRlZ3JhdGUgaW50byB0aGUgZG9jcyBidWlsZCBzeXN0ZW0KCjIwMDktMTItMDggMTQ6MDY6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBGb3Igc3luY2hyb25pemluZyB0aGUgdGV4dCwgdGFrZSB0aGUgdmlkZW8gcnVubmluZyB0aW1lIG9mIHRoZSBuZXh0IGZyYW1lCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IGxpYmFzcyBhbHJlYWR5IGhhcyBhbGwgdGV4dCBidWZmZXJzIGZvciB0aGUgbmV4dCBmcmFtZQoJICBhdCB0aGUgdGltZSB3aGVuIHRoZSBuZXh0IGZyYW1lIGlzIHByb2Nlc3NlZC4gV2l0aG91dCB0aGlzIHRleHQgYnVmZmVycwoJICBtaWdodCBiZSBvbmUgZnJhbWUgbGF0ZSBvciBub3Qgc2hvd24gYXQgYWxsIGlmIHRoZXkncmUgb25seSBzaG93biBmb3IgYQoJICBzaW5nbGUgZnJhbWUuCgoyMDA5LTEyLTA4IDExOjI2OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IEk0MjAgbW9kZSBhbmQgZW5hYmxlIGl0CgoyMDA5LTEyLTA4IDExOjI1OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IGNvbXBpbGF0aW9uIHdpdGggb2xkZXIgbGliYXNzIHZlcnNpb25zCgoyMDA5LTEyLTA3IDEwOjIxOjMyIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBkc2hvd3ZpZGVvc2luazogc3BlbGwgdGhpbmdzIG1vcmUgYmV0dGVyZXIuCgoyMDA5LTEyLTA3IDEwOjA5OjE5IC0wODAwICBTdGVwaGVuIE1jTmFtYXJhIDxzdGV2ZS5tY25hbWFyYUB1bHRyYS1zbWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIGRzaG93dmlkZW9zaW5rOiBhZGQgdmlydHVhbCBkZXN0cnVjdG9yIGZvciBpbnRlcm5hbCBoZWxwZXIgY2xhc3MuCgoyMDA5LTEyLTA3IDE4OjM1OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRG9uJ3QgdW5yZWYgYnVmZmVycyB0d2ljZQoKMjAwOS0xMi0wNyAxODozMDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEltcHJvdmUgZW1iZWRkZWQgZm9udCB1c2FnZQoJICBGb3IgdGhpcyBhZGQgc29tZSBuZXcgbWltZXR5cGVzIGFuZCBhbHNvIGNoZWNrIHRoZSBmaWxlbmFtZSBleHRlbnNpb24uCgkgIEZpeGVzIGJ1ZyAjNjAzOTM4LgoKMjAwOS0xMi0wNyAxODowMzoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERpc2FibGUgSTQyMCBzdXBwb3J0IGZvciBub3csIGl0IGRvZXNuJ3Qgd29yayByZWxpYWJsZSB5ZXQKCjIwMDktMTItMDcgMTc6MDQ6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBBZGQgc3VwcG9ydCBmb3IgSTQyMAoKMjAwOS0xMi0wNyAxNTozMTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IE9wdGltaXplIGJsaXQgZnVuY3Rpb24gYW5kIGFkZCBzdXBwb3J0IGZvciBhbGwgb3RoZXIgbm9uLWFscGhhIFJHQiBmb3JtYXRzCgkgIEFsc28gbWFrZSBzdXJlIHRvIG5vdCB3cml0ZSBiZWhpbmQgYXJyYXkgYm91bmRzLgoKMjAwOS0xMi0wNyAxNDozNTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCBhdHRhY2htZW50IHRhZyBoYW5kbGluZyBhbmQgbW92ZSBpdCBpbnRvIGEgc2VwYXJhdGUgZnVuY3Rpb24KCSAgLi4udG8gcHJldmVudCBjb2RlIGR1cGxpY2F0aW9uLgoKMjAwOS0xMi0wNyAxNDoyNjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFVwZGF0ZSB0ZXh0IGxhc3Qgc3RvcCBhZnRlciBjaGVja2luZyBpZiB0aW1lc3RhbXAvZHVyYXRpb24gaXMgdmFsaWQKCjIwMDktMTItMDcgMTQ6MjM6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJZiBhbiBBU1MgdHJhY2sgd2FzIGFsbG9jYXRlZCBhbHJlYWR5IG9ubHkgZmVlZCBuZXcgY29kZWNfZGF0YSB0byBpdCBpbnN0ZWFkIG9mIHJlY3JlYXRpbmcKCjIwMDktMTItMDcgMTQ6MDU6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBMb3RzIG9mIHJhbmRvbSBjbGVhbnVwIGFuZCBzb21lIG1pbm9yIG1lbWxlYWsgZml4ZXMKCjIwMDktMTItMDcgMTM6NDA6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBFeHRyYWN0IGVtYmVkZGVkIGZvbnRzIGZyb20gdGhlIHN1YnRpdGxlIHN0cmVhbXMgaWYgcmVxdWVzdGVkCgoyMDA5LTEyLTA3IDEzOjI2OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRG9uJ3QgbGV0IGxpYmFzcyBwcmludCBzdHVmZiBvbiBzdGRlcnIgYnV0IHByb3h5IHRoZSBtZXNzYWdlcyB0byB0aGUgR1N0cmVhbWVyIGRlYnVnZ2luZyBzeXN0ZW0KCjIwMDktMTItMDUgMTE6MjU6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgIGFwZXhzaW5rOiBjbGVhbiB1cCBhbmQgZml4IGNvbmZpZ3VyZSBsb2dpYyBhbmQgTWFrZWZpbGUuYW0KCSAgQ2hlY2sgZm9yIG9wZW5zc2wgYW5kIGxpYmNyeXB0byB1c2luZyBwa2ctY29uZmlnIGFuZCBkb24ndCBidWlsZCB0aGUKCSAgcGx1Z2luIGlmIHRob3NlIGFyZSBub3QgYXZhaWxhYmxlLiBBbHNvLCBmaXggdGhlIENGTEFHUy9MSUJTIG9yZGVyCgkgIGluIE1ha2VmaWxlLmFtIGFuZCB1c2UgdGhlIGRldGVjdGVkIExJQlMgaW5zdGVhZCBvZiBoYXJkLWNvZGluZwoJICAtbGNyeXB0byBpbiB0aGUgTWFrZWZpbGUuYW0uIFNob3VsZCBmaXggIzYwMTQxNy4KCjIwMDktMTItMDEgMTU6MDc6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4N2JmNDI4IHRvIDQ3Y2IyM2EKCjIwMDktMTItMDEgMTQ6MDk6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENhbGwgQUdfR1NUX1BMQVRGT1JNIGZvciBHU1RfRVhUUkFfTU9EVUxFX1NVRkZJWAoJICBUaGlzIGlzIHVzZWQgaW4gdGhlIGZyZWkwciBwbHVnaW4gYWxyZWFkeSBidXQgbmV2ZXIgZGVmaW5lZCBhbnl3aGVyZS4KCSAgRml4ZXMgYnVnICM2MDI1MjQuCgoyMDA5LTEyLTAxIDE0OjE3OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGE0Yzc1YyB0byA4N2JmNDI4CgoyMDA5LTExLTI3IDE4OjU1OjU4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1M2EyNDg1IHRvIGRhNGM3NWMKCjIwMDktMTEtMjcgMTQ6Mzg6MDQgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5oOgoJICBjYW1lcmFiaW46IHBob3RvZ3JhcGh5IGludGVyZmFjZSBwcm9wZXJ0aWVzLiBGaXhlcyAjNTczMzcwIChwYXJ0aWFsbHkpCgkgIEFkZGVkIEdPYmplY3QgcHJvcGVydGllcyB0byBwaG90b2dyYXBoeSBpbnRlcmZhY2UgYW5kIGltcGxlbWVudGVkCgkgIHRoZW0gaW4gY2FtZXJhYmluLiBDaGFuZ2VkIHpvb21pbmcgdG8gY2hlY2sgaWYgdmlkZW8tc291cmNlIGhhcwoJICB6b29tIHByb3BlcnR5LgoKMjAwOS0wMi0yMyAyMzoxODozMyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSAgQWRkIHBrZ2NvbmZpZyBmaWxlcyBmb3IgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIGxpYnJhcnkuCgoyMDA5LTEwLTI4IDEyOjQ3OjE5ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBhZGQgZmxhZ3MgcHJvcGVydHkuIEZpeGVzICM1NzMzNzAgKHBhcnRpYWxseSkKCSAgQWRkcyBmbGFncyBwcm9wZXJ0eSB0byBlbmFibGUgcnVudGltZSBjb25maWd1cmF0aW9uIG9mCgkgIGNvbnZlcnNpb24gYW5kIHNjYWxpbmcgZWxlbWVudHMuIEFsc28gYWRkcyBmbGFnIGZvciBkaXNhYmxpbmcKCSAgYXVkaW8gY29tcGxldGVseS4KCjIwMDktMTAtMjcgMTY6Mjg6MjUgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSAgY2FtZXJhYmluOiByZW1vdmUgdGltZW92ZXJsYXkgYnVpbGQtdGltZSBkZWZpbml0aW9uCgoyMDA5LTExLTI2IDE1OjMzOjMyIC0wNjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICB2ZHBhdTogZml4IGJ1aWxkCgoyMDA5LTExLTI1IDIxOjQxOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVwbGFjZSBfc2NhbGUgd2l0aCBfc2NhbGVfcm91bmQKCSAgVXNlIHRoZSByb3VuZGluZyB2ZXJzaW9uIGZvciBpbXByb3ZlZCBzeW5jIGJldHdlZW4gc3RyZWFtcy4KCSAgU21hbGwgdmFyaWF0aW9ucyBpbiB0aGUgZHVyYXRpb24gd2hlbiBtdXhpbmcgbWlnaHQgbGVhZCB0bwoJICBjdW11bGxhdGl2ZSB3cm9uZyB0aW1lc3RhbXBpbmcgd2hlbiBkZW11eGluZy4KCSAgRml4ZXMgIzYwMjkzNgoKMjAwOS0xMS0yNCAxNjoxNjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSB0aW1lc3RhbXBzIGZvciBtdXhpbmcKCSAgVHJ5IHRvIHVzZSB0aW1lc3RhbXBzIGV2ZW4gd2hlbiB0aGUgc3RyZWFtIGhhcyBvdXQgb2Ygb3JkZXIKCSAgdGltZXN0YW1wcywgb25seSBmYWxsIGJhY2sgdG8gZHVyYXRpb25zIHdoZW4gd2UgZGV0ZWN0IGFuCgkgIG91dCBvZiBvcmRlciBidWZmZXIuIEltcHJvdmVzIHN5bmMgYmV0d2VlbiBzdHJlYW1zLgoKMjAwOS0xMS0yNCAxNDozNDo1MSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkgIG1ldGFkYXRhOiBmaXggY2xhc3NpZmljYXRpb24KCjIwMDktMTEtMTggMTE6Mzg6NTAgKzAxMDAgIFhhdmllciBRdWVyYWx0IE1hdGV1IDx4cXVlcmFsdEBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEV4cG9zZSBsYW5nIGNvZGVzIGluIHBtdAoKMjAwOS0xMS0yMiAxOTozMDo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IG9wdGlvbmFsIHRyYW5zZm9ybWluZyBmcm9tIGJ5dGVzdHJlYW0gdG8gc2FtcGxlIGZvcm1hdCAob3IgdmljZSB2ZXJzYSkKCjIwMDktMTEtMjAgMTg6MzE6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZWZhY3RvciBhIGJpdCBpbnRvIGEgcmVzZXQgZnVuY3Rpb24KCjIwMDktMTEtMjAgMTg6NDk6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBwcm92aWRlIHcvaCBmcm9tIHN0cmVhbSBpbiBzcmMgY2FwcyBpZiBub3QgaW4gc2luayBjYXBzCgoyMDA5LTExLTA2IDEyOjU4OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcGFyc2UgU1BTIHNvbWUgbW9yZSAoZS5nLiBmb3Igd2lkdGgvaGVpZ2h0KQoKMjAwOS0xMS0yMiAxOTozNDoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IG9wdGlvbmFsbHkgb3V0cHV0IEFVcyByYXRoZXIgdGhhbiBOQUxVcwoJICBUaGF0IGlzLCBBY2Nlc3MgVW5pdHMgKGZyYW1lcy9maWVsZHMpIGluc3RlYWQgb2YgKHBvc3NpYmx5KSBwYXJ0cyB0aGVyZW9mLgoKMjAwOS0xMS0yMyAxMDozMjo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHJlbW92ZSBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jCgoyMDA5LTExLTIzIDA5OjM1OjMwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogcHJlLXJlbGVhc2U9PmdpdAoKMjAwOS0xMS0yMyAwOToxNzozOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSAgdmRwYXU6IEZpeCBpbmNsdWRlcwoKMjAwOS0xMS0yMiAyMjo1NDoyNyArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGNvbnZlcnQgdG8gMS8xIHBpeGVsLWFzcGVjdC1yYXRpbyBmb3IgcmdiIHRvbwoKMjAwOS0xMS0yMiAyMjozNDoxOSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1c2luazogaW50ZXJzZWN0IGFsbG93ZWQgY2FwcyB3aXRoIG91ciB0ZW1wbGF0ZSBjYXBzCgoyMDA5LTExLTIyIDIyOjMxOjM4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkgIHZkcGF1OiBmaXggZ3N0X3ZkcF9bdmlkZW98eXV2XV90b19vdXRwdXRfY2FwcyB0byBhbHNvIGFkZCByZ2IgY2FwcwoKMjAwOS0xMS0yMiAyMjozMDoxOSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogdXNlIEdzdFZkcFZpZGVvU3JjUGFkCgoyMDA5LTExLTIyIDIyOjI5OjU4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkgIHZkcGF1OiBhZGQgZnVuY3Rpb25zIHRvIEdzdFZkcE91dHB1dEJ1ZmZlciBuZWVkZWQgZm9yIHJnYiBkb3dubG9hZAoKMjAwOS0xMS0yMiAyMjoyODoxOCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJICB2ZHBhdTogYWRkIEdzdFBhZCBzdWJjbGFzcyBHc3RWZHBPdXRwdXRTcmNQYWQKCSAgR3N0VmRwT3V0cHV0U3JjUGFkIGlzIGEgc3ViY2xhc3Mgb2YgR3N0UGFkIHRoYXQgaXMgdXNlZCBmb3IgcHVzaGluZyBvdXQKCSAgR3N0VmRwT3V0cHV0QnVmZmVycy4gSXQgdGFrZXMgY2FyZSBvZiBjYXBzIG5lZ290aWF0aW9uIGFuZCBjb252ZXJzaW9uIHRvCgkgIHZpZGVvL3gtcmF3LXJnYi4KCjIwMDktMTEtMjIgMjI6MjQ6MTIgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIGdzdHZkcHZpZGVvc3JjcGFkOiBhZGQgInRlbXBsYXRlLWNhcHMiIHByb3BlcnR5CgkgIFRoZSBwcm9wZXJ0eSBsaW1pdHMgdGhlIGF2YWlsYWJsZSBvdXRwdXQgY2FwcwoKMjAwOS0xMS0yMiAyMjoxODo1NSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJICBnc3R2ZHB2aWRlb2J1ZmZlcjogZml4IHR5cG8KCjIwMDktMTEtMjEgMDI6NTE6MzkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIGdzdHZkcHZpZGVvc3JjcGFkOiByZXBsYWNlIGdldF9wYWRfdGVtcGxhdGUoKSB3aXRoIGdldF90ZW1wbGF0ZV9jYXBzKCkKCjIwMDktMTEtMjEgMDE6MTA6NTAgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIGdzdHZkcHZpZGVvc3JjcGFkOiBkb24ndCByZWNyZWF0ZSBjYXBzIGluIGdldGNhcHMKCjIwMDktMTEtMjEgMDA6MTM6NDYgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICB2ZHBhdTogYWRkIEdzdFBhZCBzdWJjbGFzcyBHc3RWZHBWaWRlb1NyY1BhZAoJICBHc3RWZHBWaWRlb1NyY1BhZCB0YWtlcyBjYXJlIG9mIGNhcHMgbmVnb3RpYXRpb24gYW5kIGNvbnZlcnNpb24gb2YKCSAgR3N0VmRwVmlkZW9CdWZmZXJzIHRvIHRoZSBuZWdvdGlhdGVkIG91dHB1dCBmb3JtYXQuCgoyMDA5LTEwLTI3IDIyOjA0OjEwICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1c2luazogcmV3b3JrIHByZXNlbnRhdGlvbiBibG9ja2luZyBhIGJpdAoJICBpbnN0ZWFkIG9mIGJsb2NraW5nIHVudGlsIHRoZSBwcmV2aW91cyBzdXJmYWNlIGhhcyBiZWVuIGRpc3BsYXllZCwgd2UgbmV3IG9ubHkKCSAgYWRkIHN1cmZhY2VzIHRvIHRoZSBxdWV1ZSBpZiBpdCdzIGlkbGUuCgoyMDA5LTEwLTI3IDIxOjE4OjA0ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBzcGxpdCB1cCBjaGFpbiBmdW5jdGlvbgoKMjAwOS0xMC0yNyAyMDo1NzowNSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogaW1wbGVtZW50IGJhc2ljIHFvcyBoYW5kbGluZwoKMjAwOS0xMC0xNiAwMDoxNjoyNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkgIHZkcGF1bXBlZ2RlYzogYWRkIGRpc3BsYXkgcHJvcGVydHkKCjIwMDktMTAtMDggMjM6Mzg6MjQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkgIHZkcGF1OiByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucwoKMjAwOS0xMC0wOCAyMDoyNTo0MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1OiB1c2UgbG9jYWwgbGliZ3N0dmRwIGhlYWRlcnMKCjIwMDktMTAtMDggMjA6MjM6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiByZW1vdmUgbm93IHVubmVlZGVkIHZkcGF1dmlkZW95dXYgYW5kIHZkcGF1eXV2dmlkZW8gZWxlbWVudHMKCjIwMDktMTAtMDggMjA6MTk6NTcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBkaXNwbGF5IHByb3BlcnR5CgoyMDA5LTEwLTA4IDIwOjEzOjI0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXVzaW5rOiBhZGQgZGVidWcgb3V0cHV0CgoyMDA5LTEwLTA4IDIwOjEzOjA0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBhZGQgc3VwcG9ydCBmb3IgdmlkZW8veC1yYXcteXV2IGlucHV0CgoyMDA5LTEwLTA3IDEwOjI1OjQ2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBhZGQgc3JjX2dldGNhcHMgZnVuYwoJICB0aGlzIHdheSB3ZSBjYW4gcmV0dXJuIG9ubHkgdGhlIGNhcHMgd2UgcmVhbGx5IHN1cHBvcnQsIHNpbmNlIHdlJ3JlIGFibGUgdG8gcXVlcnkgdmRwYXUKCSAgYWJvdXQgaXQKCjIwMDktMTAtMDcgMDA6MTM6MDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogYWRkIHN1cHBvcnQgZm9yIG5lZ290YXRpb24gb2YgeC1yYXcteXV2IG91dHB1dAoKMjAwOS0xMC0wNCAxOToyNzo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IGNyZWF0ZSBhIGxpYmdzdHZkcCBsaWJyYXJ5LgoJICBUaGUgbGlicmFyeSBjb250YWlucyBHc3RWZHBEZXZpY2UgR3N0VmRwVmlkZW9CdWZmZXIgYW5kIEdzdFZkcE91dHB1dEJ1ZmZlci4gVGhlCgkgIGxpYnJhcnkgd2lsbCAoYXBhcnQgZnJvbSB0aGUgcGx1Z2lucyBoZXJlKSBiZSB1c2VkIGJ5IHRoZSB1cGNvbWluZyBnc3QtZmZtcGVnCgkgIHZkcGF1IHN1cHBvcnQuCgoyMDA5LTEwLTAzIDE0OjMwOjQxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBjaGVjayBmb3Igc2luayBlbGVtZW50IHJldHVybmluZyB3cm9uZyBidWZmZXIgdHlwZQoKMjAwOS0xMC0wMiAwMTowNDowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgdmRwYXU6IHJlbW92ZSB1bm5lZWRlZCBnc3RfdmRwX3ZpZGVvX2J1ZmZlcl9hZGRfcmVmZXJlbmNlIGZ1bmN0aW9uCgoyMDA5LTA5LTI0IDIyOjI2OjU4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBmaXggbG9uZ25hbWUKCjIwMDktMTEtMjIgMTk6MzA6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSAgQ2xlYW4gdXAgTERGTEFHUywgTElCUywgQ0ZMQUdTCgkgIEZpeCBvcmRlciwgZml4IHZhcmlhYmxlcyB0aGF0IGRvbid0IGV4aXN0LCBsaWtlIEdTVF9MSUJTX0xJQlMsCgkgIHVzZSAkKExJQk0pIGluc3RlYWQgb2YgLWxtLCBhbmQgbW92ZSBfTElCUyBmcm9tIExERkxBR1MgdG8gTElCQURELgoJICBTcG90dGVkIGJ5IEhhdmFyZCBHcmFmZi4KCjIwMDktMTEtMjIgMTk6MDI6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9jb2d1dGlscy5oOgoJICBjb2c6IGluY2x1ZGUgb3VyIG93biBfc3RkaW50LmggaW5zdGVhZCBvZiA8c3RkaW50Lmg+CgoyMDA5LTExLTIwIDExOjEzOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saWJyZmIvZDNkZXMuYzoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkgIGxpYnJmYjogaW5jbHVkZSBvdXIgb3duIF9zdGRpbnQuaCBub3Qgc3RkaW50LmgKCjIwMDktMTEtMjEgMTc6MzE6NTMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5oOgoJICByZXNpbmR2ZDogUmVtb3ZlIGxvY2FsIGJhc2VzcmMgY29weQoJICBVc2UgdGhlIHJlYWwgdmVyc2lvbiBvZiBiYXNlc3JjIGluc3RlYWQgb2YgYSBsb2NhbCBjb3B5IG5vdyB0aGF0IGl0CgkgIHN1cHBvcnRzIHRoZSBzZWFtbGVzcyBzZWdtZW50IGZlYXR1cmUgdGhhdCByZXNpbiBuZWVkcy4KCjIwMDktMTEtMjAgMTM6NDE6MjcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzL2ljbGVzOiBtYWtlIGNvZyB0ZXN0IHByb2dyYW0gZGVwZW5kIG9uIFVTRV9DT0cuIEZpeGVzIGJ1aWxkIHdpdGhvdXQgb3JjLgoKMjAwOS0xMS0yMCAyMDo1NToxNSArMDEwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogY29udmVydCBzb21lIHBhcmFtcyB0byBjb25zdHMgaW4gb3JjIGNvZGUKCjIwMDktMTEtMjAgMTc6MzM6MjEgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSAgZnJlaTByOiBGaXggY29tcGlsYXRpb24gd2FybmluZ3MuCgoyMDA5LTExLTIwIDE3OjMyOjQ0ICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFtcnBhcnNlOiBGaXggY29tcGlsYXRpb24gd2FybmluZ3MKCjIwMDktMTEtMjAgMTc6MzI6MTMgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBjb21waWxhdGlvbiB3YXJuaW5ncwoKMjAwOS0xMS0yMCAxMDozMTo0NyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mOiBVc2UgX3N0ZGludC5oIGZyb20gY29uZmlndXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDI0NjUKCjIwMDktMTEtMjAgMTM6MTM6MzYgKzAxMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGNvZzogQWRkIG9yYyB0ZXN0IGNvZGUgZm9yIGNvZwoJICBBbHNvIGxvb2sgZm9yIGNvZy5vcmMgc291cmNlIGZpbGUgaW4gdGhlIHJpZ2h0IHBsYWNlLgoKMjAwOS0xMS0xOSAyMDozMzowNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZjogVXBkYXRlIGR0bWZkZXRlY3QgdG8gbWFrZSBpdCBNU1ZDIGZyaWVuZGx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDI0NjUKCjIwMDktMTEtMTkgMTg6Mjg6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggbWlzc2luZyBkZWJ1ZyBhcmd1bWVudAoJICBBZGRzIGEgbWlzc2luZyBkZWJ1ZyBhcmd1bWVudAoKMjAwOS0xMS0xOSAyMzowMToyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBzZXQgdGhlIGF1ZGlvLWNoYW5uZWwgcG9zaXRpb25zIGFnYWluLCBidXQgbm93IGluIF9zZXR1cAoJICBSZWFkZCB0aGUgY29kZSB0aGF0IHdhcyByZXZlcnRlZCBmb3IgdGhlIHJlbGVhc2UuIFdlIG5vdyBzZXQgYXVkaW8tY2hhbm5lbAoJICBwb3NpdGlvbnMgaWYgYW55IG9uIHRoZSBwYWQgY2FwcyBhbmQgbm90IG9uIHRoZSB0ZW1wbGF0ZXMuCgoyMDA5LTExLTE5IDIyOjU5OjE3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHJlbW92ZSBjb21tZW50ZWQgb3V0IGNvZGUgdGhhdCB3ZSBkb24ndCBuZWVkIGFueW1vcmUKCjIwMDktMTEtMTcgMDA6Mzk6NTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIHRlc3RzOiBtYWtlIHN0YXRlLWNoYW5nZSB0ZXN0IHRpbWVvdXQgbG9uZ2VyIGlmIHdyYXBwZXJzIGFyZSBlbmFibGVkCgkgIFdoZW4gbGFkc3BhIHx8IGx2MiBhcmUgZW5hYmxlZCBvbmUgY291bGQgcXVpY2tseSBnZXQgdG8gNTAwIGVsZW1lbnRzLgoKMjAwOS0xMS0xNyAwMDozNzoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkgIHJlYWxhdWRpb2RlYzogcmVpbmRlbnQgYW5kIG1ha2UgdmFsZ3JpbmQgaGFwcHkKCSAgVGhlIHN0YXRlLWNoYW5nZSB0ZXN0cyByZXBvcnRlZCBhY2Nlc3MgdG8gdW5pbml0aWFsaXplZCBtZW1vcnkuCgoyMDA5LTExLTE2IDIyOjA3OjMxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IG9ubHkgdXNlIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIGZvciBjaGVja2luZyBwcmUtY29uZGl0aW9ucwoJICBnX3JldHVybl8qIGNhbiBiZSBkaXNhYmxlZC4gU3RpbGwgd2Ugd2FudCB0byBjaGVjayBmb3IgZmFpbGVkIGluc3RhbmNlIGNyZWF0aW9uLgoKMjAwOS0xMS0xNiAyMjowNToxNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBvbmx5IHVzZSBnX3JldHVybl92YWxfaWZfZmFpbCBmb3IgY2hlY2tpbmcgcHJlLWNvbmRpdGlvbnMKCSAgZ19yZXR1cm5fKiBjYW4gYmUgZGlzYWJsZWQuIFN0aWxsIHdlIHdhbnQgdG8gY2hlY2sgZm9yIGZhaWxlZCBpbnN0YW5jZSBjcmVhdGlvbi4KCjIwMDktMTEtMTYgMjE6NTI6MzIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogcmVtb3ZlIGxlZnQtb3ZlciBjb21tZW50CgoyMDA5LTExLTE2IDIxOjUwOjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBzaWduYWxwcm9jZXNzb3I6IGNoYW5nZSBfc2V0dXAgdG8gcGFzcyB3aG9sZSBjYXBzIGFuZCBub3QganVzdCBzYW1wbGluZ19yYXRlCgkgIFRoaXMgYWxsb3dzIHRvIGdldCByaWQgb2YgdGhlIHNhbXBsaW5nX3JhdGUgdmFyaWFibGUgaW4gdGhlIGJhc2UtY2xhc3MuIEFsc28gbm93CgkgIHN1YmNsYXNzZXMgY2FuIG1vZGlmeSB0aGUgY2FwcyB0byBhY3R1YWx5IG5lZ290aWF0ZS4gVGhpcyBpcyBuZWVkZWQgdG8gZS5nLiBzZXQKCSAgYXVkaW8tY2hhbm5lbCBwb3NpdGlvbnMuCgoyMDA5LTExLTE5IDExOjM2OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IG1pc2luZm9ybWluZyBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMDktMTEtMTkgMTE6MTQ6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBlbnN1cmUgd3JpdGFibGUgYnVmZmVyIG1ldGFkYXRhIGJlZm9yZSBzZXR0aW5nIGNhcHMKCjIwMDktMTEtMTkgMTA6MzE6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwNzAyZmUxIHRvIDUzYTI0ODUKCjIwMDktMTEtMTggMjA6MDY6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBpbXByb3ZpbmcgZGVidWcgbWVzc2FnZXMKCSAgSW1wcm92ZXMgZGVidWcgbWVzc2FnZXMgZm9yIGFzZm11eAoKMjAwOS0xMC0yOSAwODozNjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogc3VwcG9ydCBmb3IgU1ZRMwoJICBBZGRzIHN1cHBvcnQgZm9yIG11eGluZyBTVlEzIGNvbnRlbnQuIFVzdWFsbHkgdGhpcyBmb3JtYXQKCSAgaGFzIGRlY29kZXIgaW5mbyB0aGF0IG11c3QgYmUgcGFzc2VkIGluIHRoZSAnc2VxaCcgZmllbGQKCSAgaW4gdGhlIGNhcHMuIEl0IGlzIGFsc28gZ29vZCB0byBhZGQgdGhlIGdhbWEgYXRvbSB0byBtYWtlCgkgIHF1aWNrdGltZSBub3QgY3Jhc2guCgkgIEZpeGVzICM1ODc5MjIKCjIwMDktMTEtMTggMTg6MDA6MzcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvanAyay9nc3RqcDJrLmM6CgkgIGpwMms6IFJhaXNlIHJhbmsgb2YgZW5jb2RlciB0byBNQVJHSU5BTAoKMjAwOS0xMS0xOCAxODowMDoyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkgIGdzbTogUmFpc2UgcmFuayBvZiBlbmNvZGVyIHRvIFBSSU1BUlkKCjIwMDktMTEtMTggMTg6MDA6MDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2IuYzoKCSAgYW1yd2JlbmM6IFJhaXNlIHJhbmsgdG8gU0VDT05EQVJZCgoyMDA5LTExLTE4IDE3OjU5OjIxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJICBkaXJhYzogUmFpc2UgcmFuayBvZiBlbmNvZGVyIHRvIE1BUkdJTkFMCgkgIFdlJ2xsIHByZWZlciB0byB1c2Ugc2Nocm9lZGluZ2VyIGlmIGF2YWlsYWJsZSwgYnV0IGluIGNhc2UgaXQncyBub3QgYXZhaWxhYmxlCgkgIHdlIHN0aWxsIGhhdmUgdGhlIGxpYmRpcmFjIG9wdGlvbgoKMjAwOS0xMS0xOCAxNzo1ODo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSAgeHZpZDogUmFpc2UgcmFuayBvZiBlbmNvZGVyIHRvIFNFQ09OREFSWQoKMjAwOS0xMS0xOCAxNzo1ODozOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9haWZmL2FpZmYuYzoKCSAgYWlmZjogUmFpc2UgcmFuayBvZiBtdXhlciB0byBQUklNQVJZCgoyMDA5LTExLTE4IDE3OjU3OjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L212ZS9nc3RtdmUuYzoKCSAgbXZlOiBSYWlzZSByYW5rIG9mIG11eGVyIHRvIFBSSU1BUlkKCjIwMDktMTEtMTggMTc6NTc6MjUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IFJhaXNlIHJhbmsgdG8gUFJJTUFSWQoKMjAwOS0xMS0xOCAxMzo0MTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBjb3JlIHJlcXVpcmVtZW50cyB0byAwLjEwLjI1LjEgYXMgd2VsbAoJICBNYWtlIGltcGxpY2l0IHJlcXVpcmVtZW50IGV4cGxpY2l0LgoKMjAwOS0xMS0xNyAxNjozMTowOSArMDEwMCAgWWFha292IFNlbGtvd2l0eiA8eXNlbGtvd2l0ekB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJICBzaWduYWxwcm9jZXNzb3I6IFVzZSBjb3JyZWN0IENGTEFHUyBmb3IgdGhlIHNpZ25hbHByb2Nlc3NvciBoZWFkZXJzIGluIExWMi9MQURTUEEKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgdGhlIGhlYWRlcnMgZnJvbSB0aGUgc291cmNlIHRyZWUgYXJlIHRha2VuIGFuZCBub3QKCSAgYWNjaWRlbnRpYWxseSBpbnN0YWxsZWQgc3lzdGVtIGhlYWRlcnMgaW4gdGhlIGNhc2Ugb2YgYnVpbGRkaXIhPXNyY2Rpci4KCSAgRml4ZXMgYnVnICM2MDIxNjEuCgoyMDA5LTExLTE4IDAzOjA5OjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgcmVzaW5kdmQsIGR2ZHNwdTogVXNlIG5ldyBzdGlsbC1mcmFtZSBBUEkgZnJvbSBnc3QtcGx1Z2lucy1iYXNlCgkgIFJlcGxhY2UgdGhlIGN1cnJlbnQgY3VzdG9tIERWRCBzdGlsbC1mcmFtZSBldmVudHMgd2l0aCBuZXcgZXZlbnQKCSAgY3JlYXRpb24vcGFyc2luZyBBUEkgZnJvbSBsaWJnc3R2aWRlby4KCjIwMDktMTEtMTggMDI6MTY6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVtcCBnc3QtcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMjUuMQoKMjAwOS0xMS0xOCAwMjowNDoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmYuYzoKCSAgUmV2ZXJ0ICJhaWZmOiBEaXNhYmxlIGFpZmYgbXV4ZXIgZm9yIHRoaXMgcmVsZWFzZS4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNzQyNmJlNzBmZmIxMTNmMDJlMzc0MDdlYTk4OWU2MGI2MzhiMmYwMC4KCSAgUmUtZW5hYmxlIHRoZSBhaWZmIG11eGVyIG5vdyB0aGF0IGdzdC1wbHVnaW5zLWJhZCAwLjEwLjE3IGlzIG91dAoJICBhbmQgd2UgY2FuIHJlbHkgb24gZ3N0LXBsdWdpbnMtYmFzZSBmcm9tIGdpdC4KCjIwMDktMTEtMTcgMTc6MjU6MTQgLTAzMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQHJlZG1vb24uKG5vbmUpPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSAgYXNmbXV4OiBoYW5kbGUgc3RyZWFtcyB3aXRoIGRpZmZlcmVudCBzdGFydCB0aW1lcwoJICBQcmV2ZW50cyBsb3Npbmcgc3luYyB3aGVuIHJlbXV4aW5nIHN0cmVhbXMgd2l0aCBkaWZmZXJlbnQKCSAgc3RhcnQgdGltZXMuIFRoZSBzbWFsbGVzdCBzdGFydCB0aW1lIGlzIHNlbGVjdGVkIGFzCgkgIHRoZSBiYXNlIHRpbWUgYW5kIGFsbCB0aW1lc3RhbXBzIGFyZSBzdWJ0cmFjdGVkCgkgIGZyb20gaXQgdG8gZ2V0IHRoZSBhY3R1YWwgdGltZSB0byBiZSB1c2VkIHdoZW4KCSAgbXV4aW5nIGFuZCBidWlsZGluZyBpbmRleGVzCgkgIEZpeGVzICM1ODY4NDgKCjIwMDktMTEtMTcgMDk6MjY6MDUgLTAzMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQHJlZG1vb24uKG5vbmUpPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkbyBub3QgbGVhayBhIHN0cmluZwoJICBGcmVlcyBhIHN0cmluZyBhZnRlciB1c2UuIEFsc28gZG9lcyBzb21lIGNvZGUgb3JnYW5pemF0aW9uCgoyMDA5LTExLTE2IDE0OjU3OjUzIC0wMzAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0ByZWRtb29uLihub25lKT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogZG8gbm90IGFkZCBzaXplIHRvIHRoZSBwb2ludGVyIHZhcmlhYmxlCgkgIERvIG5vdCB3cm9uZ2x5IGFkZCB0aGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbiB0byB0aGUKCSAgcG9pbnRlciB0byB0aGUgYnVmZmVyIHNpemUuIEluc3RlYWQsIGNoZWNrIHRoZSByZXN1bHQKCSAgdG8gc2VlIGlmIHRoZSBzZXJpYWxpemF0aW9uIHdhcyBvay4KCSAgQmFzZWQgb24gYSBwYXRjaCBieTogIkNhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPiIKCSAgRml4ZXMgIzYwMjEwNgoKMjAwOS0xMS0wNiAxMDozNDozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGhhbmRsZSAnbGF0ZScgc3RyZWFtcwoJICBXaGVuIG11eGluZyBzdHJlYW1zLCBzb21lIGNhbiBzdGFydCBsYXRlciB0aGFuIG90aGVycy4gcXRtdXgKCSAgbm93IGhhbmRsZSB0aGlzIGJ5IGFkZGluZyBhbiBlbXB0eSBlZHRzIGVudHJ5IHdpdGggdGhlCgkgIGR1cmF0aW9uIG9mIHRoZSAnbGF0ZW5lc3MnIHRvIHRoZSBzdHJlYW0ncyB0cmFrLgoJICBJdCB0b2xlcmF0ZXMgYSBzdHJlYW0gdG8gYmUgdXAgdG8gMC4xcyBsYXRlLgoJICBGaXhlcyAjNTg2ODQ4CgoyMDA5LTExLTA1IDIxOjM1OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgcXRtdXg6IGFkZHMgdGhlIEVEVFMgYW5kIEVMVFMgYXRvbXMgdG8gYXRvbXMuYwoJICBUaGVzZSBhdG9tcyB3aWxsIGJlIHVzZWZ1bCBmb3Igc2lnbmFsaW5nIHN0cmVhbXMKCSAgdGhhdCBzdGFydCBsYXRlciBpbiB0aGUgZmlsZS4gQXMgd2VsbCBmb3IgYWRkaW5nCgkgIGVkaXQgbGlzdHMgaWYgbmVlZGVkIHNvbWV0aW1lIGxhdGVyLgoKMjAwOS0xMS0xNyAxNzo1OTo1NiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IGRlY29kZSBhZHBjbSB3aXRob3V0IGV4cGxpY2l0IGxlbmd0aCwgYXMgZm91bmQgaW4gcXQuCgoyMDA5LTExLTE1IDAzOjIxOjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEZvcndhcmQgdGhlIHN0aWxsIGZyYW1lIGV2ZW50IGRvd25zdHJlYW0KCSAgRm9yd2FyZCBzdGlsbC1mcmFtZSBldmVudHMgZG93bnN0cmVhbSBzbyBlbGVtZW50cyBsaWtlIGRlaW50ZXJsYWNlCgkgIGNhbiB1c2UgdGhlbS4KCjIwMDktMTEtMTQgMDA6MzE6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogR3VhcmQgYWdhaW5zdCBhIGRpdmlkZS1ieS16ZXJvIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAwMjYzCgoyMDA5LTExLTE4IDAxOjQ2OjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjE3LjEKCjIwMDktMTEtMTcgMDE6NTM6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBBZGQgMC4xMC4xNyByZWxlYXNlIHRvIHRoZSBkb2FwIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuMTcgPT09CgoyMDA5LTExLTE3IDAxOjI1OjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTcKCjIwMDktMTEtMTcgMDE6MTM6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTExLTE1IDIxOjQ2OjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBzaWduYWxwcm9jZXNzb3I6IGRvbid0IHNldCBjaGFubmVsIHBvc2l0aW9ucyBpbiB0ZW1wbGF0ZS1jYXBzLCBGaXhlcyAjNjAxNzc1CgkgIFJldmVydCB0aGUgY2hhbmdlcyB0aGF0IGFkZGVkIGF1ZGlvIHBvc2l0aW9ucyB0byB0ZW1wbGF0ZSBjYXBzLiBXZSBoYXZlIGFuIHVuLQoJICBmb3J0dW5hdGUgbGltaXRhdGlvbiBpbiBjb3JlIHRoYXQgZG9lcyBub3QgYWxsb3cgdG8gZG8gaXQuIEtlZXAgYSBmZXcgdGhpbmdzCgkgIGNvbW1lbnRlZCBvdXQsIHNvIHRoYXQgdGhlIGNoYW5uZWwgcG9zaXRpb24gY2FuIGxhdGVyIG9uIGJlIHNldCBpbiBzZXRjYXBzLgoKMjAwOS0xMS0xMyAwMjoxODozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9reS5wbzoKCSogcG8vbHYucG86CgkqIHBvL3N2LnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTYuMyBwcmUtcmVsZWFzZQoKMjAwOS0xMS0xMSAxMDo1ODoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogUG9ydCB0byAwLjcgQVBJCgkgIEZpeGVzIGJ1ZyAjNjAwNzI0LgoKMjAwOS0xMS0xMSAxMDo1NDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogTWFrZSBjZWx0IHZlcnNpb24gY2hlY2tzIGJldHRlciBleHRlbnNpYmxlCgoyMDA5LTExLTA5IDE5OjIwOjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNi4yIHByZS1yZWxlYXNlCgoyMDA5LTExLTA5IDE5OjA4OjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZi5jOgoJICBhaWZmOiBEaXNhYmxlIGFpZmYgbXV4ZXIgZm9yIHRoaXMgcmVsZWFzZS4KCSAgVGhlIGFpZmYgbXV4ZXIgcmVsaWVzIG9uIEdzdEJ5dGVXcml0ZXIgQVBJIGFkZGVkIGFmdGVyIDAuMTAuMjUuIERpc2FibGUKCSAgaXQgZm9yIHRoaXMgcmVsZWFzZS4KCSAgUmV2ZXJ0IHRoaXMgY29tbWl0IGFmdGVyIGdzdC1wbHVnaW5zLWJhZCAwLjEwLjE3CgoyMDA5LTExLTA5IDE0OjEwOjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJICBhc2ZtdXg6IFVuY29tbWVudCAtLWRpc2FibGUtc3RhdGljIGZsYWcKCSAgRm9yIHNvbWUgcmVhc29uIHRoYXQgbGlidG9vbCBmbGFncyBsaW5lIHRoYXQgcHJldmVudHMgYnVpbGRpbmcKCSAgdGhlIHN0YXRpYyBsaWIgd2FzIGNvbW1lbnRlZCBvdXQuIFJlcG9ydGVkIGJ5IE1hcnQgUmF1ZHNlcHAgb24gSVJDLgoKMjAwOS0xMS0wOSAxMTo0OToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBSZW1vdmUgdXNlbGVzcyB2YXJpYWJsZXMgYW5kIGZpeCBhIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZ3MKCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgZGZkNTFhYTgyYTllMWM5OTI0Mzc1MTgzNzk2ZWFiNzBlNTc0YTIzMS4KCjIwMDktMTEtMDkgMTE6NDg6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogTWFrZSBzdXJlIHRoYXQgcnVubmluZ190aW1lLT50aW1lc3RhbXAgY2FsY3VsYXRpb24gbmV2ZXIgYmVjb21lcyBuZWdhdGl2ZQoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCBmMzY1Mzg1NDU4NTg2NGEwOWQzNWUwMzc4NTM0MDczMzJlYTY5MDFmLgoKMjAwOS0xMS0wOSAxMTo0ODowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBVc2UgdGhlIHN0YXJ0IHRpbWUgKGkuZS4gdGltZXN0YW1wKSBhcyB0aGUgbGFzdCBzdG9wCgkgIFVzaW5nIHRoZSBlbmQgdGltZSBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvIHJlcGxhY2UgYnVmZmVycywgd2hpY2ggaXMKCSAgYSBiaWcgcHJvYmxlbSBmb3Igc3VidGl0bGVzIHRoYXQgY291bGQgaGF2ZSB2ZXJ5IGxvbmcgZHVyYXRpb25zLgoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCAyNzAzNGJlNDYxMTIzMWNjNTVmYTNkM2UyNTNiYWE0MGM2YmZmNDFkLgoKMjAwOS0xMS0wOSAxMTo0NzoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBJbXByb3ZlIGRlYnVnZ2luZwoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLgoKMjAwOS0xMS0wNyAxMjoyOToxNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrZW5jOiBGaXgga2xhc3MgKHMvRGVjb2Rlci9FbmNvZGVyLykKCjIwMDktMTEtMDYgMTU6MzE6MjYgKzAxMDAgIENocmlzIEhpbGxzIDxjaGF6QGNoYXo2LmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogQWRkIHN1cHBvcnQgZm9yIERWQi1UL0RWQi1DIHdpdGggRFZCIEFQSSAzLjMKCjIwMDktMTEtMDYgMTE6NDQ6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBUaGUgdGV4dCBhbmQgdmlkZW8gZHVyYXRpb24gc2hvdWxkIG9ubHkgY29tcGFyZWQgYXMgcnVubmluZyB0aW1lIHRvbwoJICBUaGUgZW5kIHRpbWVzIG9mIHRoZSB0ZXh0IGFuZCB2aWRlbyBidWZmZXJzIGNvdWxkIGJlIGRpZmZlcmVudCB0aGFuCgkgIHRoZWlyIHN0YXJ0IHJ1bm5pbmcgdGltZSArIGR1cmF0aW9uIGJlY2F1c2Ugb2YgZGlmZmVyZW50IHJhdGVzLgoKMjAwOS0xMS0wNiAwOToxNjoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkgIGthdGU6IExvd2VyIHRpZ2VyJ3MgcmFuayB0byBOT05FIGFnYWluCgkgIEl0J3Mgbm90IHdlbGwgdGVzdGVkIHlldCBhbmQgZG9lc24ndCBoYW5kbGUgc2VnbWVudHMgYW5kIHRleHQvdmlkZW8KCSAgc3luY2hyb25pemF0aW9uIHByb3Blcmx5IHlldC4gQXV0b3BsdWdnaW5nIGl0IHdpbGwgY2F1c2UgZmFpbHVyZXMuCgoyMDA5LTExLTA2IDA3OjEyOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogUmVzZXQgc2VnbWVudHMgb24gRkxVU0hfU1RPUCBldmVudHMKCjIwMDktMTEtMDUgMTc6NDE6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJbXByb3ZlIGRlYnVnZ2luZwoKMjAwOS0xMS0wNiAwMDo0NjoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRpbmcgc29tZSBpZnMgZm9yIHByb3RlY3Rpb24KCSAgQWRkaW5nIHNvbWVzIGlmcyB0byBwcm90ZWN0IGFnYWluc3Qgd2FybmluZyBjb25kaXRpb25zCgkgIHRoYXQgbWlnaHQgaGFwcGVuIHdoZW4gdXBzdHJlYW0gZWxlbWVudCBpcyBub3Qgc2FuZQoJICBGaXhlcyAjNjAwODk1CgoyMDA5LTExLTA1IDEzOjQwOjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogcHJvcGVybHkgdXBkYXRlIG5ldyBzZWdtZW50cwoJICBTY2FsZXRlbXBvIHdhcyBtaXNzaW5nIGFuIHVwZGF0ZSBvZiAnc3RvcCcgaW4KCSAgbmV3IHNlZ21lbnQgcGFyYW1ldGVycyB3aGVuIHB1c2hpbmcgaXQgZG93bnN0cmVhbSwKCSAgd2hpY2ggY2F1c2VkIGZpbGVzIHRvIGVuZCBlYXJsaWVyIHdoZW4gcmF0ZSA8IDEuCgkgIEZpeGVzICM1OTk5MDMKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEJhc3RpYW4gSGVjaHQgPGhlY2h0YkBnbWFpbC5jb20+CgoyMDA5LTExLTA1IDIzOjE3OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB0aW1pZGl0eTogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMjowMzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICBteXRodHY6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjE6NTg6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjUxOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJICBrYXRlOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjQ3OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjE6NDU6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjE6NDQ6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkaXJlY3RmYjogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMTo0NDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgYWxzYXNwZGlmc2luazogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAxNzoxMzozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFVwZGF0ZSBsYXN0IHN0b3AgZm9yIHRoZSBzdWJ0aXRsZXMKCjIwMDktMTEtMDUgMTc6MDY6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBTeW5jaHJvbml6ZSB0ZXh0IGFuZCB2aWRlbyBieSB0YWtpbmcgdGhlIHJ1bm5pbmcgdGltZSBpbnN0ZWFkIG9mIHRoZSBzdHJlYW0gdGltZQoKMjAwOS0xMS0wNSAxNjo0NDowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IEtlZXAgdHJhY2sgb2YgdGhlIHN1YnRpdGxlIHNlZ21lbnRzCgoyMDA5LTExLTA1IDE2OjQxOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSWYgdGhlIHZpZGVvIHNlZ21lbnQgaXMgbm90IGluIFRJTUUgZm9ybWF0IGRvbid0IGFjY2VwdCBpdAoKMjAwOS0xMS0wNCAyMjo1MjoxOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkdG1mZGV0ZWN0OiBBZGQgZHRtZmRldGVjdHMgdG8gcGx1Z2lucyBkb2NzCgoyMDA5LTExLTA0IDIyOjE5OjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZmRldGVjdDogQWRkIERUTUYgdG9uZSBkZXRlY3RvcgoJICBJdCBsb29rcyBhdCByYXcgYXVkaW8gZGF0YSBhbmQgZW1pdHMgbWVzc2FnZXMgd2hlbiBEVE1GIGlzIGRldGVjdGVkLgoJICBUaGUgZHRtZiBkZXRlY3RvciBpcyB0aGUgc2FtZSBHb2VydHplbCBpbXBsZW1lbnRhdGlvbiB1c2VkIGluIEZyZWVTd2l0Y2gKCSAgYW5kIEFzdGVyaXNrLiBJdCBpcyBpbiB0aGUgcHVibGljIGRvbWFpbi4KCjIwMDktMTEtMDUgMTM6NTM6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBSZXZlcnQgImlucHV0c2VsZWN0b3I6IHVzZSBnZXRfY2Fwc19yZWZmZWQoKSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0OWVjNGY3OTZhMGUzZjg4YTg1MTcwODc4MmM4NTNiYWY0YjA1NzI0LgoJICBXZSBjYW4ndCB1c2UgdGhpcyBuZXcgZnVuY3Rpb24geWV0LgoKMjAwOS0xMS0wNSAxMzoyOTo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IHVzZSBnZXRfY2Fwc19yZWZmZWQoKQoKMjAwOS0xMS0wNSAxMzoxNzoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERyb3AgdG9vIGxhdGUgdGV4dCBidWZmZXIgaW1tZWRpYXRlbHkKCSAgQWxzbyBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCBhbmQgZHJvcCBidWZmZXJzIHdpdGhvdXQgdmFsaWQKCSAgdGltZXN0YW1wIG9yIGR1cmF0aW9uIGJlY2F1c2Ugd2UgY2FuJ3QgaGFuZGxlIHRoZW0uCgoyMDA5LTExLTA1IDEyOjI1OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IHJhY2UgY29uZGl0aW9uIHRoYXQgcmVzdWx0cyBpbiBhIGRlYWRsb2NrIG9uIHNodXRkb3duCgoyMDA5LTExLTA0IDIyOjIxOjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IFJlamVjdCBlbXB0eSBjYXBzCgoyMDA5LTExLTA0IDIyOjIxOjIyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IFVzZSBsb2cgbGV2ZWwgZm9yIHJlcGVhdGVkIGRlYnVnIG1lc3NhZ2VzCgoyMDA5LTExLTA0IDIwOjA1OjE3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IEFsbG93IGZvciBhbnkgc2FtcGxlcmF0ZQoKMjAwOS0xMS0wNCAyMzozMjowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBGaXggcHJldmlvdXMgY29tbWl0OiBlbnN1cmUgd2UgdGFrZSBhIHJlZiBvbiB0aGUgZmVhdHVyZXMKCjIwMDktMTEtMDQgMTU6MjE6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICByZXNpbmR2ZCxhdXRvY29udmVydDogQXZvaWQgZGVwZW5kaW5nIG9uIDAuMTAuMjYgQVBJCgkgIFdhaXQgdW50aWwgYWZ0ZXIgdGhlIG5leHQgcmVsZWFzZSB0byBidW1wIHRoZSBjb3JlIHJlcXVpcmVtZW50LgoJICBVbnRpbCB0aGVuLCBkb24ndCB1c2UgZ3N0X3BsdWdpbl9mZWF0dXJlX2xpc3RfY29weSBhbmQKCSAgZ3N0X3BhZF9wZWVyX2dldF9jYXBzX3JlZmVkLgoKMjAwOS0xMS0wMiAxNzowNjo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogUmVtb3ZlIG9sZCBjb2RlIGFuZCBvYnNvbGV0ZSBjb21tZW50cwoJICBSZW1vdmUgc29tZSBkaXNhYmxlZCBjb2RlIHBhdGhzIGFuZCBvYnNvbGV0ZSBGSVhNRSBjb21tZW50cwoKMjAwOS0xMC0xNCAxNTo0NzoyNyAtMDQwMCAgR2FicmllbCBNaWxsYWlyZSA8Z2FicmllbC5taWxsYWlyZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGRlYyA6IGNoYWluX3BhcnNlX2RhdGEgOiBjaGVjayB2YWxpZGl0eSBvZiB0aW1lc3RhbXAsIGNyZWF0ZSBhIG5ldyBvbmUgaWYgbmVlZGVkIGNlbHRlbmMgOiBkZWZhdWx0IGZyYW1lc2l6ZSBpcyA0ODAgICAgICAgICAgIHNldGNhcHMgOiBnZXRzIGZyYW1lc2l6ZSBhbmQgc2V0IGNhcHMgICAgICAgICAgIGVuY19jaGFpbiA6IHNldHMgZnJhbWVzaXplIGluIGNhcHMgICAgICAgICAgIEFkZGVkIGZyYW1lLXNpemUgdG8gc3RhdGljIGNhcHMgb2YgYXVkaW8veC1jZWx0ICAgICAgICAgICBSZXBsYWNlZCBHU1RfREVCVUdfT0JKRUNUIGJ5IEdTVF9MT0dfT0JKRUNUIGluIGVuY19jaGFpbiAgICAgICAgICAgc2V0Y2FwczogZ2V0IGZyYW1lLXNpemUgZnJvbSBpbnQgaW5zdGVhZCBvZiBzdHJpbmcgICAgICAgICAgIHNldGNhcHM6IHVzZSBkZWZhdWx0IHZhbHVlIGZvciBmcmFtZS1zaXplCgoyMDA5LTExLTA0IDE3OjEzOjM0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWdkZW11eDogRml4IHBvaW50ZXItZGlmZmVyZW5jZXMgcHJpbnRvdXQKCSAgVGhlcmUgaXMgdW5mb3J0dW5hdGVseSBubyBHXypfRk9STUFUIGNvbnZlcnNpb24gc3BlY2lmaWVyIGZvciBkaWZmZXJlbmNlcyBvZgoJICBwb2ludGVycyBpbiBnbGliLCBhbmQgd2UgY2FuJ3QgcmVseSBlaXRoZXIgb24gYWxsIHBsYXRmb3JtcyBiZWluZyA2NGJpdC4KCSAgU28gbGV0J3MganVzdCBjYXN0IHRoZSBkaWZmZXJlbmNlIHRvIGEgZ2ludCBhbmQgYmUgZG9uZSB3aXRoIGl0LgoKMjAwOS0xMS0wNCAxMzo1NTowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBEb24ndCBjcmVhdGUgYmFja3VwIC5wbyBmaWxlcwoJICBBcyB3ZWxsIGFzIHByZXZlbnRpbmcgY3JlYXRpb24gb2YgdXNlbGVzcyBiYWNrdXAgZmlsZXMsIGl0IHdvcmtzCgkgIGFyb3VuZCBhIGJ1ZyBpbiBnZXR0ZXh0IDAuMTcgb24gT1MvWAoKMjAwOS0xMS0wNCAxNTo1Nzo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgY2RhdWRpbzogZml4IHByb3BlcnRpZXMKCSAgRml4IHByb3BlcnRpZXMgYW5kIGFsbG93IHNldHRpbmcgdGhlIGRldmljZSBwcm9wZXJ0eS4KCjIwMDktMTEtMDQgMTM6MTE6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBSZXR1cm4gV1JPTkdfU1RBVEUgZnJvbSB0aGUgc3VidGl0bGUgY2hhaW4gd2hlbiBmbHVzaGluZwoKMjAwOS0xMS0wNCAxMzowNzoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFVubG9jayBhbmQgZnJlZSBhbnkgcGVuZGluZyBzdWJ0aXRsZSBidWZmZXJzIG9uIEZMVVNIX1NUQVJUCgoyMDA5LTExLTA0IDEyOjUwOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogU3luY2hyb25pemUgc3VidGl0bGUgYnVmZmVycyB3aXRoIHRoZSB2aWRlbwoJICBGaXhlcyBidWcgIzYwMDY2Mi4KCjIwMDktMTEtMDQgMDA6MjE6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IGFsc28gYWRkIGlubGluZSB0byB0aGUgcHJvdG8gdG8gZml4IHRoZSBidWlsZAoKMjAwOS0xMS0wNCAwMDoxOToyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBpbmNsdWRlIHF1YWxpdHkgYW5kIGNoZWNrIGNvdW50LCBmaXhlcyAjNjAwNDYxCgkgIFdlIHJlcG9ydCB0aGUgcmVsYXRpdmUgcXVhbGl0eSBpbiB0aGUgbWVzc2FnZSBhbmQgd2UgYWxzbyB1c2UgdGhlIGNhY2hlIHRvIHNraXAKCSAgZWFybHkgZGV0ZWN0cyBhbmQgZG91Ymxlcy4KCjIwMDktMTEtMDMgMTg6MTQ6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBnc3Q6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzIGFuZCByZXN1bHRpbmcgdW51c2VkIHZhcmlhYmxlcwoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCA4Y2QxYjUyMDliNjg5NDRlMWJlNTZjYThiYjY5ZTQ2ZDRhYmI3YTM0LgoKMjAwOS0xMS0wMyAxODoxMjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBVc2UgdGhlIHNhbWUgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbiBhcyBpbiBnc3QtcGx1Z2lucy1iYXNlCgoyMDA5LTExLTAzIDE4OjExOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIFJlbW92ZSBHU1RfREVCVUdfRlVOQ1BUUiB3aGVyZSB0aGV5J3JlIHBvaW50bGVzcwoJICBUaGVyZSdzIG5vdCBtdWNoIHBvaW50IGluIHVzaW5nIEdTVF9ERUJVR19GVU5DUFRSIHdpdGggR09iamVjdAoJICB2aXJ0dWFsIGZ1bmN0aW9ucyBzdWNoIGFzIGdldF9wcm9wZXJ0eSwgc2V0X3Byb3BlcnksIGZpbmFsaXplIGFuZAoJICBkaXNwb3NlLCBzaW5jZSB0aGV5J2xsIG5ldmVyIGJlIHVzZWQgYnkgYW55b25lIGFueXdheS4gU2F2ZXMgYQoJICBmZXcgYnl0ZXMgYW5kIHBvc3NpYmx5IGEgc2l4dGVlbnRoIG9mIGEgcG9sYXIgYmVhci4KCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgNmY0YzFhYzU4MzQxZWUxODkyMjVkMzEzZGRmZTlhZTI0YTY1Yzg4Yy4KCjIwMDktMTEtMDMgMTg6MDk6NTUgKzAxMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgUmVtb3ZlIFJvbmFsZCBCdWx0amUgZnJvbSBBdXRob3JzIGZpZWxkCgkgIFJlcGxhY2VkIHdpdGggIkdTdHJlYW1lciBtYWludGFpbmVycwoJICA8Z3N0cmVhbWVyLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4iIG9yIGp1c3QgcmVtb3ZlZCwKCSAgZGVwZW5kaW5nIG9uIHRoZSBudW1iZXIgb2Ygb3RoZXIgYXV0aG9ycy4KCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgMGU5YmM1MTI1YWNhNTQ2ZDc3M2VkMTAwMmRmNTczZGQ4ZTJkYzEzNi4KCjIwMDktMTEtMDMgMTg6MDg6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBzZXQgb3V0cHV0IGNhcHMgYmVmb3JlIHB1c2hpbmcKCSAgU2V0IHRoZSBvdXRwdXQgY2FwcyBvbiB0aGUgc3JjcGFkIGJlZm9yZSBwdXNoaW5nIHRoZSBidWZmZXIgYmVjYXVzZSBlbHNlIGNvcmUKCSAgd2lsbCBkbyBhIHJhdGhlciBleHBlbnNpdmUgY2hlY2sgdG8gc2VlIGlmIHdlIGNhbiBhY3R1YWxseSBhY2NlcHQgdGhvc2UgY2FwcyBvbgoJICB0aGUgc3JjcGFkLgoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCBiZGZiNGI0NmQ3NDZlZjI5OGZjZjQ0MjYwODc5YzM0MmFmNGNhZmEzLgoKMjAwOS0xMS0wMyAxODowNjoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IGluc3RhbGwgYW4gYWNjZXB0Y2FwcyBmdW5jdGlvbgoJICBJbnN0YWxsIGEgY3VzdG9tIGFjY2VwdGNhcHMgZnVuY3Rpb24gaW5zdGVhZCBvZiB1c2luZyB0aGUgZGVmYXVsdCBleHBlbnNpdmUKCSAgY2hlY2suIFdlIGFjY2VwdCB3aGF0ZXZlciBkb3duc3RyZWFtIGFjY2VwdHMgc28gd2UgcGFzcyBhbG9uZyB0aGUgYWNjZXB0Y2FwcwoJICBjYWxsIHRvIHRoZSBkb3duc3RyZWFtIHBlZXIuCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIDViNzJmMmFkZjk5NjczOTAzNmU4ZDliNWY5MTAwNTQ1NWQxZmZhY2UuCgoyMDA5LTExLTAzIDE1OjA4OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICB0aWdlcjogTWFrZSBzdXJlIHRoYXQgdGlnZXIgaXMgbm90IGF1dG9wbHVnZ2VkIGJ5IGRlY29kZWJpbjIKCSAgSXQncyBub3QgcmVhbGx5IGEgZGVjb2Rlci4uLgoKMjAwOS0xMS0wMyAxNDo1MDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkgIGthdGU6IENoYW5nZSByYW5rcyBvZiBrYXRlZGVjIGFuZCB0aWdlciB0byBQUklNQVJZIHRvIGJlIGF1dG9wbHVnZ2VkCgoyMDA5LTExLTAzIDE0OjQ5OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICB0aWdlcjogQ2hhbmdlIG5hbWUgb2YgdGhlIHN1YnRpdGxlIHNpbmsgdGVtcGxhdGUgYW5kIGNsYXNzaWZpY2F0aW9uCgkgIFRoaXMgd2lsbCBtYWtlIHN1cmUgdGhhdCBzdWJ0aXRsZW92ZXJsYXkgY2FuIHdvcmsgd2l0aCB0aWdlci4KCjIwMDktMTEtMDIgMTE6MzM6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICByZXNpbmR2ZDogVGFrZSBhIGNvcHkgb2YgdGhlIHBhc3NlZCBwbHVnaW4gZmVhdHVyZXMKCSAgQ2xhcmlmeSB0aGUgb3duZXJzaGlwIG9mIHRoZSBpbnRlcm5hbCBwbHVnaW4gZmVhdHVyZSBsaXN0IGJ5IG1ha2luZwoJICBhIGNvcHkgb2YgYW55IHBhc3NlZCBsaXN0LiBBdm9pZHMgY3Jhc2hlcyB3aGVuIGZyZWVpbmcgYSBwYXNzZWQgbGlzdCwKCSAgb3IgbGVha3MgY2F1c2VkIGJ5IG5vdCBmcmVlaW5nIGFueSBpbnRlcm5hbGx5IGJ1aWx0IGxpc3QuCgoyMDA5LTExLTAyIDEwOjIwOjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJICByZXNpbmR2ZDogRml4IGFuIG92ZXJzaWdodCBmcm9tIHVwZGF0aW5nIHRoZSBjb3B5IG9mIGJhc2VzcmMKCSAgUGx1Z2lucyBuZWVkIGdzdC1pMThuLXBsdWdpbi5oLCBub3QgZ3N0LWkxOG4tbGliLmgKCjIwMDktMTEtMDEgMTU6NTY6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHBpdGNoOiByZW1vdmUgcG9pbnRsZXNzIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcygpCgoyMDA5LTExLTAxIDIzOjE3OjAyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFVzZSBnc3RfYmFzZV9zcmNfbmV3X3NlYW1sZXNzX3NlZ21lbnQoKQoJICBXaGVuIHN3aXRjaGluZyB0byBhIG5ldyBzZWFtbGVzcyBzZWdtZW50LCB1c2UgdGhlIG5ldwoJICBnc3RfYmFzZV9zcmNfbmV3X3NlYW1sZXNzX3NlZ21lbnQoKSBmdW5jdGlvbiwgYmVjYXVzZSBlbGVtZW50cyBjYW4ndAoJICBzZW5kIHRoZW1zZWx2ZXMgc2VlayBldmVudHMgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMDktMTEtMDEgMjM6MTY6MTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmg6CgkgIHJlc2luZHZkOiBBZGQgZ3N0X2Jhc2Vfc3JjX25ld19zZWFtbGVzc19zZWdtZW50KCkgdG8gR3N0QmFzZVNyYyBjb3B5CgkgIEFkZCBhIG5ldyBmdW5jdGlvbiB0byB0aGUgaW50ZXJuYWwgY29weSBvZiBHc3RCYXNlU3JjIGZvciBzdGFydGluZyBhIG5ldwoJICBzZWFtbGVzcyBzZWdtZW50LgoKMjAwOS0xMS0wMSAxOToyMTozOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25wdXNoc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wdXNoc3JjLmg6CgkgIHJlc2luZHZkOiBVcGRhdGUgdGhlIGJhc2Ugc291cmNlIGNvcHkKCSAgVGhpcyBicmVha3Mgc2VhbWxlc3Mgc2VnbWVudCB1cGRhdGVzLCBjYXVzaW5nIGRlYWRsb2NrcywKCSAgdG8gYmUgZml4ZWQgaW4gc3Vic2VxdWVudCBjb21taXRzLgoKMjAwOS0xMS0wMiAwMjo0ODoxOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogRml4IFBHUyB3aW5kb3cgcGFyc2luZwoJICBGaXggYSBwcm9ibGVtIGludHJvZHVjZWQgaW4gdGhlIGxhc3QgUEdTIHBhcnNpbmcgcGF0Y2ggYnkgc2tpcHBpbmcKCSAgdGhlIHdpbmRvdyBjb3VudCBieXRlIGFmdGVyIHJlYWRpbmcgaXQuCgoyMDA5LTExLTAxIDIwOjQyOjQ0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmY6IGZpeCBhaWZmcGFyc2UgZGVidWcgY2F0ZWdvcnkgdmFyaWFibGUgbmFtZQoJICBGaXhlcyBtaXNzaW5nIHN5bWJvbCB3aGVuIGNvbXBpbGluZyB3aXRoIGRlYnVnZ2luZywgc2luY2UgdGhpcyBpcyBub3cgaW4gc3luYwoJICB3aXRoIHRoZSBwbHVnaW5faW5pdCBpbiBhaWZmLmMuCgoyMDA5LTExLTAxIDIwOjQxOjAzICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FpZmYvYWlmZi5jOgoJICBhaWZmOiBpbml0IHBsdWdpbiBkZWJ1ZyBjYXRlZ29yeQoJICBGaXhlcyBhc3NlcnRpb24gKG9yIHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nIHdpdGggRElTQUJMRV9OTFMpLgoKMjAwOS0xMC0zMSAxOTo0Mjo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZ3N0L2FpZmYvYWlmZm11eC5oOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZjogYWRkIGFpZmYgZWxlbWVudHMgdG8gZG9jcwoKMjAwOS0xMC0zMSAxOTozNzowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmOiBncmF0dWl0aW91cyBjbGVhbi11cHM6IGNhbm9uaWNhbGlzZSBmdW5jdGlvbiBuYW1lcywgc3RydWN0cyBhbmQgZGVmaW5lcwoKMjAwOS0xMC0zMSAxNzo1MDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZi5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZjogZW5hYmxlIG5ldyBhaWZmIG11eGVyCgkgIEZpeGVzICM1OTg3NjMgZXZlbiBtb3JlLgoKMjAwOS0xMC0xNyAyMjo1ODowMyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZ21haWwuY29tPgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmbXV4Lmg6CgkgIGFpZmY6IGFkZCBiYXNpYyBBSUZGIG11eGVyCgkgIEZpeGVzICM1OTg3NjMuCgoyMDA5LTEwLTMxIDE3OjI1OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmY6IHJlbW92ZSB1bnVzZWQgaW5jbHVkZXMgYW5kIGZpeCBmbGFncyBvcmRlciBpbiBNYWtlZmlsZS5hbQoJICBBbHNvIHJlbW92ZSBHU1RfUExVR0lOU19CQVNFX0xJQlMgZnJvbSBMSUJBREQgc2luY2Ugd2UgZG9uJ3QKCSAgbmVlZCB0byBsaW5rIGFnYWluc3QgYW55IG9mIHRoZSAtYmFzZSBsaWJzICh3ZSBqdXN0IHVzZSBhIGRlZmluZQoJICBmcm9tIHRoZSBnc3RhdWRpbyBoZWFkZXJzKS4KCjIwMDktMTAtMzEgMTc6MjA6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuaDoKCSogcG8vUE9URklMRVMuaW46CgkgIGFpZmY6IHJlbmFtZSAnYWlmZnBhcnNlJyBwbHVnaW4gdG8gJ2FpZmYnCgoyMDA5LTEwLTA4IDE5OjA2OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciBydHBkdG1mbXV4IGxvY2tpbmcKCjIwMDktMDktMjggMTk6NTQ6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IEFkZCB1bml0IHRlc3QgZm9yIHJ0cG11eAoKMjAwOS0wOS0yOCAxMzozNjo0NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBpZ25vcmUgcmVxdWVzdGVkIHBhZCBuYW1lCgoyMDA5LTEwLTI5IDE2OjQyOjM0IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogVXNlIEdTVF9QTFVHSU5TX0JBU0Vfe0NGTEFHUyxMSUJTfSBmb3IgY2FtZXJhYmluIHRlc3RzLgoKMjAwOS0xMC0yOSAxNjozNDoyMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3BsdWdpbi5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9wbHVnaW4ubToKCSAgb3N4dmlkZW9zcmM6IGNoYW5nZSBhIC5tIGZpbGUgY29udGFpbmluZyBvbmx5IEMgY29kZSB0byBhIC5jIGZpbGUuIE1ha2VzIGJ1aWxkaW5nIHRoaXMgZWFzaWVyLgoKMjAwOS0xMC0yNyAyMjowODo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRG9uJ3Qgc2VuZCBuZXctc2VnbWVudCB3aXRoIHN0YXJ0IHRpbWUgPT0gLTEKCSAgV2hlbiBzZW5kaW5nIG5ldy1zZWdtZW50IHRvIGEgc3RyZWFtLCBlbnN1cmUgdGhhdCB0aGVyZSBpcyBlaXRoZXIgYSB2YWxpZAoJICBQQ1IsIG9yIGVsc2Ugd2FpdCB1bnRpbCB0aGVyZSdzIGEgUFRTIG9uIHRoZSBzdHJlYW0gKGRyb3BwaW5nIHBhY2tldHMgaWYKCSAgbmVlZGVkKSBpbiBvcmRlciB0byBhdm9pZCBnZW5lcmF0aW5nIGFuIGludmxhaWQgbmV3LXNlZ21lbnRzIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk1MTYxCgoyMDA5LTEwLTI4IDE2OjIyOjEzICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdXNlIHJhdyBhdWRpby92aWRlbyBpbiB1bml0IHRlc3RzCgkgIFJlbW92ZXMgZGVwZW5kZW5jeSB0byBvZ2cvdm9yYmlzL3RoZW9yYSB3aGVuIHJ1bm5pbmcgY2FtZXJhYmluCgkgIHVuaXQgdGVzdHMuCgoyMDA5LTEwLTI4IDE3OjM3OjQ0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGNsZWFudXAgcHVzaCBidWZmZXIgY2FsbGJhY2sKCjIwMDktMTAtMjcgMTQ6MzE6MzkgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBnbGliIGRvZXNuJ3QgcmVsaWFibHkgbnVsbC10ZXJtaW5hdGUgd2lkZS1jaGFyYWN0ZXIgZW5jb2RpbmdzIGluIGdfY29udmVydCwgc28gd3JpdGUgdGhlIG51bGwtdGVybWluYXRvciBzZXBhcmF0ZWx5IGFuZCBleHBsaWNpdGx5LgoKMjAwOS0xMC0xOCAxNDoyMDowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBmaXggcGFkIGRpcmVjdGlvbiBmb3IgdW5ncm91cGVkIHBvcnRzCgkgIENsYXNzaWMgY29weSduJ3Bhc3RlIGJ1Zy4KCjIwMDktMTAtMjcgMTY6Mzc6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBmaXggdGFnIHdyaXRpbmcgYnVnCgkgIGdfY29udmVydCBzZWVtcyB0byBhZGQgYSBzaW5nbGUgbnVsbCB0ZXJtaW5hdGluZyBieXRlIHRvCgkgIHRoZSBlbmQgb2YgdGhlIHN0cmluZywgZXZlbiB3aGVuIHRoZSBvdXRwdXQgaXMgVVRGMTYsIHdlCgkgIGZvcmNlIHRoZSBzZWNvbmQgMCBieXRlIHdoZW4gY29weWluZyB0byB0aGUgb3V0cHV0IGJ1ZmZlci4KCSAgVGhpcyBpc3N1ZSB3YXMgY2F1c2luZyByYW5kb20gY3Jhc2hlcyBiZWNhdXNlIGl0IHdhcwoJICBhc3N1bWVkIHRoYXQgdGhlIHN0cmluZyByZXN1bHRpbmcgZnJvbSBnX2NvbnZlcnQgaGFkCgkgIDIgZXh0cmEgYnl0ZXMsIGJ1dCBpdCBoYXMgb25seSBvbmUuCgoyMDA5LTEwLTI3IDExOjUxOjA1IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgUmVtb3ZlIGV4ZWN1dGFibGUgYml0cyBmcm9tIG5vbi1leGVjdXRhYmxlIGZpbGVzLgoKMjAwOS0xMC0yNyAwMDoyMjo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5oOgoJICByZXNpbmR2ZDogUmVtb3ZlIGV4dHJhIG5ldy1zZWdtZW50IGluIHJzbnN0cmVhbXNlbGVjdG9yLiBTZW5kIGRpc2NvbnQuCgkgIEFsbCB0aGUgaW5wdXQgcGFkcyBmb3IgdGhlIHJlc2luIHN0cmVhbSBzZWxlY3RvcnMgaGF2ZSB0aGUgc2FtZSBzb3VyY2UsCgkgIGFuZCByZWNlaXZlL3NlbmQgdGhlIHNhbWUgc2VnbWVudCBpbmZvLCBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gc2VuZCBhCgkgIHNlZ21lbnQgd2hlbiBzd2l0Y2hpbmcgYW5kIGFjdGl2YXRpbmcgYSBkaWZmZXJlbnQgcGFkLiBSZW1vdmluZyBpdCBtYWtlcwoJICBvbi10aGUtZmx5IGF1ZGlvIHRyYWNrIHN3aXRjaGluZyB3b3JrIHByb3Blcmx5LgoJICBBZnRlciBzd2l0Y2hpbmcgYXVkaW8gdHJhY2ssIG1hcmsgdGhlIG5leHQgYnVmZmVyIGRpc2NvbnQuCgoyMDA5LTEwLTI2IDIwOjU1OjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEF2b2lkIGEgZGVhZGxvY2suIEltcHJvdmUgY2hhcHRlciBzZWVrLgoJICBBdm9pZCBhIHBvdGVudGlhbCBkZWFkbG9jayB0aGF0IGhhcHBlbnMgd2hlbiBhIGNhbGwgdG8KCSAgZ3N0X2Nsb2NrX2lkX3dhaXRfYXN5bmMoKSBpbW1lZGlhdGVseSBjYWxscyB0aGUgY2FsbGJhY2suCgkgIEltcHJvdmUgcHJldmlvdXMgY2hhcHRlciBzZWVraW5nIHNsaWdodGx5IGJ5IGF2b2lkaW5nICdzZWdtZW50CgkgIHN0YXJ0ICE9IC0xJyBhc3NlcnRpb25zIHdoZW4gdGhlcmUgaXMgbm8gcHJldmlvdXMgY2hhcHRlciBhbmQKCSAgdGhlIHNlZWsgdGhlcmVmb3JlIGZhaWxzLgoKMjAwOS0xMC0yNiAxMjoxOTozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkgIHJlc2luZHZkOiBsb3dlciBhIGRlYnVnIG1lc3NhZ2UgdG8gbG9nIGxldmVsLgoKMjAwOS0xMC0yNiAxMTowMDozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBZGQgYSBrZXlwcmVzcyBtYXBwaW5nIGZvciBzd2l0Y2hpbmcgYXVkaW8gdHJhY2sKCSAgRm9yIGRlYnVnZ2luZyBwdXJwb3NlcywgbWFrZSBrZXlzIDEtOCBzd2l0Y2ggYXVkaW8gdHJhY2suCgoyMDA5LTEwLTI0IDEyOjU0OjE5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEFkZCBhIHNpbXBsZSB1bml0IHRlc3QKCSAgU2V0IHVwIGFuIGF1dG9jb252ZXJ0IHdpdGggMiBmYWN0b3JpZXMsIGFuZCBjaGVjayB0aGF0IGl0IGNhbiBzd2l0Y2gKCSAgYmV0d2VlbiB0aGVtIHdoZW4gdGhlIGNhcHMgY2hhbmdlLgoKMjAwOS0xMC0yNCAxNDoyOTozMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJICByZXNpbmR2ZDogU2V0IHRoZSBuZXcgaW5pdGlhbC1pZGVudGl0eSBwcm9wZXJ0eSBvbiBhdXRvY29udmVydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk5NDY5CgoyMDA5LTEwLTI0IDEyOjM4OjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBTdXBwb3J0IGluc3RhbGxpbmcgaWRlbnRpdHkgYXMgdGhlIGluaXRpYWwgY2hpbGQKCSAgQWRkIHRoZSAnaW5pdGlhbC1pZGVudGl0eScgcHJvcGVydHksIHdoaWNoIGluc2VydHMgaWRlbnRpdHkgZm9yCgkgIGF0IHN0YXJ0dXAgZm9yIGV2ZW50IHBhc3NpbmcsIGFuZCByZXBsYWNlcyBpdCB3aXRoIGEgbmV3IGNoaWxkCgkgIHdoZW4gdGhlIGZpcnN0IGJ1ZmZlciAoYW5kIGNhcHMpIGFjdHVhbGx5IGFycml2ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTk0NjkKCjIwMDktMTAtMjQgMTE6MTg6NTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IENhY2hlIGluY29taW5nIG5ldyBzZWdtZW50IGV2ZW50cyBhbmQgcHVzaCB0byBjaGlsZHJlbi4KCSAgQ2FjaGUgaW5jb21pbmcgbmV3LXNlZ21lbnQgaW5mby4KCSAgV2hlbiBpbnN0YWxsaW5nIGEgY2hpbGQgZWxlbWVudCwgaW5mb3JtIGl0IG9mIHRoZSBjdXJyZW50IHNlZ21lbnQgaW5mby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5OTQ2OQoKMjAwOS0xMC0yNiAwMDo0MTo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBBZGQgc29tZSBkZWJ1ZyBpbiBmYWN0b3J5IGNhcHMgaW50ZXJzZWN0aW9uCgoyMDA5LTEwLTI0IDExOjA1OjQ3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFNpbXBsZSBmaXhlcy4KCSAgRnJlZSB0aGUgcGx1Z2luIGZlYXR1cmUgbGlzdCBvbiBkaXNwb3NlLgoJICBPdXRwdXQgYSBkZWJ1ZyBtZXNzYWdlIHdoZW4gZG93bnN0cmVhbSByZXR1cm5zIGEgZmF0YWwgZmxvdyByZXN1bHQKCSAgRml4IGF3a3dhcmQgd29yZGluZyBpbiBhIGRlYnVnIHdhcm5pbmcuCgoyMDA5LTEwLTI0IDEwOjI3OjAzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEdyYXR1aXRvdXNseSBtb3ZlIEdTVF9PQkpFQ1RfTE9DSyBpbnRvIGEgbWFjcm8KCSAgQ3JlYXRlIEdTVF9BVVRPQ09OVkVSVF9MT0NLL1VOTE9DSyBtYWNyb3MgdGhhdCAoZm9yIG5vdykganVzdCBjYWxsCgkgIEdTVF9PQkpFQ1RfTE9DSy4KCjIwMDktMTAtMTUgMTM6MzI6MzIgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iQGZsdWZmeS4obm9uZSk+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IFVzZSBkZWZpbml0aW9ucyBmb3IgZGVmYXVsdCB2YWx1ZXMKCSAgTWFrZXMgY2hhbmdpbmcgdGhlIGRlZmF1bHRzIGVhc2llciBhbmQgbW9yZSBmb29sLXByb29mIGluIHRoZSBmdXR1cmUuCgkgIEZpeGVzICM1OTg1NTIKCjIwMDktMTAtMTUgMTM6MTc6NDYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iQGZsdWZmeS4obm9uZSk+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IENoYW5nZSBkZWZhdWx0IEFBQyBQcm9maWxlIHRvIExvdyBDb21wbGV4aXR5IChMQykgYXMgdGhpcyBpcyBtb3JlIHdpZGVseSBzdXBwb3J0ZWQKCjIwMDktMTAtMTUgMTM6MTU6NDAgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iQGZsdWZmeS4obm9uZSk+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IENoYW5nZSB0aGUgcGFyYW1fc3BlYyBkZWZhdWx0IHZhbHVlIGZvciBhbGxvd2VkIGJsb2NrIHR5cGVzIHRvIG1hdGNoIHRoZSBnc3RfZmFhY19pbml0IHZhbHVlIG9mICdub3JtYWwnIGFzIHRoaXMgaXMgYmV0dGVyCgoyMDA5LTEwLTIwIDEwOjU3OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogY2hlY2sgd2lkdGgvaGVpZ2h0IHJhbmdlCgkgIENoZWNrcyBpZiB0aGUgd2lkdGgvaGVpZ2h0IHRoYXQgYXJlIHRvIGJlIHNldCBvbiBzcmMgcGFkIGNhcHMKCSAgYXJlIHdpdGhpbiB2YWxpZCByYW5nZSBvZiBbMTYsNDA5Nl0KCjIwMDktMTAtMTYgMTA6NDc6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSAgZ3BwbXV4OiBBZGQgc3VwcG9ydCBmb3IgM2dyNgoJICBLZWVwIHRyYWNrIG9mIHRoZSBjaHVuayBkdXJhdGlvbnMgdG8gYmUgYWJsZSB0byBhZGQgM2dyNgoJICBicmFuZCBpZiBpdCBpcyBhIGZhc3RzdGFydCBmaWxlIGFuZCB0aGUgbG9uZ2VzdCBjaHVuayBpcwoJICBzbWFsbGVyIHRoYW4gYSBzZWMuIEltcGxlbWVudGVkIGFjY29yZGluZyB0byAzZ3BwCgkgIFRTIDI2LjI0NCB2Ni40LjAgKDIwMDUtMDkpCgkgIEZpeGVzICM1ODQzNjEKCjIwMDktMTAtMTUgMjE6MTE6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBPbmx5IHB1c2ggZnR5cCBsYXRlciAoaW4gZmFzdHN0YXJ0IG1vZGUpCgkgIEluIGZhc3RzdGFydCBtb2RlLCB0aGVyZSBpcyBubyBuZWVkIHRvIHNlbmQgdGhlIGZ0eXAKCSAgcmlnaHQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgc3RyZWFtLiBXYWl0aW5nIGFuZCBzZW5kaW5nIGl0CgkgIG9ubHkgbGF0ZXIgKHdoZW4gdGhlIG1vb3YgYXRvbSBpcyByZWFkeSB0byBiZSBzZW50KSBwcm92aWRlcwoJICB1cyB3aXRoIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHN0cmVhbSBhbmQgd2UgY2FuIGJldHRlcgoJICBzZWxlY3QgdGhlIGNvbXBhdGlibGUgYnJhbmRzLgoKMjAwOS0xMC0xNSAxNzo1MTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEltcHJvdmUgZXJyb3IgbWVzc2FnZQoJICBJbXByb3ZlIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBjYW4ndCBnZXQgb3IgZXN0aW1hdGUgdGhlCgkgIHRpbWVzdGFtcC9kdXJhdGlvbiBvZiBhIGJ1ZmZlcgoKMjAwOS0xMC0yNiAwMDo0MjoxNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogQ29tbWl0IGJ1bXBlZCB2ZXJzaW9uIG51bWJlcgoKMjAwOS0xMC0yNCAxNjozMToyNiAtMDQwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJICBjYW1lcmFiaW46IGZpeCBidWlsZAoKMjAwOS0xMC0xOSAxNTo1NDoyOSArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBmb3IgZ3N0cmVhbWVyIGNvcmUgdW5pdCB0ZXN0IGZyYW1ld29yayB1cGRhdGUKCSAgU2V0IGNhbWVyYWJpbiBzdGF0ZSB0byBOVUxMIGluIHRoZSBlYWNoIHRlc3QgY2FzZSBlbmQuCgoyMDA5LTEwLTE5IDE0OjU0OjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIGFiYnJldmlhdGlvbnMgZnJvbSB0aGUgcHJvcGVydHkgbmFtZXMuIEZpeGVzICM1NzMzNzAgKHBhcnRpYWx5KQoJICBBbHNvIHJlbmFtZSB0aGVpciB1c2UgaW4gdGVzdHMgYW5kIGV4YW1wbGVzLgoKMjAwOS0xMC0xNiAxMTo1MDoyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IHVzZSBnc3QtZ2xpYi1nZW4ubWFrIHRvIGZpeCB0aGUgZ2xpYiBidWlsZCBydWxlcy4KCSAgVGhlIGJ1aWxkIHJ1bGVzIGluIGdsaWItZ2VuLm1hayB3ZXJlIHVzaW5nIHBhdHRlcm4gcnVsZXMgaW4gYSBub24gc2F2ZSB3YXkuCgoyMDA5LTEwLTE2IDExOjIxOjA1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY29nLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IGlnbm9yZSBtb3JlCgoyMDA5LTEwLTE1IDE3OjQ1OjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogc2V0IGNhbWVyYWJpbiB0byBSRUFEWSBiZWZvcmUgYWNjZXNzaW5nIHRoZSBlbGVtZW50cwoKMjAwOS0xMC0xNCAxNzo0Mjo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiB1c2UgR19ESVJfU0VQQVJBVE9SX1MgaW5zdGVhZCBvZiBoYXJkY29kZWQgc2xhc2hlcwoKMjAwOS0xMC0xNSAxNzoxNzo0MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjb2RlIGNsZWFudXBzCgkgIEFsaWduIGVsZW1lbnQgaW5pdGlhbGlzYXRpb24uIFRoaXMgc2hvdWxkIGJlIHJlLXRob3VnaHQsIGdfb2JqZWN0X25ldyB6ZXJvcyB0aGluZ3MgYWxyZWFkeS4KCSAgSGFybW9uaXplIHRoZSBlbGVtZW50IGdldHRlcnMgZm9yIHRoZSBzcmMvc2lua3MgdG8gcmV0dXJuIHdoYXQgd2UgYWN0dWFseSB1c2UuCgoyMDA5LTEwLTE1IDE2OjQxOjEyICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogaW1wbGVtZW50IHZpZGVvIHByZXZpZXcgY3JlYXRpb24KCSAgQ29tcGxldGVzIHByZXZpZXcgY3JlYXRpb24gbWVjaGFuaXNtIHRvIGJlIGFibGUgdG8gcHJvdmlkZSBhIHByZXZpZXcKCSAgaW1hZ2UgZm9yIHZpZGVvIGNsaXBzIHRvby4KCjIwMDktMTAtMTUgMTY6MTU6MDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc2V0IGNhbWVyYWJpbiBkZWZhdWx0IHNvdXJjZXMvc2lua3MgbGlrZSBpbiBwbGF5YmluMi4gRml4ZXMgIzU3NDQzNAoJICBUaGlzIHVzZXMgc2FtZSBhcHByb2FjaCBsaWtlIGluIHBsYXliaW4sIG5hbWVseSBjaGVja2luZyBmb3IgdXNlciBkZWZpbmVkCgkgIGVsZW1lbnQsIGF1dG97YXVkaW8sdmlkZW99e3Npbmssc3JjfSBhbmQgZmluYWxseSBERUZBVUxUX3tBVURJTyxWSURFT317U1JDLFNJTkt9CgkgIGRlZmluZXMgZnJvbSBjb25maWcuaC4KCjIwMDktMTAtMTUgMTU6NTk6MjMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogZG9uJ3QgcmVmZXJlbmNlIGZyZWVkIHBvaW50ZXIgd2hlbiBidWlsZGluZyBwb3J0bmFtZXMKCjIwMDktMTAtMDggMTU6MTg6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogQWRkIGNvbG9yIG1hdHJpeCB0byBSR0ItPllDYkNyIGNvbnZlcnNpb24KCjIwMDktMTAtMDggMTQ6MzM6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2dmcmFtZS5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogQWRkIGNvbG9yIG1hdHJpeCBzZWxlY3Rpb24gdG8gY29nY29sb3JzcGFjZQoJICBFdmVudHVhbGx5IGhvb2sgaXQgdXAgdG8gY2FwcyB2aWEgZ3N0dmlkZW8KCjIwMDktMTAtMDggMTM6MjQ6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nOiBJbXByb3ZlIFJHQjwtPllDYkNyIG1hdHJpeGluZwoJICBZQ2JDci0+UkdCIG5vdyBoYXMgYSAnYml0cycgc2V0dGluZywgd2hpY2ggY29udHJvbHMgdGhlIG51bWJlcgoJICBvZiBiaXRzIHVzZWQgZm9yIHRoZSBtYXRyaXggY29lZmZpY2llbnRzLiAgQ2hvaWNlcyBhcmUgNiBvciA4LgoJICA2IGlzIGxvdyBxdWFsaXR5LCBidXQgZmFzdGVyLgoJICBSR0ItPllDYkNyIG5vdyB3b3Jrcy4gIEFsd2F5cyB3b3JrcyBpbiA4IGJpdCwgc2luY2UgaXQncyB0aGUgc2FtZQoJICBzcGVlZCBhcyA2IGJpdC4KCjIwMDktMTAtMDggMTM6MjM6NTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IEZpeCBBWVVWIHVucGFja2luZwoKMjAwOS0xMC0wNyAxNjozMDoyNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogaGFja2luZyB0byBpbXByb3ZlIG1hdHJpeCBxdWFsaXR5CgoyMDA5LTEwLTI0IDIwOjMzOjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFuZCBiYWNrIHRvIGRldmVsb3BtZW50IHdlIGdvCgo9PT0gcmVsZWFzZSAwLjEwLjE2ID09PQoKMjAwOS0xMC0yMyAyMzoxNjo0NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE2CgoyMDA5LTEwLTIzIDIzOjE1OjMxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0xMC0yMyAxMTowMDo1MyArMDMwMCAgS2FqLU1pY2hhZWwgTGFuZyA8bWlsYW5nQHRhbC5vcmc+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIEZpeCBzdGFydC9zdG9wIHR5cG8KCjIwMDktMTAtMjMgMTA6NDg6MjUgKzAxMDAgIFRob21hcyBHcmVlbiA8dG9tNzg5OTlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFsc28gYnVpbGQgbmVvbmh0dHBzcmMgd2l0aCBsaWJuZW9uLTI5LngKCSAgRml4ZXMgIzU5OTMzMi4KCjIwMDktMTAtMjMgMTA6MTg6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBVc2UgZ3VpbnQ2NCBpbnN0ZWFkIG9mIHVpbnQ2NF90LiBGaXhlcyAjNTk5MzU1CgoyMDA5LTEwLTIyIDE0OjAwOjEwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgUmV2ZXJ0ICJkc2hvd3NyY3dyYXBwZXI6IGNsZWFudXAgcHVzaCBidWZmZXIgY2FsbGJhY2siCgkgIGdzdC1wbHVnaW5zLWJhZCBpcyBzdGlsbCBmcm96ZW4gZm9yIGdlbmVyYWwgY29tbWl0cy4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyZTQxMzE5MjZmMjcyNmZlOGZlZTVjMzlkZDkzNTdmMTQ3NjRkMGNiLgoKMjAwOS0xMC0yMiAxNDoyNjozMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBjbGVhbnVwIHB1c2ggYnVmZmVyIGNhbGxiYWNrCgoyMDA5LTEwLTIyIDExOjQzOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvTWFrZWZpbGUuYW06CgkgIG1wZWdwc211eDogc29tZSBtaW5vciBidWlsZCBmaXhlcwoJICBDTEZBR1MgLT4gQ0ZMQUdTLCBhbmQgZml4IG9yZGVyIG9mIHZhcmlhYmxlcyB3aGlsZSB3ZSdyZSBhdCBpdC4KCjIwMDktMTAtMjIgMDA6NTA6MzcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogVGFrZSB0aGUgb2JqZWN0IGxvY2sgZmV3ZXIgdGltZXMKCSAgV2hlbiBzdGFydGluZyB1cCBhbmQgY3JlYXRpbmcgdGhlIGxpc3Qgb2YgZWxlbWVudCBmYWN0b3JpZXMsIG9ubHkKCSAgdGFrZSB0aGUgb2JqZWN0IGxvY2sgdHdpY2UgaW5zdGVhZCBvZiAzIHRpbWVzLgoKMjAwOS0xMC0yMSAyMzowNjo1NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBEb24ndCBob2xkIHRoZSBvYmplY3QgbG9jayB3aGVuIHB1c2hpbmcKCSAgV2hlbiBwdXNoaW5nIG91dCBjYWNoZWQgZXZlbnRzLCBkb24ndCBob2xkIHRoZSBvYmplY3QgbG9jay4gQXZvaWRzCgkgIGRlYWRsb2NrcyBzdGFydGluZyB1cCBEVkQgcGxheWJhY2suCgoyMDA5LTEwLTIyIDExOjEwOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICBmYWFjOiBMaW5rIHdpdGggbGliZ3N0YmFzZSBmb3IgR3N0QWRhcHRlcgoJICBGaXhlcyBidWcgIzU5OTI3Mi4KCj09PSByZWxlYXNlIDAuMTAuMTUgPT09CgoyMDA5LTEwLTIxIDE3OjE0OjM0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHJlbGVhc2UgMC4xMC4xNQoKMjAwOS0xMC0yMSAxNjo1MTowOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMTAtMTYgMTQ6Mzc6MDIgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBhY3R1YWxseSB3cml0ZSBpbWFnZSB0byBBUElDIHRhZy4KCjIwMDktMTAtMTYgMTI6MzA6NTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE0LjQgcHJlLXJlbGVhc2UKCjIwMDktMTAtMTYgMTE6NTM6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgZGlzdDogSW5jbHVkZSB2ZHBzaW5rLmggaW4gdGhlIHRhcmJhbGwgdG8gZml4IHRoZSBkaXN0LgoKMjAwOS0xMC0xNiAxMTowODowNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBVc2UgZ3N0X2J1ZmZlcl9yZWYvdW5yZWYsIG5vdCBnc3Rfb2JqZWN0X3JlZi91bnJlZgoJICBwcm9wZXJseSBmaXhlczogIzU5ODI3NAoKMjAwOS0xMC0xNiAwMToyNjoxMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBVc2UgZ3N0X3BhZF9wZWVyX2FjY2VwdF9jYXBzIGluc3RlYWQgb2YgZ3N0X3BhZF9zZXRfY2Fwcy4KCSAgZ3N0X3BhZF9zZXRfY2FwcyBvbiB0aGUgaW50ZXJuYWwgc291cmNlIHBhZCBhbHdheXMgc3VjY2VlZHMsIGJlY2F1c2UKCSAgY2FwcyBwcm9wYWdhdGUgdG8gdGhlIHBlZXIgd2l0aCBidWZmZXJzLCBub3QgaW1tZWRpYXRlbHkuIFVzaW5nCgkgIGdzdF9wYWRfcGVlcl9hY2NlcHRfY2FwcyBwcm9wZXJseSBjaGVja3Mgd2hldGhlciB0aGUgYWN0dWFsCgkgIHN1Yi1lbGVtZW50IGNhbiBhY2NlcHQgY2FwcyB3aGVuIHRoZXkgY2hhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc1NTY4CgoyMDA5LTEwLTE2IDAxOjA5OjQ5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFJlLXNlbmQgYXVkaW8gc3RyZWFtIHNlbGVjdCBvbiByZS1jb25maWd1cmF0aW9uCgkgIFdoZW4gdGhlIGxheW91dCBvZiB0aGUgYXVkaW8gc3RyZWFtcyBjaGFuZ2VzLCByZS1zZW5kIHRoZSBjdXJyZW50CgkgIGF1ZGlvIHN0cmVhbSBzZWxlY3Rpb24gZXZlbnQsIGluIG9yZGVyIHRvIHRyaWdnZXIgc3dpdGNoaW5nIHRvIHRoZQoJICBuZXcgc3RyZWFtIHByb3Blcmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc1NTY4CgoyMDA5LTEwLTE2IDAwOjUwOjMxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpeCBhIHNtYWxsIGZsYXcgLSBpZiBhbnkgYXVkaW8gc3RyZWFtIGV4aXN0cywgdXNlIGl0CgkgIERvbid0IGNyZWF0ZSBhIGR1bW15IGF1ZGlvIHN0cmVhbSBpZiBvbmx5IG5vbi1BQzMgdHJhY2tzIGV4aXN0LgoKMjAwOS0xMC0xNiAxMDoxNjozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4NWQxNTMwIHRvIDA3MDJmZTEKCjIwMDktMTAtMTUgMjM6NDg6NTMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE0LjMgcHJlLXJlbGVhc2UKCjIwMDktMTAtMTQgMTE6MDY6NDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgcmVzaW5kdmQ6IEZpeCBkZWNvZGVyIHBhZCB0ZW1wbGF0ZSB0byBhbGxvdyBMUENNCgkgIFRoZSBwYWQgdGVtcGxhdGUgaW4gdGhlIG5ldyBzd2l0Y2hpbmcgZGVjb2RlciBpcyB0b28gcmVzdHJpY3RpdmUsCgkgIHByZXZlbnRpbmcgdGhlIExQQ00gZGVjb2RlciBmcm9tIGJlaW5nIHNlbGVjdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc1NTY4CgoyMDA5LTEwLTE0IDEwOjQxOjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhM2UzY2U0IHRvIDg1ZDE1MzAKCjIwMDktMTAtMTMgMTM6MDU6NTAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBEb24ndCBsZWFrIGEgcmVmZXJlbmNlIHRvIHRoZSBwYXJlbnQgaW4gcnNuYXVkaW9tdW5nZQoJICBEb24ndCBsZWFrIGEgcmVmZXJlbmNlIHRvIHRoZSBwYWQgcGFyZW50IGluIHRoZSBzaW5rIHBhZCBldmVudCBoYW5kbGVyCgkgIGluIHJzbmF1ZGlvbXVuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTgyNjMKCjIwMDktMTAtMTMgMTM6MDQ6NDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogRml4IHJlZmVyZW5jZSBsZWFrIG9uIGFsbCBpbnB1dCBidWZmZXJzIGluICdkdmQgbW9kZScKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5ODI3NAoKMjAwOS0xMC0xMyAxNjowMToyNiArMDIwMCAgUGV0ZXIgQ2hyaXN0b2ZmZXJzZW4gPGdub21lLWJ1Z3ppbGxhQHBseXQuZGs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQyOiBEb24ndCBsZWFrIGVsZW1lbnQgcmVmZXJlbmNlIGluIHRoZSBzZXRjYXBzIGZ1bmN0aW9uCgkgIEZpeGVzIGJ1ZyAjNTk4MTM5LgoKMjAwOS0xMC0xMiAxNDoyNzo1NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL0xJTkdVQVM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTQuMiBwcmUtcmVsZWFzZQoKMjAwOS0xMC0xMiAxMjoyOTo0NCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBmaXhlcyB3YXJuaW5nIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTIgMDk6MDY6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGVuc3VyZSBzZWd0b3RhbCBpcyBhdCBsZWFzdCAyCgkgIE5vdCBvbmx5IGFkanVzdCBidWZmZXItdGltZSBhbmQgYXZvaWQgc2VndG90YWw9MCwgYnV0IGluc3RlYWQgZW5zdXJlIHNlZ3RvdGFsIGlzCgkgIGF0bGVhc3QgMi4gRG8gc2FtZSBjaGFuZ2Ugb24gamFja3NyYy4gV2UgY291bGQgYWxzbyBjaGVjayB0aGUgbGF0ZW5jeSBhbmQgYnVmZmVyCgkgIHRpbWUgY29uZmlndXJlZCBieSB0aGUgY2xpZW50IGFuZCBhZGp1c3QgYnVmZmVyLXRpbWUgc28gdGhhdCB3ZSBnZXQgdG8gdGhlIHNhbWUKCSAgbnVtYmVyIG9mIHNlZ21lbnRzLgoKMjAwOS0xMC0xMiAwMDo1MToyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICBqYWNrOiBkb24ndCBjcmFzaCBpbiByaW5nYnVmZmVyIHdpdGggU0lHRlBFIG9uIHNtYWxsIGJ1ZmZlci10aW1lcwoJICBKYWNrIG92ZXJyaWRlcyB1c2VyLXNwZWNpZmllZCBsYXRlbmN5LXRpbWUgd2l0aCB0aGUgb25lIGl0IGdldHMgZnJvbSBqYWNrCgkgIGl0c2VsZi4gSXQgYWxzbyBuZWVkcyB0byBhZGp1c3QgYnVmZmVyLXRpbWUgc29tZXdoYXQgdG8gYXZvaWQgc2VndG90YWwgYmVpbmcgMAoKMjAwOS0xMC0xMSAyMjoxMDowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBtZXRhZGF0YTogaW5pdCB2YXJpYWJsZXMKCSAgbWV0YWRhdGFtdXhfZXhpZl9nZXRfZXhpZl9mcm9tX3RhZygpIGRvZXMgbm90IG5lY2Nlc2FyaWx5IGluaXQgdGhlIHBhc3NlZAoJICB2YXJpYWJsZXMuCgoyMDA5LTEwLTAzIDIxOjM1OjAyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHVzZSB0aGUgdHlwZSBkZWZpbmUgbGlrZSBldmVyeXdoZXJlIGVsc2UKCjIwMDktMTAtMDMgMjE6MzE6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcnQ6IHJlZ2lzdGVyIGRlYnVnIGNhdGVnb3J5IGp1c3Qgb25jZQoJICBQcmV2aW91c2x5IHdlIHdlcmUgdHJ5aW5nIHRvIHJlZ2lzdGVyIGl0IGZvciBldmVyeSBzdWJjbGFzcy4KCjIwMDktMTAtMTEgMTQ6MTA6NTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IGZpeGVzIHdhcm5pbmdzIG9uIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTQ6MDI6MjYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSAgc2Nocm9lZGluZ2VyOiBmaXggd2FybmluZ3Mgb24gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMzo1Njo0MyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSAgbWV0YWRhdGE6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDEzOjUxOjU4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXM6IGZpeGVzIHdhcm5pbmcgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMzo0NjowMCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhYzogZml4IHdhcm5pbmcgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMzoxMzo1NiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTM6MDc6MTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZml4IHdhcm5pbmcgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMjo1NjoyOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWdkZW11eDogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTE6MzU6MjMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMToyNzowOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYW1ycGFyc2U6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDExOjIyOjExICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTE6MTQ6MTYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJICBiYXNldmlkZW86IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTA5IDEzOjE4OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGFzc3JlbmRlci9kdmRzcHU6IEluY3JlYXNlIHJhbmtzIHRvIFBSSU1BUlkKCjIwMDktMTAtMDkgMDk6MTk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBJbmNsdWRlIFN1YlBpY3R1cmUgaW4gdGhlIGNsYXNzaWZpY2F0aW9uCgoyMDA5LTEwLTA5IDA5OjE4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogTWFrZSBjbGFzc2lmaWNhdGlvbiBhIGJpdCBtb3JlIGFjY3VyYXRlCgkgIENoYW5nZSBmcm9tICJGaWx0ZXIvRWZmZWN0L1ZpZGVvIiB0byAiTWl4ZXIvVmlkZW8vT3ZlcmxheS9TdWJ0aXRsZSIKCjIwMDktMTAtMDggMTk6NTE6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSAgY2Fwc3NldHRlcjogYWRkIHVuaXQgdGVzdAoKMjAwOS0xMC0wOCAxMTowMDo0OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxOWZhNGYzIHRvIGEzZTNjZTQKCjIwMDktMTAtMDcgMTY6Mjk6MDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkgIHNjaHJvOiByZW1vdmUgdW51c2VkIGluY2x1ZGUgb2YgbGlib2lsLmgKCjIwMDktMTAtMDcgMTU6NDM6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBtZXRhZGF0YTogZG9uJ3QgY29weSB0cmFpbGluZyBOVUxMIG9mIHN0cmluZ3MgaW4geG1wIG1ldGFkYXRhCgkgIEFsc28gdXNlaW5nIGdfc3RyZHVwLCBmaXhlcyB0aGUgbWFsbG9jIDwtPiBnX2ZyZWUgbWlzbWF0Y2guCgoyMDA5LTEwLTA3IDE1OjI2OjEyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY29nL2dzdGNtcy5jOgoJKiBleHQvZGlyZWN0ZmIvZGZiLWV4YW1wbGUuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGJ1aWxkOiBmcHJpbnRmLCBzcHJpbnRmLCBzc2NhbmYgbmVlZCBzdGRpby5oCgoyMDA5LTA5LTE4IDE4OjQ1OjA5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9taW1pYy5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIG1pbWljIGVsZW1lbnRzCgoyMDA5LTA5LTE4IDE3OjQ3OjU4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogUmVtb3ZlIGludmFsaWQgdG9kbwoKMjAwOS0xMC0wNiAxODozNjoxNSArMDIwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IElnbm9yZSBlbXBoYXNpcyBvbi9vZmYgYnl0ZXMsIGFuZCBkbyBmYWxsYmFjayBzdHJpbmcgZW5jb2RpbmcuCgkgIEZvciBmYWxsYmFjaywgdHJ5IElTTyA4ODU5LTkgZW5jb2RpbmcgaWYgSVNPIDY2MzcgZmFpbGVkLgoJICBBZGQgbW9yZSBkZWJ1ZyBjYWxscy4KCjIwMDktMTAtMDUgMTc6MDQ6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhYzogdmFyaW91cyBmaXhlcwoJICAtIFdvcmsgYXJvdW5kIEJhc2VFbmNvZGVyIGJ1ZyBub3QgdHJhY2tpbmcgZnJhbWUgaW5kZXggZWFybHkuCgkgIC0gRml4IGNvbnZlcnNpb24gb2YgVVlWWSwgWVVZMiwgQVlVViB0byBpbnRlcm5hbCBmb3JtYXQuCgoyMDA5LTEwLTA1IDE2OjE2OjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogUmV2ZXJ0ICJDYWxsIEdzdEJhc2VWaWRlb0VuY29kZXI6OnN0YXJ0L3N0b3AgZHVyaW5nIHBhZCBbZGVdYWN0aXZhdGlvbi4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNGMwODdiY2IwNzJkY2M5ODQ3YjExYzAwMTIzY2Y5M2M1ZTU0MWRjYi4KCSAgVGhlIHJldmVydGVkIGNvbW1pdCBjaGFuZ2VzIHRoZSBvcmRlciB0aGF0IHNldF9mb3JtYXQoKSBhbmQgc3RhcnQoKQoJICBhcmUgY2FsbGVkLCB3aGljaCBpcyBpbmNvcnJlY3QuICBUaGUgY29ycmVjdCBvcmRlciBpcyBzZXRfZm9ybWF0KCksCgkgIHN0YXJ0KCksIGhhbmRsZV9mcmFtZSgpLi4uLCBzdG9wKCkKCjIwMDktMTAtMDUgMTM6MzM6MjIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBGcmVlIGZyYW1lIHVzaW5nIHV0aWxpdHkgZnVuY3Rpb24KCjIwMDktMTAtMDUgMjE6MTE6MTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IEZpeCBjYXBzIHVubGlua2VkIG5lZ290aWF0aW9uCgkgIG1vdmUgY2FwcyByZWxhdGVkIGNvZGUgdG8gZ3N0X2RpcmFjX2VuY19zZXRfZm9ybWF0LCBhbmQKCSAgdXNlIHRoZSBzb3VyY2UgcGFkIHRlbXBsYXRlIHRvIGdldCBhbGxvd2VkIGNhcHMgd2hlbiB0aGVyZSBpcwoJICBubyBwZWVyIHBhZC4KCjIwMDktMTAtMDUgMTk6NDk6MDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IFdoZW4gdGhlIHNvdXJjZSBwYWQgaXNuJ3QgbGlua2VkLCB1c2UgdGhlIHBhZCB0ZW1wbGF0ZQoJICBGb3IgbmVnb3RpYXRpb24sIHVzZSB0aGUgc291cmNlIHBhZCBwYWQgdGVtcGxhdGUgd2hlbiBpdCBkb2Vzbid0CgkgIGhhdmUgYSBwZWVyLgoKMjAwOS0xMC0wNSAxNTo0Nzo1OCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkgIGJhc2V2aWRlbzogRmFpbCBpZiBjYXBzIGRvbid0IGNvbnRhaW4gYSBmcmFtZXJhdGUgZmllbGQKCSAgUmV0dXJuIGZhbHNlIGZyb20gdGhlIGNhcHMgcGFyc2luZyBmdW5jdGlvbiBpZiB0aGVyZSBpcyBubyBmcmFtZXJhdGUKCSAgZmllbGQgaW4gdGhlIHByb3ZpZGVkIGNhcHMKCjIwMDktMTAtMDUgMTE6MTU6MDMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBXcml0ZSBVVEYtMTYgYnl0ZSBvcmRlciBtYXJrZXIgY29ycmVjdGx5LgoKMjAwOS0xMC0wNSAxNjozOTozNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBtb3ZlIGNhcHMgcmVsYXRlZCBjb2RlIHRvIGdzdF9zY2hyb19lbmNfc2V0X2Zvcm1hdC4KCjIwMDktMTAtMDUgMTU6Mjg6NDcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBEZXBlbmQgb24gZ3RrLXgxMSBleHBsaWNpdGx5LgoJICBGaXhlcyB0aGUgYnVpbGQgb24gT1NYIGlmIGd0aystcXVhcnR6IGlzIGluc3RhbGxlZC4KCjIwMDktMTAtMDUgMTU6MjY6MTUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIEZpeCBjb21waWxhdGlvbiB3YXJuaW5nIHdpdGggZ2NjLTQuMi4KCjIwMDktMTAtMDUgMTE6NDc6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIEFkZCBmYWFjIHRlc3QgYmluYXJ5IHRvIHRoZSBnaXQgaWdub3JlcwoKMjAwOS0xMC0wNSAxMTo0NzowMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJICBVc2UgR1NUX0NYWEZMQUdTIGFuZCBHU1RfQ0ZMQUdTIHRvIHB1bGwgaW4gbG9jYWwgZ3N0LWxpYnMgaW5jbHVkZXMuCgkgIE1vdmUgdGhlIEdTVF9DWFhGTEFHUyBhbmQgR1NUX0NGTEFHUyB0byB0aGUgc3RhcnQgb2YgdGhlIGluY2x1ZGVzIHNldAoJICB0byBwdWxsIGluIHRoZSBsb2NhbCBnc3QtbGlicyBmcm9tIHRoZXJlIGZpcnN0LCBpbnN0ZWFkIG9mIGxpc3RpbmcKCSAgaXQgZXhwbGljaXRseS4KCjIwMDktMTAtMDUgMTE6MDI6MTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSAgRml4IENGTEFHUyBhbmQgTERGTEFHUyBmb3IgZGlyYWMvc2Nocm9kaW5nZXIKCSAgSW5jbHVkZSB0aGUgbG9jYWwgaGVhZGVycyBhbmQgbGlicyBiZWZvcmUgb25lcyBvdXRzaWRlIHRoaXMKCSAgbW9kdWxlLgoKMjAwOS0xMC0wMiAxNjozNTowOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgZGlyYWM6IGNvbnZlcnQgdG8gQmFzZVZpZGVvRW5jb2RlcgoKMjAwOS0wOS0yNyAxNDoyNTozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dzdGNtcy5jOgoJKiBleHQvY29nL2dzdGNtcy5oOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBoYWNraW5nCgkgIEFkZCBSR0IgdG8gWUNiQ3IgbWF0cml4aW5nCgkgIEFkZCB0aW55IGNvbG9yIG1hbmFnZW1lbnQgc3lzdGVtIChDTVMpIGZvciB2aWRlbwoJICBBZGQgcXVhbGl0eSBsZXZlbCBmb3IgY29sb3JzcGFjZQoKMjAwOS0wOS0yNSAxODoxNDoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IHJlc2V0IGNhY2hlIGluc3RlYWQgb2YgcmV0dXJuaW5nIE5VTEwKCSAgUmV0dXJuaW5nIE5VTEwgbWFrZXMgdGhpbmdzIGNyYXNoLiAgUmVzZXR0aW5nIHRoZSBjYWNoZQoJICBtYWtlcyB0aGluZ3MgcnVuIHNsb3cuICBTdGlsbCBhbiB1bmRlcmx5aW5nIGJ1ZyBzb21ld2hlcmUsCgkgIGJ1dCBub3QgY3JpdGljYWwuCgoyMDA5LTA5LTIzIDEzOjE3OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJICBjZWx0ZGVjOiBIYW5kbGUgbG9va2FoZWFkLCBkaXNjb250CgoyMDA5LTEwLTAyIDE5OjA4OjIxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBidWlsZDogYWRkIG1pc3Npbmcgc3RkbGliIGluY2x1ZGUgdG8gZml4IHRoZSBidWlsZAoKMjAwOS0xMC0wMiAxNDoyNTo1MCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBBZGQgR3N0QmFzZVZpZGVvRGVjb2Rlcjo6c2V0X3NpbmtfY2FwcyB2ZnVuYy4KCjIwMDktMTAtMDIgMTI6NDA6MDIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgQ2FsbCBHc3RCYXNlVmlkZW9EZWNvZGVyOjpzdGFydC9zdG9wIGR1cmluZyBwYWQgW2RlXWFjdGl2YXRpb24uCgoyMDA5LTEwLTAxIDE2OjA2OjAyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIERvbid0IGlnbm9yZSB0aGUgdmFsdWUgcmV0dXJuZWQgZnJvbSBHc3RCYXNlVmlkZW9FbmNvZGVyOjpzZXRfZm9ybWF0LgoKMjAwOS0xMC0wMSAxNjoxMjoxNSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIEZpeCBzY2hyb2VuYyBmb3IgcmVmY291bnQgY2hhbmdlIGluIEdzdEJhc2VWaWRlb0VuY29kZXIuCgoyMDA5LTEwLTAxIDE1OjUwOjU1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIFVucmVmIGZyYW1lLT5zaW5rX2J1ZmZlciBpbiBnc3RfYmFzZV92aWRlb19lbmNvZGVyX2ZpbmlzaF9mcmFtZQoKMjAwOS0xMC0wMSAxNjoxMTo0NiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIE1ha2UgZ3N0X3NjaHJvX2VuY19oYW5kbGVfZnJhbWUgcmV0dXJuIEdzdEZsb3dSZXR1cm4uCgoyMDA5LTEwLTAxIDE2OjI2OjIyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIE1ha2UgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6aGFuZGxlX2ZyYW1lIHJldHVybiBHc3RGbG93UmV0dXJuCgoyMDA5LTEwLTAxIDE2OjI0OjUwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIENhbGwgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6c3RhcnQvc3RvcCBkdXJpbmcgcGFkIFtkZV1hY3RpdmF0aW9uLgoKMjAwOS0xMC0wMiAxMjowNDoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgRml4IGEgY29tcGlsZXIgd2FybmluZy4KCjIwMDktMTAtMDIgMTM6MDI6MzEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB6YmFyOiBwb3N0IGEgbWVzc2FnZSBpbnN0ZWFkIG9mIHByaW50aW5nIHRoZSBjb2RlIHRvIHN0ZG91dAoJICBEb2NtZW50IHRoZSBtZXNzYWdlIGZvcm1hdCB0aGF0IHdlIHNlbnQuIEFkZCBhIHByb3BlcnR5IHRvIHR1cm4gbWVzc2FnZSBzZW5kaW5nIG9mZi4KCjIwMDktMTAtMDIgMTE6MjM6NDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2Mgc2NhbiBmaWxlcwoKMjAwOS0xMC0wMiAxMToyMjo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBjbGVhbnVwcwoJICBVc2Ugc3RhcnQvc3RvcCB0byBtYW5hZ2UgdGhlIGNhY2hlLiBGZXcgY29kZSBjbGVhbnVwcyBhbmQgY29tbWVudHMuCgoyMDA5LTEwLTAyIDExOjA5OjExICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogYWRkIHpiYXIgcGx1Z2luCgoyMDA5LTEwLTAyIDEwOjM3OjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIHpiYXI6IGFkZCBuZXcgcGx1Z2luIHRvIHRoZSBidWlsZCBoZXJlIHRvbwoKMjAwOS0xMC0wMiAxMDozMjozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczoga2VlcCBsaXN0IHNvcnRlZAoKMjAwOS0xMC0wMiAwNzo0NjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRml4IGJ1aWxkIHN5c3RlbSwgemJhciBpcyBubyBkZXBlbmRlbmN5LWxlc3MgcGx1Z2luCgoyMDA5LTEwLTAxIDIzOjUxOjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC96YmFyL01ha2VmaWxlLmFtOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgemJhcjogd3JhcCB6YmFyIGxpYnJhcnkgYXMgYSBpbWFnZSBhbmFseXplcgoJICB6YmFyIGlzIGEgYmFyIGNvZGUgc2Nhbm5lciBsaWJyYXJ5LgoKMjAwOS0xMC0wMSAxNzoxOTo1NCArMDEwMCAgQ2hyaXN0aWFuIEYuSy4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcyBhbmQgcmVtb3ZlIGZpbGUgZnJvbSBNQU5JRkVTVCB3aGljaCBpc24ndCB0aGVyZSBhbnkgbG9uZ2VyCgoyMDA5LTA5LTAyIDE1OjI2OjE1ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgbWV0YWRhdGE6IGNoYW5nZSBYTVAgbG9jYXRpb24gdGFncyB0byBzdGFydCB3aXRoIGNhcGl0YWxzCgoyMDA5LTA4LTI1IDEwOjEwOjE1ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBkZWFkbG9jayB3aGVuIGVycm9yIG9jY3VycyBhdCB2aWRlbyByZWNvcmRpbmcgc3RhcnR1cAoKMjAwOS0wOC0yNyAxNDozNToyNiArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBoYW5kbGUgcHJldmlldy1jYXBzIG9ubHkgaW4gaW1hZ2UgbW9kZSBhbmQgb25seSB3aGVuIHRoZXkgY2hhbmdlCgkgIFRoaXMgcHJldmVudHMgY2FtZXJhYmluIHRvIGNyZWF0ZSBwcmV2aWV3IHBpcGVsaW5lIGV2ZXJ5IHRpbWUgd2hlbgoJICBhcHBsaWNhdGlvbiByZS1zZXRzIHRoZSBzYW1lIGNhcHMgYWdhaW4uCgoyMDA5LTA4LTI1IDA5OjM1OjA3ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IGRvbid0IHNlbmQgbXVsdGlwbGUgRU9TIGV2ZW50cyB0byB2aWRlbyBwaXBlbGluZQoKMjAwOS0wOC0yMiAxNzowOTozOSArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJICBjYW1lcmFiaW46IGZpeCBzY2VuZSBtb2RlIHNldHRpbmcKCSAgQ2FtZXJhYmluIGNhY2hlcyBwaG90b2dyYXBoeSBzZXR0aW5ncywgYnV0IGl0IGRpZG4ndCB0YWtlIGludG8gYWNjb3VudAoJICB0aGF0IHNjZW5lIG1vZGUgc2V0dGluZyBtYXkgY2hhbmdlIG90aGVyIHNldHRpbmdzIGFzIHdlbGwuIFNvLCBjb25maWcKCSAgbmVlZHMgdG8gYmUgcmVhZCBiYWNrIGZyb20gZGV2aWNlIGFmdGVyIHNjZW5lIG1vZGUgaXMgc2V0LgoKMjAwOS0wOC0yMSAwOToxNDozMSArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhbGxvdyBtb2RlIHBhcmFtZXRlciBzZXR0aW5nIGluIE5VTEwgc3RhdGUKCjIwMDktMDgtMjAgMTc6NTU6MjYgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogYWxsb3cgY2FwdHVyZSByZXNvbHV0aW9uIHRvIGJlIHNldCBpbiBOVUxMIHN0YXRlCgoyMDA5LTA5LTEwIDE1OjE2OjIzICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBpbWFnZSBxdWV1ZSBwYXJhbWV0ZXIgc2V0dGluZwoJICBDYW1lcmFiaW4gaW5jb3JyZWN0bHkgdXNlZCBHX0dVSU5UNjRfQ09OU1RBTlQgbWFjcm8gZm9yIHNldHRpbmcKCSAgIm1heC1zaXplLWJ1ZmZlcnMiIGFuZCAibWF4LXNpemUtYnl0ZXMiIHByb3BlcnRpZXMgaW4gaW1hZ2UgcXVldWUsCgkgIGV2ZW4gd2hlbiB0aGV5IGFyZW4ndCA2NGJpdCBpbnRlZ2Vycy4KCjIwMDktMDgtMTIgMTE6MTA6NTUgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IHdhcm5pbmcgd2l0aCBnX29iamVjdF9nZXQgYW5kIGpvaW4gc2VwYXJhdGUgZ19vYmplY3Rfc2V0cyBpbnRvIG9uZQoKMjAwOS0wNy0zMSAxMTo1NzoxMiArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiByZXNldCBhY3RpdmUtcGFkIGluIG91dHB1dC1zZWxlY3RvciBhZnRlciBSRUFEWSBzdGF0ZQoJICBDYW1lcmFiaW4gc2V0cyBpdHNlbGYgdG8gUkVBRFkgc3RhdGUgZHVyaW5nIHJlc29sdXRpb24gY2hhbmdlLiBUaGlzCgkgIG9wZXJhdGlvbiBtYWtlcyBvdXRwdXQtc2VsZWN0b3IgdG8gZm9yZ2V0IGl0cyBjdXJyZW50bHkgYWN0aXZlIHBhZCwKCSAgc28gaXQgbXVzdCBiZSBzZXQgYWdhaW4gYWZ0ZXIgc3RhdGUgY2hhbmdlLgoKMjAwOS0wNi0yOSAxNToyMzoyNSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCByZXNldCBjYXBzZmlsdGVycyBvciB6b29tIGlmIGVycm9yIG9jY3VycwoJICBJZiBhbiBlcnJvciBvY2N1cnMsIGFwcGxpY2F0aW9uIHNob3VsZCBzZXQgcGlwZWxpbmUgdG8gTlVMTCwgYW5kIHVwZGF0aW5nCgkgIHpvb20gY2FuIGFjdHVhbGx5IGJsb2NrIG1lc3NhZ2UgaGFuZGxpbmcgaWYgdmlkZW8gZGV2aWNlIGRyaXZlciBoYXMgZmFpbGVkCgkgIGFuZCB2aWRlbyBzcmMgZWxlbWVudCBzdXBwb3J0cyB6b29taW5nIHVzaW5nIHBob3RvZ3JhcGh5IGludGVyZmFjZSBhbmQgU19DUk9QLgoKMjAwOS0xMC0wMSAxNzoxNzowMyArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkgIHZpZGVvbWVhc3VyZTogbGluayB3aXRoIGxpYm0KCjIwMDktMTAtMDEgMTU6MDk6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICByZXNpbmR2ZGJpbjogSWYgbm8gc3VpdGFibGUgYXVkaW8gZGVjb2RlciBpcyBmb3VuZCBwbGF5IHRoZSBEVkQgd2l0aG91dCBhdWRpbwoKMjAwOS0xMC0wMSAxNDo1NDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmRiaW46IEFsc28gcG9zdCBtaXNzaW5nIGVsZW1lbnQgbWVzc2FnZXMgaWYgYW55IG90aGVyIGVsZW1lbnQgaXMgbWlzc2luZwoKMjAwOS0xMC0wMSAxNDo1MjowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogUG9zdCBtaXNzaW5nIGRlY29kZXIgbWVzc2FnZXMgaWYgb25lIGlzIG1pc3NpbmcKCSAgRm9yIHZpZGVvIHRoaXMgaXMgYW4gZXJyb3IsIGZvciBhdWRpbyBvbmx5IGEgd2FybmluZy4KCjIwMDktMTAtMDEgMTQ6NDA6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkYmluOiBVc2UgdGhlIG5ldyB2aWRlbyBkZWNvZGVyCgkgIFRoaXMgbWFrZXMgcmVzaW5kdmRiaW4gd29yayB3aXRoIG90aGVyIE1QRUcgdmlkZW8gZGVjb2RlcnMgdGhhbgoJICBtcGVnMmRlYywgZm9yIGV4YW1wbGUgdGhlIEZGTVBFRyBvciBGbHVlbmRvIE1QRUcgZGVjb2RlcnMuCgoyMDA5LTEwLTAxIDE0OjM3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuaDoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmg6CgkgIHJlc2luZHZkYmluOiBSZW5hbWUgZmlsZXMKCjIwMDktMTAtMDEgMTQ6MzY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5oOgoJICByZXNpbmR2ZGJpbjogUmVmYWN0b3IgYXVkaW8gZGVjb2RlciBhbmQgYWRkIGEgKE1QRUcpIHZpZGVvIGRlY29kZXIKCjIwMDktMTAtMDEgMTM6Mjk6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkgIHJzbmF1ZGlvZGVjOiBHZXQgZGVzaXJlZCBzaW5rIGNhcHMgZnJvbSB0aGUgcGFkIHRlbXBsYXRlCgoyMDA5LTEwLTAxIDEwOjU0OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2ZzogVW5wcmVtdWx0aXBseSBDYWlybydzIEFSR0IgdG8gbWF0Y2ggR1N0cmVhbWVyJ3MKCjIwMDktMDktMjUgMTI6MjA6NTAgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkgIFRha2Ugb2Zmc2V0IGdhcHMgaW50byBhY2NvdW50LgoJICBQcmV2ZW50cyBtZWFzdXJlY29sbGVjdG9yIGZyb20gY3Jhc2hpbmcgd2hlbiBmcmFtZSBudW1iZXJzIGFyZSBub3QgY29uc2VjdXRpdmUuCgkgIEZpeGVzIGJ1ZyAjNTk2Mjg1LgoKMjAwOS0wOS0yOSAxNTo0NzoxMyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IGZpeCBmbGFnc19hc191aW50IHRvIGZsYWdzW10KCjIwMDktMDktMzAgMTU6NDc6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkYmluOiBDcmVhdGUgZXh0ZXJuYWwgc3JjcGFkcyBmcm9tIHRoZSBzdGF0aWMgcGFkIHRlbXBsYXRlcwoKMjAwOS0wOS0yMiAxMjoxNjozNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogSW1wcm92ZSBQR1MgcGFyc2luZwoJICBJbXByb3ZlIChzbGlnaHRseSkgdGhlIGludGVycHJldGF0aW9uIG9mIFBHUyBzZXQtd2luZG93IGJsb2NrcwoJICB0byBhdm9pZCBwcmludGluZyB3YXJuaW5ncyBhYm91dCB1bnVzZWQgYnl0ZXMgd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUKCSAgd2luZG93IGRlZmluaXRpb25zLgoKMjAwOS0wOS0yMiAwMToxNjo0NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogRml4IHJlbmRlcmluZyBhbmQgYWRkIGd1YXJkcwoJICBGaXggdGhlIHJlbmRlcmluZyB3aGVuIHdlIGhpdCB0aGUgcmlnaHQgaGFuZCBzaWRlIG9mIHRoZSBkaXNwbGF5CgkgIGFyZWEsIGJ5IHJlc2V0dGluZyB0byB0aGUgY29ycmVjdCBYIGNvb3JkaW5hdGUsIGFuZCBhZGQgc29tZSBtb3JlCgkgIGd1YXJkcyBhZ2FpbnN0IGJhZCBQR1MgZGF0YS4KCjIwMDktMDktMDggMDA6MDE6MjggKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkgIHZpZGVvc2lnbmFsOiBjaGFuZ2UgcGF0dGVybiBkYXRhIHR5cGUgdG8gdWludDY0LCBhZGQgcHJvcGVydHkgYW5kIG1lc3NhZ2UgZmllbGQKCSAgS2VlcHMgdGhlIG9sZCB1aW50IHR5cGVkIHZhbHVlIHN1cHBvcnQgZm9yIGNvbXBhdGliaWxpdHkuCgoyMDA5LTA5LTA2IDA1OjM2OjQ2ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgdmlkZW9zaWduYWw6IGFsbG93IHBhdHRlcm4tY291bnQgcHJvcGVydHkgdG8gYmUgMAoKMjAwOS0wOS0wNCAyMjo1MDozNCArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgIHZpZGVvc2lnbmFsOiBhZGQgc3VwcG9ydCBmb3IgcGFja2VkIFlVViBmb3JtYXRzCgoyMDA5LTA5LTA0IDIyOjMwOjI3ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSAgdmlkZW9zaWduYWw6IGFkZCBzdXBwb3J0IGZvciBhbGwgcGxhbmFyIFlVViBmb3JtYXRzLCB1c2luZyBnc3R2aWRlbwoKMjAwOS0wOS0wNiAwMjo0NDowNSArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgIHZpZGVvc2lnbmFsOiBhZGQgYm91bmQgY2hlY2tzCgoyMDA5LTA5LTA0IDE2OjI1OjA1ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgdmlkZW9zaWduYWw6IHJlbW92ZSB1bnVzZWQgbWFjcm9zCgoyMDA5LTA5LTI2IDE3OjIzOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogVXNlIGdzdF9jYXBzX2Nhbl9pbnRlcnNlY3QoKSBiZWNhdXNlIGl0J3MgZmFzdGVyCgoyMDA5LTA5LTI2IDE3OjIxOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuaDoKCSAgcnNuYXVkaW9kZWM6IFVzZSBnaG9zdCBwYWRzIGFuZCBhbHdheXMgZm9yd2FyZCBhcHBsaWNhdGlvbi94LWdzdC1kdmQgZXZlbnRzIGltbWVkaWF0ZWx5CgkgIEZpeGVzIGJ1ZyAjNTgyNzc5LgoKMjAwOS0wOS0yNiAxNzoxOTozMiArMDIwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJICByZXNpbmR2ZGJpbjogVXNlIGF1dG9jb252ZXJ0IGluIHJzbmF1ZGlvZGVjIGFuZCBidWlsZCBhIGxpc3Qgb2YgcG9zc2libGUgZGVjb2RlcnMKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTgyNzc5LgoKMjAwOS0wOS0yNSAxNjo1NDoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBzeW5jIGJhc2VwYXJzZSBjaGFuZ2UKCjIwMDktMDktMjUgMTc6MDI6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBhYWNwYXJzZTogZm9yZWdvIChib2d1cykgcGFyc2luZyBvZiBhbHJlYWR5IHBhcnNlZCAocmF3KSBpbnB1dAoKMjAwOS0wOS0yNSAxMTowNzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBVc2UgbmV3IHNpbmdsZSBpdGVyYXRvciBmb3IgdGhlIGludGVybmFsbHkgbGlua2VkIHBhZHMKCSAgVGhpcyBmaXhlcyBhIGRlYWRsb2NrIGFuZCByZW1vdmVzIHNvbWUgdXNlbGVzcyBjb2RlLgoKMjAwOS0wOS0yNSAxMTowNDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgcnNuc3RyZWFtc2VsZWN0b3I6IFVzZSBuZXcgc2luZ2xlIG9iamVjdCBpdGVyYXRvciBmb3IgdGhlIGludGVybmFsbHkgbGlua2VkIHBhZHMKCSAgVGhpcyBwcmV2ZW50cyBhbiB1Z2x5IGRlYWRsb2NrLgoKMjAwOS0wOS0yNSAxMDo1MDozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgcmVzaW5kdmRiaW46IERvbid0IGJsb2NrIHRoZSBleHRlcm5hbCBnaG9zdCBwYWRzIGJ1dCBvbmx5IHRoZWlyIHRhcmdldHMKCjIwMDktMDktMjQgMTE6MjY6MjkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSAgY29nOiB1c2UgQlVJTFRfU09VUkNFUyBpbnN0ZWFkIG9mIHRlbXAgbGlicmFyeQoKMjAwOS0wOS0yMyAxMjozMjo1NCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBGaXggd2FybmluZ3Mgd2l0aCBnY2MgNC4wLjEuCgoyMDA5LTA5LTIyIDEyOjI1OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsIGFnYWluCgoyMDA5LTA5LTIyIDEzOjQ0OjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJICBSZXZlcnQgIkxWMiBwcmVzZXQgc3VwcG9ydC4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYzk1ZjU5Y2QyZGMxMjk4OTliMzdmZWNhYTUyYzg5ZGIzZDhhNWVmOC4KCjIwMDktMDktMjIgMTM6NDM6NTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIFJldmVydCAiRml4IHByb3BlcnR5IGluZGV4IHdoZW4gc2V0dGluZyBwcmVzZXQuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDBhNmIyMmIxOTE3YWY4YTg5ZGIxOTgxYTBmNWRmM2RjZWU3OGIxZGQuCgoyMDA5LTA5LTIyIDEzOjIzOjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJICBjb2c6IGZpeCB0aGUgYnVpbGQKCSAgQWRkIGEgdW5pbnN0YWxsZWQgY29udmluaWVuY2UgbGlidG9vbCBsaWJyYXJ5IGNvbnRhaW5pbmcgdGhlIGdlbmVyYXRlZCBzb3VyY2VzLgoJICBBZGQgdGhhdCBhcyBhIGRlcGVuZGVuY3kgdG8gdGhlIHBsdWdpbi4KCjIwMDktMDgtMTcgMTc6MjE6NDEgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIEZpeCBwcm9wZXJ0eSBpbmRleCB3aGVuIHNldHRpbmcgcHJlc2V0LgoKMjAwOS0wOC0xNyAxNzowNjo0MCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSAgTFYyIHByZXNldCBzdXBwb3J0LgoKMjAwOS0wOS0yMiAwODoxMTozNiArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJICBwbm06IEhhbmRsZSBBU0NJSSBlbmNvZGVkIFBOTSBkYXRhIHRoYXQgaXMgc3BsaXQgb3ZlciBtdWx0aXBsZSBidWZmZXJzCgkgIEFsc286CgkgIC0gdW5yZWYgYnVmZmVycyBhZnRlciBnc3RfYnVmZmVyX3NwYW4KCSAgLSBmaXggc2Nhbm5pbmcgb2YgaGVhZGVyIGlmIGhlYWRlciBkYXRhIGlzIHNwbGl0IG92ZXIgc2V2ZXJhbCBidWZmZXJzCgkgIEZpeGVzIGJ1ZyAjNTk1NzAwLgoKMjAwOS0wOS0yMSAxMTozMzo1MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ3RhYmxlcy5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkgIGNvZzogQWRkIHF1YWxpdHkgc2V0dGluZyB0byBjb2dzY2FsZQoKMjAwOS0wOS0yMSAwOTozNTozMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogKHJlLSlpbXBsZW1lbnQgMS8yLzQtdGFwIHNjYWxpbmcKCjIwMDktMDktMjEgMDk6MzA6NDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2dmcmFtZS5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IEZpeCB0aGUgdmlydHVhbCBmcmFtZSBsaW5lIGNhY2hlCgoyMDA5LTA5LTIxIDA5OjQ5OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogVkJSIHJlcXVpcmVzIGNlbHQtMC42LjAKCjIwMDktMDktMjEgMTI6MDY6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBTcGVjaWZ5IHRoYXQgcHNpIHRhYmxlIGlzIHN0YXRpYyBjb25zdC4KCSAgVGhpcyBhdm9pZHMgcmUtYWxsb2NhdGluZyBpdCBldmVyeSBzaW5nbGUgdGltZSB3ZSBnbyBpbnRvIGl0LgoJICBSb3VnaGx5IDEwJSBwZXJmb3JtYW5jZSBib29zdCBpbiBvdmVyYWxsIHRzcGFyc2UgcHJvY2Vzc2luZyB0aW1lLgoKMjAwOS0wOS0yMCAxNzo1MzoyNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgUmV2ZXJ0ICJtcGVndHNwYXJzZTogdXNlIGZpeGVkIHNpemUgYXJyYXkgcmF0aGVyIHRoYW4gZHluYW1pY2FsbHkgYWxsb2NhdGluZyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhZTc1YjZmMzY2NjUxMjg4N2FlNTI2ZjE2YTFhZDQxYmJmMjUxN2FjLgoKMjAwOS0wOS0yMCAxNTozMDo1OSArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFyc2U6IHVzZSBmaXhlZCBzaXplIGFycmF5IHJhdGhlciB0aGFuIGR5bmFtaWNhbGx5IGFsbG9jYXRpbmcKCjIwMDktMDktMjAgMTU6MTg6NDYgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IHJlcGxhY2Ugc3RyZWFtcyBoYXNodGFibGUgd2l0aCBhbiBhcnJheSBvZiBzdHJlYW1zCgoyMDA5LTA5LTIwIDE0OjA4OjUwICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiB1bnJlZiBjYXBzIG9uIGRpc3Bvc2UsIHJlc2V0IHBhY2tldCBzaXplIG9uIF9yZXNldAoKMjAwOS0wOS0yMCAxMzoxNToxNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogbWFrZSBzdXJlIHBhY2tldHNpemUgaXMgc2V0IG9uIGNhcHMgb2YgYnVmZmVycwoKMjAwOS0wOS0yMCAxMjozODowMCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFyc2U6IGRldGVjdCBwYWNrZXRzaXplIGFuZCBkb24ndCBqdXN0IGFzc3VtZSAxODggYnl0ZXMuCgoyMDA5LTA5LTE5IDE0OjEwOjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0ZW5jOiBBZGQgY29tcGxleGl0eSwgY2JyLCBhbmQgbWF4LWJpdHJhdGUgcHJvcGVydGllcwoKMjAwOS0wOS0xOSAxMzozMjoxOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ29yYy5jOgoJKiBleHQvY29nL2NvZ29yYy5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nOiBhdXRvZ2VuZXJhdGUgY29kZSwgY29sb3JzcGFjZSBpbXByb3ZlbWVudHMKCjIwMDktMDktMTggMjA6Mjc6NDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZmlsdGVyLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogcmVtb3ZlIC8vIGNvbW1lbnRzCgoyMDA5LTA5LTE2IDIwOjM5OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogRG9uJ3QgdXNlIEdzdEl0ZXJhdG9yLCBkbyBjaGFuZ2UgZGV0ZWN0aW9uIG91cnNlbHZlcy4KCSAgVXNpbmcgYSBHc3RJdGVyYXRvciBpcyBzbG93IGJlY2F1c2Ugd2UgaGF2ZSB0byBjcmVhdGUvZGVzdHJveSB0aGF0CgkgIGl0ZXJhdG9yIGV2ZXJ5IHNpbmdsZSB0aW1lLgoJICBXZSBqdXN0IGRvIHRoZSB0aHJlYWRzYWZlIGNvb2tpZSBjaGVjayBhbmQgbGlzdCBpdGVyYXRpb24gb3Vyc2VsdmVzLgoKMjAwOS0wOS0xNSAyMzoxODo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IEF2b2lkIHR5cGUtY2hlY2tpbmcgY2FzdHMgaW4gdGlnaHQgbG9vcHMKCjIwMDktMDktMTUgMjM6MTI6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogTWFrZSBuZXh0X3BhY2tldCgpIHJldHVybiBhbiBlbnVtLgoJICBUaGlzIGF2b2lkcyBjYWxsaW5nIGFuIGV4dHJhIGdzdF9hZGFwdGVyX2F2YWlsYWJsZSgpIGluIGEgdGlnaHQgbG9vcC4KCjIwMDktMDktMTUgMjM6MTE6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBNb3JlIGJyYW5jaCBwcmVkaWN0aW9uIG1hY3JvcwoKMjAwOS0wOS0xNSAyMDo0OTozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFNwcmVhZCBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MKCjIwMDktMDktMTUgMTk6MTY6MzYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyOiBSZWdpc3RlciBhbmQgdXNlIEdRdWFyayBmb3Igc3RydWN0dXJlcy4KCjIwMDktMDktMTUgMTg6NTc6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogSW5pdGlhbGl6ZSBkZWJ1Z2dpbmcgaW4gX2dldF90eXBlCgkgIFRoZXJlJ3Mgbm8gbmVlZCBmb3IgYW4gZXh0cmEgZnVuY3Rpb24gc2luY2UgYWxsIGRlYnVnZ2luIHdpbGwgcmVxdWlyZQoJICBhIE1wZWdUU1BhY2tldGl6ZXIgd2hpY2ggbWVhbnMgdGhhdCB0aGUgR1R5cGUgd2lsbCBiZSBjcmVhdGVkLCB0aGVyZWZvcmUKCSAgbW92ZSB0aGUgZGVidWcgY2F0ZWdvcnkgaW5pdGlhbGl6YXRpb24gdGhlcmUuCgoyMDA5LTA5LTE1IDIzOjA5OjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IG1lbXNldCBzdHJ1Y3R1cmUgaW5zdGVhZCBvZiBpbmRpdmlkdWFsbHkgc2V0dGluZyBmaWVsZHMgdG8gMAoKMjAwOS0wOS0xNSAyMzowODoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZW1vdmUgZ19yZXR1cm5faWZfZmFpbAoJICBJdCdzIG92ZXJraWxsIGZvciBjb2RlIG9ubHkgdXNlZCBieSBvbmUgZWxlbWVudC4KCjIwMDktMDktMTUgMTk6NDQ6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYWNrZXRpemVyL3BhcnNlOiBEb24ndCB1c2UgZ3N0X3N0cnVjdHVyZV90b19zdHJpbmcoKSBmb3IgZGVidWdnaW5nLgoJICBUaGVyZSdzIEdTVF9QVFJfRk9STUFUIGZvciB0aGF0LCBhbmQgdG9vIGJhZCBmb3IgdGhlIHN5c3RlbXMgdGhhdCBkb24ndCBoYXZlCgkgIHN1cHBvcnQgZm9yIHRoYXQuIEl0IGp1c3QgY29zdHMgdG9vIG11Y2ggY3B1LgoKMjAwOS0wOS0xNSAxOTowMDozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNwYXJzZS8uZ2l0aWdub3JlOgoJKiBnc3QvbXBlZ3RzcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2VtYXJzaGFsLmxpc3Q6CgkgIGdzdDogUmVtb3ZlIGRlYWQgbXBlZ3RzcGFyc2UgZGlyZWN0b3J5LgoJICBUaGlzIHdhcyBzZXJpb3VzbHkgY29uZnVzaW5nLiBBbHNvLCB0aGUgY29kZSBpcyBpbiBnc3QvbXBlZ2RlbXV4LwoKMjAwOS0wOS0xOCAxNDoyNTo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2cuaDoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3V0aWxzLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dmaWx0ZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuaDoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogZml4ZXMgdG8gbWFrZSBjb2cgd29yayBpbnNpZGUgLWJhZAoKMjAwOS0wOS0xOCAxNTowNjo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJICB2aWRlb21lYXN1cmU6IGZpeCBsaW5lIGVuZGluZ3MKCjIwMDktMDktMTggMTU6MDY6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSAgdmlkZW9tZWFzdXJlOiBmaXggZGlzdGNoZWNrCgoyMDA5LTA5LTE3IDE4OjE2OjM1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHF1aWV0IGRlYnVnZ2luZyBtZXNzYWdlIGluIGxhc3QgY29tbWl0CgoyMDA5LTA5LTE3IDE4OjE1OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IEtlZXAgdHJhY2sgb2YgZ3JhbnVsZSBvZmZzZXQKCjIwMDktMDgtMzEgMTA6MzY6NDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29nZnJhbWUuaDoKCSogZXh0L2NvZy9jb2dvcmMuYzoKCSogZXh0L2NvZy9jb2dvcmMuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ2ZpbHRlci5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5oOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgQ29weSBjb2cgcGx1Z2luIGFuZCB2aWRlbyBsaWJyYXJ5IGZyb20gY29nIHByb2plY3QKCjIwMDktMDktMTcgMTY6NTQ6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogRml4IHJlc3luYyBidWcgZHVlIHRvIGFkYXB0ZXIgQVBJIGNoYW5nZQoJICBnc3RfYWRhcHRlcl9tYXNrZWRfc2Nhbl91aW50MzIoKSBjaGFuZ2VkIHNsaWdodGx5IGZyb20gd2hlbgoJICB0aGlzIGVsZW1lbnQgd2FzIGluIFNjaHJvZWRpbmdlci4gIE9vcHMuCgoyMDA5LTA5LTE3IDE2OjU3OjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogZGVidWcgYXQgbmV3IHNlZ21lbnQgZXZlbnRzCgoyMDA5LTA5LTE3IDE2OjU0OjE0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogU2V0IERJU0NPTlQgb24gYnVmZmVycwoKMjAwOS0wOS0xNyAxMDo1MDo0MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IEFkZCBhIHdhcm5pbmcKCjIwMDktMDktMTcgMTA6NDk6MTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBkb24ndCBsaW1pdCBiaXQgcmF0ZQoKMjAwOS0wOS0xNyAwOTozODowMiArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tOiBBZGQgQVNDSUkgZGVjb2Rpbmcgc3VwcG9ydAoJICAuLi5hbmQgbWFrZSB0aGUgQVNDSUkgb3V0cHV0IG9mIHRoZSBlbmNvZGVyIGEgYml0IG1vcmUgcHJldHR5LgoJICBGaXhlcyBidWcgIzU5NTQwOS4KCjIwMDktMDktMTcgMDk6MzU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBwbm06IFJlbW92ZSB0aGUgZXhwZXJpbWVudGFsIHN0YXR1cyBmcm9tIHRoZSBwbm0gcGx1Z2luCgoyMDA5LTA4LTE0IDE4OjA4OjU2IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBNb3JlIHRvbGVyYXRlIHBvcnQgZ3JvdXAgc3VwcG9ydCwgcGx1Z2luIGNsZWFudXAuCgkgIEdyYWNlZnVsbHkgaGFuZGxlIHBsdWdpbnMgd2l0aCBpbGxlZ2FsIGdyb3VwcyB0aGF0IGNvbnRhaW4gbm8gc3ltYm9sIGJ5CgkgIHRyZWF0aW5nIHBvcnRzIGluIHRoYXQgZ3JvdXAgbm9ybWFsbHkgKGkuZS4gYXMgaWYgdGhleSB3ZXJlbid0IHBhcnQgb2YgYQoJICBncm91cCkuICBUaGUgcG9ydCBncm91cHMgc3BlYyBtYW5kYXRlcyB0aGF0IGdyb3VwcyBoYXZlIGEgdmFsaWQgdW5pcXVlCgkgIHN5bWJvbCwgYnV0IHBsdWdpbnMgYXJlbid0IHBlcmZlY3QuLi4KCSAgTWFrZSAoY29uY2VwdHVhbGx5KSBzdGF0aWMgcGx1Z2luIHZhcmlhYmxlcyBhY3R1YWxseSAoQykgc3RhdGljLAoJICBhbmQgY2xlYW4gdXAgU0xWMiByZWxhdGVkIHRoaW5ncyB3aXRoIGEgR0NDIHNoYXJlZCBsaWJyYXJ5IGRlc3RydWN0b3IsCgkgIGlmIEdDQyBpcyBpbiB1c2UuCgoyMDA5LTA4LTEyIDAxOjA3OjU3IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBNYWtlIG1vbm8gd2FybmluZyB2aXNpYmxlIGluIHB1YmxpYyBkb2N1bWVudGF0aW9uLgoKMjAwOS0wOC0xMiAwMTowMzozMiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgTXVsdGktY2hhbm5lbCBzdXBwb3J0IHdpdGggY2hhbm5lbCBwb3NpdGlvbnMuCgkgIFRoaXMgcXVlcmllcyBwb3J0IHJvbGVzIGZyb20gdGhlIExWMiBkYXRhIGFuZCBjb252ZXJ0cyBpdCBpbnRvIEdTdHJlYW1lcgoJICBjaGFubmVsIHBvc2l0aW9ucy4gIFRoaXMgc2hvdWxkIGFsbG93IGFueSB0eXBlIG9mIG11bHRpLWNoYW5uZWwgcGx1Z2luCgkgIChpbmNsdWRpbmcgYmV5b25kIHN0ZXJlbywgZS5nLiBzdXJyb3VuZCkgdG8gd29yayBmaW5lIGluIEdTdHJlYW1lciwKCSAgYW5kIHdpdGggZWxlbWVudHMgdGhhdCByZXF1aXJlIGNoYW5uZWwgcG9zaXRpb25zIHRvIGJlIGV4cGxpY2l0bHkgc3RhdGVkLgoKMjAwOS0wOC0xMCAyMzoxMjoyNCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIExWMiBlbGVtZW50LgoKMjAwOS0wOC0xMCAyMzowNDo0NyAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgRml4IHR5cG8gaW4gTEFEU1BBIGVsZW1lbnQgZG9jdW1lbnRhdGlvbi4KCjIwMDktMDctMjEgMTU6NDU6MDYgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBTTFYyIGRlcGVuZGVuY3kgdG8gMC42LjYuCgoyMDA5LTA3LTEwIDIxOjUyOjMwIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2NhbGYtbHYyLXBvcnQtZ3JvdXBzLnBhdGNoOgoJKiBleHQvbHYyL3N3aC1sdjItcG9ydC1ncm91cHMucGF0Y2g6CgkgIEFkZCBzd2ggYW5kIGNhbGYgTFYyIHBvcnQgZ3JvdXAgcGF0Y2hlcy4KCjIwMDktMDctMDMgMjA6MDA6MTEgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIFdvcmtpbmcgbXVsdGktY2hhbm5lbCBwYWRzIGZvciBMVjIgcGx1Z2lucy4KCjIwMDktMDYtMjcgMDA6MjU6MzggLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIEFsbG9jYXRlIGEgc3RhdGljIHByZWRpY2F0ZSBmb3IgcGc6aW5Hcm91cC4KCjIwMDktMDYtMjUgMTc6MjU6NTIgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIE9ubHkgYWxsb2NhdGUgbHYyOmluUGxhY2VCcm9rZW4gcHJlZGljYXRlIG9uY2UuCgoyMDA5LTA2LTI1IDE1OjEwOjI0IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBFbGltaW5hdGUgdXNlIG9mIHN0YXRpYyBtb25vIHBhZCB0ZW1wbGF0ZS4KCjIwMDktMDYtMjUgMTU6MDc6MDUgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIFNlcGFyYXRlIHBvcnQgZGlzY292ZXJ5IGZyb20gcGFkIHRlbXBsYXRlIGNyZWF0aW9uLgoJICBUaGlzIGZpcnN0IGNvdW50cyBwb3J0cyAodXNpbmcgdGhlIGJ1aWx0aW4gc2x2MiBmdW5jdGlvbnMgdG8gZG8gc28KCSAgcmF0aGVyIHRoYW4gbWFudWFsbHkgYXMgYmVmb3JlKSwgdGhlbiBjcmVhdGVzIGRlc2NyaXB0b3JzIGZvciBlYWNoIHBvcnQKCSAgYW5kIGZpbmRzIGFsbCBwb3J0IGdyb3Vwcy4gIE9ubHkgdGhlbiBhcmUgcGFkIHRlbXBsYXRlcyBjcmVhdGVkICh0b3dhcmRzCgkgIHVzaW5nIGdyb3VwIGluZm9ybWF0aW9uIGZvciBjcmVhdGluZyBtdWx0aS1jaGFubmVsIHBhZHMpLgoKMjAwOS0wNi0yNSAxMjozNDowMyAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgVXNlIHNpbGx5IGdsaWIgdHlwZXMgOikuCgoyMDA5LTA2LTIwIDE5OjUyOjI2IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJICBRdWVyeSBhbmQgc3RvcmUgcG9ydCBncm91cCBpbmZvcm1hdGlvbi4KCSAgUmVwbGFjZSBwb3J0IGluZGV4IGFycmF5cyB3aXRoIGEgc3RydWN0IGZvciBob2xkaW5nIG1vcmUgaW5mb3JtYXRpb24KCSAgdGhhbiBqdXN0IGluZGljZXMgKGUuZy4gZ3JvdXBzKS4KCjIwMDktMDUtMjUgMjI6MTU6NTYgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkgIFdvcmtpbmcgYmFzaWMgTFYyIHNpZ25hbCBwcm9jZXNzaW5nLgoJICBMVjIgcGx1Z2lucywgc2hvcnQgb2YgYW55IHN1cnByaXNlcywgc2hvdWxkIHdvcmsgd2l0aCB0aGUgc2FtZSBiYXNpYwoJICBmdW5jdGlvbmFsaXR5IGFzIExBRFNQQSBwbHVnaW5zLgoKMjAwOS0wNS0yNSAyMDo0MzoxMCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgU2V0IGNsYXNzIGluUGxhY2VCcm9rZW4gcHJvcGVydHkuCgoyMDA5LTA5LTE3IDA5OjQzOjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgZG9jczogZml4IGV4YW1wbGUgYW5kIG1lbnRpb24gZGlmZmVyZW5jZSB0byB2b3JiaXNkZWMKCjIwMDktMDktMDIgMTE6MTE6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiBGaXggYm9ndXMgY2hlY2sgYmVmb3JlIHVucmVmZmluZwoKMjAwOS0wOS0wMSAxOTo0ODo0MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICB2ZHBhdTogRml4IHBrZy1jb25maWcgdGVzdAoJICBJZiB0aGUgcGtnLWNvbmZpZyBjaGVjayBkb2Vzbid0IHN1Y2NlZWQsIHRlc3Qgd2l0aCB0aGUgb2xkIG1ldGhvZAoJICBpbnN0ZWFkIG9mIGJhaWxpbmcgb3V0IG9mIGNvbmZpZ3VyZSB3aXRoIGFuIGVycm9yLgoKMjAwOS0wOC0yMCAwMDoxNjowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGhhbmRsZSBwaXhlbC1hc3BlY3QtcmF0aW8gYmV0dGVyCgkgIHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBub3QgZW50aXJlbHkgY29ycmVjdCBzaW5jZSB3ZSBhc3N1bWUgdGhhdCB0aGUgc2luawoJICBlbGVtZW50J3MgcGl4ZWwtYXNwZWN0LXJhdGlvIGlzIDEvMQoKMjAwOS0wOC0xOSAyMjo1MjozNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IHJlbW92ZSBwYXIgZnJvbSBjYXBzIHNpbmNlIHdlIGRvbid0IGhhbmRsZSBpdCB5ZXQKCjIwMDktMDgtMTkgMjI6NDA6NDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBkb24ndCByZW1vdmUgaW50ZXJsYWNlZCBmbGFnIGluIHZpZGVvX3RvX291dHB1dF9jYXBzKCkKCjIwMDktMDgtMTkgMjI6MjM6MTcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBpbnZlcnNlLXRlbGVjaW5lIHByb3BlcnR5CgoyMDA5LTA4LTE5IDIyOjAzOjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBmaXggbm9pc2UtcmVkdWN0aW9uIHByb3BlcnR5IGdldHRlcgoKMjAwOS0wOC0xOSAyMjowMjoxOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogYWRkIHNoYXJwZW5pbmcgcHJvcGVydHkKCjIwMDktMDgtMTcgMjM6NDI6NTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkgIHZkcGF1OiByZW1vdmUgZ3N0X3ZkcF9kZXZpY2VfbmV3IGZyb20gaGVhZGVyCgoyMDA5LTA4LTE3IDIzOjQyOjIxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXVzaW5rOiBmaXggZXJyb3IgaGFuZGxpbmcgaWYgZ3N0X3ZkcF9nZXRfZGV2aWNlIHJldHVybnMgTlVMTAoKMjAwOS0wOC0xNyAyMzozOTo1MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSAgdmRwYXU6IGFkZCBiYWNrIHZkcGF1c2luayBhbmQgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzCgoyMDA5LTA4LTE3IDIzOjM5OjE0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkgIHZkcGRldmljZTogZml4IGVycm9yIGhhbmRsaW5nIGFuZCB0aHJlYWRzYWZldHkKCSAgcmV0dXJuIE5VTEwgaW5jYXNlIG9mIGluaXRhbGl6YXRpb24gZXJyb3JzIGFuZCBndWFyZCBoYXNodGFibGUgYWNjZXNzIHdpdGggYSBtdXRleAoKMjAwOS0wNy0xNyAyMjo1MDoxOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZ2V0IGNvcnJlY3QgbnVtYmVyIG9mIG5lZWRlZCBmcmFtZXMgaWYgd2UncmUgZG9pbmcgbm9pc2UgcmVkdWN0aW9uCgoyMDA5LTA3LTE3IDIyOjQ4OjIzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBzbWFsbCBpbmRlbnQgZml4CgoyMDA5LTA3LTE1IDIwOjE4OjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBmaXggZ3N0X2J5dGVfcmVhZGVyX21hc2tlZF9zY2FuX3VpbnQzMiB1c2FnZQoKMjAwOS0wNy0wNCAxOTo0ODo0MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZXBvc3Rwcm9jZXNzOiByZW1vdmUgYm9vbGVhbiBub2lzZS1yZWR1Y3Rpb24gcHJvcGVydHkKCSAgVXNlIHRoZSBmbG9hdCBvbmUgdG8gZGV0ZXJtaW5lIGlmIHdlIHNob3VsZCBlbmFibGUgbm9pc2UgcmVkdWN0aW9uIG9yIG5vdAoKMjAwOS0wNy0wNCAxNTo0NjowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBzdXBwb3J0IGZvciBub2lzZSByZWR1Y3Rpb24KCjIwMDktMDctMDQgMTM6NTk6MzYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogYWRkIHN1cHBvcnQgZm9yIGRlaW50ZXJsYWNpbmcKCSAgVGhlIGNvZGUgaXMgcm91Z2hseSBtb2RlbGVkIGFmdGVyIHRoZSBkZWludGVybGFjZSBwbHVnaW4KCjIwMDktMDctMDIgMTc6MTE6MTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJICB2ZHBhdXNpbms6IGFkZCBteXNlbGYgdG8gY29weXJpZ2h0CgoyMDA5LTA3LTAyIDE0OjAxOjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBzL2dzdF92ZHBfdnBwX3NldF9jYXBzL2dzdF92ZHBfdnBwX3Npbmtfc2V0Y2FwcwoKMjAwOS0wNy0wMSAyMzoxMjoyMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIGdzdF9ieXRlX3JlYWRlcl9tYXNrZWRfc2Nhbl91aW50MzIgaW5zdGVhZCBvZiBvdXIgb3duIHZlcnNpb24KCjIwMDktMDctMDEgMDA6MjA6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICB2ZHBhdTogdXNlIEdfTl9FTEVNRU5UUyBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgYXJyYXkgc2l6ZXMKCjIwMDktMDctMDEgMDA6MTM6MTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiB1c2UgR19OX0VMRU1FTlRTIGluc3RlYWQgb2YgTlVMTCB0ZXJtaW5hdGluZyBhcnJheQoKMjAwOS0wNi0zMCAyMzo1NToxMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkgIHZkcGF1OiBhZGQgbmV3IHZkcGF1c2luayBhbmQgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzIGVsZW1lbnRzCgkgIHZkcGF1c2luayBpcyBhcyB0aGUgbmFtZSBpbXBsaWVzIGEgc2luayB3aGljaCB0YWtlcyB2aWRlL3gtdmRwYXUtb3V0cHV0IGJ1ZmZlcnMKCSAgYW5kIG91dHB1dHMgaXQgdG8gdGhlIHNjcmVlbi4KCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzIGlzIGFuIGVsZW1lbnQgd2hpY2ggdGFrZXMgdmlkZW8veC12ZHBhdS12aWRlbyBidWZmZXJzIGFuZAoJICBvdXRwdXRzIHZpZGVvL3gtdmRwYXUtb3V0cHV0IGJ1ZmZlcnMuIFRoZSBlbGVtZW50IGNhbiBhbHNvIGRvIHRoaW5ncyBsaWtlCgkgIGRlaW50ZXJsYWNpbmcgYW5kIG90aGVyIHBvc3Rwcm9jZXNzaW5nIGJ1dCB0aGlzIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQuCgoyMDA5LTA2LTI5IDIyOjUwOjQyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2ZHBhdTogY2hlY2sgZm9yIHZkcGF1IHdpdGggcGtnLWNvbmZpZyBmaXJzdAoKMjAwOS0wNi0yNCAxNzo1MTo1OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJICB2ZHBhdTogc3BsaXQgZ3N0X3ZkcF9tcGVnX2RlY19yZXNldCBpbnRvIHN0YXJ0IGFuZCBzdG9wCgoyMDA5LTA2LTI0IDExOjM2OjI4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogZG9uJ3QgcHV0IHRoZSBHc3RWZHBEZXZpY2UgaW4gdGhlIGNhcHMKCjIwMDktMDYtMjMgMjM6MDM6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IG1ha2UgR3N0VmRwVmlkZW9ZVVYgaW1wbGVtZW50IHBhZF9hbGxvYwoJICBhbHNvIGNoYW5nZSBHc3RWZHBNcGVnRGVjIGFuZCBHc3RWZHBZVVZWaWRlbyB0byBtYWtlIHVzZSBvZiB0aGlzCgoyMDA5LTA2LTIzIDE3OjI2OjIyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSAgdmRwYXU6IGFkZCBzdXBwb3J0IGZvciBZVVkyCgoyMDA5LTA2LTIzIDE3OjE2OjI1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJICB2ZHBhdTogYWRkIHN1cHBvcnQgZm9yIFVZVlkKCjIwMDktMDYtMjMgMTY6NTc6NDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBmYWN0b3Igb3V0IGNvbW1vbiBjYXBzIGNhbGN1bGF0aW9uIGFuZCBwdXQgaXQgaW4gZ3N0dmRwdXRpbHMuW2NoXQoKMjAwOS0wNi0yMiAyMzoyNTo1NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSAgdmRwYXU6IHJlZmFjdG9yIEdzdFZkcFZpZGVvWVVWIGFuZCBHc3RWZHBZVVZWaWRlbwoKMjAwOS0wNi0yMiAyMjoxNzo0OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IG1ha2UgR3N0VmRwWVVWVmlkZW8gaW5oZXJpdCBmcm9tIEdzdEJhc2VUcmFuc2Zvcm0KCjIwMDktMDYtMjIgMTE6MDA6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSAgdmRwYXU6IGZpeHVwIHNvbWUgZGVidWcgcHJpbnRzCgoyMDA5LTA2LTIyIDEwOjU3OjI1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJICB2ZHBhdTogbWFrZSBHc3RWZHBWaWRlb1lVViBpbmhlcml0IGZyb20gR3N0QmFzZVRyYW5zZm9ybQoKMjAwOS0wOS0xNiAwODoyMjoxOSArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmg6CgkgIHBubTogU3VwcG9ydCBBU0NJSSBmb3JtYXQgZm9yIGVuY29kaW5nIGFuZCBoYW5kbGUgdW5zdXBwb3J0ZWQgZm9ybWF0cyBiZXR0ZXIgaW4gdGhlIGRlY29kZXIKCSAgRml4ZXMgYnVnICM1OTUyMTUuCgoyMDA5LTA5LTE1IDIzOjMyOjA2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEhhbmRsZSBiYXNlX3RpbWUgd2hlbiBzZW5kaW5nIHNlZ21lbnQgdXBkYXRlcy4KCSAgRG9uJ3Qgc2VuZCBib2d1cyBuZXcgc2VnbWVudCB1cGRhdGUgZXZlbnRzIHdoZW4gdGhlIHN0cmVhbSBkb2Vzbid0CgkgIHN0YXJ0IGF0IDAuIEZpeGVzIGJyb2tlbiBzZWVraW5nIGluIHNvbWUgZmlsZXMuCgkgIEZpeGVzOiAjNTk0ODEyCgoyMDA5LTA4LTE4IDEzOjM1OjU5ICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmM6CgkgIG1wZWd0c2RlbXV4LCBtcGVndHNwYXJzZTogbWF4IHNlY3Rpb24gbGVuZ3RoIGlzIDQwOTMgbm90IDEwMjEuCgoyMDA5LTA4LTE4IDAxOjA4OjAzICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkIHBhZCBmb3IgRFZCIFN1YnRpdGxpbmcgcGFkcwoKMjAwOS0wOS0xMyAxOTozOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm06IFVzZSBjb3JyZWN0IHJvd3N0cmlkZSBmb3IgOCBiaXQgZ3JheXNjYWxlIHRvbwoKMjAwOS0wOS0xMyAxOTozMzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm06IENvcnJlY3RseSBjb252ZXJ0IGZyb20vdG8gR1N0cmVhbWVyIHJvd3N0cmlkZQoKMjAwOS0wOS0xMyAxOToxNzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm06IEZpeCBjYXBzCgkgIDggYml0IGdyYXlzY2FsZSBjYXBzIGhhdmUgbm8gZW5kaWFubmVzcyBmaWVsZCBhbmQgdGhlIGNhcHMgbmFtZQoJICBvZiBHU1RfVklERU9fQ0FQU19SR0IgaXMgc3RpbGwgInZpZGVvL3gtcmF3LXJnYiIgYW5kIG5vdCBHU1RfVklERU9fQ0FQU19SR0IuCgoyMDA5LTA5LTEzIDE5OjEzOjI0ICswMjAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5oOgoJICBwbm06IExvdHMgb2YgYnVnZml4ZXMKCSAgKDEpIEZpeCBleGFtcGxlcy4KCSAgKDIpIEFkZCBzdXBwb3J0IGZvciBncmF5IGltYWdlcy4KCSAgKDMpIFJlbW92ZSAidXNlX2ZpeGVkX2NhcHMiIHdoaWNoIGRvZXNuJ3Qgc2VlbSB0byBiZSB1c2VmdWwuCgkgICg0KSBEbyBwcm9wZXIgbmVnb3RpYXRpb24gaW4gdGhlIGVuY29kZXIuCgkgICg1KSBGaXggbWVtbGVhayBpbiB0aGUgc2V0Y2FwcyBmdW5jdGlvbiBpbiB0aGUgZW5jb2Rlci4KCSAgKDYpIEtlZXAgYSBsaW5rIHRvIHRoZSBzcmMgcGFkIGluIHRoZSBlbmNvZGVyIG5vdyB0aGF0IHdlIG5lZWQgaXQgbW9yZSBvZnRlbi4KCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjMTY0ODcwLgoKMjAwOS0wOS0xMiAxODo1NzowNSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgRml4IGZhY3RvcnkgaW5mb3JtYXRpb24gZm9yIGgyNjRwYXJzZSwgYWRkIG1pc3NpbmcgVmlkZW8KCjIwMDktMDktMTEgMTQ6Mzg6NDYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBGaXggYW4gb2ZmLWJ5LTggYnVnIGluIHBhcnNpbmcgdGhlIEFJRkYgZGF0YSBzaXplLgoJICBUaGlzIGxlZCB0byBvdmVycmVhZGluZyBieSA4IGJ5dGVzLCBnaXZpbmcgYW4gYXVkaWJsZSBnbGl0Y2ggYXQgdGhlIGVuZCBvZgoJICBhIGZpbGUgKGV4Y2VwdCB3aGVuIHRoZSBmaWxlIGRpZG4ndCBoYXZlIGEgdHJhaWxpbmcgY2h1bmsgb2Ygc29tZSBzb3J0KS4KCjIwMDktMDktMDggMjA6NTI6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBVc2UgR1NUX1RJTUVfRk9STUFUIGluIGRlYnVnIHN0YXRlbWVudC4KCjIwMDktMDktMDggMDk6MjA6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBSZXNldCBzdHJlYW0tPmxhc3RfdGltZSB3aGVuIGZsdXNoaW5nLgoJICBUaGlzIGZpeGVzIG5haXZlIHNlZWtpbmcgYSB0aW55IGJpdCAoYnkgYmFzaWNhbGx5IGhpbnRpbmcgYXQgX2RhdGFfY2IKCSAgdGhhdCBpdCBzaG91bGRuJ3QgZXhwZWN0IHRoZSBpbmNvbWluZyBidWZmZXJzIHRvIGJlIHRoZSBvbmVzIGp1c3QgYWZ0ZXIKCSAgdGhlIHByZXZpb3VzIG9uZXMpLgoJICBXaXRob3V0IHRoaXMsIHNlZWtpbmcgYnkgbW9yZSB0aGFuIDEwbWlucyBmb3J3YXJkIHdvdWxkIGp1c3QgZW5kIHVwIGluIGFuCgkgIGVuZGxlc3MgbG9vcC4KCjIwMDktMDktMDggMDk6MTg6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBTcHJpbmtsZSBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MuCgoyMDA5LTA5LTEwIDEyOjEyOjI2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogV2hlbiB3cml0aW5nIGlkM3YyLjMsIGRvIG5vdCB1c2UgVVRGLTguCgkgIFVURi04IGlzIG9ubHkgcGVybWl0dGVkIGluIHYyLjQuIFNvIGluc3RlYWQgdXNlIElTTy04ODU5LTEgZm9yIGFzY2lpLW9ubHkKCSAgc3RyaW5ncywgYW5kIFVURjE2IG90aGVyd2lzZS4gQWxzbywgZG8gbm90IG51bGwgdGVybWluYXRlIHN0cmluZ3MgaW4gdGV4dAoJICBmcmFtZXMsIGV4Y2VwdCB3aGVyZSByZXF1aXJlZC4gVGhlc2UgdHdvIGFsbG93IHdpbmRvd3MgbWVkaWEgcGxheWVyIHRvIHBsYXkKCSAgKGFuZCBjb3JyZWN0bHkgcmVhZCB0YWdzKSBmaWxlcyBjcmVhdGVkIGJ5IGlkM211eC4KCjIwMDktMDctMjMgMTY6MTM6MjggLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBjb21wbGV0ZSBpbWEgYWRwY20gc3VwcG9ydC4KCjIwMDktMDctMjMgMTE6NTk6MzkgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBjaGVja3BvaW50IGZvciBpbmNvbXBsZXRlIElNQSBBRFBDTSBzdXBwb3J0LgoKMjAwOS0wOS0xMCAxMjowMjoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICB2aWRlb21lYXN1cmU6IEZpeCBmb3JtYXQgc3RyaW5ncyBhbmQgaW5jbHVkZSBjb3JyZWN0IGkxOG4gaGVhZGVyCgoyMDA5LTA5LTEwIDExOjU4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmg6CgkgIHZpZGVvbWVhc3VyZTogRml4IGluZGVudGlvbiwgbGluZSBlbmRpbmdzIGFuZCB1c2UgTFJOJ3MgcmVhbCBuYW1lCgoyMDA5LTA5LTA5IDE5OjE0OjI3ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uaDoKCSAgdmlkZW9tZWFzdXJlOiBJbml0aWFsIHZlcnNpb24gb2YgdmlkZW9tZWFzdXJlIHBsdWdpbgoJICBUaGlzIHBsdWdpbiBjb250YWlucyBlbGVtZW50cyBmb3IgY2FsY3VsYXRpbmcgbWV0cmljcyBvZiB2aWRlbyBzdHJlYW1zLCBpbnRlbmRlZCBmb3Igb2JqZWN0aXZlIHZpZGVvIGNvZGVjIGNvbXBhcmlzb24uCgkgIEF0IHRoZSBtb21lbnQgb25seSBTU0lNIG1ldHJpYyBpcyBpbXBsZW1lbnRlZCAod2h5IHdvdWxkIHlvdSBuZWVkIGFueXRoaW5nIGVsc2UgYW55d2F5PykuCgkgIEFsc28gY29udGFpbnMgYSBoZWxwZXIgdmlkZW9tZWFzdXJlX2NvbGxlY3RvciBlbGVtZW50IHRoYXQgY29sbGVjdHMgbWVhc3VyZW1lbnQgZXZlbnRzIGFuZCBvdXRwdXRzIHRoZW0gaW50byBhIGZpbGUgKHRvIGJlIHVzZWQgd2l0aCBnc3QtbGF1bmNoKS4KCSAgT3RoZXIgbWV0cmljcyBtYXkgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIGZ1dHVyZSBhbG9uZyB3aXRoIGEgYmFzZSBjbGFzcyBmb3IgYWxsIG1lYXN1cmVycy4KCSAgRml4ZXMgYnVnICM1OTQzMjEuCgoyMDA5LTA5LTEwIDA4OjU0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcG5tOiBNYXJrIFBOTSBwbHVnaW4gYXMgZXhwZXJpbWVudGFsIGJlY2F1c2UgaXQgZG9lc24ndCB3b3JrIHdlbGwgeWV0CgoyMDA5LTA5LTEwIDA4OjUzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkgIHBubWRlYzogUGFydGlhbGx5IGZpeCBuZWdvdGlhdGlvbiBpc3N1ZXMgYW5kIHJlZmNvdW50IGxlYWtzCgoyMDA5LTA5LTEwIDA4OjQ4OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubWVuYzogRml4IG5lZ290aWF0aW9uIGlzc3VlcyBhbmQgcmVmY291bnQgbGVha3MKCjIwMDktMDktMTAgMDg6Mjk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSAgcG5tOiBGaXggdHlwZWZpbmRlciBjYXBzCgoyMDA5LTA5LTEwIDA4OjIzOjIyICswMjAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmg6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5oOgoJICBwbm06IEFkZCBQTk0gZW5jb2RlciBhbmQgZGVjb2RlciBlbGVtZW50cwoJICBGaXhlcyBidWcgIzE2NDg3MC4KCjIwMDktMDktMTAgMDc6NTY6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSAgc2lnbmFscHJvY2Vzc29yOiBGaXggdmFyaW91cyBidWlsZC9kaXN0IGlzc3VlcwoJICBJbnN0YWxsIHRoZSBoZWFkZXJzLCB2ZXJzaW9uIHRoZSBsaWJyYXJ5IHdpdGggQEdTVF9NQUpPUk1JTk9SQCwKCSAgYWRkIGFsbCByZXF1aXJlZCBsaWJyYXJpZXMgdG8gX0xJQkFERCBpbnN0ZWFkIG9mIF9MREZMQUdTLAoJICBhbmQgYWRkIEdTVF8qX0xERkxBR1MgdG8gX0xERkxBR1MuCgkgIEZpeGVzIGJ1ZyAjNTk0NzE1LgoKMjAwOS0wOS0wOSAxNDozNDowMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3ZpZGVvc3JjOiBjYWNoZSBkZXZpY2UgY2FwcwoKMjAwOS0wOS0wOSAxMjo0MToxNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiB3aW4zMi92czkvbGliZ3N0ZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3d2aWRlb3NyYzogdXNlIElFbnVtTWVkaWFUeXBlcyB3aGVuIElBTVN0cmVhbUNvbmZpZyBpcyBub3QgdXNhYmxlCgkgIEZvciBzb21lIGRldmljZSBkcml2ZXJzIElBTVN0cmVhbUNvbmZpZyBpcyBub3Qgc3VwcG9ydGVkLgoJICBCdXQgRW51bU1lZGlhdHlwZXMgZG9lcyBub3QgcHJvdmlkZSByYW5nZSBzaXplIGFuZCBmcmFtZXJhdGUuCgoyMDA5LTA5LTA2IDExOjUwOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkgIGZhYWM6IGFkZCB1bml0IHRlc3QKCjIwMDktMDktMDggMjI6MjQ6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBhZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzIGZvciBkaXNjcmVwYW5jeSBjYXNlcyBhbmQgcGx1ZyBtZW1sZWFrCgoyMDA5LTA5LTA2IDExOjQ5OjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogc3ByaW5rbGUgc29tZSBtb3JlIEdfKFVOKUxJS0VMWQoKMjAwOS0wOS0wNiAxMTo0NDoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGVuZm9yY2Ugc3luYyBiZXR3ZWVuIHdyYXBwZXIgdmlldyBvZiBkYXRhIGFuZCBlbmNvZGVyIHJldHVybmVkIGRhdGEKCjIwMDktMDktMDUgMjE6MzU6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZmFhYyB0byBkb2N1bWVudGF0aW9uCgoyMDA5LTA5LTA1IDIxOjM1OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogYWRkIHNvbWUgZG9jdW1lbnRhdGlvbgoKMjAwOS0wOC0zMSAxOTozMTo1NyArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBtYWtlIEdTVF9GT1JNQVRfVElNRSB0aGUgZGVmYXVsdCBzZWdtZW50IGZvcm1hdAoKMjAwOS0wOC0zMSAxOTozMzo1MCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgRml4ZXMgYnVnICM1OTQyNzguCgoyMDA5LTA5LTA4IDE1OjE2OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCB1c2FnZSBvZiBfX2Fsd2F5c19pbmxpbmVfXyBhdHRyaWJ1dGUKCSAgVGhpcyBhdHRyaWJ1dGUgY2FuJ3QgYmUgdXNlZCBmb3IgZnVuY3Rpb24gZGVjbGFyYXRpb25zIGJlY2F1c2UKCSAgaXQgbmVlZHMgdGhlIGZ1bmN0aW9uIGJvZHkuIEluc3RlYWQgb2YgYSBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mCgkgIGZ1bmN0aW9ucywgbW92ZSB0aGUgZnVuY3Rpb24gaXRzZWxmIGFib3ZlIGl0J3MgZmlyc3QgdXNlLgoJICBGaXhlcyBidWcgIzU5NDQ4OSBhbmQgY29tcGlsYXRpb24gd2l0aCBnY2MgNC4zIGFuZCBlYXJsaWVyLgoKMjAwOS0wOS0wNyAxNzozMzoxNSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCBjb21waWxhdGlvbiB3aXRoIGxpYmFzcyA9IDAuOS42CgkgIEZpeGVzIGJ1ZyAjNTk0MzgyLgoKMjAwOS0wOS0wNyAxOTowODowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGZpeCBhc3BlY3QtcmF0aW8gcGFyc2luZyBpbiBWTwoKMjAwOS0wOS0wNyAxNjoyMDoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGFsc28gY29uc2lkZXIgdXNlcl9kYXRhIHBpZWNlcyB3aGVuIHBhcnNpbmcgVk8oUykKCjIwMDktMDktMDcgMTY6NDQ6NTIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiB3aW4zMi92czkvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM5L2xpYmdzdGRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93c3Jjd3JhcHBlcjogYWRkIHN1cHBvcnQgYm90aCBVbmljb2RlIGFuZCBNQkNTCgoyMDA5LTA5LTA3IDE1OjQ0OjE2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSogd2luMzIvdnM5L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOS9saWJnc3Rkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd3NyY3dyYXBwZXI6IHVwZ3JhZGUgZnJvemVuIGJ1aWxkIHRvIHZzOQoKMjAwOS0wOS0wNyAxNToyMToyOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogaW5kZW50IGRzaG93c3Jjd3JhcHBlci5jcHAKCjIwMDktMDktMDcgMTU6MTI6NTUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJICBSZXZlcnQgImRzaG93c3Jjd3JhcHBlcjogcmVtb3ZlIHVudXNlZCBleHRlcm4gQyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkM2M4OGQ2MzdkN2U3ZDYwZjE0MzdjY2QzZGZjMjNiMzdlMmEzMjBlLgoJICBSZXZlcnRpbmcgdGhpcyBzaW5jZSB0aGUgZW50cnkgcG9pbnQgaXNuJ3QgZm91bmQgYmVjYXVzZSBvZgoJICBDKysgYnVpbGQuCgoyMDA5LTA5LTA3IDEwOjU5OjUzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93c3Jjd3JhcHBlcjogaW5kZW50CgoyMDA5LTA5LTA3IDEwOjUxOjI4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGNvbnZlcnQgbGluZSBlbmRlZCBjaGFyYWN0ZXJzIHRvIExGCgoyMDA5LTA5LTA3IDEwOjM4OjM5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiByZW1vdmUgdW51c2VkIGV4dGVybiBDCgoyMDA5LTA5LTA3IDEwOjMxOjU0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IGdvIGJhY2sgdG8gcHJldmlvdXMgbW9kZQoKMjAwOS0wOS0wNSAxMDoyMjo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAwYTg1OWUgdG8gMTlmYTRmMwoKMjAwOS0wOS0wNCAxOToxNzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpL3RpbWlkaXR5OiBBZGQgYXVkaW8vcmlmZi1taWRpIHRvIHRoZSBzcmMgcGFkIHRlbXBsYXRlIGNhcHMKCjIwMDktMDktMDQgMTc6MzI6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIHNpcmVuOiBmaXggc2V0dGluZyBjYXBzIG9uIHRoZSBvdXRwdXQgcGFkCgkgIEFsc28gc2V0IHRoZSBjYXBzIG9uIHRoZSBvdXRwdXQgcGFkIHdoZW4gdGhlIGlucHV0IGJ1ZmZlcnMgZG9uJ3QgaGF2ZSBjYXBzLgoKMjAwOS0wOS0wNCAxNzoyNzo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgd2lsZG1pZGk6IGNsZWFudXBzIGFuZCBmaXggc2Vla2luZwoJICBSZW1vdmUgdGltZV9wZXJfZnJhbWUsIGl0J3MgdG9vIGluYWNjdXJhdGUuCgkgIEZpeCBjb252ZXJ0IGZvciAtMSB2YWx1ZXMuCgkgIFVzZSBzY2FsaW5nIHRvIGNvbnZlcnQgc2FtcGxlcyB0byB0aW1lLgoJICBGaXggc2VnbWVudCBoYW5kbGluZy4KCSAgRml4IHNlZWtpbmcuCgkgIEZpeCBidWZmZXIgY2xpcHBpbmcgKG5vdCB5ZXQgZW5hYmxlZCkKCSAgUHJvdGVjdCB0aGUgV2lsZE1pZGkgbGlicmFyeSB3aXRoIHRoZSBvYmplY3QgbG9jayB0byBhdm9pZCByYWNlcyB3aGVuIGNoYW5naW5nCgkgIHByb3BlcnRpZXMuCgkgIEZpeCBvZmZzZXRzIG9uIG91dHB1dCBidWZmZXJzLCBmb3IgcmF3IGF1ZGlvIHRoZSBvZmZzZXQgY29udGFpbnMgdGhlIHNhbXBsZQoJICBwb3NpdGlvbiBub3QgYnl0ZSBwb3NpdGlvbi4KCSAgQWRkIGJldHRlciBESVNDT05UIGhhbmRsaW5nLgoJICBGaXhlcyAjNTE5MDAxCgoyMDA5LTA5LTA0IDE2OjI5OjUzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93dmlkZW9zcmM6IG1vdmUgVklERU9fU1RSRUFNX0NPTkZJR19DQVBTIHRvIEdzdENhcHR1cmVQaW5NZWRpYVR5cGUKCjIwMDktMDktMDQgMTQ6MTE6MzMgKzAxMDAgIGNocmlzdGlhbiBzY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly91cmFldXNAZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAwOS0wOS0wNCAxNDoxMDo1NSArMDEwMCAgY2hyaXN0aWFuIHNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUKCjIwMDktMDktMDQgMTM6MTM6MzkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIG5lb25odHRwc3JjOiBoYW5kbGUgYWxsIHJlZGlyZWN0aW9uIGh0dHAgc3RhdHVzIGNvZGVzCgoyMDA5LTA5LTA0IDEyOjUzOjM2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogaW4gc2Vla2luZyB1c2UgYSBmYWN0b3IgZm9yIFNDUiBpbnRlcnBvbGF0aW9uCgkgIEZpeGVzIHNlZWtpbmcgb24gY2xpcHMgd2hlcmUgUFRTIGFyZSB1bmFsaWduZGVkIHdpdGggU0NSLgoKMjAwOS0wOS0wNCAxMjo0MDo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSAgc2lyZW5kZWM6IHJld3JpdGUgc2lyZW5kZWMKCSAgQWRkIHNldGNhcHMgYW5kIGV2ZW50IGZ1bmN0aW9ucy4KCSAgQWRkIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMgdG8gY2xlYW4gdmFyaWFibGVzLgoJICBVc2UgYWRhcHRlci4KCSAgQWRkIHRpbWVzdGFtcHMgYW5kIGR1cmF0aW9uIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIEFkZCBESVNDT05UIGhhbmRsaW5nLgoKMjAwOS0wOS0wNCAxMjo0MDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBzaXJlbmVuYzogY2xlYW51cHMKCjIwMDktMDktMDQgMTI6MzU6MzEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IHNldCBzcGVjaWZpYyBjYXBzIGZvciBscGNtIGluIHByaXZhdGUgc3RyZWFtCgkgIEluIHRoZSBjbGlwcyB0aGF0IEkndmUgZm91bmQgdGhvc2Ugc3RyZWFtcywgdGhlIGxwY20gaGVhZGVyIGlzCgkgIGRpZmZlcmVudCB0aGFuIHRoZSBEVkQgY2FzZS4KCSAgVGhlbiB0aGUgZGVjb2RlciBuZWVkIHRvIGtub3cgdGhpcyBpbiBvcmRlciB0byBiZSBhYmxlIHBhcnNlIGl0LgoKMjAwOS0wOS0wNCAxMjozMDoxOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBhZGRlZCBhdXRvZGV0ZWN0IG9mIHBhY2tldCBzaXplIGFuZCByZW1vdmVkIG0ydHMgbW9kZSBwcm9wZXJ0eQoKMjAwOS0wOS0wNCAxMjowODo0NSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vY2FwQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMDktMDktMDQgMTI6MDg6MDIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93dmlkZW9zcmM6IG1vdmUgZGVmYXVsdCB2aWRlbyBjYXBzIGludG8gR3N0Q2FwdHVyZVBpbk1lZGlhVHlwZQoKMjAwOS0wOS0wNCAxMjowMjoxOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IHNvbWUgbW9yZSBoYW5kbGluZyBvZiBWQzEgYW5kIEVBQzMKCSAgSWYgdGhlIFBNVCBoYXZlIHRoZSByZWdpc3RlciBkZXNjcmlwdG9yIEhETVYgYXNzdW1lIEVBQzMKCSAgRm9yIFZDMSBtYWtlIHRoZSBjb2RlIG1vcmUgYWxpZ25lZCB0byBSUDIyNy4KCjIwMDktMDctMTYgMTA6MDY6MzYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIFRyeSB0byBmaXQgc3VidGl0bGVzIHdpdGhpbiB0aGUgdmlkZW8gZnJhbWUgd2hlbiB0aGV5J3JlIHRvbyBsYXJnZQoKMjAwOS0wOS0wMSAyMTozMDozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgcGNhcHBhcnNlOiBTZXQgdGhlIEdTdHJlYW1lciB0aW1lc3RhbXAgYWNjb3JkaW5nIHRvIHRoZSBwY2FwIHRpbWVzdGFtcHMKCjIwMDktMDktMDMgMTk6MDQ6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIHNpcmVuZW5jOiBmaXggZXZlbnRzIGFuZCBjYXBzCgkgIEFkZCBhbiBldmVudCBmdW5jdGlvbiB0aGF0IGNsZWFycyB0aGUgYWRhcHRlci4KCSAgQWRkIGEgc2V0Y2FwcyBmdW5jdGlvbiB0byBjb25maWd1cmUgY2FwcyBvbiB0aGUgc3JjcGFkLiBSZW1vdmUgdGhlIGluc3RhbmNlCgkgIHZhcmlhYmxlIGZvciB0aGUgY2Fwcy4KCjIwMDktMDktMDMgMTg6NDM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIHNpcmVuZW5jOiBmaXggdGltZXN0YW1waW5nCgkgIEhhbmRsZSBESVNDT05UIGFuZCByZXNldCBhZGFwdGVyLgoJICBjb2RlIGNsZWFudXBzLgoJICBQdXQgdGltZXN0YW1wcyBhbmQgZGlzY29udCBmbGFncyBvbiBvdXRwdXQgYnVmZmVycy4KCSAgRml4IGVycm9yIGhhbmRsaW5nLgoJICBSZW1vdmUgYm9ndXMgb2JqZWN0IGxvY2tzLCBpdCdzIGFsbCBwcm90ZWN0ZWQgYnkgdGhlIFNUUkVBTV9MT0NLLgoKMjAwOS0wOS0wMyAxNzo0OTo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3d2aWRlb3NyYzogZmFjdG9yaXplIGRzaG93IGZvcm1hdCB0byBnc3QgY2FwcyBjb252ZXJzaW9uCgoyMDA5LTA5LTAzIDE3OjIwOjQ3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkgIGRzaG93c3Jjd3JhcHBlcjogcmVtb3ZlIGNwbHVzcGx1cyBjb25kaXRpb24KCjIwMDktMDktMDMgMTc6MTI6MjYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93dmlkZW9zcmM6IGZhY3Rvcml6ZSBkc2hvdyB2aWRlbyBmb3JtYXQgcGFyc2luZwoKMjAwOS0wOS0wMyAxNTo0NTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBJZiBzdHJlYW0gdHlwZSBpcyBBQzMgYW5kIG5vIEVBQzMgZGVzY3JpcHRvciBpcyBmb3VuZCBhc3N1bWUgQUMzCgoyMDA5LTA5LTAzIDE1OjQwOjE0ICswMjAwICBKb3NlcCBUb3JyYSA8am9zZXBAZmx1ZW5kby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEltcGxlbWVudCBFQUMzIGhhbmRsaW5nIGFjY29yZGluZyBzb21lIEFUU0Mgc3BlY3MuCgkgIEZpeGVzIGJ1ZyAjNTk0MDMwLgoKMjAwOS0wOS0wMyAwMDoyODoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC94ZGdtaW1lL01ha2VmaWxlLmFtOgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IG1vdmUgeGRnIHR5cGVmaW5kZXIgdG8gdGhlIG90aGVyIHR5cGVmaW5kZXJzIGluIC1iYXNlCgkgIFJlbW92ZSB0aGUgeGRnbWltZSBwbHVnaW4gd2hpY2ggbm93IGJhcmVseSBjb250YWlucyBhbnkgY29kZSBhdCBhbGwKCSAgYW5kIG1vdmUgdGhlIGZ1bmN0aW9uYWxpdHkgaW50byBnc3QtcGx1Z2lucy1iYXNlIG5leHQgdG8gdGhlIG90aGVyCgkgIHR5cGVmaW5kZXJzLgoKMjAwOS0wOS0wMiAxMzozNTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVnc211eCwgbXBlZ3BzbXV4OiBmaXggdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcgd2l0aCB0aGUgZGVidWdnaW5nIHN5c3RlbSBpbiBjb3JlIGRpc2FibGVkCgoyMDA5LTA5LTAxIDEyOjQxOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFN0cmVhbSB0eXBlIDB4ODEgaXMgbm9ybWFsIEFDMywgbm90IEVBQzMKCSAgTm90IHN1cmUgd2hhdCB0aGUgc3RyZWFtIHR5cGUgZm9yIEVBQzMgaXMgdGhvdWdoLgoJICBGaXhlcyBidWcgIzU5MzA1OS4KCjIwMDktMDgtMzAgMjM6MDc6MzAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiByZWZhY3RvciBzbGlnaHRseSBhbmQgcmVtb3ZlIHN1cGVyZmx1b3VzIGNvZGUKCjIwMDktMDgtMzAgMjM6MDY6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmcmVzaGVuIHVwIGNhcHMgbmVnb3RpYXRpb24KCSAgUGVyZm9ybSBzaW5rIGFuZCBzcmMgY2FwcyBuZWdvdGlhdGlvbiBkdXJpbmcgY2FwcyBuZWdvdGF0aW9uLAoJICBhbmQgYWxzbyBjYXRlciBmb3IgcmUtbmVnb3RpYXRpb24uCgoyMDA5LTA4LTMwIDIzOjAwOjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiByZXdyaXRlIGRhdGEgY2FjaGluZyBhbmQgdGltZXN0YW1wIGhhbmRsaW5nCgkgIEFsc28gZml4ZXMgIzU5MzM0OC4KCjIwMDktMDgtMzEgMTg6NTU6NTIgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEEgbGl0dGxlIGNsZWFuIHVwLgoJICBSZW9yZGVyIHRoZSBsaXN0IG9mIEFNX0NPTkRJVElPTkFMKClzIHVzZWQgd2hlbiAtLWRpc2FibGUtZXh0ZXJuYWwgaXMKCSAgc3BlY2lmaWVkIHRvIG1hdGNoIHRoZSBhY3R1YWwgb3JkZXIgb2YgdGhlIHBsdWctaW5zIGVhcmxpZXIgaW4gdGhlIGZpbGUuCgoyMDA5LTA4LTMxIDE4OjQ5OjE2ICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBbGxvdyAtLWRpc2FibGUtZXh0ZXJuYWwgdG8gYmUgc3BlY2lmaWVkIGFnYWluLgoKMjAwOS0wOC0zMSAxODo0Nzo0NCArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWxsb3cgLS1kaXNhYmxlLWthdGUgdG8gYWN0dWFsbHkgYmUgc3BlY2lmaWVkLgoKMjAwOS0wOC0zMSAxODo0MTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogY2xlYW51cCBlcnJvciBoYW5kbGVyCgoyMDA5LTA4LTMxIDE4OjM0OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBmcmVlIHRoZSBhZGFwdGVyCgoyMDA5LTA4LTMxIDE4OjMyOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBjbGVhbnVwcwoKMjAwOS0wOC0zMSAxODoyMTozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogYWxsb3cgZm9yIHB1c2ggbW9kZSBvcGVyYXRpb24KCSAgRml4ZXMgIzU4NjkyOQoKMjAwOS0wOC0zMSAxODoyMDowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgd2lsZG1pZGk6IHVzZSBzdGF0ZSBtYWNoaW5lCgkgIFVzZSBhIHN0YXRlIG1hY2hpbmUgdG8ga2VlcCB0cmFjayBvZiB0aGUgY3VycmVudCBzdGF0ZS4KCSAgQWRkIGNoYWluIGZ1bmN0aW9uIGFuZCBldmVudCBmdW5jdGlvbiBvbiB0aGUgc2lua3BhZC4KCSAgUmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCgoyMDA5LTA4LTMxIDE3OjM4OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiByZW1vdmUgdXNlbGVzcyBmdW5jdGlvbiBjYWxscwoKMjAwOS0wOC0zMSAxNzozMzozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgd2lsZG1pZGk6IHNldCBjYXBzIG9uIHBhZAoJICBTZXQgdGhlIGNhcHMgb24gdGhlIHBhZCBhbmQgdXNlIHRob3NlIGNhcHMgaW5zdGVhZCBvZiBrZWVwaW5nIGEgc2VwYXJhdGUgY2FwcwoJICBwb2ludGVyIGFyb3VuZC4KCSAgRml4IHNvbWUgd2hpdGVzcGFjZS4KCjIwMDktMDgtMzEgMTc6Mjc6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGZpeCB3aGl0ZXNwYWNlCgoyMDA5LTA4LTMxIDE2OjA3OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJICBrYXRlOiBmaXggdHlwbyBpbiBNYWtlZmlsZS5hbQoJICBHU1RfUExVR0lOX0JBU0VfTElCUyBzaG91bGQgYmUgR1NUX1BMVUdJTlNfQkFTRV9MSUJTLiBGaXhlcyAjNTkzNjgzLgoKMjAwOS0wOC0zMSAxMzozMToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcyBmb3IgZ2l0IHZlcnNpb24KCjIwMDktMDgtMzEgMTM6MTQ6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgR3N0QWRhcHRlciBpcyBub3QgYSBHc3RPYmplY3QgYW5kIHNob3VsZCBiZSBmcmVlZCB3aXRoIGdfb2JqZWN0X3VucmVmKCkKCjIwMDktMDgtMzEgMTM6MDA6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiB1c2UgYW4gb2xkLWZhc2hpb25lZCBhcnJheSBpbnN0ZWFkIG9mIEdQdHJBcnJheSBmb3IgbXV4LT5wcm9ncmFtcwoJICBVc2luZyBHUHRyQXJyYXkgZm9yIGEgZml4ZWQtc2l6ZWQgYXJyYXkgaXMgYSBiaXQgcG9pbnRsZXNzIGFuZCBtYWtlcwoJICBmb3IgdWdseSBjb2RlLgoKMjAwOS0wOC0zMSAxMDo0ODozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9hYWMuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfYWFjLmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfaDI2NC5oOgoJICBtcGVncHNtdXg6IEFkZCBtaXNzaW5nIGZpbGVzIHRvIGZpeCBjb21waWxhdGlvbgoJICBGaXhlcyBidWcgIzU5MzYyNS4KCjIwMDktMDgtMTAgMDE6MTQ6MTkgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZXhhbXBsZXMvbXB0c190ZXN0Mi5jOgoJICBtcGVndHNtdXg6IFRlc3QgcHJvZ3JhbSBvZiBtcHRzIHN1cHBvcnQgaXMgYWRkZWQKCjIwMDktMDctMjIgMjA6Mjc6MzYgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBNaW5vciBmaXhlcwoKMjAwOS0wNy0yMiAyMDoyNTo0MiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IG11eC0+cHJvZ3JhbXM6IHVzZSBHUHJ0QXJyYXkgaW5zdGVhZCBvZiBHQXJyYXkKCjIwMDktMDctMTEgMTk6Mjk6NTMgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBtcGVndHNtdXhfY29sbGVjdGVkKCk6IGNhbGN1bGF0ZSBQQ1IgZm9yIHByb2dyYW1zCgoyMDA5LTA3LTExIDE5OjE1OjEyICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogbXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW1zKCk6IGNyZWF0ZSBtdWx0aSBzdHJlYW1zCgoyMDA5LTA3LTExIDE5OjEzOjIzICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogTXBldFRzUGFkRGF0YTogYWRkIHByb2dfaWQgYW5kIHJlZiB0byBpdHMgcHJvZ3JhbQoKMjAwOS0wNy0xMSAxOTowOToxNyArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IEV4dGVuZCBtdXgtPnByb2dyYW0gdG8gYSBHQXJyYXkgcHJvZ3JhbXMKCjIwMDktMDctMTEgMTc6NDQ6NTQgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBBZGQgbmV3IHByb3BlcnR5IHByb2ctbWFwIHRvIHRoZSBtdXhlcgoKMjAwOS0wOC0xOCAxMjoxNDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZyZWUgdGhlIFBQUyBidWZmZXJzIHRvbwoKMjAwOS0wOC0xNyAxODowMzowMCArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNvbXB1dGUgdGltZXN0YW1wCgoyMDA5LTA4LTE3IDE3OjU4OjQ2ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVjb2duaXplIG1vcmUgdHlwZXMgb2YgTkFMCgkgIEFsc28gcmVjb2duaXplcyBOQUxzIGNhcnJ5aW5nIFZDTCAoaS5lLiB2aXNpYmxlIHBpY3R1cmVzKS4gV2UKCSAgdHlwaWNhbGx5IG9ubHkgY29tcHV0ZSB0aW1lc3RhbXBzIGZvciBzdWNoIE5BTHMKCjIwMDktMDgtMTcgMTc6NTY6MjYgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBwYXJzZXIgaW5pdCAmIGZpbmFsaXplCgoyMDA5LTA4LTE3IDE3OjUzOjQzICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjb2RlIHNsaWNlIGhlYWRlcgoKMjAwOS0wOC0xNyAxNzo1MzoxMSArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY29kZSBTRUkKCjIwMDktMDgtMTcgMTc6NTI6NDcgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNvZGUgU0VJOiBwaWN0dXJlIHRpbWluZyBpbmZvCgoyMDA5LTA4LTE3IDE3OjUyOjEyICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjb2RlIFNFSTogYnVmZmVyaW5nIHBlcmlvZAoKMjAwOS0wOC0xNyAxNzo1MTozNiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY29kZSBQUFMKCjIwMDktMDgtMTcgMTc6NTE6MTAgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNvZGUgU1BTCgoyMDA5LTA4LTE3IDE3OjUwOjMzICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogU1BTOiBkZWNvZGUgdnVpIHBhcmFtcwoKMjAwOS0wOC0xNyAxNzo1MDowMiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFNQUzogZGVjb2RlIGhyZCBwYXJhbXMKCjIwMDktMDgtMTcgMTc6NDQ6MzggKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBTdGFydCBzbGljZSBoZWFkZXIgcGFyc2luZyB3b3JrCgoyMDA5LTA4LTE3IDE3OjQzOjUxICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogU3RhcnQgU0VJIHBhcnNpbmcgd29yawoKMjAwOS0wOC0xNyAxNzo0MjowNiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFN0YXJ0IFBQUyBwYXJzaW5nIHdvcmsKCjIwMDktMDgtMTcgMTc6Mzg6NTkgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBTdGFydCBTUFMgcGFyc2luZyB3b3JrCgoyMDA5LTA4LTExIDEyOjAwOjEwICswMjAwICBMaW4gWWFuZyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWdwc211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdwc211eC9iaXRzLmg6CgkqIGdzdC9tcGVncHNtdXgvY3JjLmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5oOgoJICBtcGVncHNtdXg6IEFkZCBNUEVHIFBTIG11eGVyCgoyMDA5LTA4LTEzIDE2OjQ1OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvcnN2Zy9NYWtlZmlsZS5hbToKCSogZXh0L3JzdmcvZ3N0cnN2Zy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSAgcnN2ZzogQWRkIFJTVkcgU1ZHIGRlY29kZXIgcGx1Z2luCgkgIFRoaXMgc3VwcG9ydHMKCSAgLSBkZWNvZGluZyBzaW5nbGUgU1ZHIGltYWdlcyBhbmQgYSBzdHJlYW0gb2YgU1ZHIGltYWdlcyB3aXRoIGEgZ2l2ZW4gZnJhbWVyYXRlCgkgIC0gbG9zc2xlc3Mgc2NhbGluZyBvZiBTVkcgaW1hZ2VzCgkgIC0gQVJHQiBvdXRwdXQKCjIwMDktMDgtMzEgMDk6MTE6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IEZpeCBjb21waWxhdGlvbiB3aXRoIGxpYmFzcyA+PSAwLjkuNyBhbmQgZml4IGFzcGVjdCByYXRpbyBzZXR0aW5nCgkgIEZpeGVzIGJ1ZyAjNTc1MjYxLgoKMjAwOS0wOC0zMCAyMjoyMDo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IFVuY29uZGl0aW9uYWxseSB1c2UgR0xpYiAyLjE2IEFQSQoKMjAwOS0wOC0zMCAyMjoxNzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC94ZGdtaW1lL01ha2VmaWxlLmFtOgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWUuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lYWxpYXMuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lYWxpYXMuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lZ2xvYi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVnbG9iLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWljb24uYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laWNvbi5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpbnQuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laW50Lmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZXBhcmVudC5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVwYXJlbnQuaDoKCSAgeGRnbWltZTogQWx3YXlzIHVzZSBHTGliIGluc3RlYWQgb2YgeGRnbWltZQoJICBOb3cgdGhhdCB3ZSBkZXBlbmQgb24gR0xpYiAyLjE2IHdlIGNhbiBhcyB3ZWxsIHVzZSBpdCdzCgkgIGludGVybmFsIGNvcHkgb2YgdGhlIHhkZ21pbWUgaW5zdGVhZCBvZiBvdXIgb3duLgoKMjAwOS0wOC0zMCAyMjoxMzoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFVuY29uZGl0aW9uYWxseSB1c2UgR0xpYiAyLjE2IEFQSQoKMjAwOS0wOC0xOSAxNzoxODoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgcnNuc3RyZWFtc2VsZWN0b3I6IFVzZSBpdGVyYXRlIGludGVybmFsIGxpbmtzIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBnZXQgaW50ZXJuYWwgbGlua3MKCjIwMDktMDgtMTkgMTc6MDU6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogVXNlIGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgaW5zdGVhZCBvZiBkZXByZWNhdGVkIGdldCBpbnRlcm5hbCBsaW5rcwoKMjAwOS0wOC0zMCAyMzozODo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBoYWNraW5nIC0+IDAuMTAuMTQuMQoKPT09IHJlbGVhc2UgMC4xMC4xNCA9PT0KCjIwMDktMDgtMzAgMDA6MjQ6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBjb21tb246IHVwZGF0ZSBjb21tb24gdG8gYSB2ZXJzaW9uIHRoYXQgaW5jbHVkZXMgYSBmaXhlZCBtYW5nbGUtdG1wbC5weQoJICBXaGljaCBpcyBuZWVkZWQgdG8gYnVpbGQgdGhlIHBsdWdpbiBkb2NzIGZvciB0aGUgZnJlaTByIHBsdWdpbiAoYW5kCgkgIHdhcyBpbmNsdWRlZCBpbiB0aGUgMC4xMC4xNCByZWxlYXNlIHRhcmJhbGwpLgoKMjAwOS0wOC0yOSAxOTozNTozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTQKCjIwMDktMDgtMjkgMTk6MDI6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wOC0yNiAwMToyMToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMy41IHByZS1yZWxlYXNlCgoyMDA5LTA4LTI2IDAxOjE4OjAwICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdGRyYXcsIGRpcmVjdHNvdW5kOiB1bmlmeSBDRkxBR1MgYW5kIGZpeCBjb25maWd1cmUgY2hlY2tzIGZvciBEaXJlY3RYLWJhc2VkIHBsdWdpbnMKCSAgT25lIHNldCBvZiBDRkxBR1MgZm9yIGFsbCBEaXJlY3RYLWJhc2VkIHBsdWdpbnMuIENvcnJlY3QgaGVhZGVyL2xpYnJhcnkKCSAgY2hlY2tzIGZvciBEaXJlY3RYLWJhc2VkLXBsdWdpbnMuIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgYW5kIGxhYmVsIGluCgkgIGRpcmVjdHNvdW5kc3JjLgoJICBGaXhlcyAjNTkzMDY4LgoKMjAwOS0wOC0yNiAwMDoyNjo0MiArMDEwMCAgQXJlayBLb3JiaWsgPGFya2FkaW5pQGdtYWlsLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHNldCByaWdodCBPRkZTRVQgYW5kIE9GRlNFVF9FTkQgb24gaGVhZGVyIGJ1ZmZlcnMgdG8gbWFrZSBvZ2dtdXggaGFwcHkKCSAgV2l0aG91dCB0aGlzIG9nZ211eCB3aWxsIGp1c3Qga2VlcCBidWZmZXJpbmcgb3V0cHV0IHBhZ2VzIGluIHNvbWUgY2FzZXMuCgkgIEZpeGVzICM1OTMwMjQuCgoyMDA5LTA4LTI1IDIzOjQ0OjUwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICByZXNpbmR2ZCwgcmF3cGFyc2U6IGZpeCBMREZMQUdTIGZvciBnc3QtcGx1Z2lucy1iYXNlIGxpYnMKCSAgRml4ZXMgIzU5MzA2My4KCjIwMDktMDgtMjQgMjA6MDY6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTMuNCBwcmUtcmVsZWFzZQoKMjAwOS0wOC0yNCAxODoxNjoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSAgYW1yd2JlbmM6IHVzZSBkaWZmZXJlbnQgZWxlbWVudCBHVHlwZSBuYW1lIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggcHJldmlvdXMgcGx1Z2luCgkgIFVzZSBhIGRpZmZlcmVudCBHVHlwZSBuYW1lIGZvciB0aGUgZWxlbWVudCB0byBhdm9pZCAnY2Fubm90IHJlZ2lzdGVyIGV4aXN0aW5nIHR5cGUnCgkgIHdhcm5pbmdzIHdoZW4gcnVubmluZyAnbWFrZSBjaGVjaycgaW4gdGhlIHVucGFja2VkIHRhcmJhbGwgd2l0aCB0aGUgb2xkIGFtcndiIHBsdWdpbgoJICBhbHNvIGluc3RhbGxlZCBhcyBzeXN0ZW0gcGx1Z2luIHVuZGVyIHRoZSBvbGQgbmFtZSAoaXQgdXNlZCB0byBiZSBjYWxsZWQgJ2FtcndyYicKCSAgYW5kIG5vdyBpdCdzICdhbXJ3YmVuYycpLgoKMjAwOS0wOC0yNCAxNDozNzoyOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IHVzZSBvZiBkZWZhdWx0IGRlYnVnIGNhdGVnb3J5IGFuZCBiZXR0ZXIgZHNob3cgZXJyb3JzIHJlYWRhYmlsaXR5CgoyMDA5LTA4LTIxIDAxOjE3OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJICB0ZXN0czogZml4IHRlc3Qtb3NzNCB0byB0cmVhdCBhbiBlbXB0eSBkZXZpY2UgbmFtZSB0aGUgc2FtZSBhcyBhIE5VTEwgbmFtZQoKMjAwOS0wOC0xOCAxNTo0ODowOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFdyaXRlIEZPVVJDQyBhcyAzMmJpdAoKMjAwOS0wOC0xNSAxNzo1NDo1MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBSRVFVSVJFTUVOVFM6CgkgIHJlbW92ZSBhIGJ1bmNoIG9mIGp1bmsgZnJvbSBSRVFVSVJFTUVOVFMKCjIwMDktMDgtMTQgMjA6MjA6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTMuMyBwcmUtcmVsZWFzZQoKMjAwOS0wOC0xNCAxNDoxMDoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZGlzYWJsZSBhc3MgcGx1Z2luIGZvciBsaWJhc3MgPj0gMC45LjcgYmVjYXVzZSBvZiBBUEkgY2hhbmdlcwoJICBTZWUgIzU3NTI2MS4KCjIwMDktMDgtMTIgMTg6MzM6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSAgYXNmbXV4OiBEbyBub3QgbWVzcyB1cCBHc3RDb2xsZWN0RGF0YSBsaXN0CgkgIGFzZm11eCB3YXMgbWVzc2luZyB1cCB3aXRoIHRoZSBHc3RDb2xsZWN0RGF0YSBsaXN0IG9mIGl0cwoJICBHc3RDb2xsZWN0UGFkcyB3aGVuIHNvcnRpbmcgdGhlIGxpc3QgaW5wbGFjZS4gVGhpcyBwYXRjaCBtYWtlcwoJICBpdCBjb3B5IHRoZSBsaXN0IGJlZm9yZSBzb3J0aW5nIGl0LCBsZWF2aW5nIHRoZSBHc3RDb2xsZWN0UGFkcwoJICBsaXN0IGFzIGlzLiBGaXhlcyAjNTkxNjEwCgoyMDA5LTA4LTEyIDEyOjIzOjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBVU0UgR1NUX1dSSVRFXypfTEUgbWFjcm9zCgoyMDA5LTA4LTEyIDEyOjIxOjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBSZWZ1c2UgdG8gZ28gcGxheWluZyBpbiBwYXVzZWQtbW9kZSB3aXRob3V0IGNsb2NrCgkgIE9ubHkgdHJ5IHRvIHVzZSB0aGUgY2xvY2sgaW4gaWYgcGF1c2VkLW1vZGUgaXMgc2V0IGFuZCByZWZ1c2UgdG8gZ28gcGxheWluZwoJICBpbiBwYXVzZWQtbW9kZSB3aXRob3V0IGl0LgoJICBGaXhlcyBidWcgIzU5MTUzOAoKMjAwOS0wOC0xMSAxNjo0Mjo1MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBFbXB0eSBldmVudCBxdWV1ZSBvbiBmaW5hbGl6ZQoKMjAwOS0wOC0xMSAxNjozOTo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFVzZSBHU2xpY2UgZm9yIGludGVybmFsIGV2ZW50IHN0cnVjdHVyZXMKCjIwMDktMDgtMTEgMTY6MjM6MjAgLTA0MDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBDbGVhbnVwIGV2ZW50cyBvbiBmaW5hbGl6ZQoJICBQcm9ibGVtIGZvdW5kIGJ5IExhdXJlbnQgR2xheWFsCgkgIEZpeGVzIGJ1ZyAjNTkxNDQwCgoyMDA5LTA4LTExIDE2OjIzOjIwIC0wNDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogQ2xlYW51cCBldmVudHMgb24gZmluYWxpemUKCSAgUHJvYmxlbSBmb3VuZCBieSBMYXVyZW50IEdsYXlhbAoJICBGaXhlcyBidWcgIzU5MTQ0MAoKMjAwOS0wOC0xMiAxMDoyODozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBibGFja2xpc3QgZm9yIGdlbmVyaWMgc3RhdGVzIHRlc3QsIGFuZCBkZW1vdGUgdG8gR1NUX1JBTktfTk9ORQoJICBUaGVzZSBlbGVtZW50cyBhcmUgbm90IGZpdCBmb3IgYXV0b3BsdWdnaW5nLCBzbyBkZW1vdGluZyB0byBSQU5LX05PTkUuCgkgIEFsc28gYmxhY2tsaXN0aW5nIGZvciBnZW5lcmljIHN0YXRlcyB0ZXN0LCBzaW5jZSBmaXhpbmcgdGhlc2UgZWxlbWVudHMKCSAgdXAgdG8gZG8gc29tZSBtaW5pbWFsIGVycm9yIGhhbmRsaW5nIHNlZW1zIHRvIGJlIGEgYml0IG1vcmUgd29yay4KCSAgUGFydGlhbGx5IGZpeGVzICM1OTE1MzguCgoyMDA5LTA4LTExIDE4OjAxOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vTElOR1VBUzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEzLjIgcHJlLXJlbGVhc2UuCgoyMDA5LTA4LTExIDE1OjI3OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1BSU5UQUlORVJTOgoJICBBZGQgbXlzZWxmIHRvIE1BSU5UQUlORVJTIGZpbGUgYW5kIHVwZGF0ZSBXaW0ncyBlLW1haWwuCgoyMDA5LTA4LTExIDE0OjE3OjMyICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDA5LTA4LTExIDEyOjQyOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlZW5jOiBlcnJvciBvdXQgaWYgY2F0ZWdvcnkgaGFzIG5vdCBiZWVuIHNldCBhbmQgY2hlY2sgZm9yIG9idmlvdXNseSB3cm9uZyB2YWx1ZXMKCjIwMDktMDgtMTEgMDI6NDY6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3J0cG1hbmFnZXIvLmdpdGlnbm9yZToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluX2J1ZmZlcl9saXN0LmM6CgkgIE1vdmUgcnRwbWFuYWdlciBmcm9tIC1iYWQgdG8gLWdvb2QuCgoyMDA5LTA4LTExIDA5OjA1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBhc2ZtdXggdW5pdCB0ZXN0IGJpbmFyeQoKMjAwOS0wOC0xMSAwOTowMDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2tzOiBkaXNhYmxlIHVuaXQgdGVzdHMgdGhhdCBhcmUgZmxha3kgb3IgZG9uJ3Qgd29yayB3aXRoIGNvcmUgZ2l0CgkgIGNhbWVyYWJpbiB0ZXN0IHNlZW1zIHRvIHRpbWUgb3V0IHdpdGggY29yZSBnaXQsIHNvIGRpc2FibGluZyBiZWNhdXNlCgkgIGNoYW5jZXMgYXJlIHRoZSBwcm9ibGVtIGlzIGluIHRoZSB0ZXN0IGFuZCB0aGUgY29yZSBnaXQgc3R1ZmYgd2lsbAoJICBiZSByZWxlYXNlZCBiZWZvcmUgd2UgY2FuIGZpeCB0aGUgY29kZSBpbiB0aGUgdGVzdC4KCSAgbmVvbmh0dHBzcmMgdW5pdCB0ZXN0IGlzIGEgYml0IGZsYWt5LCBpdCB0ZW5kcyB0byBmYWlsIHRoZSBmaXJzdAoJICB0aW1lIHdoZW4gY2FsbGVkICh0aGUgaG9zdC91cmwgaXQgY2hlY2tzIGZvciBzZWVtcyB0byBiZSBkb3duIGFzCgkgIHdlbGwvYW55d2F5KS4KCjIwMDktMDgtMTAgMjI6MTY6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBSZW1vdmUgZXhlY3V0ZSBmbGFncyBmcm9tIHNvdXJjZSBmaWxlcwoKMjAwOS0wOC0wOSAwMjowNDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb24KCSAgVG8gYXZvaWQgY29uZnVzaW9uLgoKMjAwOS0wOC0xMCAxNjozNTozNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGNhbiBsaXN0IG1vcmUgdGhhbiAxIGRldmljZQoJICBzb21ldGhpbmcgbGlrZSB0aGUgZm9sbG93aW5nIGNvZGUgbm93IHdvcmtzOgoJICB2ZWN0b3I8c3RyaW5nPiBnZXRWaWRlb0RldmljZU5hbWVzKCkKCSAgewoJICB2ZWN0b3I8c3RyaW5nPiBsX25hbWU7CgkgIHN0cmluZyBwcm9wZXJ0eTsKCSAgR3N0RWxlbWVudCogdmlkZW9kZXZpY2VzcmMgPSBjcmVhdGVfZWxlbWVudCgiZHNob3d2aWRlb3NyYyIsICJ2aWRlb2RldmljZXNyYyIpOwoJICBHc3RQcm9wZXJ0eVByb2JlKiBwcm9iZSA9IEdTVF9QUk9QRVJUWV9QUk9CRSAodmlkZW9kZXZpY2VzcmMpOwoJICBHVmFsdWVBcnJheSogdmEgPSBnc3RfcHJvcGVydHlfcHJvYmVfZ2V0X3ZhbHVlc19uYW1lIChwcm9iZSwgImRldmljZS1uYW1lIik7CgkgIGlmICh2YSkKCSAgewoJICBmb3Ioc2l6ZV90IGk9MDsgaSA8IHZhLT5uX3ZhbHVlczsgKytpKQoJICB7CgkgIEdWYWx1ZSogdiA9IGdfdmFsdWVfYXJyYXlfZ2V0X250aCh2YSwgaSk7CgkgIHN0cmluZyBuYW1lKGdfdmFsdWVfZ2V0X3N0cmluZyh2KSk7CgkgIGxfbmFtZS5wdXNoX2JhY2sobmFtZSk7CgkgIH0KCSAgfQoJICBpZiAodmlkZW9kZXZpY2VzcmMpCgkgIGdzdF9vYmplY3RfdW5yZWYoR1NUX09CSkVDVCAodmlkZW9kZXZpY2VzcmMpKTsKCSAgcmV0dXJuIGxfbmFtZTsKCSAgfQoKMjAwOS0wOC0xMCAxNjoxNzo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJICBkc2hvd2F1ZGlvc3JjOiBoYW5kbGVzIGRldmljZS1uYW1lIHByb3BlcnR5CgoyMDA5LTA4LTEwIDE2OjAzOjE3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogYWRkIGEgaGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIGEgbWVkaWEgdHlwZQoKMjAwOS0wOC0xMCAxNDozMjowMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vY2FwQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMDktMDgtMTAgMTM6MjE6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBzcGM6IGZpeCB0eXBvIGluIE1ha2VmaWxlLmFtIGFuZCBidWlsZCB0aGUgcmlnaHQgcGx1Z2luIChzcGMgbm90IGdtZSkKCjIwMDktMDgtMTAgMTQ6MjM6MTQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93dmlkZW9zcmM6IGNhbiB1c2Ugb3RoZXIgdmlkZW8gc2l6ZXMgYW5kIGZyYW1lcmF0ZXMgdGhhbiB0aGUgZGVmYXVsdHMKCSAgRXZlbiBpZiB0aGUgZGV2aWNlIGNvdWxkIGNhcHR1cmUgc2V2ZXJhbCB2aWRlbyBzaXplcyBhdCBzZXZlcmFsIGZyYW1lcmF0ZXMsCgkgIHdpdGhvdXQgdGhpcyBjb21taXQsIGl0IHdhcyBvbmx5IHBvc3NpYmxlIHRvIHVzZSBvbmUgdmlkZW8gc2l6ZSBhbmQKCSAgb25lIGZyYW1lcmF0ZTogdGhlIGRlZmF1bHQgZGlyZWN0c2hvdyB2YWx1ZXMuCgoyMDA5LTA4LTEwIDExOjQwOjEzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBkaXJlY3Rzb3VuZHNyYzogYWRkIHZzOCBwcm9qZWN0CgoyMDA5LTA4LTEwIDExOjM2OjQxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogTEYgYW5kIGluZGVudAoKMjAwOS0wOC0wOSAxNToyMDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBDYWNoZSBldmVudHMgYW5kIHNlbmQgdGhlbSBkb3duc3RyZWFtIG9uY2UgYW4gZWxlbWVudCB3YXMgc2VsZWN0ZWQKCjIwMDktMDgtMDkgMTQ6NTU6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogU21hbGwgY2xlYW51cHMKCjIwMDktMDgtMDkgMTI6MjU6MDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IEZpeCBjcmFzaCB3aGVuIGV4cG9zaW5nIGluIEdTVF9TVEFURV9SRUFEWQoJICBGaXhlcyBidWcgIzU0MTk2Mi4KCjIwMDktMDgtMDggMjI6MTQ6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRG9uJ3QgYW5zd2VyIHRoZSBTRUVLSU5HIHF1ZXJ5IGlmIHdlIGRvbid0IGtub3cgdGhlIGFuc3dlciB5ZXQKCSAgQSBiaXRyYXRlIT0tMSBpcyByZXF1aXJlZCBmb3Igc2Vla2luZyBidXQgdGhlIGJpdHJhdGUgaXMgb25seSBjYWxjdWxhdGVkCgkgIGFmdGVyIHRoZSBzZWNvbmQgUENSIHdhcyByZWFkLgoJICBGaXhlcyBidWcgIzU5MDQ0Ni4KCjIwMDktMDgtMDggMjE6MjA6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBMb3dlciByYW5rIHRvIFNFQ09OREFSWSB0byBtYWtlIHRoZSBnbWUgcGx1Z2luIHRoZSBkZWZhdWx0CgoyMDA5LTA4LTA4IDIxOjE3OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5oOgoJKiBleHQvc3BjL3RhZy5jOgoJKiBleHQvc3BjL3RhZy5oOgoJICBzcGM6IEFkZCB0aGUgT3BlblNQQyBzcGMgcGx1Z2luIGFnYWluCgkgIFRoZSBnbWUgcGx1Z2luIG9ic29sZXRlcyBpdCBidXQgaXQgbWlnaHQgc3RpbGwgYmUgdXNlZnVsCgkgIGZvciB1c2VycyB0aGF0IGRvbid0IGhhdmUgZ21lIHlldCBvciBwcmVmZXIgb3BlbnNwYyBmb3Igc29tZSByZWFzb24uCgoyMDA5LTA4LTA4IDEyOjIwOjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkgIGthdGU6IHNvbWUgbWlub3IgY2xlYW4tdXBzCgkgIFByaW50IGZsb3cgcmV0dXJuIGFzIHN0cmluZyBpbiBsb2cgbWVzc2FnZTsgaWYgd2UgY2hlY2sgdGhlIHJldHVybgoJICB2YWx1ZSBvZiBnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MoKSB3ZSBzaG91bGQgdXNlIHRoZSBfdHJ5KCkgZnVuY3Rpb24KCSAgdGhhdCBtaWdodCBhY3R1YWxseSByZXR1cm4gTlVMTC4gUG9zdCBlcnJvciBtZXNzYWdlIHdoZW4gcmV0dXJuaW5nCgkgIEdTVF9GTE9XX0VSUk9SLiBVc2UgcG9ydGFibGUgR0xpYiBtYWNyb3MgdG8gcHJpbnQgNjQtYml0IGludGVnZXJzLgoJICBEb24ndCB1c2UgMExMLCB0aGF0J3MgYWxzbyBub3QgcG9ydGFibGUgKGFuZCB1bm5lZWRlZCBoZXJlKS4KCjIwMDktMDgtMDggMTA6MzA6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZTogT25seSBwcm92aWRlIHZlcnkgZnVuZGFtZW50YWwgY2FwcyBpbiB0aGUgcGFkIHRlbXBsYXRlCgkgIFdlIGNhbid0IGVhc2lseSBrbm93IHdoaWNoIGNhcHMgd2lsbCBjYW4gYmUgdXNlZCBiZWNhdXNlIHdlIHJlbHkgb24KCSAgbGliZ3N0dmlkZW8ncyBzdXBwb3J0IGZvciB2aWRlbyBmb3JtYXRzLgoKMjAwOS0wOC0wOCAxMDoyNzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkgIHJhd3BhcnNlOiBTbWFsbCBjbGVhbnVwcyBhbmQgaW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCjIwMDktMDgtMDggMDg6Mjc6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogU21hbGwgY2xlYW51cHMKCjIwMDktMDgtMDggMDc6NTk6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSAgdmlkZW9wYXJzZTogVXNlIGxpYmdzdHZpZGVvIGZvciBldmVyeXRoaW5nIGluc3RlYWQgb2Ygb3VyIG93biBjYWxjdWxhdGlvbnMKCSAgQWxzbyBtYWtlIFJHQiB1c2FnZSBlYXNpZXIgYnkgcHJvdmlkaW5nIHhSR0IsIFJHQngsIGV0Yy4gZm9ybWF0cwoJICBpbnN0ZWFkIG9mIHJlcXVpcmluZyB0byBzZXQgcmVkX21hc2sgYW5kIGZyaWVuZHMuCgoyMDA5LTA4LTA3IDE5OjEyOjI2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggYSBtZW1vcnkgbGVhawoKMjAwOS0wOC0wNyAxOTowMDoyMyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhZGRlZCBWQzEsIEVBQzMgYW5kIExQQ00gcmVsYXRlZCB0byBibHVlcmF5L2hkbXYKCjIwMDktMDgtMDcgMTg6MzU6NDIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBhZGRlZCBjYXBzIGZvciBBQUMgYW5kIGZpeGVkIHBsYXliYWNrIG9mIGEgY2xpcCB3aXRoIExQQ00KCjIwMDktMDgtMDcgMTg6MTc6MjggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdwc2RlbXV4OiBpbXByb3ZlZCBkZW11eGVyIHBlcmZvcm1hbmNlCgkgIEluY3JlYXNlZCBwZXJmb3JtYW5jZSBkb2luZyBwdWxsX3JhbmdlIGluIGJsb2NrcyBvZiAzMktiIGluc3RlYWQgb2YgNEtiLgoJICBDYWNoaW5nIHRoZSB2YWx1ZSBvZiBnc3RfYWRhcHRlcl9hdmFpbGFibGUgaW5zdGVhZCBvZiBjYWxsaW5nIGl0IDMgdGltZXMuCgkgIEFkZGVkIHNvbWUgY29tbWVudHMgd2l0aCB0aGUgaGVhZGVyIGRlc2NyaXB0aW9ucy4KCSAgUGVlayBlbm91Z2ggZGF0YSB0byBhdm9pZCBhIGNvcm5lciBjYXNlIHdoZXJlIGNvdWxkIGJlIHJlYWRlZCBkYXRhIG91dHNpZGUKCSAgdGhlIGJ1ZmZlci4KCSAgU3BlZWQgdXAgc29tZSBtb3JlIGlubGluaW5nIHNvbWUgZnVuY3Rpb25zIGFuZCBrZWVwaW5nIGFub3RoZXIgc3RyZWFtIHBvaW50ZXIKCSAgbGlzdCB0byBiZSB1c2VkIGFzIGl0ZXJhdG9yLgoJICBTcHJpbmtsZSBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MgYWNjcm9zcyB0aGUgY29kZS4KCSAgSGFuZGxpbmcgdGhlIHNlZWtpbmcgd2l0aCBmbHVzaCBpbiBwdWxsIG1vZGUgaW4gdGhlIHByb3BlciB3YXkuCgoyMDA5LTA4LTA3IDE0OjQxOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmg6CgkgIGdtZWRlYzogVXNlIEdzdEFkYXB0ZXIgaW5zdGVhZCBvZiBtYW55IGJ1ZmZlciBqb2lucwoJICBUaGlzIHJlZHVjZXMgdGhlIG51bWJlciBvZiByZWFsbG9jYXRpb25zIGFuZCBtZW1jcHlzIGRyYXN0aWNhbGx5LgoJICBBbHNvIGZyZWUgdGhlIGlucHV0IGRhdGEgYXMgc29vbiBhcyBpdCdzIGNvbXBsZXRlIGFuZCBwYXNzZWQgdG8gR01FCgkgIGFzIGl0J3Mgbm90IG5lZWRlZCBhbnltb3JlLgoKMjAwOS0wOC0wNyAxMzowNzoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGluZmluaXRlIGxvb3Agd2hlbiBkcmFpbmluZwoKMjAwOS0wOC0wNyAxMzowNjoyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggbWlub3IgbWVtb3J5IGxlYWsKCjIwMDktMDgtMDcgMTM6MDQ6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBzeW5jIGJhc2VwYXJzZSAoc29tZSBtb3JlKQoKMjAwOS0wOC0wNyAwOToyMTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWVkZWM6IEFkZCBjYXBzIGZvciBhbGwgc3VwcG9ydGVkIGZpbGUgZm9ybWF0cyB0byB0aGUgc3JjcGFkIHRlbXBsYXRlCgoyMDA5LTA4LTA3IDA3OjIzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogRG9uJ3QgYWRkIGVtcHR5IHN0cmluZyB0YWdzCgoyMDA5LTA4LTA3IDA3OjAxOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogRml4IGNhcHMgbmFtZSBhZ2FpbgoKMjAwOS0wOC0wNyAwNjo1OTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJICBnbWU6IFJlbmFtZSBldmVyeXRoaW5nIGZyb20gU1BDIHRvIEdNRQoKMjAwOS0wOC0wNyAwNjo1OTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5oOgoJKiBleHQvc3BjL3RhZy5jOgoJKiBleHQvc3BjL3RhZy5oOgoJICBzcGM6IFJlYWxseSByZW1vdmUgb2xkIFNQQyBjb2RlCgoyMDA5LTA4LTA3IDA2OjU2OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmg6CgkqIGV4dC9nbWUvdGFnLmM6CgkqIGV4dC9nbWUvdGFnLmg6CgkgIGdtZTogVXNlIGdtZSBmb3IgdGFncyBhbmQgZHVyYXRpb24gcGFyc2luZwoKMjAwOS0wOC0wNyAwNjo0MTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2dtZS9NYWtlZmlsZS5hbToKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dtZS9nc3RnbWUuaDoKCSogZXh0L2dtZS90YWcuYzoKCSogZXh0L2dtZS90YWcuaDoKCSAgc3BjOiBSZW5hbWUgU1BDIHBsdWdpbiB0byBHTUUKCSAgYXMgcHJlcGFyYXRpb24gZm9yIGVuYWJsaW5nIHN1cHBvcnQgZm9yIG5vbi1TUEMgZ2FtaW5nIGNvbnNvbGUgc291bmQgZmlsZXMuCgoyMDA5LTA4LTA2IDIxOjQyOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwY2RlYzogRm9yd2FyZCBhbGwgdW5rbm93biBzcmMgZXZlbnRzIHVwc3RyZWFtIGFuZCBkb24ndCByZXN0cmljdCB0byBTUEMKCjIwMDktMDgtMDYgMTk6MjY6MjEgKzAyMDAgIHJpYyA8Y3N4bmp1IGF0IHNvZ291LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGF2b2lkIGJ1ZmZlciBsZWFrIG9uIGJhZCBzZXFudW0KCSAgRml4ZXMgIzU5MDc5NwoKMjAwOS0wOC0wNSAwOTozNjowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdbcHRdc2RlbXV4OiBGaXggU0VFS0lORyBxdWVyeQoJICBTZW5kIHRoZSBCWVRFUyBiYXNlZCBxdWVyeSBkb3duc3RyZWFtLCBub3QgdGhlIG9yaWduYWwgb25lLgoKMjAwOS0wOC0wNCAxMjo1ODozNSArMDIwMCAgSmFuIFVyYmFuc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCByZXF1aXJlIGVuZGlhbm5lc3MgZmllbGQgZm9yIDggYml0IHJhdyBhdWRpbwoJICBGaXhlcyBidWcgIzU5MDM2MC4KCjIwMDktMDgtMDQgMTA6MTg6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IE1ha2UgdGhlIFNQQyBwbHVnaW4gd29yayB3aXRoIHRoZSBsYXRlc3QgbGliZ21lIHJlbGVhc2UKCSAgZ21lX2VuYWJsZV9hY2N1cmFjeSgpIHdhcyBhZGRlZCBpbiBTVk4gdHJ1bmsgYW5kIGlzIG5vdCB5ZXQKCSAgaW4gYW55IHJlbGVhc2UuCgoyMDA5LTA4LTA0IDEwOjA2OjU0ICswMjAwICBNaWNoYWVsIFB5bmUgPG1weW5lQGtkZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmg6CgkgIHNwYzogVXNlIHRoZSBwb3J0YWJsZSBsaWJnbWUgaW5zdGVhZCBvZiB4ODYtb25seSBPcGVuU1BDIGxpYnJhcnkKCSAgVGhpcyB3aWxsIGxhdGVyIGFsbG93IHVzIHRvIHBsYXkgb3RoZXIgZ2FtaW5nIGNvbnNvbGUgZmlsZXMKCSAgdGhhdCBhcmUgc3VwcG9ydGVkIGJ5IGxpYmdtZS4KCSAgRml4ZXMgYnVnICM1NzY4MDAuCgoyMDA5LTA2LTEyIDE3OjIyOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9mbGFjcGFyc2UvZ3N0Yml0cmVhZGVyLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0Yml0cmVhZGVyLmg6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0Ynl0ZXJlYWRlci5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJ5dGVyZWFkZXIuaDoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiByZW1vdmUgaW50ZXJuYWwgYml0cmVhZGVyIGFuZCBieXRlcmVhZGVyIG5vdyB0aGF0IHRoZXNlIGFyZSBpbiBsaWJnc3RiYXNlCgoyMDA5LTA3LTMxIDExOjI3OjAzICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IGNoZWNrIGZvciBwZW5kaW5nIHNyY3BhZCBpbiBfZ2V0X3Byb3BlcnR5KCkKCSAgSWYgdGhlcmUgaXMgYSBwZW5kaW5nIHNyY3BhZCwgcmV0dXJuIGl0IGluc3RlYWQgb2YgYWN0aXZlIHNyY3BhZAoJICBpbiBnc3Rfb3V0cHV0X3NlbGVjdG9yX2dldF9wcm9wZXJ0eSgpIGZ1bmN0aW9uLgoKMjAwOS0wNy0zMCAxNDoxNzo1OSArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBTZXQgY2FtZXJhc3JjIHRvIFJFQURZIHN0YXRlIGluc3RlYWQgb2YgUEFVU0VEIHdoZW4gYWNxdWlyaW5nIGFsbG93ZWQgY2FwcwoKMjAwOS0wNy0zMSAwNzoxNjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3OiBGaXggaW5kZW50aW9uCgoyMDA5LTA3LTMxIDAyOjA1OjQxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIGRpcmVjdGRyYXc6IEltcGxlbWVudCBHc3ROYXZpZ2F0aW9uIGludGVyZmFjZQoJICBGaXhlcyBidWcgIzU5MDIwOC4KCjIwMDktMDctMzEgMDA6MTk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJICBydHBhc2ZwYXk6IHNldCBwYWRkaW5nIGZpZWxkIHRvIDAgb24gcnRwIGFzZiBwYWNrZXRzCgkgIFRoZSBBU0YgUlRQIHNwZWMgZGVtYW5kcyB0aGF0IHBhY2tldHMgaGF2ZSB0aGVpciBwYWRkaW5nIHJlbW92ZWQKCSAgYW5kIHRoZSBwYWRkaW5nIHNpemUgZmllbGQgc2V0IHRvIDAgZm9yIHBhY2tldHMgd2hlbiBwdXRpbmcgdGhlbQoJICBpbnNpZGUgdGhlIFJUUCBwYWNrZXRzCgoyMDA5LTA3LTMwIDAwOjE5OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogU2V0IHZpZGVvIHN0cmVhbSBzZWVrYWJsZSBwcm9wZXJ0eSB0byB0cnVlCgkgIFZpZGVvIHN0cmVhbSBhbHdheXMgaGF2ZSBpbmRleGVzLCBzbyB0aGV5IGFyZSBhbGwgc2Vla2FibGUKCjIwMDktMDctMzAgMDA6MTI6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBSZW1vdmluZyB1c2VsZXNzIFRPRE9zCgkgIEFmdGVyIHRlc3RpbmcgaW4gd2luZG93cyBhbmQgbGludXgsIHRoaXMgYXVkaW8gY29ycmVjdGlvbiBmaWVsZAoJICBtYWRlIG5vIGRpZmZlcmVuY2Ugc28gZmFyLiBBbGwgZXhhbXBsZSBmaWxlcyBJIGdvdCBvbmx5IGhhZAoJICB6ZXJvZXMgaW4gdGhpcyBmaWVsZAoKMjAwOS0wNy0zMCAwMDowNDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IEZpeGVzIHZpZGVvIHN0cmVhbSBwcm9wZXJ0aWVzIG9iamVjdAoJICBGaXhlcyBzdHJlYW0gcHJvcGVydGllcyBvYmplY3QgY3JlYXRpb24gZm9yIHZpZGVvIGNvbnRlbnQKCjIwMDktMDctMjkgMTk6MDc6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSAgYXNmbXV4OiBhY2NlcHQgcGFkIHJlcXVlc3RzIGEgbGl0dGxlIGxvbmdlcgoJICBhc2ZtdXggbm93IHN0YXJ0IHJlamVjdGluZyBwYWQgcmVxdWVzdHMgYWZ0ZXIgaXQgcHVzaGVzIHRoZSBmaXJzdAoJICBidWZmZXIsIGJlZm9yZSB0aGlzLCBpdCB3YXMgcmVqZWN0aW5nIGFmdGVyIGdvaW5nIHRvIHBhdXNlZAoKMjAwOS0wNy0yOSAxODo0NDoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IGFkZHMgc3VwcG9ydCB0byB2Yy0xIHN0cmVhbXMKCjIwMDktMDctMjkgMTc6MjM6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVtb3ZlIGVtcHR5IGZpbmFsaXplCgoyMDA5LTA3LTI5IDE2OjAyOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBGaXggbWFjcm8gbmFtZQoKMjAwOS0wNy0yOSAxNTozNTowMyArMDIwMCAgSm9uaSBWYWx0YW5lbiA8am9uaS52YWx0YW5lbkBtb3ZpYWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IEFkZCBEaXJlY3RTb3VuZCBzb3VyY2UgcGx1Z2luCgkgIEZpeGVzIGJ1ZyAjMzQ0MTI5LgoKMjAwOS0wNy0yOCAyMjo1MTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkgIGFzZm11eDogRmlyc3QgYmFzaWMgY2hlY2sgdW5pdCB0ZXN0cwoJICBBZGRzIHNpbXBsZSBhc2ZtdXggdW5pdCB0ZXN0cywgdGhhdCB0ZXN0IHBhZCBjcmVhdGlvbiBhbmQgcHVzaGluZyBhCgkgIHNpbmdsZSBidWZmZXIgdGhyb3VnaCB0aGVtCgoyMDA5LTA3LTI4IDIxOjM3OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogRm9yY2luZyBwYWQgbmFtZXMgdG8gYmUgdmlkZW9fJTAyZCBhbmQgYXVkaW9fJTAyZCBsaWtlCgoyMDA5LTA3LTI4IDE4OjE4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYWxsb3cgZm9yIE5VTEwgY2FwcyBvbiBidWZmZXJzCgkgIEFkZCB0aGUgTlVMTCBjYXBzIGNoZWNrIHdoZXJlIGl0IG1hdHRlcnMgYW5kIGFsc28gY292ZXIgYW5vdGhlciBjYXNlIG9mCgkgIHBvdGVudGlhbCBOVUxMIGNhcHMuCgkgIEZpeGVzICM1OTAwMzAKCjIwMDktMDctMjggMTE6NTk6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IEluY29taW5nIGJ1ZmZlcnMgZG8gbm90IGFsd2F5cyBoYXZlIGNhcHMKCjIwMDktMDctMjcgMTQ6MDM6NTkgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSAgY2FtZXJhYmluOiBwaG90byBpZmFjZSBzZXR0ZXIgZnVuY3Rpb25zIHJldHVybiBUUlVFIHdoZW4gdXNlZCBpbiBOVUxMIHN0YXRlCgkgIFdlIGNhY2hlIHRoZSB2YWx1ZXMgYW5kIGFwcGx5IHRoZW4gd2hlbiBwb3NzaWJsZS4KCjIwMDktMDctMjcgMDg6MjU6MzcgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvIG5vdCBwdXQgdmlkZW8gcGlwZWxpbmUgaW50byBSRUFEWSB3aGVuIHN0YXJ0IHJlY29yZGluZyBjYW1lcmFiaW46IHJlbWVtYmVyIHByb2JlIElEcyBhbmQgZGlzY29ubmVjdCB0aGVtIHdoZW4gZGVzdHJveWluZyBwaXBlbGluZXMKCjIwMDktMDctMjcgMTk6NTk6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkgIGFtcndiZW5jOiBGaXggY29tcGlsYXRpb24KCjIwMDktMDctMjcgMTk6NTU6MjcgKzAyMDAgIElhZ28gVG9yYWwgPGl0b3JhbEBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2IvUkVBRE1FOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2IuYzoKCSogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkqIGV4dC9hbXJ3YmVuYy9Hc3RBbXJ3YkVuYy5wcnM6CgkqIGV4dC9hbXJ3YmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiZW5jL1JFQURNRToKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiLmM6CgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuaDoKCSAgYW1yd2I6IFJlbW92ZSBBTVItV0IgcGFyc2VyIGFuZCBkZWNvZGVyIGFuZCByZW5hbWUgZW5jb2RlciBwbHVnaW4gZnJvbSBhbXJ3YiB0byBhbXJ3YmVuYwoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1ODQ4OTAuCgoyMDA5LTA3LTI3IDE1OjQ2OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhdm9pZCBkb2luZyBsaXAtc3luYyBpbiBCWUUKCSAgV2hlbiB3ZSBnZXQgYSBCWUUgcGFja2V0LCBkb24ndCBkbyBsaXAtc3luYyB3aXRoIHRoZSBTUiBpbnNpZGUgYmVjYXVzZSBzb21lCgkgIHNlbmRlcnMgaGF2ZSB0cm91YmxlIGNvbnN0cnVjdGluZyB2YWxpZCBTUiBwYWNrZXRzIGFmdGVyIEJZRS4KCjIwMDktMDctMjcgMTU6MzM6MDQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJKiB3aW4zMi92czcvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM3L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgIGRpcmVjdGRyYXdzaW5rOiB1cGRhdGUgdnM4IGJ1aWxkCgkgIGFsc28gcmVtb3ZlIGRpcmVjdGRyYXdzaW5rIGZyb20gdnM2IGFuZCB2czcgYnVpbGQKCjIwMDktMDctMjcgMTQ6NTI6NTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93aW50ZXJmYWNlLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvbGliZ3N0ZHNob3cuZGVmOgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3dzcmN3cmFwcGVyOiByZW1vdmUgdXNlIG9mIElHc3REc2hvd0ludGVyZmFjZQoKMjAwOS0wNy0yNyAxMzoxNzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBkb24ndCBkbyBsaXAtc3luYyBhZnRlciBhIEJZRQoJICBBZnRlciBhIEJZRSBwYWNrZXQgZnJvbSBhIHNvdXJjZSwgc3RvcCBmb3J3YXJkaW5nIHRoZSBTUiBwYWNrZXRzIGZvciBsaXAtc3luYwoJICB0byBydHBiaW4uIFNvbWUgc2VuZGVycyBkb24ndCB1cGRhdGUgdGhlaXIgU1IgcGFja2V0cyBjb3JyZWN0bHkgYWZ0ZXIgc2VuZGluZyBhCgkgIEJZRSBhbmQgdGhlbiB3ZSBicmVhayBsaXAtc3luYy4gV2UgcHJlZmVyIHRvIGxldCB0aGUgaml0dGVyYnVmZmVycyBkcmFpbiB3aXRoCgkgIHRoZSBjdXJyZW50IGxpcC1zeW5jIGluc3RlYWQuCgoyMDA5LTA3LTI3IDEyOjQzOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IG9ubHkgcmVjb25zaWRlciBvbmNlIGZvciBCWUUKCSAgV2hlbiBpdGVyYXRpbmcgdGhlIHNvdXJjZXMgb2YgYSBCWUUgcGFja2V0LCBkb24ndCBzaWduYWwgYSByZWNvbnNpZGVyYXRpb24gZm9yCgkgIGVhY2ggb2YgdGhlbSBidXQgc2lnbmFsIGFmdGVyIHdlIGhhbmRsZWQgYWxsIHNvdXJjZXMuCgoyMDA5LTA3LTI1IDEyOjE5OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogYnJlYWsgdXAgbWFjcm9zIGludG8gbXVsdGlwbGUgbGluZXMKCjIwMDktMDctMjQgMjE6NTQ6NTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogdXNlIEdTVF9FTEVNRU5UX0VSUk9SIGZvciBlcnJvciByZXBvcnRpbmcKCSAgU2VlICM1MjU3NDMuCgoyMDA5LTA3LTI0IDE0OjUyOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9nc3Rhc2YuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuaDoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuaDoKCSAgYXNmbXV4OiBBZGRzIG5ldyBwbHVnaW4gYXNmbXV4CgkgIEFkZHMgdGhlIGJyYW5kIG5ldyBhc2ZtdXggcGx1Z2luLCBjb250YWluaW5nIDMgZWxlbWVudHM6CgkgIGFzZm11eCwgcnRwYXNmcGF5IGFuZCBhc2ZwYXJzZS4gVGhpcyBwbHVnaW4gd2FzIGRldmVsb3BlZAoJICBhcyBhIEdTb0MgMjAwOSBwcm9qZWN0LCB3aXRoIERhdmlkIFNjaGxlZWYgYXMgdGhlIG1lbnRvciBhbmQKCSAgVGhpYWdvIFNhbnRvcyBhcyB0aGUgc3R1ZGVudC4KCjIwMDktMDctMjQgMDg6MjU6MDMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL01BTklGRVNUOgoJICB3aW4zMjogRml4IHRoZSBkaXN0Y2hlY2sgYWZ0ZXIgZHNob3dzcmN3cmFwcGVyIHJlYXJyYW5nZW1lbnRzCgkgIFJlbW92ZSBvbGQgZmlsZXMgZnJvbSB0aGUgd2luMzIgbWFuaWZlc3QsIGFuZCBhZGQgdGhlIG5ldyBvbmUuCgoyMDA5LTA3LTI0IDA3OjQwOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJICBtdXNlcGFja2RlYzogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCjIwMDktMDctMjQgMDE6MDA6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgUmV2ZXJ0ICJkb2NzOiBmaXggZG9jcyBidWlsZCBhZ2FpbiIKCSAgSXQncyBub3QgbmVlZGVkIGFueSBsb25nZXIgYWZ0ZXIgU3RlZmFuJ3MgdXBkYXRlcyBpbiB0aGUgY29tbW9uIG1vZHVsZS4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwOWM1NTBhMTcyYTJjOGE3NmYwYjQ4ZjJmOGNlMTEwNzA1OThmNjZjLgoKMjAwOS0wNy0yNCAwMDo0Mjo1MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZWRhYWVlIHRvIDk0Zjk1ZTMKCjIwMDktMDctMjMgMTc6NTc6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogZml4IGRvY3MgYnVpbGQgYWdhaW4KCSAgVGhlcmUgaXMgbm8gZWxlbWVudCBjYWxsZWQgJ2xhZHNwYScsIHNvIHRoZXJlIHdvbid0IGJlIGEgLWRldGFpbHMKCSAgZmlsZSBmb3IgaXQuCgoyMDA5LTA3LTIzIDA5OjU4OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBSZW1vdmUgc29tZSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGNvZGUKCSAgQWxzbyB3ZSBhbHdheXMgcmVxdWlyZSBsaWJvaWwgc28gdXNlIGl0IHVuY29uZGl0aW9uYWxseS4KCjIwMDktMDctMjMgMDk6NTI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IEltcGxlbWVudCBxdWVyeSB0eXBlIGZ1bmN0aW9uIGZvciB0aGUgc3JjIHBhZHMKCjIwMDktMDctMjAgMjI6MTM6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBMb2NrIGVsZW1lbnQgYmVmb3JlIHVubG9ja2luZwoKMjAwOS0wNy0yMCAyMjowODo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IEZpeCBsZWFrcwoJICBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUoKSB0byBub3QgbGVhayB0aGUgcGFkIHRlbXBsYXRlCgkgIEFsc28gcHJvcGVybHkgY2hhaW4gdXAgdGhlIGZpbmFsaXplIHRvIHRoZSBwYXJlbnQKCjIwMDktMDctMjAgMjI6MDg6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUKCSAgUHJldmVudHMgbGVhayBmb3VuZCBieSB2YWxncmluZAoKMjAwOS0wNy0yMCAyMTo1Mjo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFVucmVmIGNsb2NraWQKCjIwMDktMDctMjAgMTQ6MDA6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBEb24ndCBvdmVyd3JpdGUgdmFsaWQgdGltZXN0YW1wcwoKMjAwOS0wNy0yMCAxMzo0NTo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFJldmVydCAibWltZGVjOiBJZ25vcmUgdGhlIHRpbWVzdGFtcHMgaW5zaWRlIHRoZSBidWZmZXJzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDVlMDUxZmE5OGFlZWJkY2UyZWNhNmIzMjFlYzE5MjllNmY4ZmRmNjEuCgoyMDA5LTA3LTIxIDE1OjMzOjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZyZWUgY29uZmxpY3RpbmcgYWRkcmVzc2VzIG9uIGZpbmFsaXplCgoyMDA5LTA3LTIxIDE1OjMxOjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZyZWUgdGhlIHBhZCBwcml2YXRlIGRhdGEgb24gcGFkIHJlbGVhc2UKCSAgRnJlZSB0aGUgcGFkIHByaXZhdGUgZGF0YSBvbiBwYWQgcmVsZWFzZSBpbnN0ZWFkIG9mIHVzaW5nIGEgd2VhayByZWYsCgkgIHdoaWNoIGlzIG5vdCB0aHJlYWQgc2FmZS4gQWxzbywgbG9jayB0aGUgY29udGVudCBvZiB0aGUgcGFkIHByaXZhdGUgdXNpbmcgdGhlIGVsZW1lbnQncwoJICBvYmplY3QgbG9jay4KCjIwMDktMDctMjIgMTQ6MTk6MTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBJZ25vcmUgZXJyb3JzIHB1c2hpbmcgb3V0IG5ldyBzZWdtZW50cwoJICBUaGUgZm9sbG93aW5nIGJ1ZmZlciBwdXNoIHdpbGwgcmV0dXJuIG1vcmUgdmFsdWFibGUgaW5mb3JtYXRpb24uCgoyMDA5LTA3LTIyIDE4OjAxOjEyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgZG9jczogYWRkIGRvY3MgZm9yIGxhZHNwYSBhbmQgdXBkYXRlIHBsdWdpbiBkb2NzCgkgIEFkZCBhbHNvIGluc3BlY3QgZmlsZXMgZm9yIGx2MiBhbmQgZnJlaTByIChubyBkb2NzIHlldCkuCgoyMDA5LTA3LTIyIDE3OjA1OjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogbW9yZSBwZXJmLXRlc3QgY2xlYW51cHMKCSAgUmVtb3ZlIHNvbWUgb2Jzb2xldGUgZXhtYXBsZXMuIEFkZCB2aWRlby13aWR0aC9oZWlnaHQuIFVzZSBwcm9wZXIgYXBpIGZvcgoJICBzZXR0aW5nIHN0aWxsIGltYWdlIHJlc29sdXRpb24uIEZpeCBzdG9wcGluZyByYW5kb20gdGVzdHMgb24gYmluLXN0YXRlLWNoYW5nZXMuCgkgIFJlbW92ZSB0aGUgbWVtZHVwIGluIHNuYXBzaG90IGFnYWluLCBhcyBpdHMgbm90IG5lZWRlZCAocGl4YnVmIGdvZXMgb3V0IG9mCgkgIHNjb3BlIHdpdGggdGhlIGJ1ZmZlcikuCgoyMDA5LTA3LTIyIDExOjQ1OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgIGRzaG93c3Jjd3JhcHBlcjogdXBkYXRlIE1ha2VmaWxlLmFtIGZvciBzb3VyY2UgZmlsZSByZW5hbWVzIGFzIHdlbGwKCjIwMDktMDctMjEgMTM6Mzc6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBkb2NzOiBhZGQgcGNhcHBhcnNlIHRvIGRvY3MKCjIwMDktMDctMjIgMTI6MzQ6MzYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSAgZHNob3dhdWRpb3NyYzogZG8gbm90IHJlbW92ZSBhIHJhbmdlIG9mIGxlbmd0aCAwCgoyMDA5LTA3LTIyIDEyOjI0OjQ2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3dhdWRpb3NyYzogY29udmVydHMgY29kZSB0byBDKysKCjIwMDktMDctMjIgMTE6MDE6NDkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHdpbjMyL3ZzOC9saWJkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd3ZpZGVvc3JjOiBjb252ZXJ0cyBjb2RlIHRvIEMrKwoKMjAwOS0wNy0yMiAwMDozMzoyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkb24ndCBhZGQgYSBiYXNlX3RpbWU9PS0xIHRvIHNlZ21lbnQgcG9zaXRpb25zCgkgIEZpeGVzIGFzc2VydGlvbiBhYm91dCBuZXdzZWdtZW50IHdpdGggc3RhcnQ9LTEuCgoyMDA5LTA3LTIxIDE3OjQ4OjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNtYWxsIHNwZWVkdXAgaW4gc29mdHdhcmUgem9vbQoJICBGb3JjZSBjcm9wIG9uIGV2ZW4gcGl4ZWwgcG9zaXRpb24gdG8gYXZvaWQgc2xvd3BhdGggaW4gY3JvcCAmIHNjYWxlLgoKMjAwOS0wNy0yMSAxNjo0ODoyNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IHdlIG5lZWQgdG8gY29weSB0aGUgZGF0YSBpbiB0aGUgZXhhbXBsZQoJICBnZGtfcGl4YnVmX25ld19mcm9tX2RhdGEgZG9lcyBub3QgY29weSB0aGUgZGF0YS4KCjIwMDktMDctMjEgMTE6Mjg6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkgIG1ha2U6IHJlbW92ZSB3aGl0ZXNwYWNlIGFmdGVyIHRyYWlsaW5nIGJhY2tzbGFzaAoKMjAwOS0wNy0yMSAxMjo0MjozMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuaDoKCSAga2F0ZTogZml4IHRpbWUgY29udmVyc2lvbiBmcm9tIERWRCBzdHlsZSB0aW1lc3RhbXBzLgoKMjAwOS0wNy0yMSAxMzo1MToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoKMjAwOS0wNy0yMSAxMzozOToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCSAgRml4ZXMgYnVnICM1ODg5NDQuCgoyMDA5LTA3LTIxIDEzOjMzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU4ODk0NC4KCjIwMDktMDctMjEgMTM6MTc6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogRnJlZSB0aGUgUE1UIGJlZm9yZSBzZXR0aW5nIGEgbmV3IG9uZQoKMjAwOS0wNy0yMSAxMzoxNDowMCArMDIwMCAgTWlrYWVsIE1hZ251c3NvbiA8bWlrbWFAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogUmVtb3ZlIG9sZCBQRVMgUElEcyB3aGVuIHJlY2VpdmluZyBQQVQgdGFibGVzCgkgIEZpeGVzIGJ1ZyAjNTgzNDcwLgoKMjAwOS0wNy0yMSAxMToxMDo0OSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3dzcmN3cmFwcGVyOiBmaXggcmVsYXRpdmUgcGF0aAoKMjAwOS0wNy0yMSAxMDo0OTozNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3cuY3BwOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dpbnRlcmZhY2UuY3BwOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dpbnRlcmZhY2UuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2ludGVyZmFjZS5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9saWJnc3Rkc2hvdy5kZWY6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rkc2hvdy5kZWY6CgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJKiB3aW4zMi92czYvbGliZHNob3dzcmN3cmFwcGVyLmRzcDoKCSogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOC9saWJkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBzdGFydCByZWZhY3RvcmluZyBvZiBkc2hvd3NyY3dyYXBwZXIKCSAgLXJlbW92ZSBnc3QtbGlicy9nc3QvZHNob3cKCSAgLWZha2Vzb3VyY2UgaXMgbW92ZWQgZnJvbSBnc3QtbGlicy9nc3QvZHNob3cgdG8gc3lzL2RzaG93c3Jjd3JhcHBlcgoJICAtc29tZSBtaW5vciBjaGFuZ2VzIChDL0MrKyBjaGVjayBhbmQgaW5jbHVkZXMpIHRvIG1ha2UgdGhlIHBsdWdpbgoJICBjb21waWxlIGFnYWluLgoKMjAwOS0wNy0yMSAwMTowNjoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiB1c2UgbmV3IEdTVF9UQUdfU1VCSVRMRV9DT0RFQyB0YWcgaW5zdGVhZCBvZiBHU1RfVEFHX0NPREVDCgoyMDA5LTA3LTIxIDAwOjU0OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlZGVjOiBvbmx5IHB1dCBwcmltYXJ5IGxhbmd1YWdlIHRhZyBpbiBHU1RfVEFHX0xBTkdVQUdFCgkgIE9ubHkgcHV0IHByaW1hcnkgbGFuZ3VhZ2UgaW50byBHU1RfVEFHX0xBTkdVQUdFLCBhbmQgY29udmVydCB0byBsb3dlciBjYXNlLAoJICBpZS4gb25seSB1c2UgImVuIiBvZiAiZW5fR0IiLiBUaGlzIGlzIHBlciBvdXIgdGFnIGRvY3VtZW50YXRpb24gYW5kIGhlbmNlCgkgIHdoYXQgYXBwcyBleHBlY3QuIEFsc28gYWRkIGV4YW1wbGUgdG8ga2F0ZWVuYyBwcm9wZXJ0eSBkZXNjcmlwdGlvbiBzbyBwZW9wbGUKCSAga25vdyBhIGxhbmd1YWdlIGNvZGUgaXMgd2FudGVkIGhlcmUuCgoyMDA5LTA3LTIxIDAwOjA0OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSAga2F0ZWRlYzogYWRkIGNvbW1lbnQgd2h5IHdlIGRvbnQnIHN1cHBvcnQgYXBwbGljYXRpb24veC1rYXRlIGhlcmUgZm9yIG5vdwoKMjAwOS0wNy0yMCAxMzo1NDo0OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9SRUFETUU6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuaDoKCSAga2F0ZWRlYzogY3JlYXRlIFNQVSBmb3JtYXQgaW1hZ2VzIGZyb20gc3VpdGFibGUgYmFja2dyb3VuZCBpbWFnZXMKCSAgTWFrZSBrYXRlZGVjIGZhYnJpY2F0ZSBkdmQtc3R5bGUgc3VicGljdHVyZXMgZm9yIHN1YnRpdGxlIG92ZXJsYXkKCSAgYml0bWFwcywgZm9yIGVhc2llciBwbGF5YmluMiBpbnRlZ3JhdGlvbiAoIzU4ODYzOCkuCgoyMDA5LTA3LTIwIDE2OjI0OjIzICswMTAwICBvZ2cuay5vZ2cuayA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGthdGU6IGZpeCBzb21lIG1pbm9yIG1lbW9yeSBsZWFrcwoJICBNYWtlcyAnbWFrZSBjaGVjay12YWxncmluZCcgd29yayBmb3IgdGhlIGthdGUgdW5pdCB0ZXN0ICgjNTI1NzQzKQoKMjAwOS0wNy0yMCAxNjozOTo0MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IGFkZCBjb2RlIGluIHRlc3QgdG8gc3RvcmUgc25hcHNob3RzIGZvciBtYW51YWwgdmVyaWZpY2F0aW9uCgkgIFVzZSBnZGtfcGl4YnVmIHRvIHNhdmUgdGhlIGltYWdlIGluIHBlcmYtdGVzdC4gQWxzbyByZW1vdmUgc29tZSBvYnNvbHV0ZQoJICBjb21tZW50ZWQgb3V0IGNvZGUuCgoyMDA5LTA3LTIwIDE2OjI0OjA1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiBsb2cgZm9ybWF0cyBpbiBwcmV2aWV3IGltYWdlIGNvbnZlcnNpb24KCjIwMDktMDctMjAgMTY6MjE6MDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlIGFzc2lnbm1lbnQKCSAgUmVzdWx0IGlzIG5vdCBuZWVkZWQgaGVyZSwgYnV0IHZhcmlhYmxlIGlzIHVzZWQgbGF0ZXIgb24uIEFsc28gcmVtb3ZlIGRvdWJsZSBuZXcKCSAgbGluZXMgaW4gZnVuY3Rpb24uCgoyMDA5LTA3LTIwIDE2OjIwOjE1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogY2hlY2sgcXVlcnkgcmV0dXJuIHJlc3VsdCBiZWZvcmUgdXNpbmcgaXQKCjIwMDktMDctMjAgMTY6MTk6NDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IGRvbid0IGRlcmVmZXJlbmNlIHRoZSBwb2ludGVyIGJlZm9yZSB0aGUgdmFsaWRpdHkgY2hlY2sKCjIwMDktMDctMjAgMTA6MTc6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBpbXByb3ZlIHBlcmYgdGVzdCByb2J1c3RuZXNzIGFuZCBhZGQgY29tbWVudHMKCjIwMDktMDctMjAgMTI6MjU6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkgIGthdGVlbmM6IGFsc28gcmVjb2duaXNlIHRoZSBuZXcgcmVjb21tZW5kZWQgJ1NVQicgY2F0ZWdvcnkKCSAgTW92ZSB0aGUgY2hlY2sgZm9yICdzaW1wbGUnIHN1YnRpdGxlcyBjYXRlZ29yeSB0byBhIHNlcGFyYXRlIHJvdXRpbmUKCSAgYW5kIGFkZCBpbiB0aGUgbmV3IHJlY29tbWVuZGVkIFNVQiBjYXRlZ29yeSAoIzUyNTc0MykuCgoyMDA5LTA3LTIwIDExOjQxOjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmg6CgkgIGthdGVlbmM6IGtlZXAgYml0bWFwL3BhbGV0dGUvcmVnaW9uIGFyb3VuZCB3aGVuIG9uIHRoZSBzcG90IGVuY29kaW5nIGlzIG5vdCBwb3NzaWJsZSBkdWUgdG8gYW4gdW5rbm93biBlbmQgdGltZQoJICBGaXhlcyB2YWxncmluZCB1bml0aWFsaXplZCB2YWx1ZSByZXBvcnQuIFNlZSAjNTI1NzQzLgoKMjAwOS0wNy0xOSAyMzo0NTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkgIGRvY3M6IGFkZCBpbnNwZWN0IGluZm8gZm9yIGthdGUgcGx1Z2luCgkgIFNob3VsZCBmaXggdGhlIGRvY3MgYnVpbGQuCgoyMDA5LTA3LTE5IDIzOjM1OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogYWRkIHNvbWUgRklYTUVzCgoyMDA5LTA3LTE5IDIzOjMyOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSAga2F0ZWRlYzogZGVtb3RlIHRvIEdTVF9SQU5LX05PTkUgZm9yIG5vdwoJICBUaGVyZSBhcmUgc3RpbGwgc29tZSBhdXRvcGx1Z2dpbmcgaXNzdWVzIHRvIHNvcnQgb3V0LCBhbmQgaXQgbmVlZHMKCSAgc29tZSB0ZXN0aW5nLgoKMjAwOS0wNy0xOSAyMzoyOToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgY2hlY2tzOiBhZGQga2F0ZSB1bml0IHRlc3RzIHRvIHZhbGdyaW5kIGJsYWNrbGlzdCBmb3Igbm93CgkgIEFuZCBhZGQgY2hlY2sgYmluYXJ5IHRvIGlnbm9yZSBsaXN0LgoKMjAwOS0wNy0xOSAyMzoxNjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogbWFrZSBzdXJlIHRvIGZyZWUgc29tZSBtb3JlIHN0dWZmCgoyMDA5LTA3LTE5IDIyOjI5OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGUuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlOiBmaXggdXAgZm9yIGFkZGl0aW9uYWwgc3VidGl0bGUveC1rYXRlIG1lZGlhIHR5cGUKCjIwMDktMDctMTMgMjI6Mzg6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJICBrYXRlOiByZW1vdmUgbG9jYWwga2F0ZSB0eXBlZmluZGVyLCB1c2UgdGhlIG9uZSBpbiAtYmFzZQoKMjAwOS0wNy0xMCAxODo0NToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGUuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogY2hhbmdlIG1lZGlhIHR5cGUgdG8gc3VidGl0bGUveC1rYXRlIGFuZCB1cGRhdGUgZGVmaW5lIGFjY29yZGluZ2x5CgoyMDA5LTAyLTE1IDE4OjM1OjA0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL1JFQURNRToKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5oOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgYWRkIG5ldyBLYXRlIHBsdWdpbiwgZm9yIEthdGUgb3ZlcmxheSBzdHJlYW1zCgkgIGthdGVkZWM6IEthdGUgZGVjb2RlciAodGV4dCBvbmx5KQoJICBrYXRlZW5jOiBLYXRlIGVuY29kZXIgKHRleHQgYW5kIERWRCBTUFUgb25seSkKCSAga2F0ZXRhZzogS2F0ZSB0YWdnZXIKCSAga2F0ZXBhcnNlOiBLYXRlIHBhcnNlcgoJICB0aWdlcjogS2F0ZSByZW5kZXJlciB1c2luZyB0aGUgVGlnZXIgcmVuZGVyaW5nIGxpYnJhcnkKCSAgRml4ZXMgIzUyNTc0My4KCjIwMDktMDctMTkgMTU6Mzc6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJICByZWFsOiBkaWZmZXJlbnRpYXRlIGJldHdlZW4gJ21vZHVsZSBkb2VzIG5vdCBleGlzdCcgYW5kIGdlbnVpbmUgbW9kdWxlIG9wZW5pbmcgZXJyb3JzCgkgIERvbid0IGxvZyBhIEdTVF9FUlJPUiBpZiBvbmUgb2YgdGhlIGNvZGVjIG1vZHVsZXMgd2Ugd2VyZSBsb29raW5nIGZvcgoJICBkb2Vzbid0IGV4aXN0LiBUaGF0J3Mgbm90IGEgZ2VudWluZSBlcnJvciwgYnV0IHNvbWV3aGF0IGV4cGVjdGVkLgoKMjAwOS0wNy0xOCAwODo0MzozNyArMDIwMCAgTWF0aWpzIHZhbiBadWlqbGVuIDxNYXRpanMudmFuLlp1aWpsZW5AeHM0YWxsLm5sPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBGaXggaW50ZWdlciBvdmVyZmxvdwoJICBUaGlzIGJyZWFrcyBwbGF5YmFjayBvZiBmaWxlcyA+NCBHQiBhcyB0aGUgb2Zmc2V0IHdhcwoJICBhIGd1aW50IGJlZm9yZS4gQ2hhbmdpbmcgaXQgdG8gYSBndWludDY0IGZpeGVzIHRoaXMuCgoyMDA5LTA3LTE3IDE1OjQ3OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgIG1ldGFkYXRhOiByZXNldCBzdGF0ZSBpZiB0aGVyZSBpcyBzb21ldGhpbmcgdG8gcmVzZXQKCSAgVGhlIGNvbmRpdGlvbiB3YXMgd3JvbmcgYW5kIGFzIHN1Y2ggdGhlIGVsZW1lbnQgd2FzIHdyaXRpbmcgdGhlIHNhbWUgdGFncyBvbiBzdWJzZXF1ZW50CgkgIGltYWdlcyBpZiByZXVzZWQuCgoyMDA5LTA3LTE3IDE1OjQ1OjMyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVzZSBnc3RfY2Fwc19yZXBsYWNlIGluc3RlYWQgb2Ygc2VwYXJhdGUgY2FsbHMKCSAgVGhpcyBmaXhlcyBzZXR0aW5nIHNuYXBzaG90IGNhcHMgYmFjayB0byBOVUxMIGFsc28uCgoyMDA5LTA3LTE3IDE1OjM4OjA2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogaW1wbGVtbmV0IHR3byBtb3JlIHRlc3RzCgkgIEFkZCB0ZXN0cyBmb3IgdmlkZW9yZWNvcmRpbmcgc3RhcnR1cCBhbmQgY2FwdHVyZSBzdGFydHVwIGRlbGF5LgoKMjAwOS0wNy0xNyAwOTozNjoxNSArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogYWRkIGNvbXBvbmVudCB0YWcgdG8gdGhlIHZpZGVvIGNvbXBvbmVudCBzdHJ1Y3R1cmUgaW4gZWl0CgoyMDA5LTA3LTE2IDE3OjI3OjA5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogRG9uJ3QgcHJldGVuZCB0byBiZSBNTDIwIGlmIHBhdXNlZAoKMjAwOS0wNy0xNiAxNjowNjoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIG1pbWRlYzogSWdub3JlIHRoZSB0aW1lc3RhbXBzIGluc2lkZSB0aGUgYnVmZmVycwoKMjAwOS0wNy0xNiAxNTo0Mzo0NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IERvbid0IHRyeSB0byBwYXJzZSB0aGUgaGVhZGVyIGJlZm9yZSBkcm9wcGluZyB0aGUgcGF1c2VkIGZyYW1lcwoKMjAwOS0wNy0xNiAxNTo0MzoxNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IFByaW50IHRoZSBpbmNvbWluZyBmb3VyY2Mgb24gZXJyb3JzCgoyMDA5LTA2LTE5IDIwOjEzOjUzICsxMDAwICBBdXN0aW4gTHVuZCA8YXVzdGluLmx1bmRAZ21haWwuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgSW5jcmVhc2VkIHRoZSBsZW5ndGggb2YgdGltZSBmb3IgdHVuaW5nIGluIGdzdGR2YnNyYy5jLgoJICBTb21lIGRldmljZXMgdGFrZSBhIHdoaWxlIHRvIHR1bmUgYW5kIDUwMG1zIHdhcyB0b28gc2hvcnQgdG8gZGV0ZWN0CgkgIHN1Y2Nlc3NmdWwgdHVuaW5nLiAgQXMgd2VsbCBhcyB3YWl0aW5nIGZvciA1IHNlY29uZHMgZWFjaCAxMDBtcyB0aGUKCSAgc3RhdHVzIGlzIGNoZWNrZWQgYW5kIHRoZSBsb29wIGlzIGJyb2tlbiBvdXQgb2Ygd2hlbiB0dW5pbmcgaGFzIHN1Y2VlZGVkLgoKMjAwOS0wNy0xNiAxOTo0OToyNiArMDIwMCAgQWxla3NleSBZdWxpbiA8dWxpbkB0dXQuYnk+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBEb24ndCB1c2UgUElEcyA+IE1QRUdUU19NQVhfUElECgkgIFRoZSBtcGVndHNkZW11eCBzdHJlYW1zIGFycmF5IG9ubHkgaGFzIE1QRUdUU19NQVhfUElEIGVudHJpZXMKCSAgYW5kIGFjY2Vzc2luZyBvbmUgYWZ0ZXJ3YXJkcyB3aWxsIHJlc3VsdCBpbiBjcmFzaGVzLgoJICBGaXhlcyBidWcgIzU3NTY3Mi4KCjIwMDktMDctMTYgMTg6MTQ6MTggKzAzMDAgIFplZXNoYW4gQWxpIChLaGF0dGFrKSA8emVlc2hhbmFrQGdub21lLm9yZz4KCgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJICBBZGQgbW9yZSBkZWJ1ZyBvdXRwdXQgdG8gbWV0YWRhdGFtdXgKCjIwMDktMDctMTYgMTI6MDM6MzIgKzAyMDAgIEpvc2VwIFRvcnJhIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIHBlc2ZpbHRlcjogUGVybWl0IHVuYm91bmRlZCBwYWNrZXRzIGZvciAweGZkIChleHRlbmRlZCBzdHJlYW0gaWQpLgoJICBBZGRlZCBwYXJzaW5nIG9mIFBFUyBleHRlbnNpb24gcmVsYXRlZCBkYXRhLgoJICBGaXhlcyBzb21lIFZDMSByZWxhdGVkIGlzc3Vlcy4KCjIwMDktMDctMTYgMTM6NTU6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogQXR0ZW1wdCB0byBmaXggYSBjb21waWxlciB3YXJuaW5nCgkgIERvbid0IHN0b3JlIGEgY29uc3QgZ2NoYXIgKiBpbiBhIG5vbi1jb25zdCBnY2hhciAqIGxvY2FsIHZhci4KCSAgQWxzbywgbWFrZSB0aGUgdHJhbnNsYXRpb24gc3RyaW5nIGZ1bmN0aW9uIHN0YXRpYyBzaW5jZSBpdCdzIG9ubHkKCSAgdXNlZCBpbiB0aGUgb25lIGZpbGUuCgoyMDA5LTA3LTE1IDE4OjEwOjA0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoJICBDYXN0IHNvbWUgZGVidWcgc3RyaW5nIHBhcmFtZXRlcnMgc28gdGhhdCB0aGV5IGRvbid0IGNhdXNlIG1pc21hdGNoZWQKCSAgdHlwZSB3YXJuaW5ncy4KCjIwMDktMDctMTUgMTY6MTc6MzUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBGaXggYSBjb21waWxlciB3YXJuaW5nIGFib3V0IHVuaW5pdGlhbGlzZWQgdmFyaWFibGUgdXNlLgoKMjAwOS0wNi0xMCAxOToyMToyMSArMDEwMCAgR2FycmV0dCBEJ0Ftb3JlIDxnYXJyZXR0LmRhbW9yZUBzdW4uY29tPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IEVuaGFuY2VtZW50cyB0byB0aGUgbWl4ZXIgYW5kIGF1ZGlvIG91dHB1dAoJICBDb2RlIGNsZWFudXBzLCBnZW5lcmFsIGltcHJvdmVtZW50cywgc3VwcG9ydCBmb3IgdGhlCgkgIG5ldyBtaXhlciBmbGFncyBpbiBsYXRlc3QgZ3N0LXBsdWdpbnMtYmFzZS4KCSAgRml4ZXM6ICM1ODQyNTIKCSAgUGF0Y2ggQnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCSAgUGF0Y2ggQnk6IEdhcnJldHQgRCdBbW9yZSA8Z2FycmV0dC5kYW1vcmVAc3VuLmNvbT4KCjIwMDktMDctMTUgMTg6Mjc6MzkgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGFkZCBjb21wb25lbnQgdGFnIHRvIHN0cnVjdHVyZSBmb3IgY29tcG9uZW50IG1lc3NhZ2UKCjIwMDktMDctMTUgMTc6NDQ6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IHVzZSBub25idWZmZXJlZCBpbyB0byBzYXZlIG1lbWNvcGllcwoJICBXZSB3cml0ZSBsYXJnZSBibG9ja3MgYW55d2F5LCBzbyBubyBleHRyYSBidWZmZXJpbmcgcGxlYXNlLiBBbHNvIHVzZSBvbmUKCSAgZ19vYmplY3Rfc2V0IHRvIHNldCBtdWx0aXBsZSBwcm9wZXJ0aWVzIG9uIHNhbWUgb2JqZWN0LgoKMjAwOS0wNy0xNSAxMjoyMDoxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9UT0RPOgoJICBjYW1lcmFiaW46IHRyYWNrIHRvZG8gaXRlbXMKCjIwMDktMDctMTUgMTE6MTc6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogbGVhdmUgaW1hZ2UvdmlkZW8gYmluIGluIHJlYWR5IHdoZW4gY2hhbmdpbmcgbW9kZQoKMjAwOS0wNy0xNCAxNDoxMDo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYW1ycGFyc2U6IFN5bmMgYmFzZXBhcnNlIGNoYW5nZXMKCjIwMDktMDctMTQgMTQ6MDg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGFhY3BhcnNlOiBBZGQgZnVuY3Rpb24gZm9yIHRoZSBiYXNlcGFyc2Ugc3ViY2xhc3MgdG8gcHVzaCBidWZmZXJzIGRvd25zdHJlYW0KCSAgQWxzbyBoYW5kbGUgdGhlIGNhc2UgZ3JhY2VmdWxseSB3aGVyZSB0aGUgc3ViY2xhc3MgZGVjaWRlcyB0byBkcm9wCgkgIHRoZSBmaXJzdCBidWZmZXJzIGFuZCBoYXMgbm8gY2FwcyBzZXQgeWV0LiBJdCdzIHN0aWxsIHJlcXVpcmVkIHRvCgkgIGhhdmUgdmFsaWQgY2FwcyBzZXQgd2hlbiB0aGUgZmlyc3QgYnVmZmVyIHNob3VsZCBiZSBwYXNzZWQgZG93bnN0cmVhbS4KCjIwMDktMDctMTQgMTQ6MDc6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBzZWVrIGV2ZW50IGxlYWtpbmcKCjIwMDktMDctMTQgMTA6NDQ6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSAgbWV0YWRhdGE6IGZpeCBjb3B5J24ncGFzdGUgaW4gdGFnIGRlc2NyaXB0aW9uCgoyMDA5LTA3LTEzIDE4OjA0OjE0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm86IEFkZCBlbnVtIHR5cGVzIGZvciBzY2hyb2VkaW5nZXIgc2V0dGluZ3MKCjIwMDktMDYtMzAgMTY6MzE6MTIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRG9uJ3Qgc2VuZCBlbXB0eSBsYW5ndWFnZSBjb2RlIHN0cmluZ3MKCSAgSWdub3JlIGVtcHR5IGxhbmd1YWdlIGNvZGVzIG9uIHNvbWUgcG9vcmx5IGNvZGVkIERWRHMsIHJhdGhlciB0aGFuCgkgIHNldHRpbmcgZW1wdHkgc3RyaW5ncyBpbnRvIG91ciBvdXRnb2luZyB0YWdsaXN0LgoKMjAwOS0wNy0xMyAxMjoyNDowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ODQ1YjYzIHRvIGZlZGFhZWUKCjIwMDktMDctMTAgMjE6NDI6MTkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBPbmx5IGVuYWJsZSBwYXVzZWQgbW9kZSBpZiB0aGUgcHJvcGVydHkgaXMgdHJ1ZQoKMjAwOS0wNy0xMCAxMzowMzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgIGl2b3JiaXM6IGV4dHJhY3Qgdm9yYmlzIGNvbW1lbnRzCgkgIEZpeGVzICM1NzU4MTguCgoyMDA5LTA3LTA4IDE3OjU5OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQWRkIEJHUkEgc3VwcG9ydCBmb3IgdmlkZW8gaW4vb3V0cHV0CgoyMDA5LTA3LTA4IDE1OjI2OjA3ICswMjAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogRml4IGRvdWJsZSBmcmVlCgkgIFRoZSBoYXNoIHRhYmxlIGFscmVhZHkgbWFrZXMgc3VyZSB0aGF0IHRoZSBzdHJlYW0gaXMgY29ycmVjdGx5CgkgIGZyZWUnZCB3aGVuIGVsZW1lbnRzIGFyZSByZW1vdmVkLgoJICBGaXhlcyBidWcgIzU4NzgxOS4KCjIwMDktMDctMDggMTA6MTY6MTkgKzAxMDAgIE1pZ3VlbCDDgG5nZWwgRmFycsOpIDxtaXF1ZWwuZmFycmVAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBwYXJzZSBjb21wb25lbnQgdGFnCgoyMDA5LTA3LTA4IDEwOjExOjUyICswMTAwICBNaWd1ZWwgw4BuZ2VsIEZhcnLDqSA8bWlxdWVsLmZhcnJlQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBwYXJzZSBjYXJvdXNlbCBpZGVudGlmaWVyIGRlc2NyaXB0b3IKCjIwMDktMDctMDcgMTU6Mjg6MDQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogYWRkIHBhcnNpbmcgb2YgZGF0YSBicm9hZGNhc3QgZGVzY3JpcHRvcnMKCjIwMDktMDctMDcgMjA6Mjg6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJICBiYXNldmlkZW86IExpbmsgd2l0aCBsaWJnc3R2aWRlbyBmb3Igc29tZSB1c2VkIGZ1bmN0aW9ucwoKMjAwOS0wNy0wNyAxOToxODoxNiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWVuYzogU2VuZCBwYXVzZSBmcmFtZXMgd2hlbiBwYXVzZWQKCjIwMDktMDctMDcgMTk6MTU6NDIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBJZ25vcmUgcGF1c2UgZnJhbWVzCgoyMDA5LTA3LTA3IDE4OjI3OjM2ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogUHV0IGtleWZyYW1lL3BhdXNlZCBmbGFncyBpbiB0Y3AgaGVhZGVyCgoyMDA5LTA3LTA3IDE4OjE4OjA2ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogUHV0IHRpbWVzdGFtcCBvbiB0aGUgaGVhZGVyIGJ1ZmZlcgoKMjAwOS0wNy0wNyAxODoyMjo1NCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWVuYzogUmV0aW1lc3RhbXAgdG8gdGhlIHJ1bm5pbmcgdGltZQoKMjAwOS0wNy0wNiAxNzoxNzoyMiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWVuYzogU2F2ZSB0aGUgc2VnbWVudAoKMjAwOS0wNy0wNiAxNjoyNDo1OSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWVuYzogQWRkIHByb3BlcnR5IGZvciB0aGUgcGF1c2VkIG1vZGUKCjIwMDktMDctMDMgMTY6MDg6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW8sIHNjaHJvZWRpbmdlcjogZ3VhcmQgdW5zdGFibGUgQVBJIHdpdGggR1NUX1VTRV9VTlNUQUJMRV9BUEkKCSAgQWRkIHNvbWUgZ3VhcmRzIGFuZCBmYXQgd2FybmluZ3MgdG8gdGhlIGhlYWRlciBmaWxlcyB3aXRoIHN0aWxsIHVuc3RhYmxlCgkgIEFQSSwgc28gcGVvcGxlIHdobyBqdXN0IGxvb2sgYXQgdGhlIGluc3RhbGxlZCBoZWFkZXJzIGtub3cgdGhhdCBpdAoJICBhY3R1YWxseSBpcyB1bnN0YWJsZSBBUEkuCgoyMDA5LTA3LTAyIDE1OjU4OjAwICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggc2R0IHBhcnNpbmcuCgkgIGZpeCBwYXJzaW5nIG9mIGV2ZXJ5dGhpbmcgZm9yIGVhY2ggc2VydmljZSBmcm9tIGVpdCBzY2hlZHVsZSBmbGFnIG9uIGFuZCBhbHNvCgkgIGFkZCBhIHJ1bm5pbmctc3RhdHVzIHBhcmFtZXRlciB0byB0aGUgYnVzIG1lc3NhZ2Ugc3RydWN0dXJlLgoKMjAwOS0wNy0wMiAxMToyNDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IEFkZCBzdXBwb3J0IGZvciBBUkdCIHZpZGVvIGlucHV0L291dHB1dAoKMjAwOS0wNy0wMSAxMDo1NToxMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogbW92ZSBmcm9tIC1iYXNlCgkgIEFsc28gbW92ZSBzY2hyb2VkaW5nZXIgcGx1Z2luLiAgVGhpcyBjcmVhdGVzIGEgbmV3IGxpYnJhcnksCgkgIGdzdGJhc2V2aWRlby0wLjEwLCB3aGljaCB3aWxsIHByb2JhYmx5IGJlIG1lcmdlZCBiYWNrIGludG8KCSAgZ3N0dmlkZW8tMC4xMCB3aGVuIHRoaXMgaXMgbW92ZWQgYmFjayB0byAtYmFzZS4KCjIwMDktMDctMDEgMTI6NTU6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwYmluOiB1c2UgbmV3IG1ldGhvZCBmb3IgbmV0YWRkcmVzcyB0byBzdHJpbmcKCjIwMDktMDYtMjkgMTc6MjQ6NTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZGlzdDogQWRkIGx2MiBwbHVnaW4gdG8gdGhlIGRpc3QKCjIwMDktMDYtMjkgMTY6Mzc6MDEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBkaXN0OiBBZGQgdGhlIGNhbWVyYWJpbiBleGFtcGxlcyBzdWJkaXJlY3RvcnkgdG8gdGhlIGRpc3QKCjIwMDktMDYtMjkgMTg6NDg6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHJ0cGJpbjogZG8gYmV0dGVyIGNsZWFudXAgb2YgdGhlIHNyYyBnaG9zdHBhZHMKCSAgQ29ubmVjdCB0byB0aGUgcGFkLXJlbW92ZWQgc2lnbmFsIG9mIHRoZSBwdGRlbXV4IGVsZW1lbnRzIHNvIHRoYXQgd2UgcmVtb3ZlIHRoZQoJICBnaG9zdHBhZHMgZm9yIHRoZW0uIEZpeGVzIGNsZWFudXAgd2hlbiBnb2luZyB0byBOVUxMIGFzIHdlbGwgYXMgd2hlbiByZWxlYXNpbmcKCSAgdGhlIHNpbmtwYWRzLgoJICBGaXhlcyAjNTYxNzUyCgoyMDA5LTA2LTI5IDE3OjQ4OjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgZG9jczogcmVtb3ZlIG9sZCBlbGVtZW50CgoyMDA5LTA1LTI4IDE5OjA4OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhZGQgYSBjb21tZW50CgoyMDA5LTA2LTI5IDE2OjM3OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogYWRkIFNERVMgcHJvcGVydHkKCSAgUmVtb3ZlIGFsbCBpbmRpdmlkdWFsIFNERVMgcHJvcGVydGllcyBhbmQgdXNlIG9uZSBzZGVzIHByb3BlcnR5IHRoYXQgdGFrZXMgYQoJICBHc3RTdHJ1Y3R1cmUgaW5zdGVhZC4gVGhpcyB3aWxsIGFsbG93IHVzIHRvIGFkZCBtb3JlIGN1c3RvbSBzdHVmZiB0byB0aGUgU0RFUwoJICBtZXNzYWdlcyBsYXRlci4KCjIwMDktMDYtMjkgMTY6MjE6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBiaW46IGFkZCBTREVTIHByb3BlcnR5IHRoYXQgdGFrZXMgR3N0U3RydWN0dXJlCgkgIFJlbW92ZSBhbGwgaW5kaXZpZHVhbCBTREVTIHByb3BlcnRpZXMgYW5kIHVzZSBvbmUgc2RlcyBwcm9wZXJ0eSB0aGF0IHRha2VzIGEKCSAgR3N0U3RydWN0dXJlIGluc3RlYWQuIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBhZGQgbW9yZSBjdXN0b20gc3R1ZmYgdG8gdGhlIFNERVMKCSAgbWVzc2FnZXMgbGF0ZXIuCgoyMDA5LTA2LTAyIDE3OjQ2OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkgIHJ0cGJpbjogcmVtb3ZlZCBvbGQgZ3N0cnRwY2xpZW50CgoyMDA5LTA2LTI5IDEyOjIzOjU5ICswMjAwICBBbmRvbmkgTW9yYWxlcyA8eWxhdHV5YSBhdCBnbWFpbC5jb20+CgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBzZGw6IG9ubHkgaW5jbHVkZSBzeXMvdGltZS5oIHdoZW4gd2UgaGF2ZSBpdAoJICBGaXhlcyAjNTg2OTU2CgoyMDA5LTA2LTI5IDEyOjAyOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBDb3JyZWN0bHkgY2xlYW4gdXAgZWxlbWVudHMgdG8gYmUgcmV1c2FibGUgYW5kIG5vdCBsZWFrIG1lbW9yeQoKMjAwOS0wNi0yOSAxMTo1OToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5oOgoJICBmcmVpMHI6IEluIHRoZSBmaWx0ZXIgcGx1Z2lucyBjcmVhdGUgdGhlIGZyZWkwciBpbnN0YW5jZXMgaW4gY3JlYXRlKCkgYmVmb3JlIHBsYXliYWNrIHN0YXJ0cwoKMjAwOS0wNi0yOSAxMTo1Njo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkgIGZyZWkwcjogSW4gdGhlIG1peGVyIHBsdWdpbnMgY3JlYXRlIHRoZSBmcmVpMHIgaW5zdGFuY2VzIGluIGNyZWF0ZSgpIGJlZm9yZSBwbGF5YmFjayBzdGFydHMKCjIwMDktMDYtMjkgMTE6NTQ6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBJbiB0aGUgc3JjIHBsdWdpbnMgY3JlYXRlIHRoZSBmcmVpMHIgaW5zdGFuY2VzIGluIGNyZWF0ZSgpIGJlZm9yZSBwbGF5YmFjayBzdGFydHMKCjIwMDktMDYtMjkgMTE6NTA6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSAgZnJlaTByOiBVc2UgZml4ZWQgY2FwcyBvbiB0aGUgZmlsdGVyIHBhZHMKCSAgVGhpcyBpcyByZXF1aXJlZCBiZWNhdXNlIHdlIGhhdmUgdG8gY3JlYXRlIGEgbmV3IGZyZWkwcgoJICBpbnN0YW5jZSBmb3IgYW55IGNhcHMgY2hhbmdlcyBhbmQgdGhlIGluc3RhbmNlcyBjYW4gaGF2ZSBoaXN0b3J5LgoJICBKdXN0IGNyZWF0aW5nIGEgbmV3IGluc3RhbmNlIGR1cmluZyBwbGF5YmFjayBjYW4gcmVzdWx0IGluIGJhZCBvdXRwdXQKCSAgcmlnaHQgYWZ0ZXIgdGhlIGNhcHMgY2hhbmdlLgoKMjAwOS0wNi0yNyAwOTo1MTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IFNldCB0aGUgZGVmYXVsdCBwcm9wZXJ0eSB2YWx1ZXMgY29ycmVjdGx5CgoyMDA5LTA2LTI2IDE4OjM1OjA2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNvZGUgY2xlYW51cHMKCSAgRG93bmdyYWRlIGEgV0FSTklORyB0byBJTkZPLiBVc2UgYSBiaXQgbW9yZSBjb21wYWN0IGNvZGUuIEFkZCBhIGZpeG1lIGNvbW1lbnQuCgoyMDA5LTA2LTI2IDE4OjM0OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGp1c3QgcmVmIGNhcHMsIHdlIGRvbid0IG5lZWQgYSB3cml0YWJsZSBjb3B5CgoyMDA5LTA2LTI2IDE4OjMzOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IG5vIG5lZWQgdG8gcmVmIGFuZCB1bnJlZiB0aGlzIHRlbXBvcmFyaWx5CgoyMDA5LTA2LTI2IDE4OjMyOjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxlYWsgc2lua19jYXBzIGlmIHRoZXkgd291bGQgYmUgYW55LWNhcHMKCjIwMDktMDYtMjYgMTg6MzE6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbGVhayBwcmV2aWV3IGltYWdlcwoKMjAwOS0wNi0yNiAxODozMDowMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsZWFrIHZpZXdmaW5kZXItY2FwcwoKMjAwOS0wNi0yNiAxNjowNzo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IG1ha2Ugc2hvdDJzaG90IHRlc3QgbW9yZSByZWxpYWJsZQoJICBXZSBjYW4gb25seSB0cmlnZ2VyIG5leHQgc2hvdCAoaW4gdGhlIHRlc3QpIHdoZW4gY3VycmVudCBpcyBjYXB0dXJlZCBhbmQgc2F2ZWQuCgoyMDA5LTA2LTI2IDEzOjEwOjEyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogaW5zZXJ0IGEgZmV3IGJsYW5rIGxpbmVzIGZvciByZWFkYWJpbGl0eQoKMjAwOS0wNi0yNiAxMzowOToyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbGVhayBtZXNzYWdlcyBhbmQgZWxlbWVudCByZWZzIGluIHByZXZpZXcKCjIwMDktMDYtMjYgMTU6MTA6MDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IFVzZSBwcmludGYgaW5zdGVhZCBvZiAnZWNobyAtbicuIENoZWNrIGZvciBhdXRvbWFrZS0xLjFbMDFdCgkgIENoZWNrIGZvciBtb3JlIGF1dG9tYWtlIGNvbW1hbmQgdmFyaWFudHMuIFVzZSBwcmludGYgaW5zdGVhZCBvZiAnZWNobyAtbicKCSAgZm9yIHBvcnRhYmlsaXR5CgoyMDA5LTA2LTI2IDEzOjQyOjUxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY4MTAwMzAgdG8gNTg0NWI2MwoKMjAwOS0wNi0yNiAwOTozMDoyMiArMDEwMCAgQ2hhbmd3b28gUnl1IDxjd3J5dUBkZWJpYW4ub3JnPgoKCSogZ3N0L2ZyZWV6ZS9NYWtlZmlsZS5hbToKCSAgZnJlZXplOiBkb24ndCBidWlsZCBwbHVnaW4gc3RhdGljIGxpYgoJICBQYXNzIC0tdGFnPWRpc2FibGUtc3RhdGljIHRvIGxpYnRvb2wgbGlrZSB3ZSBkbyBmb3Igb3RoZXIgcGx1Z2lucy4KCSAgRml4ZXMgIzU4NzAyMy4KCjIwMDktMDYtMjUgMTI6MzE6MzIgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIGZwcmludGYuCgoyMDA5LTA1LTMwIDExOjE4OjIxIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL1JFQURNRToKCSAgQWRkIExWMiBxdWljayBzdGFydCBSRUFETUUuCgoyMDA5LTA2LTI1IDE5OjIzOjE2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbGVhayByZXF1ZXN0cGFkcwoJICBSZXF1ZXN0cGFkcyBuZWVkIHRvIGJlIHJlbGVhc2VkIGFuZCB1bnJlZmZlZC4gQWRkIGEgY29tbWVudCBpbiBvbmUgY2FzZSB3aGVyZQoJICB3ZSBpbnRlbnRpb25hbHkgZG9uJ3QgdW5yZWYuCgoyMDA5LTA2LTI1IDE5OjIxOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogc3luYyBmaXJzdCB0ZXN0IG1vcmUgc2FmZWx5CgkgIERvbid0IHVzZSBnc3RfZWxlbWVudF9nZXRfc3RhdGUoKSB0byB3YWl0IGZvciBQTEFZSU5HLCBVc2UgdGhlIGJ1cy1oYW5kbGVyCgkgIGluc3RlYWRlciBhbmQgYXN5bmNocm9ub3VzbHkgc2NoZWR1bGUgbmV4dCB0ZXN0LgoKMjAwOS0wNi0yNSAxNjo0MTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5oOgoJICBjYXBzc2V0dGVyOiBpbXBvcnQgZWxlbWVudCBpbnRvIC1iYWQKCjIwMDktMDYtMjUgMDg6Mzg6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTA2LTI1IDA4OjM4OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggZGVidWcgc3RhdGVtZW50LgoKMjAwOS0wNi0yNCAxODo1NjoyOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IGFkZCB0YXJnZXQtdGltZXMgb3B0aW9uIHRvIHNwZWNpZnkgdGVzdCB0aW1lcwoJICBIYXZlIHNvbWUgcmVhc29uYWJsZSBkZWZhdWx0IHRpbWVzLiBBZGQgYSBjb21tYW5kbGluZSBvcHRpb24gdG8gb3ZlcnJpZGUKCSAgZGVmYXVsdHMuIEludGVycHJldCB0YXJnZXQtdGltZT0wIGFzIHNraXAtdGVzdC4KCjIwMDktMDYtMjMgMTM6MDE6NTIgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYnVmZmVyLWFsbG9jIHN1cHBvcnQgZml4ZXMgdG8gaW1hZ2UgYW5kIHZpZGVvIGJpbiBoYW5kbGluZwoJICBLZWVwIGltYWdlIGJpbiBpbiBQQVVTRUQgc3RhdGUgaW4gaW1hZ2UgbW9kZSBleGNlcHQgd2hlbiBwcm9jZXNzaW5nL3NhdmluZyAoUExBWUlORy9SRUFEWSkuCgkgIENoYW5nZSBvdXRwdXQtc2VsZWN0b3IgdG8gdmlldyBmaW5kZXIgYmVmb3JlIHNldHRpbmcgdmlkZW8gYmluIHRvIFJFQURZLgoJICBGaXggZmlsZW5hbWUgc2VudCB3aXRoIGltZy1kb25lIHNpZ25hbC4KCjIwMDktMDYtMjMgMTM6MDE6MTMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJICBjYW1lcmFiaW46IGZpeCBzZXR0aW5nIG11dGUgd2hlbiB2aWRlbyBiaW4gZWxlbWVudHMgaGF2ZW4ndCBiZWVuIGNyZWF0ZWQKCjIwMDktMDYtMTYgMTg6MTI6MjkgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc2V0IGltYWdlIGJpbiB0byBQQVVTRUQgd2hlbiBzdGFydGluZyBjYXB0dXJlCgkgIFNldCBpbWFnZSBiaW4gdG8gUEFVU0VEIGFsc28gd2hlbiBzdGFydGluZyBjYXB0dXJlIHVzaW5nIHBob3RvZ3JhcGh5CgkgIGludGVyZmFjZS4KCjIwMDktMDQtMjEgMTA6NTU6MzYgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogbGVhdmUgdjRsMmNhbXNyYyAiY2FwdHVyZS1tb2RlIiBhcyB2aWRlbyBtb2RlIHdoZW4gcGF1c2luZwoKMjAwOS0wNi0yNCAxNToxNDozMyArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGYzYmI1MWIgdG8gZjgxMDAzMAoKMjAwOS0wNi0yMiAwMzo1NToyNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSAgVkRQQVU6IE1vdmUgSTQyMC9ZVjEyIHRvIHRoZSBmcm9udCBvZiB0aGUgY2Fwcy4gQWRkIGRlYnVnLgoJICBNYWtlIEk0MjAvWVYxMiBjYXBzIGJlIHByZWZlcnJlZCB3aGVuIGRvd25sb2FkaW5nIHRvIFlVViBidWZmZXJzLAoJICB3aGVuIHBvc3NpYmxlLCBieSBsaXN0aW5nIHRoZW0gZmlyc3QgaW4gdGhlIHNldCBvZiBvdXRwdXQgY2Fwcy4KCSAgQWRkIHNvbWUgZGVidWcgaW4gdGhlIGNhcHMgc2VsZWN0aW9uIGNvZGUuCgoyMDA5LTA2LTIzIDE4OjAxOjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogYWxzbyBhbGxvdyB2aWRlby9tcGVnIG9uIG91dHB1dCBjYXBzLiAgRml4ZXMgIzM3Nzc4NC4KCjIwMDktMDYtMjMgMTg6MjM6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBDb3JyZWN0bHkgaGFuZGxlIDAvMSBmcHMKCjIwMDktMDYtMjIgMjM6NTA6NDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkgIHNpZ25hbHByb2Nlc3NvcjogdXNlICQodG9wX2J1aWxkZGlyKSBpbnN0ZWFkIG9mIHJlbGF0aXZlIHBhdGhzCgoyMDA5LTA2LTIyIDIzOjQ5OjAzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW46IGFkZCBsb2NhbCBpbmNsdWRlIGRpciB0byBDRkxBR1MKCjIwMDktMDQtMjggMjM6MjQ6NDUgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvLmdpdGlnbm9yZToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgV29ya2luZyBMVjIgcGx1Z2luIGRpc2NvdmVyeS4KCSAgLSBTZXBhcmF0ZSBnc3RzaWduYWxwcm9jZXNzb3IgaW50byBhIHNlcGFyYXRlIGxpYnJhcnkgKG5vdCBzdXJlIGlmIHRoaXMKCSAgaXMgaW4gdGhlIHJpZ2h0IHBsYWNlLCBidXQgaXQgd29ya3MgZm9yIG5vdyBhbnl3YXkpCgkgIC0gQ3JlYXRlIExWMiBlbGVtZW50IGJhc2VkIG9uIExBRFNQQSBlbGVtZW50LCBwb3J0IG1vc3QgZGlzY292ZXJ5CgkgIGZ1bmN0aW9uYWxpdHkKCjIwMDktMDMtMjkgMTM6MzE6MjEgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkgIEZpeCBpbmNvbnNpc3RlbnQgc3R5bGUgKHRyaXZpYWwgdGVzdCBjb21taXQpLgoKMjAwOS0wMy0yOSAxMzoyMzowMiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgY29uZmlndXJlIGNoZWNrIGZvciBTTFYyLgoKMjAwOS0wNi0yMiAyMjowMToyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZGVidWcgbG9nIG9ubHkgY2hhbmdlCgoyMDA5LTA2LTIyIDE4OjM1OjIxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBtYXAgbW9yZSB0YWdzIGFuZCBmaXggcmVhZGluZyBvZiB4bXAgdGFncwoJICBSZWdpc3RlciB4bXAgc2NoZW1hcyBmb3IgcGhvdG9zaG9wIGFuZCBpcHRjLiBNYXAgYSBmZXcgbG9jYXRpb24gdGFncyB0aGVyZS4KCSAgQWRkIG1vcmUgZGMgdGFncy4gRml4IHJlYWRpbmcgeG1wIHRhZyBieSBpdGVyYXRpb24gb3ZlciBrbm93biBzY2hlbWFzLiBBZGQKCSAgc29tZSBtb3JlIGRlYnVnIGxvZ2dpbmcuCgoyMDA5LTA2LTE2IDE3OjEyOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBtb3JlIGNsZWFudXAgaW4gdGVzdHMKCSAgQWRkIG1vcmUgZGVidWcgbG9nZ2luZy4gUmVtb3ZlIHVudXNlZCBtdXRleCBhbmQgY29uZC4KCjIwMDktMDYtMTIgMTQ6MjY6MjQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY29kZSBjcnVmdCByZW1vdmFsIGFuZCBkZWJ1ZyBsb2dzCgkgIFJlbW92ZSB1bnVzZWQgY29kZS4gQWRkIGxvdHMgb2YgZGVidWcgbG9naW5nLiBDaGFuZ2UgY29tbWVudHMgZm9yIGxvY2FsCgkgIGZ1bmN0aW9ucyB0byBub3QgdXNlIC8qKiBndGstZG9jIHN0YXJ0IHN0eWxlLgoKMjAwOS0wNi0xMiAxMDo0MDo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5nbGFkZToKCSAgY2FtZXJhYmluOiBhZGQgY2FtZXJhYmluIGV4YW1wbGVzCgkgIGdzdC1jYW1lcmEgaXMgYSBndGstdGVzdCBhcHAgdG8gcGxheSB3aXRoIHRoZSBpbWFnZWNhcHR1cmUgYW5kIHZpZGVvcmVjb3JkaW5nLgoJICBnc3QtY2FtZXJhLXBlcmYgaXMgYSB0b29sIHRvIHJ1biB2YXJpb3VzIHNjZW5hcmlvcyBhbmQgdGFrZSB0aW1lIG1lYXNzdXJlbWVudHMKCSAgKGUuZy4gc2hvdC10by1zaG90KS4gQWxzbyBzb3J0IHRoZSBvdXRwdXQgZmlsZXMgaW4gY29uZmlndXJlLmFjIGEgYml0IHRvIGJlCgkgIGluIGFscGhhYmV0aWNhbCBvcmRlci4KCjIwMDktMDYtMTAgMTE6MTU6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IGZpeCBjb252ZXJzaW9uIG9mIGdlbyBjb29yZGluYXRlcwoJICBDb29yZGluYXRlIGNvbnZlcnNpb24gaGFzIGJlZW4gdmVyaWZpZWQgd2l0aCBleGl2MiBhbmQgc29tZSB3ZWJwYWdlcy4KCSAgTWludXRlcyB3aGVyIHRvdGFsbHkgb2ZmIGFuZCBzZWNvbmRzIHdlcmUgbm90IHVzZWQgYXQgYWxsLgoKMjAwOS0wNi0yMiAxMToxOTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGV0ZWN0IGFuZCBmaXggZm9yIGJhZCBOQUxVIHNpemVzCgkgIHdoZW4gaW4gQVZDIG1vZGUgYSBuYWx1IHNpemUgc2VlbXMgaW52YWxpZCwgYXNzdW1lIHRoZSBOQUxVIGhhcyB0aGUgc2l6ZSBvZiB0aGUKCSAgYXZhaWxhYmxlIGRhdGEgaW5zdGVhZCBvZiBsb29waW5nIGZvcmV2ZXIuCgkgIEZpeGVzICM1ODYzNTQKCjIwMDktMDYtMTkgMjE6MjA6MjYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJICBWRFBBVTogQWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAwOS0wNi0xOCAxNzowNjoyMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICBWRFBBVTogRml4IGJ1aWxkIGZsYWdzIHRvIHB1bGwgaW4gZ3N0LXBsdWdpbnMtYmFzZSBsaWJzCgoyMDA5LTA2LTE1IDE4OjMzOjA2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSAgVkRQQVU6IFJlZmFjdG9yIHRoZSBlcnJvciBwYXRoIHRvIGEgY29tbW9uIG91dHB1dCwgYW5kIGZpeCBhIGxlYWsuCgkgIERvbid0IGxlYWsgdGhlIGlucHV0IGJ1ZmZlciBvbiBlcnJvcnMuIEFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA5LTA2LTE1IDE4OjI5OjU2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICBWRFBBVTogRml4IHVwIGNhcHMgaW4gdmRwYXVtcGVnZGVjLiBSZW1vdmUgZXh0cmEgc2VtaWNvbG9uCgkgIEZpeCBhIHR5cG8gaW4gdGhlIGNhcHMgZm9yIHRoZSBWRFBBVSBtcGVnIGRlY29kZXIgKGNocm9tYV90eXBlLT5jaHJvbWEtdHlwZSkKCSAgYW5kIHVzZSB0aGUgR1NUX1ZEUF9WSURFT19DQVBTIGZvciB0aGUgcGFkIHRlbXBsYXRlLgoJICBSZW1vdmUgYSBzdHJheSBzZW1pY29sb24uCgoyMDA5LTA2LTEyIDE2OjM5OjM5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgVkRQQVU6IEVuaGFuY2UgdGhlIGNvbmZpZ3VyZSB0ZXN0cwoJICBDaGVjayBmb3IgdGhlIFZEUEFVIGhlYWRlcnMgaW4gL3Vzci9pbmNsdWRlL252aWRpYSBhcyB0aGV5IGFyZSBvbiBzb21lCgkgIHBsYXRmb3JtcyAoRmVkb3JhL3JwbWZ1c2lvbikuIEFsc28gY2hlY2sgdGhhdCB0aGUgbGlidmRwYXUgbGlicmFyeSBpcwoJICBhdmFpbGFibGUuCgoyMDA5LTA2LTA5IDIzOjE0OjI2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgZml4ZWQgc3JjIGNhcHMKCjIwMDktMDYtMDggMTQ6MzU6MjkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJICB2ZHBhdW1wZWdkZWM6IGRyb3AgYWxsIGZyYW1lcyBiZWZvcmUgYSBHT1Agd2hlbiB3ZSBzZWVrCgoyMDA5LTA2LTA4IDE0OjE1OjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBzbWFsbCBjbGVhbnVwCgoyMDA5LTA2LTA3IDIzOjQ2OjM4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogcy9JU19WRFBBVS9JU19WRFAKCjIwMDktMDYtMDcgMDE6MjU6MDEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHNlbmQgbmV3c2VnbWVudCBldmVudCBpZiBvbmx5IHRoZSByYXRlIGhhcyBiZWVuIHVwZGF0ZWQKCjIwMDktMDYtMDcgMDE6MTI6NTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBtdXRleCB0byBwcm90ZWN0IG1wZWdfZGVjLT5zZWVraW5nIGZyb20gY29uY3VycmVudCBhY2Nlc3MKCjIwMDktMDYtMDcgMDA6NTU6NTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBnc3RfcGFkX2dldF9wYXJlbnQgZm9yIHRocmVhZHNhZmV0eQoKMjAwOS0wNi0wNiAyMToyNzo1MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogZnVydGhlciB3b3JrIG9uIHNlZWtpbmcKCjIwMDktMDYtMDUgMjM6MTE6MTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiBzbWFsbCBjbGVhbnVwcwoKMjAwOS0wNi0wNSAyMjoyODowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogc2V0IEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIG9uIG5vbiBJX0ZSQU1FJ3MKCjIwMDktMDYtMDUgMjE6NDg6MjggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHJlbmFtZSBnc3R2ZHBtcGVnZGVjb2Rlci5bY2hdIHRvIGdzdHZkcG1wZWdkZWMuW2NoXQoKMjAwOS0wNi0wNSAyMTo0NjowOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHJlbmFtZSBHc3RWZHBNcGVnRGVjb2RlciB0byBHc3RWZHBNcGVnRGVjCgoyMDA5LTA2LTA1IDIxOjQyOjMwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHBhc3MgYnVmZmVyIHNpemUgZGlyZWN0bHkgdG8gZ3N0X3ZkcF9tcGVnX2RlY29kZXJfZGVjb2RlCgoyMDA5LTA2LTA1IDIxOjE4OjQ3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogc21hbGwgY2xlYW51cAoKMjAwOS0wNi0wNSAyMToxNjo0OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBjYWxjdWxhdGUgYnl0ZXJhdGUgZnJvbSB0aGUgc2l6ZSBvZiB0aGUgaW5jb21pbmcgZGF0YQoKMjAwOS0wNi0wNSAxOTowODoyNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHByaW50IGZyYW1lX25yIGluIGRlYnVnIHByaW50CgoyMDA5LTA2LTA1IDE4OjI4OjE3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogaW50ZXJsYWNlZCBmaXhlcwoKMjAwOS0wNi0wNSAxODoxODozOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IG9ubHkgc2V0IGJhc2UgZHVyYXRpb24gb25jZQoKMjAwOS0wNi0wNSAxNzo1MzoxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGRvbid0IHNlbmQgdGhlIEVWRU5UX05FV1NFR01FTlQgZG93bnN0cmVhbSBpZiB3ZSdyZSBzZWVraW5nCgoyMDA5LTA2LTA1IDE3OjQzOjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGltcGxlbWVudCBzZWVraW5nCgoyMDA5LTA2LTA1IDExOjU0OjE3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogY2hhbmdlIGEgR1NUX0RFQlVHIHRvIEdTVF9XQVJOSU5HCgoyMDA5LTA2LTA1IDExOjUyOjMyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHJlbW92ZSB1bnVzZWQgYnJva2VuX2dvcCBmaWVsZAoKMjAwOS0wNi0wNSAxMTo1MTo0MSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGFkZCBuZXcgZ3N0X3ZkcF9tcGVnX2RlY29kZXJfZmx1c2ggZm9yIGZsdXNoaW5nIHRoZSBkZWNvZGVyCgoyMDA5LTA2LTA1IDExOjI0OjM0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIEdTRV9ERUJVR19GVU5DUFRSCgoyMDA5LTA2LTA1IDExOjIwOjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZG9uJ3QgZHJvcCBkaXNjb250IGJ1ZmZlcnMKCjIwMDktMDYtMDUgMTE6MTc6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXVtcGVnZGVjOiBoYW5kbGUgR1NUX1FVRVJZX1BPU0lUSU9OIGFuZCBHU1RfUVVFUllfRFVSQVRJT04KCjIwMDktMDYtMDQgMjE6MTc6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXVtcGVnZGVjOiBjYWxjdWxhdGUgY29ycmVjdCBkdXJhdGlvbiBmcm9tIGRhdGEgaW4gTVBFR19QQUNLRVRfRVhUX1BJQ1RVUkVfQ09ESU5HCgoyMDA5LTA2LTA0IDE5OjMwOjAyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGZpeCBzbyB0aGF0IHRoZSBmaXJzdCBmcmFtZSBpbiBhIHJhdyBtcGVndmlkZW8gc3RyZWFtIGdldCB0aW1lc3RhbXAgMAoKMjAwOS0wNi0wNCAxOToxNzoxNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2cGRhdW1wZWdkZWM6IHJlbW92ZSB1c2VsZXNzIEdzdFZkcERlY29kZXIgYmFzZWNsYXNzCgoyMDA5LTA2LTA0IDE4OjExOjA2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgR3N0Qml0UmVhZGVyIHRvIHBhcnNlIGJpdHN0cmVhbQoKMjAwOS0wNS0wNiAyMzowNzowMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkgIHZkcGF1OiBjaGFuZ2UgZWxlbWVudCByYW5rIGZvciB0ZXN0aW5nIHB1cnBvc2VzCgkgIHNldCBtcGVndmlkZW9wYXJzZSByYW5rIHRvIHByaW1hcnkgYW5kIHZkcGF1bXBlZ2RlYyB0byBwcmltYXJ5IC0gMSB0byBnZXQgdmRwYXVtcGVnZGVjCgkgIGNvcnJlY3RseSBwbHVnZ2VkIGludG8gcGxheWJpbgoKMjAwOS0wNS0wNSAyMzoxOTo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBhZGQgZGVidWcgb24gR3N0VmRwRGV2aWNlIGRlc3Ryb3kKCjIwMDktMDUtMDUgMjM6MTM6MjUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBzbWFsbCBjb2RlIGNsZWFudXAKCjIwMDktMDUtMDUgMjM6MDg6NTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiByZW1vdmUgdW5udXNlZCBHc3RWZHBCRnJhbWUgc3RydWN0CgoyMDA5LTA1LTA1IDIzOjA3OjA2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBmaXggc21hbGwgdHlwbyBpbiBkZWJ1ZyBwcmludAoKMjAwOS0wNS0wNSAxODo1NDozMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogZml4dXAgdGltZXN0YW1waW5nIG9mIG91dGdvaW5nIGJ1ZmZlcnMKCjIwMDktMDUtMDUgMTg6NDU6MDcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBkb24ndCBhZGQgZm9yd2FyZF9yZWZlcmVuY2UgaWYgdGhlIGZyYW1lIGlzIGFuIElfRlJBTUUKCjIwMDktMDUtMDUgMTg6Mzc6NTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBzZXQgY29ycmVjdCB0aW1lc3RhbXBzCgoyMDA5LTA1LTA1IDE3OjMwOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHJlbW92ZSB1bm5lZWRlZCBsb2NraW5nIHNpbmNlIHdlIGtub3cgZG8gU3RhdGVDaGFuZ2UgY29ycmVjdGx5CgoyMDA5LTA1LTA1IDE3OjI4OjE5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICBzL0dTVF9UWVBFX1ZEUEFVL0dTVF9UWVBFX1ZEUC9nCgoyMDA5LTA1LTA1IDE3OjIwOjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBzL0dTVF9UWVBFX1ZEUEFVL0dTVF9UWVBFX1ZEUC9nCgoyMDA5LTA1LTA1IDE3OjE1OjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4dXAgc3RhdGUgY2hhbmdlCgoyMDA5LTA1LTA1IDE2OjI5OjI0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogaW5pdCAidmRwYXVkZXZpY2UiIGRlYnVnIGNhdG9lZ29yeSBpbiBnc3RfdmRwX2dldF9kZXZpY2UKCjIwMDktMDUtMDUgMDg6MTE6MDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBob2xkIHRoZSBsb2NrIGluIGNoYW5nZV9zdGF0ZQoKMjAwOS0wNS0wMyAyMTo1Mjo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHRoZSBCX0ZSQU1FIGRlY29kaW5nIHdhcyBjb21wbGV0ZWx5IHdyb25nLCBmaXggaXQKCSAgdGhlIGJ1ZmZlcnMgZG9uJ3QgY29tZSBpbiBvdXRwdXQgb3JkZXIgc28gZml4IHRoZSBkZWNvZGVyIHRvIGhhbmRsZSB0aGlzCgkgIGFkZCBuZXcgZ3N0X3ZkcF92aWRlb19idWZmZXJfYWRkX3JlZmVyZW5jZSBtZXRob2QgdG8gR3N0VmRwVmlkZW9CdWZmZXIgdG8gYmUgYWJsZSB0byBrZWVwCgkgIGJ1ZmZlcnMgYWxpdmUuIEllLiBhIEJfRlJBTUUgbmVlZCB0byBoYXZlIGJvdGggdGhlIGZvcndhcmQgcmVmZXJlbmNlIGFuZCB0aGUgYmFja3dhcmQKCSAgcmVmZXJlbmNlIGFsaXZlIGR1cmluZyBpdCdzIGxpZmV0aW1lLgoJICBhZGQgbXV0ZXggdG8gcHJvdGVjdCBmb3IgdGhyZWFkc2FmZXR5IGlzc3VlcyB3aGVuIHdlIHJlc2V0IHRoZSBkZWNvZGVyIGluIEZMVVNIX1NUT1AKCjIwMDktMDQtMzAgMjE6NTg6MDEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiBzZXQgZnVsbF9wZWxfZm9yd2FyZF92ZWN0b3IgdG8gMCB3aGVuIHBpY190eXBlID09IFBfRlJBTUUKCjIwMDktMDQtMjcgMjE6MzA6NTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBkcm9wIGZyYW1lcyBpZiB3ZSBoYXZlbid0IGdvdCBhbiBJX0ZSQU1FIHlldAoKMjAwOS0wNC0yNyAyMDo1NzoxMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSAgdmRwYXU6IHNldCB2ZHBhdXZpZGVveXV2IGFuZCB2ZHBhdXl1dnZpZGVvIHRvIEdTVF9SQU5LX1BSSU1BUlkKCjIwMDktMDQtMjcgMjA6NTA6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBkZXN0cm95IHRoZSBWZHBEZWNvZGVyIGFuZCByZXNldCB0aGUgZGVjb2RlciBvbiBzdGF0ZSBjaGFuZ2UKCjIwMDktMDQtMjcgMjA6NDU6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiBmaXggZXJyb3Igd2hlcmUgd2UgZm9yZ290IHRvIHBhc3MgYSB0cmFpbGluZyBOVUxMIHRvIGdfb2JqZWN0X25ldwoKMjAwOS0wNC0yNyAyMDoyMTo0NCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IGNsb3NlIGRpc3BsYXkgb24gZmluYWxpemUKCjIwMDktMDQtMjcgMjA6MTg6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJICB2ZHBhdTogc21hbGwgZml4ZXMKCSAgaW5pdCBjcmVhdGUgR3N0VmRwRGV2aWNlIG9uIEdTVF9TVEFURV9DSEFOR0VfUkVBRFlfVE9fUEFVU0VEIGluc3RlYWQgb2Ygb24KCSAgR1NUX1NUQVRFX0NIQU5HRV9OVUxMX1RPIFJFQURZCgkgIGFkZCBiYWNrIGluY3JlbWVudGluZyBvZiBmcmFtZV9ucgoKMjAwOS0wNC0yNyAyMDoxNTowNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IHVzZSBnX29uY2VfaW5pdF9lbnRlciBpbnN0ZWFkIG9mIGdfb25jZQoKMjAwOS0wNC0yNyAxODozNDo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGlmIGF2YWlsYWJsZSB1c2UgaW5jb21pbmcgYnVmZmVyIHRpbWVzdGFtcCBhcyBvdXRwdXQgdGltZXN0YW1wCgoyMDA5LTA0LTI3IDE1OjEyOjI2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogY2xlYXIgdGhlIGFkYXB0ZXIgd2hlbiB3ZSByZXNldCB0aGUgZGVjb2RlcgoKMjAwOS0wNC0yNiAyMzoyNTozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBmaXh1cCByZW5hbWluZwoJICB0aGUgcmVuYW1lIHdvcmsgZG9uZSBpbiBjb21taXQgMjRjZjg0ZDA2YjJmNGIyZWRlYzMzODNiMTk4NDQxYTA3ODI5NjE4YiBkaWRuJ3QKCSAgaW5jbHVkZSB0eXBlY2FzdHMuIFRoaXMgY29tbWl0IGZpeGVzIHRoaXMuCgoyMDA5LTA0LTI2IDIzOjIwOjMwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogcmVzZXQgZGVjb2RlciBvbiBHU1RfRVZFTlRfRkxVU0hfU1RPUAoKMjAwOS0wNC0yNiAyMjowNToxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlc2V0IGRlY29kZXIgd2hlbiB3ZSBnZXQgYSBkaXNjb250IGJ1ZmZlcgoKMjAwOS0wNC0yNiAyMDo0MDo0NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGFkZCAiTVBFR19QQUNLRVRfRVhUX1BJQ1RVUkVfQ09ESU5HIiBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMDktMDQtMjIgMjM6MzU6MDcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXVtcGVnZGVjOiBoYW5kbGUgYnJva2VuX2dvcCBmaWVsZAoKMjAwOS0wNC0yMiAyMTowNDo1OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IGNvbnZlcnQgYWxsIG1hbnVhbCBwYXJzaW5nIHRvIHVzZSByZWFkX2JpdHMgaW5zdGVhZAoKMjAwOS0wNC0yMiAyMDoyODoxOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlbW92ZSB1bm5lZGVkIGdzdF9idWZmZXJfcmVmIGFuZCB0aGUgYWNjb21wYW55aW5nIGdzdF9idWZmZXJfdW5yZWYKCjIwMDktMDQtMjIgMjA6MjU6NTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBmaXh1cCBlcnJvciB3aGVyZSB3ZSBzZXQgZm9yd2FyZF9yZWZlcmVuY2UgaW5zdGVhZCBvZiBiYWNrd2FyZF9yZWZlcmVuY2UKCjIwMDktMDQtMTYgMjM6NDM6MjQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IGhhbmRsZSBtdWx0aXBsZSBCX0ZSQU1FcyBpbiBhIHJvdwoKMjAwOS0wNC0xNiAyMjozMDoyNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IG1vcmUgQl9GUkFNRSB3b3JrCgoyMDA5LTA0LTE2IDIyOjA2OjUwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGluaXRhbCBzdXBwb3J0IGF0IGhhbmRsaW5nIEJfRlJBTUVTCgoyMDA5LTA0LTE1IDIzOjQ5OjA3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4dXAgR3N0Rmxvd1JldHVybiBwcm9wYWdhdGlvbiBhIGJpdAoKMjAwOS0wNC0xNSAyMzozODo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1bXBlZ2RlYzogcGFyc2UgUElDVFVSRV9DT0RJTkdfRVhURU5TSU9OIGFsdGVybmF0ZV9zY2FuIGJpdAoKMjAwOS0wNC0xNSAyMzozMTozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiBmaXh1cCBxdWFudG1hdHJpeCBleHRlbnNpb24gcGFyc2luZwoKMjAwOS0wNC0xNSAxODoxNzo1NCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGNvcnJlY3Qgc29tZSBkZWZhdWx0IHZhbHVlcwoJICBtcGVnMSBub3cgZ2l2ZSBuZWFybHkgY29ycmVjdCBvdXRwdXQgOikKCjIwMDktMDQtMTUgMTc6NTI6MjcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjb2RlcjogcmVtb3ZlIHVudXNlZCBzbGljZSBmaWVsZAoKMjAwOS0wNC0xNCAyMzo0Nzo0MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICB2ZHBhdTogcmVuYW1lICJ2aWRlby92ZHBhdS12aWRlbyIgY2FwcyB0byAidmlkZW8veC12ZHBhdS12aWRlbyIKCjIwMDktMDQtMTQgMjE6MDc6MzIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJICB2ZHBhdTogcmVtb3ZlICJzaWxlbnQiIHByb3BlcnR5IGZyb20gR3N0VmRwRGVjb2RlcgoKMjAwOS0wNC0xNCAyMTowNTo0NCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkgIHZkcGF1OiBkb24ndCBzZXQgZWxlbWVudCBkZXRhaWxzIGluIEdzdFZkcERlY29kZXIKCjIwMDktMDQtMTQgMjE6MDQ6NTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWNvZGVyOiByZW5hbWUgdG8gInZkcGF1bXBlZ2RlYyIKCjIwMDktMDQtMTQgMTk6MDg6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlY29kZXI6IHJlbW92ZSB1bm5lY2VzYXJ5IHdhbnRfc2xpY2UgZmllbGQKCjIwMDktMDQtMTMgMjI6MjE6MDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkgIHZkcGF1OiBzbWFsbCBjb3NtZXRpY2FsIGZpeAoKMjAwOS0wNC0xMyAyMjoxOToyMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IHJlbmFtZSBhbGwgZmlsZXMgYW5kIG9iamVjdHMgZnJvbSBWZHBhdSB0byBWZHAKCjIwMDktMDQtMTMgMjE6MjM6MzggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogZGVjb2RlIHNsaWNlcyB3aGVuIHdlIGdldCB0aGUgbmV4dCBwaWN0dXJlIGhlYWRlci4gTVBFRzIgbm93IGtpbmRvZiB3b3Jrcy4KCjIwMDktMDQtMTMgMjE6MTE6NTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXU6IHNtYWxsIGltcHJvdmVtZW50IHRvIG1wZWcgZGVjb2RlcgoKMjAwOS0wNC0xMyAyMDowNDoyMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5oOgoJICB2ZHBhdTogcmVtb3ZlIHVudXNlZCAic2lsZW50IiBwcm9wZXJ0aWVzCgoyMDA5LTA0LTEzIDE5OjM2OjUzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uYzoKCSAgdmRwYXU6IGltcGxlbWVudCBHc3RWZHBhdVZpZGVvQnVmZmVyIC0+IEk0MjAgY29udmVyc2lvbgoKMjAwOS0wNC0wOSAxNjo1NDoyNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5jOgoJICB2ZHBhdTogbW92ZSBkZWZpbml0aW9uIG9mIHRoZSBWZHBDaHJvbWFUeXBlIGFycmF5IGFuZCB0aGUgVmRwYXVGb3JtYXRzIHRvIGdzdGRldmljZS5oCgoyMDA5LTA0LTA3IDIxOjUxOjQ4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IHNtYWxsIGZpeAoJICBzZXQgdmRwX2luZm8uZm9yd2FyZF9yZWZlcmVuY2UgdG8gVkRQX0lOVkFMSUQgaGFuZGxlIHdoZW4gdW5yZWZmaW5nIHRoZSBvbGQKCSAgYnVmZmVyCgoyMDA5LTA0LTA3IDIwOjQ2OjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5oOgoJICB2ZHBhdTogYWRkIG5ldyBHc3RWZHBhdVlVVlZpZGVvIGVsZW1lbnQKCSAgdGhlIEdzdFZkcGF1WVVWVmlkZW8gZWxlbWVudCB0YWtlcyByYXcgWVVWIHZpZGVvIGFuZCBvdXRwdXRzCgkgIEdzdFZkcGF1VmlkZW9CdWZmZXJzCgoyMDA5LTA0LTA0IDIyOjQ1OjA5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSAgdmRwYXU6IFZpZGVvWVVWIHVucmVmIGJ1ZmZlciBpbiBjaGFpbiBzbyB0aGF0IHdlIGRvbid0IGxlYWsgdGhlbSBNcGVnRGVjb2RlciBwYXJzZSBzZXF1ZW5jZSBoZWFkZXJzCgoyMDA5LTA0LTA0IDIyOjA1OjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogcmVtb3ZlIHNvbWUgdW5uZWRlZCBpbmNsdWRlcwoKMjAwOS0wNC0wNCAyMjowMzoyMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSAgdmRwYXU6IG1vdmUgcGx1Z2luIGRlZmluaXRpb24gdG8gYSBuZXcgZ3N0dmRwYXUuYyBmaWxlIGZpeCB1cCBkZWJ1ZyBjYXRlZ29yaWVzCgoyMDA5LTA0LTA0IDIwOjUzOjM1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuaDoKCSAgdmRwYXU6IGFkZCBuZXcgR3N0VmRwYXVWaWRlb1lVViBlbGVtZW50CgkgIEdzdFZkcGF1RGVjb2RlciBub3cgcHVzaGVzIEdzdFZkcGF1VmlkZW9CdWZmZXJzIGluc3RlYWQgb2YgZG9pbmcKCSAgVmRwU3VyZmFjZSAtPiBZVVYgY29udmVyc2lvbi4gVG8gZ2V0IFlVViBkYXRhIHlvdSBub3cgcHV0IGluIGEgR3N0VmRwYXVWaWRlb1lVVgoJICBlbGVtZW50IHdoaWNoIHRha2VzIEdzdFZkcGF1VmlkZW9CdWZmZXJzIGFuZCBvdXRwdXRzIFlVViBkYXRhLgoKMjAwOS0wNC0wMyAxNzo1OTowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBzbWFsbCBpbmRlbnQgZml4CgoyMDA5LTA0LTAzIDE3OjU4OjI1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmM6CgkgIHZkcGF1OiByZW1vdmUgb2Jvc29sZXRlIEZJWE1FIGFuZCBzb21lIGRlYnVnIHByaW50cyBmcm9tIGdzdHZkcGF1ZGV2aWNlLmMKCjIwMDktMDQtMDMgMTc6NTM6MjEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0LXZkcGF1LWRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuaDoKCSAgdmRwYXU6IGNvbW1pdCByZW5hbWUgb2YgZ3N0LXZkcGF1LWRldmljZS5oIHRvIGdzdHZkcGF1ZGV2aWNlLmgKCjIwMDktMDQtMDMgMTc6NTI6MjAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0LXZkcGF1LWRldmljZS5jOgoJICB2ZHBhdTogcmVtb3ZlIGdzdC12ZHBhdS1kZXZpY2UuYwoKMjAwOS0wNC0wMyAxNzo1MToxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuYzoKCSAgdmRwYXU6IHJlbmFtZSBnc3QtdmRwYXUtZGV2aWNlLltjaF0gdG8gZ3N0dmRwYXVkZXZpY2UuW2NoXQoKMjAwOS0wNC0wMSAyMTo0Mjo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJICB2ZHBhdTogY2hhbmdlIGFsbCByZWZlcmVuY2VzIG9mICJnc3RfdmRwYXVkZWNvZGVyKiIgdG8gImdzdF92ZHBhdV9kZWNvZGVyIgoKMjAwOS0wNC0wMSAyMTo0MDoxNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IG1ha2UgdGhlIGRlY29kZXIgY2xlYW4gdXAgYWZ0ZXIgaXRzZWxmCgoyMDA5LTA0LTAxIDIxOjI2OjQ1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICB2ZHBhdTogcmVtb3ZlIGV4dHJhIFwgZnJvbSBNYWtlZmlsZS5hbQoKMjAwOS0wNC0wMSAyMToxOToxOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdC12ZHBhdS1kZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdC12ZHBhdS1kZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1OiBhZGQgZ3N0dmRwYXVkZXZpY2UgZm9yIGFic3RyYWN0aW5nIHZkcGF1IGluaXRhbGl6YXRpb24KCjIwMDktMDMtMzEgMjI6NTQ6MTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdTogcmVtb3ZlIGNvbW1lbnQKCjIwMDktMDMtMzEgMjI6NTM6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1OiBNUEVHMSBkZWNvZGluZyBrbm93IGdpdmVzIHJlY29nbml6YWJsZSBvdXRwdXQKCjIwMDktMDMtMjkgMTU6Mjg6MDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdTogY3JlYXRlIFZkcERlY29kZXIgaW4gc2V0X2NhcHMgYWRkIG1vcmUgZnVuY3Rpb25zIGZvciBwYXJzaW5nIG1wZWcKCjIwMDktMDMtMjcgMTc6MTE6MDQgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvdmRwYXV2YXJpYWJsZXMuaDoKCSAgdmRwYXU6IHN0b3JlIHZkcGF1IGZ1bmN0aW9uIHBvaW50ZXJzIGluIGEgbG9jYWwgc3RydWN0dXJlCgoyMDA5LTAzLTI3IDE2OjU1OjE5ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXU6IGV4dHJhY3QgbXBlZzIgcHJvZmlsZSBmcm9tIGNvZGVjX2RhdGEKCjIwMDktMDMtMjYgMjE6MDQ6NDggKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSAgdmRwYXU6IGV4dHJhY3QgbXBlZyB2ZXJzaW9uCgoyMDA5LTAzLTI1IDIwOjQxOjQ2ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1aDI2NGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1aDI2NGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IGFkZCB2ZXJzaW9uIHNwZWNpZmljYXRpb24gdG8gbXBlZ2RlY29kZXIgY2FwcwoKMjAwOS0wMy0yNSAyMDozODoyNyArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSAgdmRwYXU6IGZvY3VzIG9uIG1wZWcgaW5zdGVhZCBvZiBoMjY0CgoyMDA5LTAzLTI1IDE5OjU5OjA2ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS92ZHBhdXZhcmlhYmxlcy5oOgoJICB2ZHBhdTogcm91Z2ggdHJ5IGF0IGltcGxlbWVudGluZyBwdXNoaW5mIG9mIFlWMTIgYnVmZmVycwoKMjAwOS0wMy0yNCAyMjoyNjo1NiArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSAgdmRwYXU6IHJlbW92ZSBvYnNvbGV0ZSBjb21tZW50CgoyMDA5LTAzLTIzIDIxOjM2OjU1ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS92ZHBhdXZhcmlhYmxlcy5oOgoJICB2ZHBhdTogaW5pdCB2ZHBhdSBpbiBHU1RfU1RBVEVfQ0hBTkdFX05VTExfVE9fUkVBRFkgYWRkIGdzdF92ZHBhdWRlY29kZXJfcHVzaF92aWRlb19zdXJmYWNlIHRvIHZkcGF1ZGVjb2Rlci5oCgoyMDA5LTAzLTIzIDIwOjQ3OjAwICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkgIHZkcGF1OiBhZGQgc3R1YnMgZm9yIHB1c2hpbmcgVmRwVmlkZW9TdXJmYWNlcyB0byB0aGUgc3JjIHBhZAoKMjAwOS0wMy0yMSAyMjowNjoxMiArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWgyNjRkZWNvZGVyLmM6CgkgIHZkcGF1OiB1cGRhdGUgVmRwYXVIMjY0RGVjb2RlciBlbGVtZW50IGRlc2NyaXB0aW9uCgoyMDA5LTAzLTIwIDIxOjI2OjExICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJICB2ZHBhdTogY2hhbmdsZSBnc3R2ZHBhdWRlY29kZXIuYyBjbGFzc2lmaWNhdGlvbgoKMjAwOS0wMy0yMCAyMToyNDo0MCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWgyNjRkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWgyNjRkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS92ZHBhdXZhcmlhYmxlcy5oOgoJICB2ZHBhdTogaW1wbGVtZW50IGRvd25zdHJlYW0gY2FwcyBuZWdvdGlhdGlvbgoKMjAwOS0wMy0xNSAyMToyMzozNSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSAgdmRwYXU6IHNtYWxsIGluZGVudGF0aW9uIGZpeAoKMjAwOS0wMy0xNSAyMToyMTo0OSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkgIHZkcGF1OiBhZGQgYmFzaWMgYmFzZSBjbGFzcyBmb3IgdmRwYXUgZGVjb2RlcnMKCjIwMDktMDMtMTQgMTA6NDM6MjggKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICBhZGQgbmV3IHZkcGF1IGRpcmVjdG9yeQoKMjAwOS0wNi0xOSAxOTowOToxOSArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rby5zdWJhc2ljIGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluX2J1ZmZlcl9saXN0LmM6CgkgIHJ0cGJpbjogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlci1saXN0CgkgIEFkZCBzdXBwb3J0IGZvciBzZW5kaW5nIGJ1ZmZlci1saXN0cy4KCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGVzdGluZyB0aGF0IHRoZSBidWZmZXItbGlzdCBwYXNzZWQgdGhyb3VnaCBydHBiaW4uCgkgIGZpeGVzICM1ODU4MzkKCjIwMDktMDYtMTggMTI6MTM6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBRElGOiBkbyBub3Qgc2VuZCBib2d1cyB0aW1lc3RhbXBzLCBsZWF2ZSB0byBkb3duc3RyZWFtIChkZWNvZGVyKQoKMjAwOS0wNi0xMSAxNTo1NDo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogb25seSB1c2UgKDY0LWJpdCkgZXh0ZW5kZWQgKG1kYXQpIGF0b20gc2l6ZSBpZiBuZWVkZWQuICBGaXhlcyAjNTg1MzE5LgoKMjAwOS0wNi0xMCAxNDo0NjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNldCBkZWZhdWx0IG1vdmllIHRpbWVzY2FsZSB0byBtaWNyb3NlY29uZCB1bml0cwoKMjAwOS0wNi0xMCAxMzoyNDoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IGNvbXByZXNzL29wdGltaXplIHN0c2Mgd3JpdGluZwoKMjAwOS0wNi0xMCAxMjo0Mjo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIDNHUCBzdHlsZSB0YWdnaW5nIChhbmQgcmVmYWN0b3IgYXBwcm9wcmlhdGVseSkKCjIwMDktMDYtMDEgMjM6MDA6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eCAoYW5kIHZhcmlhbnRzKTogaGFuZGxlIHBpeGVsLWFzcGVjdC1yYXRpby4gIEZpeGVzICM1ODQzNTguCgoyMDA5LTA2LTE5IDE3OjA0OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIEZpeCBwcmV2aW91cyBjb21taXQgc28gdGhhdCB0aGluZ3Mgc3RpbGwgd29yayB3aXRoIGRlYnVnIGxvZ3MgZW5hYmxlZAoKMjAwOS0wNi0xOSAxNjoyMToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgTWFrZSBidWlsZCB3aXRob3V0IHdhcm5pbmdzIHdpdGggZGVidWdnaW5nIGRpc2FibGVkCgoyMDA5LTA2LTE2IDIxOjM0OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBNYWtlIHBsdWdpbiBzY2FubmluZyBtb3JlIHJvYnVzdAoKMjAwOS0wNi0xNiAyMToyNzozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IE1ha2Ugc3VyZSB0byBvbmx5IHJlZ2lzdGVyIHBsdWdpbnMgdGhhdCBoYXZlIHZhbGlkIHByb3BlcnQgdHlwZXMKCjIwMDktMDYtMTYgMTk6NDI6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJICBmcmVpMHI6IFJlbW92ZSBjdXN0b20gZ2V0X3VuaXRfc2l6ZSBpbXBsZW1lbnRhdGlvbgoJICBUaGlzIGlzIGFscmVhZHkgaGFuZGxlZCBieSB0aGUgZGVmYXVsdCBvbmUgZnJvbSBHc3RWaWRlb0ZpbHRlcgoKMjAwOS0wNi0xNSAxNzowNTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJICBmcmVpMHI6IEZpeCB0aGUga2xhc3Mgb2YgdGhlIGZpbHRlciBlbGVtZW50cwoKMjAwOS0wNi0xNCAxOTo0MToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogRnJlZSB0eXBlIG5hbWVzCgoyMDA5LTA2LTE0IDE5OjM1OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSAgZnJlaTByOiBVbnJlZiB0aGUgR3N0Q29sbGVjdFBhZHMgaW5zdGFuY2Ugb24gZmluYWxpemUKCjIwMDktMDYtMTQgMTk6Mjc6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBEb24ndCBhbGxvdyBjYXBzIGNoYW5nZXMgaW4gUExBWUlORy9QQVVTRUQKCSAgTW9zdCBmcmVpMHIgc291cmNlIHBsdWdpbnMgZ2VuZXJhdGUgb3V0cHV0IGJhc2VkIG9uCgkgIHByZXZpb3VzIG91dHB1dCBhbmQgY3JlYXRpbmcgYSBuZXcgaW5zdGFuY2Ugb24gY2FwcwoJICBjaGFuZ2VzIHdpbGwgbGV0IHRoZSBvdXRwdXQgc3RhcnQgYXQgMCBhZ2Fpbi4KCjIwMDktMDYtMTQgMTk6MjE6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkgIGZyZWlyMDogQWRkIHN1cHBvcnQgZm9yIGZyZWkwciBtaXhlciBwbHVnaW5zCgoyMDA5LTA2LTEzIDEwOjA2OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogRGVzdHJveSB0aGUgZjByX2luc3RhbmNlX3QgaW4gc3RvcCgpCgoyMDA5LTA2LTEyIDIyOjA0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogQWRkIHRoZSBmcmVpMHIgcGx1Z2luIHR5cGUgdG8gdGhlIGVsZW1lbnQgbmFtZQoJICBUaGlzIG1ha2VzIGl0IGVhc2llciB0byBkaXN0aW5ndWlzaCBnZW5lcmF0b3JzIGZyb20gZmlsdGVycywgZXRjCgoyMDA5LTA2LTEyIDIyOjAwOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmg6CgkgIGZyZWkwcjogQWRkIHN1cHBvcnQgZm9yIGZyZWkwciBzb3VyY2UvZ2VuZXJhdG9yIHBsdWdpbnMKCjIwMDktMDYtMTIgMTU6MTM6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBBbGxvdyB0aGUgY29tcGxldGUgZG91YmxlIHJhbmdlIGZvciBkb3VibGUgcHJvcGVydGllcwoJICBUaGUgc3BlYyByZXN0cmljdHMgaXQgdG8gWzAsMV0gYnV0IHNvbWUgcGx1Z2lucyBhcmUgdXNpbmcgdGhlCgkgIGNvbXBsZXRlIGRvdWJsZSByYW5nZS4KCjIwMDktMDYtMTIgMTU6MDc6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBVc2UgYmV0dGVyIHByb3BlcnR5IG5pY2tzCgoyMDA5LTA2LTEyIDE0OjU5OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9mcmVpMHIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuaDoKCSAgZnJlaTByOiBGaXJzdCB2ZXJzaW9uIG9mIGEgZnJlaTByIHdyYXBwZXIgcGx1Z2luCgkgIEN1cnJlbnRseSB0aGlzIG9ubHkgc3VwcG9ydHMgZnJlaTByIGZpbHRlcnMuCgoyMDA5LTA2LTE0IDIwOjAwOjUxICswMjAwICBNYXhpbWlsaWFuIEjDtmduZXIgPHBibWF4aUBob2VnbmVycy5kZT4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRXhwbGljaXRlbHkgY2FzdCB0byBzaWduZWQgaW50ZWdlcnMgdG8gZml4IGEgc2VnZmF1bHQKCSAgRml4ZXMgYnVnICM1ODU2NjAuCgoyMDA5LTA2LTA5IDE5OjE0OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIHNoYXBld2lwZTogSW1wbGVtZW50IGJhc2ljIFFvUwoJICBUaGlzIGNoYW5nZSBpcyBiYXNlZCBvbiBUaW0ncyBRb1MgaW1wbGVtZW50YXRpb24KCSAgZm9yIGpwZWdkZWMuCgoyMDA5LTA2LTA5IDE4OjQ1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogUHJveHkgcXVlcmllcyBvbiB0aGUgdmlkZW8gcGFkcyB0byB0aGUgY29ycmVjdCBwZWVycwoKMjAwOS0wNi0wOSAxODozNzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFByb3h5IGJ1ZmZlcmFsbG9jIG9uIHRoZSB2aWRlbyBzaW5rcGFkCgoyMDA5LTA2LTA5IDE4OjI1OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogVHJ5IHRvIHdvcmsgaW5wbGFjZSBpZiBwb3NzaWJsZQoJICBUaGlzIHNhdmVzIG9uZSBuZXcsIGxhcmdlIGFsbG9jYXRpb24gcGVyIGZyYW1lIGZvciB0aGUKCSAgbW9zdCBjYXNlcy4KCjIwMDktMDYtMTYgMTg6NDY6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZml4IHN0cmF5IHNlbWljb2xvbnMgdGhhdCBtZXNzIHVwIGlmIHN0YXRlbWVudAoKMjAwOS0wNi0xMSAxMzo0MjoyMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IEJ1bXAgY29tbW9uIHRvIGNvcnJlY3QgdXBsb2FkLWRvYy5tYWssIGZpeCBhIGNvbW1lbnQgaW4gdGhlIGRvYyBNYWtlZmlsZQoKMjAwOS0wNi0xOCAyMDozMzowMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC4xMy4xCgoyMDA5LTA2LTE4IDA4OjUzOjEyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgQWRkIDAuMTAuMTMgcmVsZWFzZSBlbnRyeSB0byB0aGUgZG9hcCBmaWxlCgo9PT0gcmVsZWFzZSAwLjEwLjEzID09PQoKMjAwOS0wNi0xOCAwODoyOTo1NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTMKCjIwMDktMDYtMTcgMjE6NTY6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wNi0xNiAxNzowOToyNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IHJlc2V0IGZpbGVuYW1lIGFmdGVyIGNhcHR1cmUgdG8gYXZvaWQgcmFjeSB3aGVuIGNhcHR1cmluZyBhZ2FpbgoJICBJZiB3ZSBkb24ndCByZXNldCB0aGUgZmlsZW5hbWUgd2UgY2Fubm90IGNoZWNrIGlmIHdlIHN0aWxsIGV4cGVjdCB0aGUgZmlsZW5hbWUKCSAgZm9yIGEgc3Vic2VxdWVudCBjYXB0dXJlIHBhc3MuIFRoZSBpbWFnZWJpbiB3b3VsZCBnb29kIHRvIHBhdXNlZCBhbmQgd2Ugc2V0IHRoZQoJICBmaWxlbmFtZSBpbiB0aGF0IHN0YXRlLiBUaGlzIHRyaWdlcnMgYW4gZXJyb3ItbWVzc2FnZSBhbmQgd291bGQgY2FwdHVyZSB0byB0aGUKCSAgb2xkIGZpbGVuYW1lLgoKMjAwOS0wNi0xMiAxMDoyOToyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNsZWFudXBzIGluIHRoZSB0ZXN0cwoJICBTcHJpbmtsZSBtb3JlIGxvZ2dpbmcgdG8gbWFrZSBpdCBlYXNpZXIgdG8gZm9sbG93LiBTcGVjaWZ5IGEgbG93IGZyYW1lcmF0ZSBhbmQKCSAgY2FwdHVyZSByZXNvbHV0aW9uIHRvIGF2b2lkIHRlc3RzIHRpbWluZyBvdXQuIE1ha2UgdGhlIHNpbmtzIHN5bmMgdG8gdGVzdCBjbG9zZXIKCSAgdG8gcmVhbGl0eS4gRml4IE1ha2VmaWxlIHRvIHVzZSB1bmluc3RhbGxlZCBpbnRlcmZhY2UuCgoyMDA5LTA2LTEyIDEwOjI2OjMwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc2V0IGltYWdlYmluIHRvIFBBVVNFRCBvbiBjYXB0dXJlIGFuZCBkZWxheWVkIGZpbGVuYW1lIHNldHRpbmcKCSAgV2UgbmVlZCB0byBzZXQgaW1hZ2ViaW4gdG8gUEFVU0VEIHRvIG5vdCBmYWlsIHRoZSBidWZmZXJhbGxvYy4gV2UgYWxzbyBuZWVkIHRvCgkgIGtlZXAgdGhlIGZpbGVzaW5rcyBzdGF0ZSBsb2NrZWQgdW50aWwgd2UgaGF2ZSB0aGUgZmlsZW5hbWUgZm9yIHRoZSBydW4uCgoyMDA5LTA2LTEyIDEwOjE0OjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IGRvIHRoZSBwYWRfYWxsb2MgZm9yIHRoZSBwYWQgdGhhdCBpcyBwZW5kaW5nIGFuZCBoYXZlIGEgZmFsbGJhY2sKCSAgV2Ugc2hvdWxkIGRvIHRoZSBwYWRfYWxsb2MgZm9yIHRoZSBwZW5kaW5nIHBhZCBpZiBhbnksIGFzIHdlIHdpbGwgc3dpdGNoIHRvIHRoYXQKCSAgcGFkIG9uIG5leHQgX2NoYWluKCkgY2FsbC4gQWxzbyBkbyBhIGZhbGxiYWNrIGFsbG9jLCBpZiB0aGVyZSBpcyBubyBvdXRwdXQgeWV0IHRvCgkgIG5vdCBmYWlsIHN0YXRlIHRyYW5zaXRpb25zIGluIGR5bmFtaWMgcGlwZWxpbmVzLgoKMjAwOS0wNi0xMSAxNjowMDozNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogQnVtcCB3aW4zMiBjb25maWcuaCB2ZXJzaW9uIG51bWJlciB0b28KCjIwMDktMDYtMDUgMjI6NDM6NTAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vTElOR1VBUzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTIuMyBwcmUtcmVsZWFzZQoKMjAwOS0wNi0wNiAyMToyODoyNyArMDQwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJICBBZGRlZCBiYXNlIGxpYnMgdG8gZGVidWcgdXRpbHMgbWFrZWZpbGUKCSAgRml4ZXMgIzU4NTAxNQoKMjAwOS0wNi0wNyAxMDo1NTo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICB0ZXN0cy9tZXRhZGF0YTogRG9uJ3QgdHJ5IHRhZ3Mgd2UgY2FuJ3QgaGFuZGxlLiBGaXhlcyAjNTg0OTQ1CgoyMDA5LTA2LTA2IDE5OjI4OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL01ha2VmaWxlLmFtOgoJICBoZHZwYXJzZTogTGluayBhZ2FpbnN0IGxpYm0gYmVjYXVzZSB3ZSB1c2UgcG93KCkuCgoyMDA5LTA2LTA2IDEzOjUzOjA0ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogRG9uJ3QgYnVpbGQgdGhlIG14ZiBleGFtcGxlIGlmIEdUSyBpc24ndCBwcmVzZW50LgoKMjAwOS0wNi0wNiAxMzoxNzo0OSArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkgIGFwZXhzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgRml4IGNvbXBpbGUgd2FybmluZ3Mgb24gc29sYXJpcyBmcm9tIGJ6ZXJvIG5vdCBiZWluZyBkZWNsYXJlZCAodXNlCgkgIG1lbXNldCBpbnN0ZWFkKSwgYW5kIHN0cmljdC1hbGlhc2luZyB3YXJuaW5ncyAodXNlIGEgdGVtcG9yYXJ5CgkgIHZhcmlhYmxlKS4KCjIwMDktMDYtMDYgMDI6MzU6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBpbml0IGdlbnJlIGZpZWxkIGluIElEM3YxIHRhZyB0byBhbiBpbnZhbGlkIG51bWJlcgoJICBTbyB0aGF0IGl0IGlzIG5vdCBpbnRlcnByZXRlZCBhcyAnQmx1ZXMnIGlmIG5vIGdlbnJlIGlzIHRvIGJlIHdyaXR0ZW4uCgoyMDA5LTA2LTA2IDAxOjA1OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkgIGlkM211eDogZG9uJ3Qgd3JpdGUgSUQzdjEgdGFnIHVudGlsIHNwZWNpZmljYWxseSBpbnN0cnVjdGVkIHRvIGRvIHNvCgkgIElEM3YxIHRhZ3MgYXJlIG9uZSBvZiB0aGUgbW9zdCBicm9rZW4gYW5kIGlsbC1kZXNpZ25lZCB0aGluZ3MgdGhhdAoJICBleGlzdCBvbiB0aGlzIHBsYW5ldC4gTGV0J3Mgbm90IHdyaXRlIHRoZW0gYnkgZGVmYXVsdC4KCjIwMDktMDYtMDYgMDA6NTg6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBkb24ndCB3cml0ZSBlbXB0eSBJRDN2MSB0YWcKCjIwMDktMDYtMDYgMDA6Mzk6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4Lmg6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmg6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmg6CgkgIGlkM3RhZzogcmVuYW1lIG5ldyBpZDN0YWcgZWxlbWVudCB0byBpZDNtdXggcmVwbGFjaW5nIHRoZSBvbmUgcmVtb3ZlZCBmcm9tIC11Z2x5CgoyMDA5LTA2LTA1IDIzOjUyOjA1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbnNmL25lczY1MDIuYzoKCSAgbnNmOiBGaXggY29tcGlsZXIgd2FybmluZyBvbiBTb2xhcmlzLgoJICBBIFNFQygpIG1hY3JvIGFscmVhZHkgZXhpc3RzIG9uIFNvbGFyaXMsIGNhdXNpbmcgd2FybmluZ3MgYWJvdXQKCSAgcmVkZWZpbmluZyBpdC4KCjIwMDktMDYtMDUgMjI6MjA6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSAgaGR2cGFyc2U6IEZpeCB0aGUgYnVpbGQgb24gQ29tbWFuZGVyIFRoYXl0YW4ncyBTMTBTUAoKMjAwOS0wNi0wNSAxOTo1MzowOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBJZ25vcmUgc2hhcGV3aXBlIHVuaXQgdGVzdCBiaW5hcnkKCjIwMDktMDYtMDUgMTk6MzI6MjYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3gyNjQvR3N0WDI2NEVuYy5wcnM6CgkqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBNb3ZlZCAneDI2NGVuYycgZnJvbSAtYmFkIHRvIC11Z2x5CgoyMDA5LTA2LTA1IDIxOjE3OjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBmaXggbGluayBvcmRlcgoJICBNb3ZlIGxvY2FsIHZlcnNpb24gdXAgaW4gdGhlIGxpbmsgb3JkZXIuCgoyMDA5LTA2LTA1IDIwOjIyOjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkgIGhkdnBhcnNlOiBFbWl0IGEgR1NUX01FU1NBR0VfRUxFTUVOVCB3aXRoIHNvbWUgZ29vZG5lc3MgaW4gaXQuCgoyMDA5LTA2LTA1IDEwOjQ5OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBBZGQgbWV0aG9kcyB0byBnZXQgbmFtZXMgb2YgdmFyaW91cyB2YWx1ZXMuCgoyMDA5LTA2LTA1IDEwOjQ4OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggSERWIHByaXZhdGUgc3RyZWFtIGRlZmluaXRpb24vY2Fwcy4KCjIwMDktMDYtMDUgMTA6NDc6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSAgaGR2cGFyc2U6IFJld3JpdGUgZnJvbSBzY3JhdGNoLiBIYW5kbGUgYm90aCBoZHYtYSBhbmQgaGR2LXYKCSAgVGhpcyB0aW1lIHdlIGFuYWx5emUgYSBsb3QgbW9yZSBpbmZvcm1hdGlvbi4KCSAgU3RpbGwgbmVlZCB0byByZS1hZGQgdGhlIG1lc3NhZ2UgZW1pc3Npb24uCgoyMDA5LTA2LTA1IDE2OjQ4OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBjb3JyZWN0IGZyYW1lc2l6ZSByYW5nZQoJICBBIENFTFQgZnJhbWVzaXplIGNhbiBiZSBiZXR3ZWVuIDY0IGFuZCA1MTIgc2FtcGxlcy4KCSAgRml4IGEgdHlwbyBpbiB0aGUgYml0cmF0ZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbi4KCjIwMDktMDUtMjcgMTE6MzM6MDEgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHByZXZpZXcgaW1hZ2Ugc2VuZGluZyBvcHRpbWl6YXRpb24KCSAgKiBkZWNvdXBsZSBpbWFnZSBjYXB0dXJpbmcgZnJvbSBpbWFnZSBwb3N0LXByb2Nlc3NpbmcgYW5kIGVuY29kaW5nCgkgICogcG9zdCBpbWFnZS1jYXB0dXJlZCBtZXNzYWdlIGFmdGVyIGltYWdlIGlzIGNhcHR1cmVkCgkgICogcG9zdCBwcmV2aWV3LWltYWdlIG1lc3NhZ2Ugd2l0aCBzbmFwc2hvdCBvZiBjYXB0dXJlZCBpbWFnZQoKMjAwOS0wNS0xOSAxNjo1ODozNiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxvc2UgcG9zdCBwcm9jZXNzaW5nIGVsZW1lbnQgaW4gZmlyc3QgcmVzZXQKCjIwMDktMDUtMTIgMTI6NDk6MzMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiBhZGQgZGVidWcgaW5jbHVkaW5nIGRvdCBncmFwaCB3cml0aW5nCgoyMDA5LTA1LTA1IDE0OjE5OjQ2ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVuYmxvY2sgaWYgZXJyb3Igb2NjdXJzIGR1cmluZyBjYXB0dXJlCgoyMDA5LTA1LTA0IDEwOjMzOjE4ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogaWdub3JlIG5pZ2h0IG1vZGUgaGFuZGxpbmcgaWYgYWxyZWFkeSBpbiBuaWdodCBtb2RlCgoyMDA5LTA1LTA0IDEwOjMyOjEwICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHN0b3Agb25nb2luZyBjYXB0dXJlIGlmIGNoYW5naW5nIHJlc29sdXRpb24KCjIwMDktMDQtMjMgMTg6MTU6NDMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiBsaW1pdCB0aGUgc2l6ZSBvZiB2aWRlbyBiaW4gcXVldWUgbGVhZGluZyB0byB2aWV3IGZpbmRlcgoJICBXZSBkb24ndCB3YW50IHRvIHNob3cgb2xkIGJ1ZmZlcnMgaW4gdmlldyBmaW5kZXIuCgoyMDA5LTA0LTIyIDEyOjI5OjE0ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnhvdmVybGF5LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlueG92ZXJsYXkuaDoKCSAgY2FtZXJhYmluOiBkb24ndCBwcm94eSBnc3QgeG92ZXJsYXkgaW50ZXJmYWNlCgkgIERlZmF1bHQgdmlldyBmaW5kZXIgc2luayBpbiBjYW1lcmFiaW4gaXMgYXV0b3ZpZGVvc2luayB3aGljaCBkb2Vzbid0CgkgIHN1cHBvcnQgeG92ZXJsYXkgaWZhY2UuIElmIGFwcGxpY2F0aW9uIGRlY2lkZXMgdG8gdXNlIGFub3RoZXIgc2luawoJICB0aGF0IHN1cHBvcnRzIHhvdmVybGF5LCB0aGVuIGl0IGNhbiB1c2UgdGhlIGludGVyZmFjZSBkaXJlY3RseS4KCjIwMDktMDQtMjAgMTc6MDY6MTQgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSAgY2FtZXJhYmluOiBhbGxvdyBjb25maWd1cmluZyBwaG90b2dyYXBoeSBzZXR0aW5ncyB3aGVuIGluIE5VTEwgc3RhdGUKCSAgQ2FjaGUgdGhlIHBob3RvZ3JhcGh5IHNldHRpbmdzIGlmIHNldCBpbiBOVUxMIHN0YXRlIGFuZCBhcHBseSB0aGVtIGxhdGVyCgoyMDA5LTA0LTIwIDE3OjA1OjQ5ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogYWRkIGZ1bmN0aW9ucyB0byBzZXQvZ2V0IGFsbCBzZXR0aW5ncyB3aXRoIG9uZSBjYWxsCgoyMDA5LTAzLTA5IDE4OjAwOjQ1ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNyb3Agc3RpbGwgaW1hZ2UgY2FwdHVyZSBmcmFtZSBpZiBuZWNlc3NhcnkKCSAgSWYgaW5jb21pbmcgc3RpbGwgaW1hZ2UgY2FwdHVyZSBmcmFtZSBhc3BlY3QgcmF0aW8gZGlmZmVycyBmcm9tIGFzcGVjdAoJICByYXRpbyB0aGF0IGFwcGxpY2F0aW9uIHJlcXVlc3RlZCwgdGhlbiBhcHBseSBjcm9wIHRvIHRoZSBmcmFtZS4KCjIwMDktMDYtMDUgMTA6MjU6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkgIGRvY3M6IGFkZCBpbnNwZWN0IGZpbGVzIGZvciBuZXcgcGx1Z2lucwoKMjAwOS0wNi0wNSAxMDoxNjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgIGRvY3M6IGZpeCBidWlsZCBvZiBwbHVnaW4gZG9jcyBieSB1cGRhdGluZyBpbnNwZWN0IHRlbXBsYXRlcwoJICBUaGUgeG1sIGluc3BlY3QgZGF0YSBvZiB0aGUgZGVidWd1dGlsc2JhZCBwbHVnaW4gZGlkbid0IGNvbnRhaW4gdGhlCgkgIGRhdGEgZm9yIHRoZSBmcHNkaXNwbGF5c2luayBlbGVtZW50IChzb21lb25lIHByb2JhYmx5IHJhbiAnbWFrZSB1ZHBhdGUnCgkgIGluIGRvY3MvcGx1Z2lucyB3aXRoIHRoZSBvbGQgbGliZ3N0ZnBzZGlzcGxheXNpbmsuc28gZnJvbSBiZWZvcmUgdGhlCgkgIHJlbmFtZSBzdGlsbCBhcm91bmQpLgoKMjAwOS0wNi0wNSAxMDozNDozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMveG1sL2VsZW1lbnQtZnBzZGlzcGxheXNpbmstZGV0YWlscy54bWw6CgkgIFJldmVydCAiZG9jczogYWRkIGRvYyBmaWxlIGZybyBuZXcgcGx1Z2luIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDAzOWVmM2ViMDcyNTU1YjdjYTM4ZmMzNTFjYTM4NmJiNjgwY2NjY2MuCgkgIFdlIGRvbid0IHRyYWNrIHRoZSBzdHVmZiBpbiB4bWwvIGluIGdpdC4KCjIwMDktMDYtMDUgMTE6MTg6MzEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy94bWwvZWxlbWVudC1mcHNkaXNwbGF5c2luay1kZXRhaWxzLnhtbDoKCSAgZG9jczogYWRkIGRvYyBmaWxlIGZybyBuZXcgcGx1Z2luCgoyMDA5LTA2LTAxIDE2OjMxOjQyICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0LXNlbGVjdG9yOiBzZXJpYWxpemUgc2V0dGluZyBhbmQgYWN0dWFsIGNoYW5naW5nIG9mIG5ldyBhY3RpdmUgcGFkCgoyMDA5LTA1LTA0IDEyOjI5OjU0ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0LXNlbGVjdG9yOiB1bnJlZiBsYXRlc3QgYnVmZmVyIGFsc28gd2hlbiByZXNlbmRpbmcgaGFzIGJlZW4gZGlzYWJsZWQKCjIwMDktMDQtMTYgMTc6MzI6MDMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXQtc2VsZWN0b3I6IGtlZXAgcmVmIHRvIGJ1ZmZlciBmb3IgcmVzZW5kaW5nIG9ubHkgaWYgZXhwbGljaXRseSByZXF1ZXN0ZWQKCjIwMDktMDYtMDQgMTk6MDg6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBkb24ndCBsZWFrIHBhZHMgaW4gaXRlcmF0b3IKCjIwMDktMDYtMDQgMTY6Mjk6MzEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSAgbXBlZ2RlbXV4OiBBZGQgYSBHU1RfTUVNRFVNUCBsaW5lIGluIHRoZSBkZXNjcmlwdG9yIHBhcnNpbmcKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBzZWUgZGVzY3JpcHRvciBjb250ZW50cyBpbiB0aGUgZGVidWcgb3V0cHV0CgkgIChHU1RfREVCVUc9bXBlZ3RzZGVzYzo5KSwgYW5kIHJlbW92ZSBhIHN0cmF5IHNlbWktY29sb24uCgoyMDA5LTA2LTA0IDE2OjExOjE2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBBdm9pZCBwYXNzaW5nIHRoZSBjdXN0b20gR1NUX0ZMT1dfTkVFRF9NT1JFX0RBVEEgdXBzdHJlYW0KCSAgRG9uJ3QgcmV0dXJuIEdTVF9GTE9XX05FRURfTU9SRV9EQVRBIGZyb20gdGhlIGNoYWluIGZ1bmN0aW9uIGF0IHRoZSBlbmQKCSAgb2YgZmlsZXMuCgoyMDA5LTA2LTA0IDA4OjU2OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IE5vdGlmeSB3aGVuIHRoZSB0YWdzIHByb3BlcnR5IG9mIHRoZSBzZWxlY3RvciBzaW5rcGFkcyBjaGFuZ2VzCgkgIEZpcnN0IHBhcnQgb2YgYnVnICM1ODQ2ODYuCgoyMDA5LTA2LTA0IDA4OjU2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEluY3JlYXNlIHRpbWVvdXQgb2YgdGhlIHVuaXQgdGVzdAoKMjAwOS0wNi0wMyAyMzozNTozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucwoKMjAwOS0wNi0wMiAxMTozNjowMSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCB0d28gbmV3IHBsdWdpbnMgdG8gc3BlYyBmaWxlCgoyMDA5LTA2LTAyIDExOjIzOjM3ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICBkdmRzcHU6IGFkZCBtaXNzaW5nIGhlYWRlciB0byBNYWtlZmlsZS5hbTogZ3N0c3B1LWNvbW1vbi5oCgoyMDA5LTA2LTAyIDAxOjA5OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgZGlyYWM6IHVzZSBHU1RfQ1hYRkxBR1MgaW5zdGVhZCBvZiBHU1RfQ0ZMQUdTIGZvciBjKysgY29tcGlsZXJzCgkgIEZpeGVzIGNvbXBpbGVyIG1lc3NhZ2UgYWJvdXQgcGFzc2luZyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudAoJICB0byB0aGUgQysrIGNvbXBpbGVyLgoKMjAwOS0wNi0wMSAxNTo1MzoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCBzYW1wbGUgcmF0ZSBleHRyYWN0aW9uIGZyb20gY29kZWMgZGF0YQoJICBJbiBvbmUgY2FzZSB3ZSBleHRyYWN0ZWQgdGhlIHNhbXBsZSByYXRlIGluZGV4IGZyb20gdGhlIGNvZGVjIGRhdGEKCSAgYW5kIHNhdmVkIGl0IGFzIHNhbXBsZSByYXRlIHJhdGhlciB0aGFuIGdldHRpbmcgdGhlIHJlYWwgc2FtcGxlCgkgIHJhdGUgZnJvbSB0aGUgdGFibGUuIEZpeCB0aGF0LCBhbmQgYWxzbyBtYWtlIHN1cmUgd2UgZG9uJ3QgYWNjZXNzCgkgIG5vbi1leGlzdGFudCB0YWJsZSBlbnRyaWVzIGJ5IGFkZGluZyBhIHNtYWxsIGhlbHBlciBmdW5jdGlvbiB0aGF0CgkgIGd1YXJkcyBhZ2FpbnN0IG91dC1vZi1ib3VuZHMgYWNjZXNzIGluIGNhc2Ugb2YgaW52YWxpZCBpbnB1dCBkYXRhLgoKMjAwOS0wNi0wMSAxNDowMjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmM6CgkgIGFhY3BhcnNlLCBhbXJwYXJzZTogcmVtb3ZlIGJvZ3VzIGdzdF9wYWRfZml4YXRlX2NhcHMoKSBjYWxscwoKMjAwOS0wNi0wMSAxMzo1NjoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wYWdhdGUgcmV0dXJuIHZhbHVlIG9mIEdzdEJhc2VQYXJzZTo6c2V0X3NpbmtfY2FwcygpCgkgIGdzdF9iYXNlX3BhcnNlX3Npbmtfc2V0Y2FwcygpIHByZXN1bWFibHkgc2hvdWxkIGZhaWwgaWYgdGhlIHN1YmNsYXNzCgkgIHJldHVybnMgRkFMU0UgZnJvbSBpdHMgOjpzZXRfc2lua19jYXBzKCkgZnVuY3Rpb24uCgoyMDA5LTA2LTAxIDEzOjQ3OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGRvbid0IHRyeSB0byBHU1RfTE9HIGFuIGFscmVhZHktZnJlZWQgY2FwcyBzdHJpbmcKCSAgVGhlIHByb3BlciB3YXkgdG8gbG9nIGNhcHMgaXMgdmlhIEdTVF9QVFJfRk9STUFUIGFueXdheS4KCjIwMDktMDYtMDEgMTM6MDU6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBzZXQgY2hhbm5lbHMgYW5kIHJhdGUgb24gb3V0cHV0IGNhcHMsIGFuZCBrZWVwIGNvZGVjX2RhdGEKCSAgQ3JlYXRlIG91dHB1dCBjYXBzIGZyb20gaW5wdXQgY2Fwcywgc28gd2UgbWFpbnRhaW4gYW55IGZpZWxkcyB3ZQoJICBtaWdodCBnZXQgb24gdGhlIGlucHV0IGNhcHMsIHN1Y2ggYXMgY29kZWNfZGF0YSBvciByYXRlIGFuZCBjaGFubmVscy4KCSAgU2V0IGNoYW5uZWxzIGFuZCByYXRlIG9uIHRoZSBvdXRwdXQgY2FwcyBpZiB3ZSBkb24ndCBoYXZlIGlucHV0IGNhcHMKCSAgb3IgdGhleSBkb24ndCBjb250YWluIHN1Y2ggZmllbGRzLiBXZSBkbyB0aGlzIHBhcnRseSBiZWNhdXNlIHdlIGNhbiwKCSAgYnV0IGFsc28gYmVjYXVzZSBzb21lIG11eGVycyBuZWVkIHRoaXMgaW5mb3JtYXRpb24uIFRhZ3JlYWRiaW4gd2lsbAoJICBhbHNvIGJlIGhhcHB5IGFib3V0IHRoaXMuCgoyMDA5LTA2LTAxIDIyOjQyOjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgZ3BwbXV4OiBlbmhhbmNlIGZ0eXAgYnJhbmQgaGV1cmlzdGljLiAgRml4ZXMgIzU4NDM2MC4KCjIwMDktMDYtMDEgMjE6MjQ6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBGaXggc29tZSBpc3N1ZXMgdGhhdCB3ZXJlIGV4cG9zZWQgYnkgdGhlIG5ldyB1bml0IHRlc3QKCjIwMDktMDYtMDEgMjE6MjQ6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEFkZCB1bml0IHRlc3QgZm9yIHNoYXBld2lwZQoKMjAwOS0wNS0zMSAyMTozMzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQWRkIGRvY3VtZW50YXRpb24gYW5kIGludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMDktMDUtMzEgMjA6MjQ6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogaW5jbHVkZSBnbGliLmggYmVmb3JlIGNoZWNraW5nIGlmIEdfT1NfV0lOMzIgaXMgZGVmaW5lZAoKMjAwOS0wNS0zMSAyMDoyMzoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbmV3IHNoYXBld2lwZSBleGFtcGxlIGJpbmFyeQoKMjAwOS0wNS0zMSAxODoyMzo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJICBoZHZwYXJzZTogU2V0dGluZyByYW5rIHRvIE5PTkUgc28gaXQgZG9lc24ndCBnZXQgcGlja2VkIHVwIGJ5IHBsYXliaW4yLgoKMjAwOS0wNS0zMSAxODoyMzowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJICBoZHZwYXJzZTogRW1pdCBhcHBsaWNhdGlvbiBtZXNzYWdlIHdpdGggdGhlIHBhcnNlZCBpbmZvcm1hdGlvbi4KCjIwMDktMDUtMzEgMTQ6MTU6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9oZHZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5oOgoJICBoZHZwYXJzZTogTmV3IGVsZW1lbnQgZm9yIHBhcnNpbmcgcHJpdmF0ZS9oZHYtYTEgc3RyZWFtcy4KCjIwMDktMDUtMjkgMjE6MDc6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBZGp1c3QgYm9yZGVyIHRvIHN0aWxsIGhhdmUgZXZlcnl0aGluZyB0cmFuc3BhcmVudCBhdCAxLjAgYW5kIHRoZSBvdGhlciB3YXkgYXJvdW5kCgoyMDA5LTA1LTI5IDE2OjU1OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IERpdmlkZSB0aGUgYm9yZGVyIHZhbHVlIGJ5IHR3bywgb3RoZXJ3aXNlIHdlIHVzZSBhIHR3aWNlIGEgd2lkZSBib3JkZXIKCjIwMDktMDUtMjkgMTY6NTE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogQWRkIGJvcmRlciBwcm9wZXJ0eSB0byBhbGxvdyBzbW9vdGggYm9yZGVycwoJICAuLi5hbmQgdXNlIGEgYm9yZGVyIG9mIDAuMDEgaW4gdGhlIGV4YW1wbGUgYXBwbGljYXRpb24uCgoyMDA5LTA1LTI5IDE1OjQ0OjUxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggYm9ndXMgdW5pbml0aWFsaXNlZCB2YXJpYWJsZSBhY2Nlc3MKCSAgVHlwbyBpbiB0aGUgcHJldmlvdXMgY29tbWl0CgoyMDA5LTA1LTI5IDE1OjAxOjQyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBVc2UgdGhlIElTTyA2MzkgbGFuZ3VhZ2UgY29kZSBkZXNjcmlwdG9yIHRvIHNlbmQgdGFncy4KCSAgSWYgdGhlcmUgaXMgYW4gSVNPIDYzOSBsYW5ndWFnZSBkZXNjcmlwdG9yIGZvciBhIHN0cmVhbSwgc2VuZCBhIGxhbmd1YWdlCgkgIGNvZGUgdGFnIHNvIHRoYXQgcGxheWVycyBjYW4gc2hvdyBhIG1lYW5pbmdmdWwgbGFuZ3VhZ2UgZm9yIHRoZSBhdWRpbyBhbmQKCSAgc3VidGl0bGUgc3RyZWFtcy4KCjIwMDktMDUtMjkgMTY6MDA6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJICBzaGFwZXdpcGU6IEZpeCBNYWtlZmlsZSBvZiB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbgoKMjAwOS0wNS0yOSAxNTozMjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IEFkZCBhIHNpbXBsZSBzaGFwZXdpcGUgdHJhbnNpdGlvbiBmaWx0ZXIgJiBleGFtcGxlIGFwcGxpY2F0aW9uCgoyMDA5LTA1LTI4IDE3OjM3OjQ0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBUcmFuc2Zvcm0gdGhlIHJpZ2h0IHNlc3Npb24gc2RlcyBtZXNzYWdlCgkgIEZpeGVzICM1ODQxNjUKCjIwMDktMDUtMjggMTc6MzM6MTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBBZGQgc3NyYyB0byBhcHBsaWNhdGlvbi94LXJ0cC1zb3VyY2Utc2RlcyBzdHJ1Y3R1cmUKCjIwMDktMDUtMjggMjM6MTI6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogYWRkIHN1cHBvcnQgZm9yIEEtTGF3IGFuZCDCtS1MYXcKCjIwMDktMDUtMjggMjM6MDg6MTcgKzAxMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBnc3RzcHU6IEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPUy9YCgkgIEZpeCBzb21lIHdhcm5pbmdzIGZvciBmb3JtYXQgc3RyaW5nIGFyZ3MgYW5kIHVuaW5pdGlhbGl6ZWQgdmFycyBvbiBPUy9YCgkgIEZpeGVzOiAjNTg0MTY0CgkgIFNpZ25lZC1vZmYtYnk6IEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCjIwMDktMDUtMjggMTM6NTY6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBkaWZmZXJlbnQgc3RzZCBhdG9tIHR5cGUgZm9yIEgyNjMgZm9yIElTTyBhbmQgUVQgdmFyaWFudHMKCSAgRml4ZXMgIzU4NDExNC4KCjIwMDktMDUtMjggMTM6MDc6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VuZHRvdWNoOiBmaXggZGV0ZWN0aW9uIG9mIGxpYnNvdW5kdG91Y2ggPj0gMS40CgoyMDA5LTA1LTI4IDEzOjA5OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuaDoKCSAgYW1ycGFyc2U6IGNvbnNpZGVyIGhlYWRlciBzaXplIGluIGJ5dGUgPC0+IHRpbWUgY29udmVyc2lvbnMKCjIwMDktMDUtMjYgMTk6NDM6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IGRlYnVnIGNhdGVnb3J5CgoyMDA5LTA1LTI4IDEwOjM4OjUwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuaDoKCSAgc2VsZWN0b3I6IHJlbW92ZSBub3QgbmVlZGVkIGluc3RhbmNlIHZhciAocHJldmlvdXMgY29tbWl0KS4KCjIwMDktMDUtMTEgMTY6MTI6NTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIGphY2s6IHdoZW4gc3RvcHBpbmcgcGxheWJhY2ssIGRvIG9uZSBtb3JlIGN5Y2xlIHRvIGZsdXNoIHRoZSBwb3J0LiBGaXhlcyAjNTgyMTY3CgkgIFRoZSBnc3RfamFja19hdWRpb19jbGllbnRfc2V0X2FjdGl2ZSgpIGZsYWdzIHRoZSBwb3J0IGFzIGRlYWN0aXZhdGluZyBhbmQgdXNlcwoJICBhIEdDb25kIHRvIHdhaXQgdW50aWwgdGhlIGphY2tfcHJvY2Vzc19jYigpIGhhcyBydW4gb25jZSBtb3JlIGFuZCBjbGVhcmVkIHRoZQoJICBmbGFnLiBUaGlzIHdheSB0aGUgY2xpZW50IHplcm8ncyB0aGUgYnVmZmVyLiBUaGlzIGhhcHBlbnMgaWYgb25lIG1hbnlhbGx5IGdvCgkgIHRvIFBBVVNFRCBhbmQgdGhlbiB0byBSRUFEWSwgd2hpbGUgbGV0aW5nIHRoZSBtYWlubG9vcCBydW4gaW5iZXR3ZWVuLgoKMjAwOS0wNS0yOCAxMDoxMjo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5oOgoJICBvdXRwdXRzZWxlY3RvcjogaW1wbGVtZW50IHBhZF9hbGxvYyBvbiBhY3RpdmUgcGFkLgoKMjAwOS0wNS0yNyAyMjo1NDo1MSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByZXNpbmR2ZDogQ3JlYXRlIGFsbCB0aGUgYXVkaW8gc3RyZWFtcyBvZiBhbGwgZm9ybWF0cwoJICBFbmFibGUgY3JlYXRpb24gb2YgdGhlIGRlbXV4ZXIgcGFkcyBmb3IgYWxsIGF1ZGlvIHN0cmVhbXMsIGV2ZW4gdHlwZXMgd2UKCSAgZG9uJ3QgeWV0IHN1cHBvcnQuIFRoaXMgbWVhbnMgdGhhdCB1bnN1cHBvcnRlZCB0eXBlcyAoTFBDTSwgRFRTKSBhcmUgb3V0cHV0LAoJICBidXQgbm90IGxpbmtlZCB0byBhbnl0aGluZyB5ZXQuIElmIG9ubHkgdW5zdXBwb3J0ZWQgc3RyZWFtcyBhcmUgYXZhaWxhYmxlLAoJICB0aGUgdXNlciBoZWFycyBzaWxlbmNlIGluc3RlYWQgb2YgaGF2aW5nIHRoZSBwaXBlbGluZSBub3QgcHJlLXJvbGwgY29ycmVjdGx5LgoJICBUaGlzIGlzIGEgcHJlcmVxdWlzaXRlIGZvciBob29raW5nIHVwIHRoZSBhdXRvbWF0aWMgZGVjb2RlciBzd2l0Y2hpbmcuCgoyMDA5LTA1LTI3IDExOjAzOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdWNlOiB0aGUgbmV0d29yayBhZGRyZXNzIGlzIGluIG5ldHdvcmsgb3JkZXIKCSAgQnJpbmcgdGhlIG5ldHdvcmsgYWRkcmVzcyBpbiBuZXRvd2tyIGJ5dGUgb3JkZXIgdG8gdGhlIGhvc3Qgb3JkZXIuCgoyMDA5LTA1LTI3IDAwOjUxOjQ1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZ3N0c3B1OiBDb252ZXJ0IGdfd2FybmluZ3MgdG8gR1NUX0VSUk9SLCBhbmQgZml4IGZvcm1hdCBzcGVjaWZpZXJzCgkgIFVzZSBHX0dTU0laRV9GT1JNQVQgZm9yIHByaW50aW5nIHBvaW50ZXIgZGlmZmVyZW5jZXMsIHdoaWNoIHNob3VsZCB3b3JrIG9uCgkgIGJvdGggMzItYml0IGFuZCA2NC1iaXQgc3lzdGVtcy4KCSAgVXNlIEdTVF9FUlJPUiBpbnN0ZWFkIG9mIGdfd2FybmluZyBmb3IgcHJpbnRpbmcgbWVzc2FnZXMgYWJvdXQgdW5rbm93bgoJICBwYWNrZXQgY29udGVudHMuCgoyMDA5LTA1LTI3IDAwOjQ3OjA1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGdzdHNwdTogRml4IGEgbmFzdHkgcmVncmVzc2lvbiwgd2l0aCBEVkRzIHJhbmRvbWx5IGNyYXNoaW5nCgkgIFVzZSB0aGUgbG9jYWwgd3JhcHBlciBmdW5jdGlvbiB3aGVuIGNsZWFyaW5nIHRoZSBjb21wb3NpdGluZyBidWZmZXJzIHRvCgkgIGVuc3VyZSB0aGUgY29ycmVjdCBwb3J0aW9uIGlzIGJlaW5nIGNsZWFyZWQuCgoyMDA5LTA1LTI2IDE5OjM4OjU0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBMUENNIHN0cmVhbXMgYXJlIG9ubHkgZnJvbSAweGEwIHRvIDB4YWYuCgkgIEZpeCB0aGUgc2FtZSBidWcgYXMgdGhlIHByZXZpb3VzIGNvbW1pdCwgYnV0IGluIHJlc2luZHZkJ3MgY29weSBvZgoJICBtcGVnZGVtdXguCgoyMDA5LTA1LTI2IDE4OjQ3OjMyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IE9ubHkgdHJlYXQgc3RyZWFtcyBmcm9tIDB4YTAgdG8gMHhhZiBhcyBMUENNLCBub3QgMHhhMC4uMHhiZgoJICBEb24ndCB0cmVhdCBzb21lIHN0cmVhbXMgKFByaXZhdGUgU3RyZWFtIDIpIGFzIExQQ00gd2hlbiB0aGV5J3JlIG5vdC4gRml4ZXMKCSAgcGxheWJhY2sgb2YgZmlsZXMgdGhhdCBoYXZlIHByaXZhdGUgc3RyZWFtcyBpbiB0aGVtIG5vdyB0aGF0IHRoZSBQRVMgZmlsdGVyCgkgIGVtaXRzIHN1Y2ggcGFja2V0cy4KCjIwMDktMDUtMjYgMTg6NDM6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogZml4IHByaW50ZiBmb3JtYXRzIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDA5LTA1LTI2IDE3OjE5OjM1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhYjExZDEgdG8gYzU3MjcyMQoKMjAwOS0wNS0yMyAyMzoxOTowNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LWNvbW1vbi5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBnc3RzcHU6IEltcGxlbWVudCBQR1MgcmVuZGVyaW5nIGFuZCBhbHBoYSBibGVuZGluZwoJICBSZWZhY3RvciB0aGUgRFZEIHN1YnBpY3R1cmUgY29tcG9zaXRpbmcsIHN3aXRjaGluZyBpdCB0byA4LWJpdCBhbHBoYQoJICBjYWxjdWxhdGlvbnMuIFJldXNlIHNvbWUgb2YgdGhlIHJlc3VsdGluZyBjb2RlIHRvIGltcGxlbWVudCBQR1MKCSAgc3VicGljdHVyZSBibGVuZGluZy4KCSAgSW1wbGVtZW50IHBhcnNpbmcgYW5kIGNvbGxlY3Rpbmcgb2YgY29tcG9zaXRpb24gb2JqZWN0cyBwcm9wZXJseSwgYnV0CgkgIGFzc3VtaW5nIGEgc2luZ2xlIGFjdGl2ZSB3aW5kb3cgYW5kIGNvbG91ciBwYWxldHRlIGZvciBub3cuIEkgbmVlZCBtb3JlCgkgIFBHUyBzYW1wbGVzLgoKMjAwOS0wNS0yMiAxMToxMzo1OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBkdmRzcHU6IE1vdmUgYSBidW5jaCBvZiB2b2JzdWIgc3BlY2lmaWMgbG9naWMgdG8gYSBzZXBhcmF0ZSBmaWxlLgoJICBTdGFydCBzZXBhcmF0aW5nIG91dCB0aGUgdm9ic3ViIGxvZ2ljIGluIHByZXBhcmF0aW9uIGZvciBjcmVhdGluZwoJICBzZXBhcmF0ZSByZW5kZXJlciBvYmplY3RzIGZvciBlYWNoIHN1YnBpY3R1cmUgZm9ybWF0LgoKMjAwOS0wNS0yMiAxMToxMjo1MiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogQWRkIGNvcHlyaWdodCBoZWFkZXIgYW5kIGluY2x1ZGVzIHRvIHRoZSBQR1MgaGFuZGxlcgoKMjAwOS0wNS0yMiAxMDoxNTo0NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogTWFrZSB0aGUgUEdTIGR1bXBpbmcgbGVzcyB2ZXJib3NlCgoyMDA5LTA1LTIxIDIzOjQ1OjQzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IENvbGxlY3QgZW50aXJlIFBHUyBwYWNrZXRzIGFuZCBxdWV1ZSBhcyBldmVudHMKCSAgQ29sbGVjdCBmcmFnbWVudGVkIFBHUyBwYWNrZXRzIGFuZCBzdWJtaXQgYXMgY29tcGxldGUgZXZlbnRzIGZvcgoJICBwcm9jZXNzaW5nIGF0IHRoZSBjb3JyZWN0IG1vbWVudC4KCjIwMDktMDUtMjAgMDg6NTU6NDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuaDoKCSAgZHZkc3B1OiBBZGQgc2ltcGxlIFBHUyBoYW5kbGVyIHRoYXQgZHVtcHMgdGhlIHBhY2tldCBpbmZvCgkgIEFkZCBzZXRjYXBzIGxvZ2ljIG9uIHRoZSBzdWJwaWN0dXJlIHNpbmsgcGFkIGZvciBjb25maWd1cmluZwoJICB3aGljaCBzdWJwaWN0dXJlIGZvcm1hdCBpcyBhcnJpdmluZy4KCSAgQWRkIHRoZSBmaXJzdCBwaWVjZSBvZiBQR1Mgc3VicGljdHVyZSBoYW5kbGluZyBieSBkdW1waW5nIHRoZSBzdHJlYW0KCSAgY29udGVudHMgb3V0IHRvIHRoZSB0ZXJtaW5hbCBhcyB0aGUgcGFja2V0cyBhcnJpdmUuCgkgIEFkZCBzb21lIG1vcmUgZGVidWcuCgkgIERvbid0IGNhbGN1bGF0ZSB0aGUgcnVubmluZyB0aW1lIGZvciBvdXIgc3VicGljdHVyZSBwYWNrZXRzIHR3aWNlLAoJICBvbmNlIGlzIGVub3VnaC4KCjIwMDktMDUtMjEgMTU6MjI6NTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogQWRkIGEgc2ltcGxlIGRlZmF1bHQgY29sb3VyIHRhYmxlLgoJICBXaGVuIHdlJ3JlIG5vdCBwcm92aWRlZCB3aXRoIGEgcGFsZXR0ZSBpbiBhZHZhbmNlLCBkcmF3IHdpdGggYSBncmV5CgkgIGNvbG91ciBvciB0d28sIGluc3RlYWQgb2YgWVVWIGdyZWVuLgoKMjAwOS0wNS0yMSAxMToxMzo1NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBBZGQgc3BhcnNlIHN0cmVhbSBmaWxsaW5nLgoJICBGaXJzdCBzdGFiIGF0IHNlbmRpbmcgbmV3LXNlZ21lbnQgZXZlbnRzIHRvIGVmZmVjdCBzcGFyc2Ugc3RyZWFtCgkgIHVwZGF0ZXMuCgoyMDA5LTA1LTIxIDAwOjQxOjQ3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBvdXRwdXR0aW5nIHN1Yi1waWN0dXJlIHN0cmVhbXMgZm91bmQgaW4gZmlsZXMuCgkgIE91dHB1dCBzdWJwaWN0dXJlIHN0cmVhbXMgd2hlbiB0aGV5IGFyZSBmb3VuZCBvbiB0aGUgcHJpdmF0ZSBzdHJlYW0gSUQuCgkgIERvbid0IHN0cmlwIG9mZiB0aGUgZmlyc3QgYnl0ZSBvZiBzdWNoIHBhY2tldHMgd2hlbiBwdXNoaW5nLgoKMjAwOS0wNS0yMCAwODo1MDozNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuaDoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBtYXBwaW5nIGZvciBEVkQgYW5kIEJsdXJheSBzdWJwaWN0dXJlIHN0cmVhbXMuCgkgIEFkZCBvdXRwdXQgc3VicGljdHVyZSBwYWRzIGZvciBEVkQgKHZpZGVvL3gtZHZkLXN1YnBpY3R1cmUpIGFuZCBCbHVyYXkgUEdTCgkgIChzdWJwaWN0dXJlL3gtcGdzKSBzdHJlYW1zLiBSZW1vdmUgYW4gdW51c2VkIHZhcmlhYmxlIGZyb20KCSAgdGhlIFBFUyBmaWx0ZXIuCgoyMDA5LTA1LTI1IDAwOjI1OjA3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBGaXggc3VicGljdHVyZSB0aW1pbmcgaW4gc29tZSBjYXNlcwoJICBNYWtlIHN1cmUgd2Ugc2VuZCBldmVudHMgdG8gYWxsIHBhZHMuIFVubWFyayB0aGUgbm90bGlua2VkIGZsYWcgb24KCSAgZnJlc2hseSBzZWxlY3RlZCBwYWRzIHRvIGVuc3VyZSB0aGV5IGdldCBkYXRhLgoKMjAwOS0wNS0yMiAxNDowMjozOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogVHJ5IGEgZGlmZmVyZW50IGFwcHJvYWNoIHRvIHNlZ21lbnQgZmlsbGluZy4KCSAgUmVzdG9yZSB0aGUgb2xkIHNlZ21lbnQgdXBkYXRlIGJlaGF2aW91ciwgYW5kIGluc3RlYWQgZXh0ZW5kIHRoZQoJICBjbG9zZSBzZWdtZW50IHN0b3AgdGltZSBpZiB0aGUgU0NSIChsYXN0X3N0b3ApIG92ZXJydW5zIHRoZSBjYWxjdWxhdGVkCgkgIHN0b3AgcG9zaXRpb24uCgoyMDA5LTA1LTIxIDExOjEwOjEzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBNaW5vciBjaGFuZ2UgdG8gaW5saW5lIGEgZnVuY3Rpb24gaW4gdGhlIGRlbXV4ZXIKCjIwMDktMDUtMjAgMTk6MzE6MjQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBzdGF0ZXM6IElnbm9yZSB0aGUgY2FtZXJhYmluIGZvciB0aGUgc3RhdGVzIHRlc3QKCSAgSXQgYWNjZXNzZXMgdGhlIHZpZGVvIGRldmljZSwgd2hpY2ggaXNuJ3QgZ2VuZXJhbGx5IGRlc2lyYWJsZSBmb3IgdGhlCgkgIHN0YXRlIHRlc3QuCgoyMDA5LTA1LTIyIDEzOjA3OjM4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IERvbid0IGFjY2lkZW50YWxseSBsb3NlIHRoZSBjb2xvdXIgcGFsZXR0ZSB3aGVuIGZsdXNoaW5nIHRoZSBTUFUKCSAgRml4ZXMgcmFjeSBzdGFydHVwIG9uIERWRHMgd2hlcmUgaXQgc29tZXRpbWVzIGdldHMgZW50aXJlbHkgdGhlIHdyb25nIHNldAoJICBvZiBjb2xvdXJzIGluIHRoZSBtZW51cyBhbmQgc3VidGl0bGVzLgoKMjAwOS0wNS0yNiAxNTo0MDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGJ5dGVzd2FwIHRoZSBwb3J0IGZyb20gR3N0TmV0QWRkcmVzcwoJICBTaW5jZSB0aGUgcG9ydCBpbiBHc3ROZXRBZGRyZXNzIGlzIGluIG5ldHdvcmsgb3JkZXIgd2UgbWlnaHQgbmVlZCB0byBieXRlc3dhcCBpdAoJICBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBzb3VyY2Ugc3RhdGlzdGljcy4KCjIwMDktMDUtMTEgMTk6MzA6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBnc3RwZXNmaWx0ZXI6IERpcmVjdGx5IHVzZSBnc3RfYWRhcHRlcl90YWtlX2J1ZmZlcigpLgoKMjAwOS0wNS0yNSAxNjoyNzozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIGdzdHBlc2ZpbHRlcjogRG9uJ3QgcGVlayB0aGUgYWRhcHRlciBpZiB3ZSBkb24ndCBoYXZlIGVub3VnaCBkYXRhLgoKMjAwOS0wNS0yNSAxNjoyNTo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIGdzdHBlc2ZpbHRlcjogRG9uJ3Qgc2tpcCBwcml2YXRlIHN0cmVhbXMgUEVTIGJ1dCBwdXNoIHRoZW0gb3V0LgoJICBUaGUgb25lIHRoaW5nIHdlICpETyogbmVlZCB0byBkbyBmb3IgdGhvc2Ugc3RyZWFtcyBpcyB0byBza2lwIGFsbAoJICB0aGUgUFRTL0RUUy9TY3JhbWJsaW5nL0RTTS9leHRlbnNpb24vLi4uIGhhbmRsaW5nLgoKMjAwOS0wNS0yNSAxNToyMTo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IElnbm9yZSBOVUxMIHBhY2tldHMgYXMgZWFybHkgYXMgcG9zc2libGUuCgkgIFRoaXMgYXZvaWRzOgoJICAqIGNyZWF0aW5nIGEgTXBlZ1RTU3RyZWFtIHN0cnVjdHVyZSBmb3Igbm90aGluZwoJICAqIHByb2Nlc3NpbmcgcGFja2V0IGRhdGEgZm9yIG5vdGhpbmcKCjIwMDktMDUtMjUgMTU6MjE6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBtYXBwaW5nIGZvciBIRFYgcHJpdmF0ZSBzdHJlYW1zCgoyMDA5LTA1LTI1IDE3OjI0OjMyICswMjAwICBNYXRoaWFzIEhhc3NlbG1hbm4gPG1hdGhpYXMuaGFzc2VsbWFubiBhdCBnbXguZGU+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBuZW9uaHR0cDogYWRkIHByb3BlcnR5IHRvIHN1cHBvcnQgU1MgY2VyaWZpY2F0ZXMKCSAgQWRkIGEgcHJvcGVydHkgdG8gc3VwcG9ydCBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZXMgaW4gbmVvbmh0dHBzcmMuIFRoaXMgcHJvcGVydHkKCSAgaXMgRkFMU0UgYnkgZGVmYXVsdC4KCSAgRml4ZXMgIzUxMTA5NwoKMjAwOS0wNS0yNSAxMzo0NjoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHJlbW92ZSBwdGRlbXV4IGdob3N0cGFkcwoKMjAwOS0wNS0yNSAxMzozMzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIHJlY2VpdmUgcnRwYmluIHVuaXQgdGVzdAoKMjAwOS0wNS0yNSAxMToxODo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICB4MjY0ZW5jOiBhZGQgbXVsdGlwYXNzLWNhY2hlLWZpbGUgcHJvcGVydHkKCSAgRml4ZXMgIzU4MzYyNwoKMjAwOS0wNS0yMyAxMzoxMToyOCArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUKCjIwMDktMDUtMjIgMTY6NTY6NTIgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBBZGQgbmV3IHBsdWdpbiBmb3IgbXMtYWRwY20gZGVjb2RpbmcuCgoyMDA5LTA1LTIwIDE2OjQ2OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IERldGVjdCBpbnRlcmxhY2VkIGNvbnRlbnQgYW5kIHNldCBpdCBvbiBvdXRnb2luZyBjYXBzLgoJICBJIGFsc28gYWRkZWQgdGhlIHBhcnNpbmcgb2YgYWxsIHRoZSBvdGhlciBiaXRzIGluIHRoZSBzZXF1ZW5jZSBleHRlbnNpb24KCSAgaGVhZGVyIGluIGNhc2Ugd2UgbmVlZCBpdCBsYXRlci4KCjIwMDktMDUtMjIgMTY6NDE6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhZGQgdG8gbmV3IHNpZ25hbCB0byByZW1vdmUgU1NSQyBwYWRzCgoyMDA5LTA1LTIyIDE2OjM1OjIwICswMjAwICBBbGkgU2FiaWwgPGFsaS5zYWJpbCBhdCBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIHNzcmNkZW11eDogZW1pdCBzaWduYWwgd2hlbiBwYWRzIGFyZSByZW1vdmVkCgkgIEFkZCBhY3Rpb24gc2lnbmFsIHRvIGNsZWFyIGFuIFNTUkMgaW4gdGhlIHNzcmMgZGVtdXhlci4KCSAgQWRkIHNpZ25hbCB0byBub3RpZnkgb2YgcmVtb3ZlZCBzc3JjLgoJICBTZWUgIzU1NDgzOQoKMjAwOS0wNS0yMiAxNTo0NToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVzZSBvdXIgZ2hvc3RwYWRzIGluc3RlYWQgb2YgaXRzIHRhcmdldAoJICBTaW5jZSB3ZSBrZWVwIGEgcmVmZXJlbmNlIHRvIG91ciBnaG9zdHBhZHMsIHdlIGNhbiB1c2UgdGhlbSB0byB0cmFjayBzZXNzaW9ucy4KCSAgVGhpcyBhdm9pZCB1cyBoYXZpbmcgdG8gbWVzcyB3aXRoIHRoZSB0YXJnZXQgb2YgdGhlIGdob3N0cGFkLgoKMjAwOS0wNS0yMiAxNTozNzoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogbW9yZSBydHBiaW4gY2hlY2tzCgoyMDA5LTA1LTIyIDE1OjM2OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZG9uJ3Qgd2FybiB3aGVuIGdldHRpbmcgcmVxdWVzdCBwYWRzIHR3aWNlCgkgIEFsbG93IGdldHRpbmcgdGhlIHJlcXVlc3QgcGFkcyBtdWx0aXBsZSB0aW1lcywganVzdCByZXR1cm4gdGhlIHByZXZpb3VzbHkKCSAgY3JlYXRlZCBwYWRzLgoKMjAwOS0wNS0yMiAxMzo0NzozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGFkZCBSVFAgYW5kIFJUQ1Agc291cmNlIGFkZHJlc3MKCSAgQWRkIHRoZSBSVFAgYW5kIFJUQ1Agc2VuZGVyIGFkZHJlc3NlcyBpbiB0aGUgc3RhdHMgc3RydWN0dXJlLgoKMjAwOS0wNS0yMiAxMzo0NToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmV1c2Ugc291cmNlIGNvZGUgZm9yIFNERVMKCSAgUmV1c2UgdGhlIFJUUFNvdXJjZSBvYmplY3QgcHJvcGVydHkgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBjb2RlLgoKMjAwOS0wNS0yMiAxMzo0NDoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIG1vcmUgcnRwYmluIHRlc3RzCgoyMDA5LTA1LTIyIDEyOjIzOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIHJ0cGJpbiB1bml0IHRlc3QKCSAgQWRkIHRoZSBiZWdpbm5pbmdzIG9mIGFuIHJ0cGJpbiB1bml0IHRlc3QKCSAgQWRkIHNvbWUgbW9yZSBzdHVmZiB0byAuZ2l0aWdub3JlCgoyMDA5LTA1LTIyIDEyOjIwOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogc2V0IHRhcmdldCBzdGF0ZSBvbiBuZXcgZWxlbWVudHMKCSAgU2V0IHRoZSBzdGF0ZSBvbiBuZXdseSBhZGRlZCBlbGVtZW50cyB0byB0aGUgc3RhdGUgb2YgdGhlIHBhcmVudC4KCSAgQWRkIHNvbWUgZGVidWcgaW5mbyBhbmQgZG8gc29tZSBjbGVhbnVwcwoKMjAwOS0wNS0yMiAxMTo1OToxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVucmVmIHJlcXVlc3RzIHBhZHMgYWZ0ZXIgcmVsZWFzaW5nCgoyMDA5LTA1LTIxIDE2OjAwOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IG1lbWxlYWtzIGFuZCByZWZjb3VudHMKCSAgVXNlIGNvcnJlY3QgY29uc3RhbnRzIGZvciBQSURfdHlwZSBzbyB0aGF0IHdlIGNsZWFyIHRoZSByaWdodCBmaWx0ZXIuCgkgIHByb3ZpZGVfY2xvY2sgbXVzdCByZXR1cm4gYSByZWYgdG8gYSBjbG9jay4KCjIwMDktMDUtMjIgMDk6NTU6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBhdXRvdG9vbHM6IG1vdmUgLVduby1wb3J0YWJpbGl0eSBmb3IgYXV0b21ha2UgdG8gY29uZmlndXJlLmFjCgoyMDA5LTA1LTIyIDA5OjU0OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogY2Fub25pY2FsaXNlIGZ1bmN0aW9uIG5hbWVzCgoyMDA5LTA1LTIyIDA5OjUxOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmg6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkgIGlkM3RhZzogY2hhbmdlIEdUeXBlIHRvIEdzdElkM1RhZyBzbyBpdCBkb2Vzbid0IGNvbmZsaWN0IHdpdGggdGhlIGlkM3RhZyBwbHVnaW4gaW4gLXVnbHkKCjIwMDktMDUtMjIgMDE6Mjk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogdXBkYXRlIGNvbmZpZy5oCgoyMDA5LTA1LTIyIDAxOjI3OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkgIGlkM3RhZzogcmVnaXN0ZXIgR1R5cGUgb2YgdGhlIGJhc2UgY2xhc3Mgd2l0aCBhIGxlc3MgZ2VuZXJpYyBuYW1lCgkgIC4uIHNvIHdlIGNhbiBlYXNpbHkgbW92ZSB0aGUgYmFzZSBjbGFzcyBpbnRvIC1iYXNlIGxhdGVyIHdpdGhvdXQKCSAgY2F1c2luZyBHVHlwZSBuYW1lIGNvbmZsaWN0cy4KCjIwMDktMDUtMjIgMDE6MDQ6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBtNC9nc3QtZmlvbnJlYWQubTQ6CgkgIG00OiBmaXggJ3N1c3BpY2lvdXMgY2FjaGUgdmFsdWUgaWQnIHdhcm5pbmdzIGluIGdzdC1maW9ucmVhZC5tNAoJICBBbmQgdXBkYXRlIGNvbW1vbiB0byBwdWxsIGluIGEgcmVsYXRlZCBmaXggZnJvbSB0aGVyZS4KCjIwMDktMDUtMjIgMDE6NDM6NTAgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNpbmcgdGhlIHN0cmVhbXMKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDE6MTY6MTEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEtlZXAgamIgc2lnbmFscyBoYW5kbGVyCgkgIEtlZXAgdGhlIHNpZ25hbCBoYW5kbGVycyBzbyB0aGV5IGNhbiBiZSBkaXNjb25uZWN0ZWQgYXQgcmVsZWFzZSB0aW1lCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAxOjEyOjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXNlIHRoZSByaWdodCBsb2NrIGZvciB0aGUgc2Vzc2lvbnMKCSAgVXNlIHRoZSByaWdodCBsb2NrIHdoZW4gaXRlcmF0aW5nIHRoZSBzZXNzaW9ucy4KCjIwMDktMDUtMjIgMDE6MDM6NTUgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEZyZWUgc2Vzc2lvbiBpZiByZXF1ZXN0IHBhZHMgYXJlIHJlbGVhc2VkCgkgIEZyZWUgdGhlIHNlc3Npb24gd2hlbiBhbGwgdGhlIHJlcXVlc3QgcGFkcyBhcmUgcmVsZWFzZWQuCgkgIERvbid0IG1lc3Mgd2l0aCB0aGUgc2Vzc2lvbiBsaXN0IGluIGZyZWVfc2Vzc2lvbiBhcyBpdCBpcyBjYWxsZWQgZnJvbSBhIGZvcmVhY2gKCSAgb24gdGhhdCBsaXN0LgoJICBTZXQgdGhlIHN0YXRlIG9mIHRoZSB1cHN0cmVhbSBlbGVtZW50IHRvIE5VTEwgZmlyc3QuCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAwOjUxOjUzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsYXNpbmcgb2YgdGhlIHJ0cCByZWN2IHBhZAoKMjAwOS0wNS0yMiAwMDo0NDo1MSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2luZyBvZiBydHAgc2VuZCBwYWRzCgoyMDA5LTA1LTIyIDAwOjM0OjM2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzZSBvZiB0aGUgcmVjdiBydGNwIHBhZAoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMDoxNjoxOSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2luZyBvZiBydGNwIHNyYyBwYWQKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMTggMjM6Mzg6NTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogUmVjb25jaWxlIGVsZW1lbnQgY29kZSB3aXRoIGE1MmRlYyBjaGFuZ2VzCgkgIFJlLXdvcmsgdGhlIGR0c2RlYyBlbGVtZW50IGNvZGUgdG8gdW5pZnkgaXQgd2l0aCBjaGFuZ2VzIG1hZGUgaXQgYTUyZGVjLAoJICBpbmNsdWRpbmcgc3VwcG9ydCBmb3IgcmV2ZXJzZSBwbGF5YmFjayBhbmQgZHluYW1pYyBjaGFubmVsIG5lZ290aWF0aW9uCgkgIG9uIHRoZSBzb3VyY2UgcGFkLgoKMjAwOS0wNS0yMSAyMTozNTozMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogVXBkYXRlIHRoZSB3aW4zMiBjb25maWcuaAoKMjAwOS0wNS0xOCAyMzoyMTo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJICBzZHBkZW11eDogcmV3b3JrIFJUQ1Agc2VuZGluZyBhbmQgUlRQIHJlY2VpdmluZwoJICBXaGVuIHdlIGFyZSBkZWFsaW5nIHdpdGggbXVsdGlhc3QsIGNyZWF0ZSB0aGUgdWRwIHNyYyBhbmQgc2luayBlbGVtZW50cyBwb2ludGluZwoJICB0byB0aGUgbXVsdGljYXN0IGFkZHJlc3Nlcy4gV2hlbiB3ZSBhcmUgZG9pbmcgdW5pY2FzdCwgcmVjZWl2ZSBkYXRhIG9uIHRoZSBsb2NhbAoJICBwb3J0cyBhbmQgZG9uJ3Qgc2VuZCBSVENQIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGVyZSB3ZSBoYXZlIHRvIHNlbmQgaXQuCgkgIEZpeGVzICM1ODMxODgKCjIwMDktMDUtMjEgMTM6MTU6NDYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5oOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5oOgoJICBpZDN0YWc6IEFkZCBuZXcgaWQzIHRhZ2dpbmcgcGx1Z2luLCBzdXBwb3J0cyB2MSwgdjIuMywgYW5kIHYyLjQuCgkgIEJ5IGRlZmF1bHQsIGRvZXMgdjEgYW5kIHYyLjMsIGJ1dCB0aGVyZSBhcmUgcHJvcGVydGllcyB0byBzZWxlY3QuCgkgIFdpbGwgaG9wZWZ1bGx5IHJlcGxhY2UgaWQzbXV4LCBpZDN2Mm11eCwgaW4gdGhlIG5vdC10b28tZGlzdGFudCBmdXR1cmUuCgoyMDA5LTA1LTIxIDIxOjAyOjU1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gaGFja2luZyAtPiAwLjEwLjEyLjEKCj09PSByZWxlYXNlIDAuMTAuMTIgPT09CgoyMDA5LTA1LTIwIDIyOjMxOjU0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xMgoKMjAwOS0wNS0yMCAyMDo0NDoxMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDUtMjAgMTc6MTA6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogRml4IGZyYW1lX2xheW91dCBmb3Igbm9uLWludGVybGFjZWQgZm9ybWF0cy4gRml4ZXMgIzU4MzMzNwoKMjAwOS0wNS0xNiAwMTo1ODozMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTEuMyBwcmUtcmVsZWFzZQoKMjAwOS0wNS0xNiAwMTo1MzoxNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHdpbjMyOiBBZGQgZGlyZWN0ZHJhdyBwcm9qZWN0IGZpbGVzIHRvIHRoZSB3aW4zMiBtYW5pZmVzdAoKMjAwOS0wNS0xNiAwMToxNDoyMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSogc3lzL01ha2VmaWxlLmFtOgoJICBNb3ZlZCAnZGlyZWN0ZHJhdycgZnJvbSAtZ29vZCB0byAtYmFkCgoyMDA3LTA2LTE1IDA5OjEzOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHdpbjMyL3ZzNi86IE1hcmsgKi5kc3AgJiAqLmRzdyBhcyBiaW5hcnkgZmlsZXMgYW5kIGNvbnZlcnQgdG8gRE9TIGxpbmUgZW5kaW5ncywgYXMgdGhleSBkb24ndCBsb2FkIGludG8gVlM2IGNvcnJlY3RseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvYXV0b2dlbi5kc3A6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbGF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxwaGEuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYWNvbG9yLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXBldGFnLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1cGFyc2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdXRvZGV0ZWN0LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Y3V0dGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZWZmZWN0di5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGZseC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGdvb20uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpY3lkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0aW50ZXJsZWF2ZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGpwZWcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RsZXZlbC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1hdHJvc2thLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bWVkaWFuLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bW9ub3Njb3BlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXVsYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtdWx0aXBhcnQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHNtcHRlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0c3BlZXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R1ZHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JhbGFuY2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JveC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvY3JvcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvZmxpcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvbWl4ZXIuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlZm9ybS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVuYy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdnBhcnNlLmRzcDoKCSAgTWFyayAqLmRzcCAmICouZHN3IGFzIGJpbmFyeSBmaWxlcyBhbmQgY29udmVydCB0byBET1MgbGluZQoJICBlbmRpbmdzLCBhcyB0aGV5IGRvbid0IGxvYWQgaW50byBWUzYgY29ycmVjdGx5IG90aGVyd2lzZS4KCjIwMDctMDItMTEgMTU6MjY6NDkgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIE1ha2VmaWxlLmFtOiBBZGQgd2luMzIgTUFOSUZFU1QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEFkZCB3aW4zMiBNQU5JRkVTVAoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQ2xlYXIgdW51c2VkIGNvZGUgYW5kIGFkZCBjb21tZW50cy4KCSAgUmVtb3ZlIHl1diBmcm9tIHRlbXBsYXRlIGNhcHMsIGl0IG9ubHkgc3VwcG9ydHMgUkdCCgkgIGFjdHVhbGx5LgoJICBJbXBsZW1lbnQgWE92ZXJsYXkgaW50ZXJmYWNlIGFuZCByZW1vdmUgd2luZG93IGFuZCBmdWxsc2NyZWVuCgkgIHByb3BlcnRpZXMuCgkgIEFkZCBkZWJ1ZyBsb2dzLgoJICBUZXN0IGZvciBibGl0IGNhcGFiaWxpdGllcyB0byByZXR1cm4gb25seSB0aGUgY3VycmVudCBjb2xvcnNwYWNlIGlmCgkgIHRoZSBoYXJkd2FyZSBjYW4ndCBibGl0IGZvciBvbmUgY29sb3JzcGFjZSB0byBhbm90aGVyLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIHNvbWUgZGVidWdzLgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgVlM3IHByb2plY3QgZmlsZXMgYW5kIHNvbHV0aW9uLgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA2LTExLTAxIDEwOjE5OjE4ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzLzogV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaCBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoICA8c2VyZ2V5IGRvdCBzY29iaWNoIGF0IGdtYWlsIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3dpbmRvd190aHJlYWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NyZWF0ZV9kZWZhdWx0X3dpbmRvdyk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmgKCSAgaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA2LTA3LTI0IDIxOjQzOjA2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLio6IEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZSBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZQoJICBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIENoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgZGlyZWN0c291bmQgc2Vjb25kYXJ5IGJ1ZmZlciB0byBhIGhhbGYgc2Vjb25kLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBBZGQgYSBsb2NrIHRvIHByb3RlY3QgZHNvdW5kIGJ1ZmZlciB3cml0ZSBhY2Nlc3MuCgkgIEZpeCBhIGJhZCBpbXBsZW1lbnRhdGlvbiBvZiByZXNldC4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQWRkIGEga2VlcF9hc3BlY3RfcmF0aW8gcHJvcGVydHkuCgkgIERvIG5vdCB1c2Ugb3ZlcmxheSBpZiBub3Qgc3VwcG9ydGVkLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBSZW1vdmUgb3ZlcndyaXRlIG9mIFdNX0VSQVNFQktHTkQgbWVzc2FnZSBoYW5kbGluZy4gSXQgd2FzIG5vdAoJICByZWRyYXdpbmcgYm9yZGVyIHdoZW4ga2VlcF9hc3BlY3RfcmF0aW8gd2FzIGVuYWJsZWQuCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUgdmVyc2lvbiB3YWl0aW5nIGFuIGF1dG8tZ2VuZXJhdGVkIGNvbmZpZy5oCgoyMDA2LTAzLTAzIDIzOjQ1OjIzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvOiBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3OgoJICAqIHN5cy9kaXJlY3Rzb3VuZDoKCSAgc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICAqIHdpbjMyL3ZzNjoKCSAgcHJvamVjdCBmaWxlcyB1cGRhdGVkIHRvIGZpeCBzb21lIGJ1Z3MKCSAgKiB3aW4zMi92czc6CgkgICogd2luMzIvdnM4OgoJICB2czcgYW5kIHZzOCBwcm9qZWN0IGZpbGVzIGFkZGVkCgoyMDA2LTAxLTA1IDIzOjE3OjQ0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIGFkZGVkIHN5cy9kaXJlY3RkcmF3IGFkZGVkIHN5cy9kaXJlY3Rzb3VuZCBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdyBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0wNSAgU2ViYXN0aWVuIE1vdXR0ZSAgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoJICAqIGFkZGVkIHN5cy9kaXJlY3RkcmF3CgkgICogYWRkZWQgc3lzL2RpcmVjdHNvdW5kCgkgICogYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwCgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwCgkgICogYWRkZWQgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDA5LTAyLTI3IDIwOjQwOjMxICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gZGlyZWN0ZHJhd3Npbms6IEZpeCB0eXBlIG1pc21hdGNoZXMKCSAgRml4ZXMgYnVnICM1NzMzNDMuCgoyMDA5LTAxLTI5IDExOjA3OjU5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBSZW1vdmUgdmVyc2lvbiBudW1iZXJzIGZyb20gYSBmZXcgZ3N0LWxhdW5jaCBleGFtcGxlcy4KCSAgVGhlIG1ham9yaXR5IG9mIHRoZSBleGFtcGxlcyBkb2Ugbm90IHVzZSAtMC4xMCBhbmQgdGhpcyB3aWxsIGFsc28gaGVscCB1cyB0byBtYWludGFpbiB0aGUgZG9jcy4KCjIwMDktMDEtMjkgMTA6MTA6MDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIFVwZGF0ZSBhbmQgYWRkIGRvY3VtZW50YXRpb24gZm9yIHBsYXRmb3JtIHNwZWNpZmljIHBsdWdpbnMgKHN5cykuCgkgIExpbmsgdG8gcHJvcGVydGllcy4gQ29ycmVjdCB0aXRsZXMgZm9yIGV4YW1wbGVzLiBGaXggZXhhbXBsZXMuCgoyMDA4LTExLTA0IDEyOjI4OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHYvTWFrZWZpbGUuYW06CgkgICogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkgICogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2hhbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbmcvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWlrbW9kL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkgICogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tZWRpYW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L29sZGNvcmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICAqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtZ29vZC4KCjIwMDgtMDgtMjEgMjE6NTY6MTkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYywgZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJwb29sX2NsZWFyKToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MsCgkgIGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVycG9vbF9jbGVhcik6CgkgIEZpeCB0d28gbW9yZSBidWZmZXIgcmVmIGxlYWtzLgoKMjAwOC0wOC0yMSAxNToyODowOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEZpeCBidWZmZXIgcmVmIGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hcyBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6CgkgIEZpeCBidWZmZXIgcmVmIGxlYWsuCgoyMDA4LTA1LTA3IDE1OjMzOjUyICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpOiBEbyBJRGlyZWN0RHJhd0NsaXBwZXJfU2V0SFduZCgpIGlmIHRoZSB3aW5kb3cgSS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpOgoJICBEbyBJRGlyZWN0RHJhd0NsaXBwZXJfU2V0SFduZCgpIGlmIHRoZSB3aW5kb3cgSUQgaGFzIGFscmVhZHkgYmVlbgoJICBzZXQgYWZ0ZXIgY3JlYXRpbmcgdGhlIGNsaXBwZXIuCgoyMDA4LTA1LTA3IDE1OjI4OjA2ICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6IEFkZGVkIGNoZWNraW5nIG9mIHN1cmZhY2UgbG9zdCBjYXNlIGFmdGVyIGFuIHVucy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6CgkgIEFkZGVkIGNoZWNraW5nIG9mIHN1cmZhY2UgbG9zdCBjYXNlIGFmdGVyIGFuIHVuc3VjY2Vzc2Z1bAoJICBJRGlyZWN0RHJhd1N1cmZhY2U3X0xvY2soKSBjYWxsLgoJICBJZiBzdXJmYWNlIGlzIGxvc3QsIHJldHVybiBHU1RfRkxPV19PSy4KCjIwMDgtMDUtMDcgMTU6MTk6NDcgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwKCSAgV25kUHJvYywgZ3N0X2RpcmVjdGRyYXdfc2lua193aW5kb3dfdGhyZWFkKToKCSAgSW1wcm92ZWQgV2luZG93cyBtZXNzYWdlIGxvb3AgYW5kIGZpeGVkIHdpbmRvdyBkZXN0cnVjdGlvbiBpc3N1ZS4KCSAgV2hlbiB0aGUgd2luZG93IHdoaWNoIERpcmVjdERyYXcgaXMgcmVuZGVyaW5nIHRvIGlzIGRlc3Ryb3llZCwgdGhlCgkgIHJlbmRlci9zaG93X2ZyYW1lIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIEdTVF9GTE9XX0VSUk9SLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCjIwMDgtMDUtMDcgMTU6MDk6MTAgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfY2Fwcyk6IEZpeGVkIG1pZCBzdHJlYW0gcmVzb2x1dGlvbiBjaGFuZ2UgYnVnLCB0aGUgb2Zmc2NyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfY2Fwcyk6CgkgIEZpeGVkIG1pZCBzdHJlYW0gcmVzb2x1dGlvbiBjaGFuZ2UgYnVnLCB0aGUgb2Zmc2NyZWVuIHN1cmZhY2UgaXMgbm93CgkgIHJlbGVhc2VkIHdoZW4gc2V0X2NhcHMgaXMgY2FsbGVkLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCjIwMDgtMDUtMDcgMTQ6NTY6MjIgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgTWFrZSBpdCBzbyB0aGF0IGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jIHVzZXMgdGhlIHJpZ2h0CgkgIHdpZHRoL2hlaWdodC4KCSAgRXNwZWNpYWxseSB3aGVuIGxvb2tpbmcgdGhyb3VnaCB0aGUgcG9vbCBvZiBidWZmZXJzLCBtYWtlIHN1cmUgdGhhdAoJICB0aGUgd2lkdGgvaGVpZ2h0IG9mIGNhcHMgaXMgdXNlZCBpbnN0ZWFkIG9mIHRoZSBhbHJlYWR5IG5lZ290aWF0ZWQKCSAgZGltZW5zaW9ucy4KCSAgRm9yIGV4YW1wbGUgaWYgYSBidWZmZXIgd2l0aCBkaWZmZXJlbnQgY2FwcyBpcyByZXF1ZXN0ZWQsIGkuZS4KCSAgaGlnaGVyIHJlc29sdXRpb24sIHRoZSBjYWxsZXIgd291bGQgZ2V0IGEgYnVmZmVyIHdpdGggdGhlIG9sZAoJICBkaW1lbnNpb25zIGFuZCB0aHVzIGNvcnJ1cHQgdGhlIGhlYXAuCgoyMDA4LTA1LTA3IDE0OjQzOjM5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIENsZWFyIHRoZSBmbGFncyBvbiByZWN5Y2xlZCBidWZmZXJzIGZyb20gYnVmZmVyX2FsbG9jLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCSAgVGhlIHJpZ2h0IGZpeCB0aGlzIHRpbWUuCgoyMDA4LTA1LTA3IDE0OjM5OjQ1ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIFJldmVydGluZyBwcmV2aW91cyBjb21taXQsIGl0IGhhZCBpdCBhbGwgbWl4ZWQgdXAsIHdhcyBmb3IgYSBkaWZmZXJlbnQKCSAgcGF0Y2ggKG1ham9yIGF1dG9tYXRpb24gc2NyZXctdXApLiBTb3JyeSEKCjIwMDgtMDUtMDcgMTM6NDg6MjggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgQ2xlYXIgdGhlIGZsYWdzIG9uIHJlY3ljbGVkIGJ1ZmZlcnMgZnJvbSBidWZmZXJfYWxsb2MuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoKMjAwOC0wMi0xMiAxMjoyMjo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogUHJvcGVybHkgY2hhaW4gdXAgZmluYWxpemUgZnVuY3Rpb25zLiBGaXhlcyBidWcgIzUxNTk4MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kZHJhd3N1cmZhY2VfY2xhc3NfaW5pdCksIChnc3RfZGRyYXdzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZmluYWxpemUpOgoJICBQcm9wZXJseSBjaGFpbiB1cCBmaW5hbGl6ZSBmdW5jdGlvbnMuIEZpeGVzIGJ1ZyAjNTE1OTgwLgoKMjAwOC0wMS0wNyAxNjo0MTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEZBTFNFIGlzIG5vdCBhIGdwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua193aW5kb3dfdGhyZWFkKToKCSAgRkFMU0UgaXMgbm90IGEgZ3BvaW50ZXIuCgoyMDA4LTAxLTA1IDIxOjIwOjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IE1ha2Ugc3VyZSB3ZSBjcmVhdGUgb3VyIGludGVybmFsIHdpbmRvdyBvbmx5IHdoZW4gd2UgbmVlZCBpdC4gVGhhdCB3aWxsIGdpdmUgYSBjaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMS0wNSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfd2luZG93X2lkKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19kcmF3X2JvcmRlcnMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua193aW5kb3dfdGhyZWFkKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKTogTWFrZSBzdXJlIHdlIGNyZWF0ZSBvdXIKCSAgaW50ZXJuYWwgd2luZG93IG9ubHkgd2hlbiB3ZSBuZWVkIGl0LiBUaGF0IHdpbGwgZ2l2ZSBhIGNoYW5jZSB0bwoJICB0aGUgYXBwbGljYXRpb24gdG8gZ2V0IHRoZSBwcmVwYXJlLXh3aW5kb3ctaWQgYnVzIG1lc3NhZ2UuIERyYXcKCSAgYmxhY2sgYm9yZGVycyB3aGVuIGtlZXBpbmcgYXNwZWN0IHJhdGlvLiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUKCSAgb3VyCgkgIHJlbmRlcmluZyB3aW5kb3cgZGlzYXBwZWFycyAoY2xvc2VkIG9yIGVycm9ycykgbGlrZSBvdGhlciBzaW5rcwoJICBkby4gVmFyaW91cyA4MCBjb2x1bW5zIGZpeGVzLCBpbXByb3ZlIHN0YXRlIGNoYW5nZSBvcmRlci4gVGhhdAoJICBlbGVtZW50IGNvdWxkIG5lZWQgc29tZSBtb3JlIGxvdmUuCgoyMDA3LTA5LTIyIDA4OjEyOjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIGZpeCBoZWFkZXIgYW5kIGNvbW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggaGVhZGVyIGFuZCBjb21tZW50cwoKMjAwNy0wNi0xNCAxMjoxNDoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBNYWtlIHN1cmUgdG8gZGlzdCBldmVyeXRoaW5nIG5lZWRlZCBmb3Igd2luMzIgYnVpbGRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkgIE1ha2Ugc3VyZSB0byBkaXN0IGV2ZXJ5dGhpbmcgbmVlZGVkIGZvciB3aW4zMiBidWlsZHMuCgoyMDA3LTA2LTA4IDE2OjMxOjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jbGFzc19pbml0KToKCSAgUmVuYW1lIHRoZSBrZWVwLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBmb3JjZS1hc3BlY3QtcmF0aW8gdG8gbWFrZQoJICBpdCBjb25zaXN0ZW50IHdpdGggeHZpbWFnZXNpbmsgYW5kIHhpbWFnZXNpbmsuCgoyMDA3LTA1LTI0IDA4OjM1OjIzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuKjogRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX3ByaW1hcnlfc3VyZmFjZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX29mZnNjcmVlbl9zdXJmYWNlKSwKCSAgKEVudW1Nb2Rlc0NhbGxiYWNrMiksIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgoyMDA3LTA1LTIwIDE0OjU5OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogQnVuY2ggb2Ygc21hbGwgZml4ZXM6IHJlbW92ZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0OyBkZWNsYXJlIGFub3RoZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IChnc3RfZGRyYXdzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgQnVuY2ggb2Ygc21hbGwgZml4ZXM6IHJlbW92ZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0OwoJICBkZWNsYXJlIGFub3RoZXIgb25lIHRoYXQgZG9lczsgcHJpbnRmIGZvcm1hdCBmaXg7IHVzZSByaWdodCBtYWNybwoJICB3aGVuIHNwZWNpZnlpbmcgZGVidWcgY2F0ZWdvcnk7IHJlbW92ZSBhIGJ1bmNoIG9mIHVudXNlZCB2YXJpYWJsZXM7CgkgICNpZiAwIG91dCBhbiB1bnVzZWQgY2h1bmsgb2YgY29kZSAocGFydGlhbGx5IGZpeGVzICM0Mzk5MTQpLgoKMjAwNy0wNS0xNSAxNzoyMjo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIEFkZCBESVJFQ1REUkFXX0NGTEFHUyBhbmQgRElSRUNUU09VTkRfQ0ZMQUdTIHRvIE1ha2VmaWxlLmFtOyBzYXZlIGFuZCByZXN0b3JlIHRoZSB2YXJpb3VzIGZsYWdzIGluIHRoZSBkaXJlY3RkcmF3L2Rpci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICBBZGQgRElSRUNURFJBV19DRkxBR1MgYW5kIERJUkVDVFNPVU5EX0NGTEFHUyB0byBNYWtlZmlsZS5hbTsgc2F2ZQoJICBhbmQgcmVzdG9yZSB0aGUgdmFyaW91cyBmbGFncyBpbiB0aGUgZGlyZWN0ZHJhdy9kaXJlY3Rzb3VuZAoJICBkZXRlY3Rpb24gc2VjdGlvbi4gQXBwYXJlbnRseSBpbXByb3ZlcyBjcm9zcy1jb21waWxpbmcgZm9yIHdpbjMyCgkgIHdpdGggbWluZ3czMiB1bmRlciBzb21lIGNpcmN1bXN0YW5jZXMgKCM0Mzc1MzkpLgoKMjAwNy0wNC0yOSAxMzo1NjoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSA4MCBjaGFyIHBvbGljZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgODAgY2hhciBwb2xpY2UKCjIwMDctMDMtMTEgMjI6MjM6MDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgSGFuZGxlIGRpc3BsYXkgbW9kZSBjaGFuZ2VzIGR1cmluZyBwbGF5YmFjay4KCjIwMDctMDItMjcgMTI6MDI6MDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgW01PVkVEIEZST00gR09PRF0gdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudHMKCjIwMDctMDItMTggMTg6MDA6NTEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3LzogUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgUmVtb3ZlIHVudXNlZC91bnRlc3RlZCBjb2RlIChyZW5kZXJpbmcgdG8gYW4gZXh0ZXJuIHN1cmZhY2UsCgkgIHl1diBmb3JtYXQgcmVuZGVyaW5nKS5Vc2UgR1NUXyhERUJVRy8qKV9PQkpFQ1QgbWFjcm9zCgkgIFJlbmFtZSBhbGwgZnVuY3Rpb25zIGZyb20gZ3N0X2RpcmVjdGRyYXdzaW5rIHRvIGdzdF9kaXJlY3RkcmF3X3NpbmsuCgkgIEFkZCBndGsgZG9jIHNlY3Rpb24KCSAgRml4IGEgYnVnIGluIGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwgbWVtY3B5IGxpbmUgYnkgbGluZQoJICByZXNwZWN0aW5nIGRlc3RpbmF0aW9uIHN1cmZhY2Ugc3RyaWRlLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIFJlbmFtZSBhbGwgZnVuY3Rpb25zIGZyb20gZ3N0X2RpcmVjdHNvdW5kc2luayB0byBnc3RfZGlyZWN0c291bmRfc2luay4KCSAgQWRkIGd0ayBkb2Mgc2VjdGlvbgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIGNvbmZpZy5oLmluCgoyMDA3LTAyLTExIDE1OjI2OjQ5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBNYWtlZmlsZS5hbTogQWRkIHdpbjMyIE1BTklGRVNUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBBZGQgd2luMzIgTUFOSUZFU1QKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIENsZWFyIHVudXNlZCBjb2RlIGFuZCBhZGQgY29tbWVudHMuCgkgIFJlbW92ZSB5dXYgZnJvbSB0ZW1wbGF0ZSBjYXBzLCBpdCBvbmx5IHN1cHBvcnRzIFJHQgoJICBhY3R1YWxseS4KCSAgSW1wbGVtZW50IFhPdmVybGF5IGludGVyZmFjZSBhbmQgcmVtb3ZlIHdpbmRvdyBhbmQgZnVsbHNjcmVlbgoJICBwcm9wZXJ0aWVzLgoJICBBZGQgZGVidWcgbG9ncy4KCSAgVGVzdCBmb3IgYmxpdCBjYXBhYmlsaXRpZXMgdG8gcmV0dXJuIG9ubHkgdGhlIGN1cnJlbnQgY29sb3JzcGFjZSBpZgoJICB0aGUgaGFyZHdhcmUgY2FuJ3QgYmxpdCBmb3Igb25lIGNvbG9yc3BhY2UgdG8gYW5vdGhlci4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBzb21lIGRlYnVncy4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIFZTNyBwcm9qZWN0IGZpbGVzIGFuZCBzb2x1dGlvbi4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNy0wMS0wMyAxOTo1NDozMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIEFkZCBkaXJlY3RkcmF3c2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgIEFkZCBkaXJlY3RkcmF3c2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuCgkgIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycyBhbmQgbGlicmFyaWVzCgkgIGFyZSBhdmFpbGFibGUgKGZpeGVzOiAjMzkyMzEzKS4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NlbnRlcl9yZWN0KSwgKGdzdF9kaXJlY3RkcmF3c2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19zZXR1cF9kZHJhdyksCgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICBDb21tZW50IG91dCBzb21lIHVudXNlZCB0aGluZ3MgYW5kIGZpeCBzb21lIHByaW50ZiBmb3JtYXQgaXNzdWVzIGluCgkgIG9yZGVyIHRvIGF2b2lkIHdhcm5pbmdzIHdoZW4gYnVpbGRsaW5nIHdpdGggTWluZ1cgKCMzOTIzMTMpLgoKMjAwNi0xMS0wMSAxMDoxOToxOCArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy86IFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmggaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleSBkb3Qgc2NvYmljaCBhdCBnbWFpbCBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua193aW5kb3dfdGhyZWFkKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jcmVhdGVfZGVmYXVsdF93aW5kb3cpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oCgkgIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNi0wNy0yNCAyMTo0MzowNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUgZGlyZWN0c291bmQgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUKCSAgZGlyZWN0c291bmQgYnVmZmVyLgoJICBDaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGRpcmVjdHNvdW5kIHNlY29uZGFyeSBidWZmZXIgdG8gYSBoYWxmIHNlY29uZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgQWRkIGEgbG9jayB0byBwcm90ZWN0IGRzb3VuZCBidWZmZXIgd3JpdGUgYWNjZXNzLgoJICBGaXggYSBiYWQgaW1wbGVtZW50YXRpb24gb2YgcmVzZXQuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEFkZCBhIGtlZXBfYXNwZWN0X3JhdGlvIHByb3BlcnR5LgoJICBEbyBub3QgdXNlIG92ZXJsYXkgaWYgbm90IHN1cHBvcnRlZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgUmVtb3ZlIG92ZXJ3cml0ZSBvZiBXTV9FUkFTRUJLR05EIG1lc3NhZ2UgaGFuZGxpbmcuIEl0IHdhcyBub3QKCSAgcmVkcmF3aW5nIGJvcmRlciB3aGVuIGtlZXBfYXNwZWN0X3JhdGlvIHdhcyBlbmFibGVkLgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIHZlcnNpb24gd2FpdGluZyBhbiBhdXRvLWdlbmVyYXRlZCBjb25maWcuaAoKMjAwNi0wNi0xMiAxMDo1MzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIGV4dC9saWJtbXMvZ3N0bW1zLmM6IFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NyZWF0ZSk6CgkgIFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKGdzdF9kaXJlY3RkcmF3c2lua19pbml0KToKCSAgQ29tbWVudCBvdXQgdW51c2VkIGdsb2JhbCBpbnN0YW5jZSB2YXJpYWJsZS4KCjIwMDYtMDYtMDEgMjI6MDA6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5oOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmg6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmg6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuaDoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5oOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmg6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgICogZXh0L3hpbmUvZ3N0eGluZS5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5oOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuaDoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmg6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguaDoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uaDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNC0yNSAyMTo1NjozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzIGdsb2JhbCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19iYXNlX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcwoJICBnbG9iYWwpCgoyMDA2LTA0LTAxIDEwOjA5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSAgW01PVkVEIEZST00gR09PRF0gcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCjIwMDYtMDMtMDMgMjM6NDU6MjMgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy86IHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXc6CgkgICogc3lzL2RpcmVjdHNvdW5kOgoJICBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgICogd2luMzIvdnM2OgoJICBwcm9qZWN0IGZpbGVzIHVwZGF0ZWQgdG8gZml4IHNvbWUgYnVncwoJICAqIHdpbjMyL3ZzNzoKCSAgKiB3aW4zMi92czg6CgkgIHZzNyBhbmQgdnM4IHByb2plY3QgZmlsZXMgYWRkZWQKCjIwMDYtMDEtMDUgMjM6MTc6NDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgW01PVkVEIEZST00gR09PRF0gYWRkZWQgc3lzL2RpcmVjdGRyYXcgYWRkZWQgc3lzL2RpcmVjdHNvdW5kIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3IGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTA1ICBTZWJhc3RpZW4gTW91dHRlICA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgkgICogYWRkZWQgc3lzL2RpcmVjdGRyYXcKCSAgKiBhZGRlZCBzeXMvZGlyZWN0c291bmQKCSAgKiBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdwoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3AKCSAgKiBhZGRlZCB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMDktMDUtMTUgMTA6NDU6NDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBGaXggcmVzZXR0aW5nIG9mIHRoZSBzaW5rIGluIE5VTEwKCSAgUmVzZXQgdGhlIGZwc2Rpc3BsYXlzaW5rIGluIE5VTEwgYnkgcmVtb3ZpbmcgdGhlIHRleHRvdmVybGF5IGlmIHdlCgkgIGNyZWF0ZWQgaXQuCgkgIEZpeGVzOiAjNTgyNjMzCgoyMDA5LTA1LTE2IDAwOjE3OjAwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkqIGdzdC95NG0veTRtZW5jLnZjcHJvajoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICBNb3ZlZCAneTRtZW5jJyBmcm9tIC1iYWQgdG8gLWdvb2QKCjIwMDktMDUtMTUgMTg6MjQ6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBhZGQgTWFrZXZhcnMgbWFnaWMgc28gd2UgZG9uJ3QgZ2V0IGxpbmUgbnVtYmVycyBpbiAqLnBvIGZpbGVzCgkgIFRoaXMgYXZvaWRzIHRoZSBudW1iZXIgb25lIHJlYXNvbiBmb3IgbG9jYWwgbW9kaWZpY2F0aW9ucyBpbiAqLnBvCgkgIGZpbGVzIGFuZCBhbmQgbWFrZXMgdGhpbmdzIGxlc3MgYW5ub3lpbmcgd2hlbiB3b3JraW5nIHdpdGggZ2l0IChvcgoJICBhbnkgb3RoZXIgVkNTIGZvciB0aGF0IG1hdHRlcikuCgoyMDA5LTA1LTE1IDAxOjU0OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBbcXRtdXhdIEZpeGVzIHNlZ2ZhdWx0IHdoZW4gYWRkaW5nIGEgYmxvYiBhcyBmaXJzdCB0YWcuCgkgIE1vdmVzIHRhZ3MgZGF0YSBpbml0aWFsaXphdGlvbiB0byB0aGUgZnVuY3Rpb24gdGhhdCBhY3R1YWxseSBhcHBlbmRzCgkgIHRoZSB0YWdzIHRvIHRoZSBsaXN0LiBGaXhlcyAjNTgyNzAyCgkgIEFsc28gZml4ZXMgc29tZSBzdHlsZSBjYXVnaHQgYnkgdGhlIHByZS1jb21taXQgaG9vay4KCjIwMDktMDUtMTQgMjE6MjA6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBVc2UgYSBSVyBsb2NrIHRvIHByb3RlY3QgbWV0YWRhdGEgYW5kIGFkZCBhbGwgcGFkcyBhdCBvbmNlIHdpdGhvdXQgYSBsb2NrIGhlbGQKCSAgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSwgYW1vbmcgb3RoZXIgdGhpbmdzLCB0byBkbyBhIHF1ZXJ5IGluIHRoZQoJICBwYWQtYWRkZWQgY2FsbGJhY2suCgkgIEZpeGVzIGJ1ZyAjNTgyNjU2LgoKMjAwOS0wNS0xNCAxMDozNDowOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBGaXggdGhlIGFyZ3VtZW50IG9yZGVyIGluIGEgZGVidWcgc3RhdGVtZW50CgkgIE1ha2UgdGhlIGRlYnVnIHN0YXRlbWVudCBjb3JyZWN0bHkgc2hvdyB0aGUgJ29sZCcgYW5kICduZXcnIGJ1dHRvbgoJICBjb29yZGluYXRlcywgaW5zdGVhZCBvZiB0aGUgd3Jvbmcgd2F5IGFyb3VuZC4KCjIwMDktMDUtMTQgMDk6NTM6MjUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJICByZXNpbmR2ZDogTWFrZSBzZWdtZW50IHVwZGF0ZXMgbGVzcyBhZ2dyZXNzaXZlLgoJICBXaGVuIHVwZGF0aW5nIGEgcGFkLCBzZW5kIHRoZSB1cGRhdGUgdG8gaGFsZiBhIHNlY29uZCBiZWhpbmQgdGhlIFNDUiwKCSAgd2hpY2ggYXZvaWRzIGV2ZXIgdXBkYXRpbmcgdGhlIHN0YXJ0IHRpbWUgZm9yIGEgcGFkIHRvIGJleW9uZCB0aGUgZW5kIG9mCgkgIHRoZSBjZWxsLiBBbHNvLCByZW1lbWJlciB0aGUgbGFzdCBhY3R1YWwgbmV3LXNlZ21lbnQgc3RhcnQgdGltZSBmb3IgZWFjaAoJICBwYWQsIGFuZCB1c2UgaXQgd2hlbiBjbG9zaW5nIHRoZSBzZWdtZW50LgoKMjAwOS0wNS0xMyAxMjo0Nzo0MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBSZXdvcmsgYnV0dG9uIGhpZ2hsaWdodCBjYWxjdWxhdGlvbiBzbGlnaHRseQoJICBXaGVuIHRoZSBjdXJyZW50IGJ1dHRvbiBudW1iZXIgaXMgaGlnaGVyIHRoYW4gdGhlIG51bWJlciBvZiBhdmFpbGFibGUKCSAgYnV0dG9ucywgc3dpdGNoIHRvIHRoZSBoaWdoZXN0IG51bWJlcmVkIGJ1dHRvbiByYXRoZXIgdGhhbiB0aGUgbG93ZXN0LgoJICBBbHNvLCBkb24ndCB0aHJvdyBlcnJvcnMgd2hlbiB3ZSBmYWlsIHRvIHJldHJpZXZlIHNvbWUgYnV0dG9uIGluZm8KCSAgZnJvbSBsaWJkdmRuYXYsIGp1c3QgcmVzZXQgdGhlIGhpZ2hsaWdodC4KCjIwMDktMDUtMTIgMjM6NDI6MDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IFNlbmQgY29tbWFuZHMtY2hhbmdlZCBvbiBidXR0b24gY2hhbmdlIGFuZCBoYW5kbGUgY29tbWFuZHMgcXVlcnkKCSAgU2VuZCB0aGUgY29tbWFuZHMtY2hhbmdlZCBuYXZpZ2F0aW9uIG1lc3NhZ2Ugd2hlbiB0aGUgc2V0IG9mIGF2YWlsYWJsZQoJICBEVkQgbWVudSBidXR0b24gYWN0aW9ucyBjaGFuZ2VzLCBhbmQgaGFuZGxlIHRoZSBjb21tYW5kcyBuYXZpZ2F0aW9uCgkgIHF1ZXJ5IHNvIHRoYXQgKGUuZy4pIFRvdGVtIGNhbiBrbm93IGFib3V0IHRoZSBhdmFpbGFibGUgbmF2aWdhdGlvbgoJICBjb21tYW5kcy4KCjIwMDktMDUtMTQgMDg6NDI6MjQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRml4IGEgbGVhayBvZiB0aGUgRFZEIHRpdGxlIHN0cmluZwoKMjAwOS0wNS0xNCAxMDo1NTozOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBQdXNoIHVwZGF0ZSBmcmFtZSwgaWYgYW55LCB3aGVuIGVudGVyaW5nIHN0aWxscy4KCSAgV2hlbiBlbnRlcmluZyBhIHN0aWxsIGZyYW1lIGdlbmVyYXRlcyBhbiB1cGRhdGVkIGJ1ZmZlciwgbWFrZSBzdXJlCgkgIHRvIHB1c2ggaXQgb3V0LCBvdGhlcndpc2Ugd2UgbWF5IG5vdCBwdXQgYSBmcmFtZSBvbnNjcmVlbiB3aXRoIGEKCSAgcmVuZGVyZWQgYnV0dG9uLCBjYXVzaW5nIHJhY2luZXNzIGFzIHRvIHdoZXRoZXIgYnV0dG9ucyBnZXQgZHJhd24KCSAgb3Igbm90IHdoZW4ganVtcGluZyBiYWNrIHRvIHRoZSBtZW51IG9uIHNvbWUgZGlzY3MuCgoyMDA5LTA1LTEzIDEwOjI5OjM2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIHJlc2luZHZkOiBGaXggcmFjaW5lc3MgaW4gcnNuZHZkYmluIHdoZW4gaW5pdGlhbGx5IGNyZWF0aW5nIHBhZHMKCSAgUHJvdGVjdCBwYWQgZXhwb3N1cmUgd2l0aCBhIHByZXJvbGwgbG9jayB0byBhdm9pZCBzaXR1YXRpb25zCgkgIHdoZXJlIG5vLW1vcmUtcGFkcyBpcyBmaXJlZCBtb3JlIHRoYW4gb25jZSwgb3IgZmlyZWQganVzdCBiZWZvcmUKCSAgdGhlIGxhc3QgcGFkIGlzIGFjdHVhbGx5IGFkZGVkLgoKMjAwOS0wNS0xMyAxNzo1NTo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bWVuYzogY2hhbmdlIG15IGVtYWlsCgkgIGNoYW5nZSBteSBlbWFpbCB0byBzb21ldGhpbmcgbW9yZSBjdXJyZW50CgkgIFNlZSAjNTgwNzgzCgoyMDA5LTA1LTEzIDE3OjU0OjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtZW5jOiBkb24ndCBzdHJpcCB0aW1lc3RhbXBzCgkgIEZpeGVzICM1ODI0ODMKCjIwMDktMDUtMTMgMTA6NDc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZTIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZ3N0L2RlaW50ZXJsYWNlLy5naXRpZ25vcmU6CgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL2RlaW50ZXJsYWNlLnZjcHJvajoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbW14Lmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NzZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcDBBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQTguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBNi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJICBNb3ZlZCAnZGVpbnRlcmxhY2UyJyBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgQW5kIHJlbW92ZSBvbGQgZGVpbnRlcmxhY2UgcGx1Z2luIGFzIGRlaW50ZXJsYWNlMiB3aWxsCgkgIGJlIGNhbGxlZCBkZWludGVybGFjZSBpbiAtZ29vZC4KCjIwMDktMDUtMTIgMjE6NTA6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIE1vdmVkICdmbHYnIGZyb20gLWJhZCB0byAtZ29vZAoKMjAwOS0wNS0xMiAwMDo1MDowMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTEuMiBwcmUtcmVsZWFzZQoKMjAwOS0wNS0xMSAxNzo1MDo0MSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkgIHJlc2luZHZkOiBNb2RpZnkgdGhlIHNlZ21lbnQgdXBkYXRlIGxvZ2ljCgkgIFNlbmQgc2VnbWVudCB1cGRhdGVzIHRvIHRoZSBhdWRpbyBhbmQgc3VicGljdHVyZSBwYWRzIG1vcmUgZnJlcXVlbnRseSwKCSAgYnV0IGxlc3Mgb2Z0ZW4gdG8gdGhlIHZpZGVvIHBhZCwgd2hlcmUgdGltZXN0YW1wcyBhcHBlYXIgbGVzcyBvZnRlbi4KCSAgVGhpcyBoZWxwcyB3aXRoIGdhcCBmaWxsaW5nIG9uIHNvbWUgRFZEcy4KCjIwMDktMDUtMTEgMTY6MDk6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBJbmNyZWFzZSB0aGUgYW1vdW50IG9mIGZpbGxlciBhdWRpbyBnZW5lcmF0ZWQKCSAgV2hlbiBjcmVhdGluZyBhIGZpbGxlciBhdWRpbyBidWZmZXIgaW4gcnNuYXVkaW9tdW5nZSwgZ2VuZXJhdGUKCSAgYSBiaXQgbW9yZSwgYXMgYXVkaW8gc2lua3MgZG9uJ3Qgc2VlbSB0byBwcmVyb2xsIG90aGVyd2lzZS4gVGhpcwoJICBuZWVkcyBhIGJldHRlciBhbGdvcml0aG0gaW4gZ2VuZXJhbCwgdG8gaW50ZWxsaWdlbnRseSBmaWxsIHRoZQoJICBnYXAsIHJhdGhlciB0aGFuIGhhcmQtY29kaW5nIGEgdmFsdWUuCgoyMDA5LTA1LTExIDE0OjE3OjQyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBNYW5hZ2UgdGltZWQgc3RpbGwgc2VxdWVuY2VzIGJldHRlcgoJICBNYWtlIHRpbWVkIHN0aWxsIGZyYW1lcyB3b3JrIGJldHRlciBieSBleHRlbmRpbmcgdGhlIGN1cnJlbnQgc2VnbWVudAoJICB3aGVuIG5lZWRlZCwgYW5kIHJlc3RhcnRpbmcgdGhlIHN0aWxsIHNlcXVlbmNlIHdpdGggdGhlIGNvcnJlY3QKCSAgcmVtYWluaW5nIGR1cmF0aW9uIHdoZW4gdGhlIHdhaXQgaXQgaW50ZXJydXB0ZWQgYnkgYWN0aXZhdGlvbiBvZiBhCgkgIGhpZ2hsaWdodCBOQVYgcGFja2V0LgoKMjAwOS0wNS0xMSAxMTowNjowMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcmVzaW5kdmQ6IENoYW5nZSB0aGUgYXVkaW9tdW5nZSBkZWJ1ZyBvdXRwdXQuCgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgc2hvdyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2VnbWVudCBldmVudHMgcGFzc2luZyB0aHJvdWdoLAoJICBldmVuIHdoZW4gcHJlLXJvbGwgYXVkaW8gYnVmZmVycyBhcmVuJ3QgZ29pbmcgdG8gYmUgbmVlZGVkLgoKMjAwOS0wNS0xMSAxMTowNDoyNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBNYWtlIHRoZSBkZWJ1Z2dpbmcgb3V0cHV0IGEgYml0IGNsZWFyZXIuCgkgIERpc3BsYXkgbW9yZSBpbmZvIGFib3V0IGN1c3RvbSBEVkQgZXZlbnRzIGluIHRoZSBkZWJ1ZyBtZXNzYWdlcy4KCjIwMDktMDUtMDggMTc6NDI6MTIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogQWx3YXlzIHB1c2ggYSBmcmFtZSBhdCB0aGUgc3RhcnQgb2YgYSBzdGlsbCBmcmFtZSwgYW5kIGZpeCBhIGxlYWsuCgkgIE1ha2Ugc3VyZSB0byBwdXNoIHRoZSBmcmFtZSBmb3IgYSBzdGlsbCBmcmFtZSwgd2l0aCBkaXNjb250ID0gdHJ1ZSBhbmQKCSAgdGltZXN0YW1wPW5vbmUsIHNvIHRoYXQgaXQgZ2V0cyBkaXNwbGF5ZWQgYnkgdGhlIHNpbmsuIEFsc28sIGRvbid0IGxlYWsKCSAgZWFjaCByZW5kZXJlZCB2aWRlbyBmcmFtZSBkdXJpbmcgc3RpbGwgbWVudXMuCgoyMDA5LTA1LTA4IDE3OjQwOjQ4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSAgZHZkc3B1OiBBZGQgYSBndWFyZCB3aGVuIHdlIGRvbid0IGhhdmUgYW55IHN1YnBpY3R1cmUgYnVmZmVyIHRvIHJlbmRlcgoKMjAwOS0wNS0wOCAxNjoyOToyMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcmVzaW5kdmQ6IFJlbmFtZSB0aGUgYXVkaW8gbXVuZ2VyIGRlYnVnIGNhdGVnb3J5CgkgIFJlbmFtZSBhIGRlYnVnIGNhdGVnb3J5OiByc25fYXVkaW9tdW5nZSAtPiByc25hdWRpb211bmdlLgoKMjAwOS0wNS0wOCAxNjoyNzozMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBFbnN1cmUgd2Ugc2VuZCBhIHRpdGxlIHRhZyBpbiB0aGUgZmlyc3QgcGxheSBzZWN0aW9uLgoKMjAwOS0wNS0wOCAxNjowNjowMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBTaW1wbGlmeSBzb21lIHN0dWZmLiBSZW1vdmUgYW4gdW5uZWNlc3NhcnkgTE9HIG1lc3NhZ2UuCgkgIFNraXAgYXR0ZW1wdGluZyB0byBzY2hlZHVsZSBhIG5hdiBibG9jayB1bmxlc3Mgd2UncmUgaW4gUExBWUlORy4gVGFrZSBhIGxvY2sKCSAgc2xpZ2h0bHkgbGF0ZXIsIHdoZW4gd2UgYWN0dWFsbHkgbmVlZCBpdC4gUmVtb3ZlIGEgbm9pc3kgTE9HIG1lc3NhZ2UuCgoyMDA5LTA1LTA4IDE0OjIzOjQ4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFJlbW92ZSBwZXItbWVudSBkZXNjcmlwdGlvbiBmcm9tIHRoZSBUSVRMRSB0YWcKCSAgVGhlIHBhcnQgbnVtYmVyIHJlcG9ydGVkIHdoaWxlIGluIGEgbWVudSBkb2Vzbid0IHJlZmxlY3QgdGhlIHNlbGVjdGVkCgkgIG1lbnUsIHNvIGl0J3MgcG9pbnRsZXNzIHRvIHVzZSBpdCB0byByZXBvcnQgd2hpY2ggbWVudSB3ZSdyZSBpbiAoQXVkaW8sCgkgIEFuZ2xlIGV0YykuIEp1c3QgcmVwb3J0ICJEVkQgTWVudSIgaW4gdGhlIHRpdGxlIHRhZyBpbnN0ZWFkLgoKMjAwOS0wNS0wOCAxNDoyMDozMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogU2VuZCB0aXRsZSBpbmZvIG1lc3NhZ2Ugd2hlbiBjdXJyZW50IGFuZ2xlIGlzIHN3aXRjaGVkLgoJICBNYWtlIHN1cmUgd2Ugc2VuZCBhbiB1cGRhdGUgdGl0bGUgdGFnIHdoZW4gdGhlIGN1cnJlbnQgYW5nbGUgb3IgYXZhaWxhYmxlCgkgIGFuZ2xlcyBjaGFuZ2VzLgoKMjAwOS0wNS0wOCAxMDo0MzoyNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogSW1wbGVtZW50IG5hdmlnYXRpb24gY29tbWFuZCBjaGFuZ2UgbWVzc2FnZSBhbmQgcXVlcnkKCSAgU2VuZCBtZXNzYWdlcyB3aGVuIHRoZSBhdmFpbGFibGUgRFZEIG5hdmlnYXRpb24gY29tbWFuZHMgY2hhbmdlcywgYW5kCgkgIGhhbmRsZSBuYXZpZ2F0aW9uIGNvbW1hbmRzIGFuZCBhbmdsZXMgcXVlcmllcy4KCjIwMDktMDUtMTEgMTY6NTk6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IFByb3RlY3QgYml0cmF0ZSBlc3RpbWF0aW9uIGFnYWluc3QgYm9ndXMgdmFsdWVzLgoJICBJZiB0aGUgZXN0aW1hdGVkIGJpdHJhdGUgaXMgbG93ZXIgdGhhbiAxODggYnl0ZXMsIHRoZXJlJ3MgbW9zdCBsaWtlbHkKCSAgc29tZXRoaW5nIGNvbXBsZXRlbHkgd3Jvbmcgd2l0aCB0aGUgdHdvIHNhbXBsZXMuIElmIHRoYXQgaGFwcGVucywKCSAgZm9yY2UgcmVjYWxjdWxhdGlvbi4KCSAgVXNlIGd1aW50NjQgZm9yIG9ic2VydmF0aW9uIFBDUiwgSSBzYXcgY2FzZXMgd2hlcmUgaXQgd291bGQgb3ZlcmZsb3cuCgoyMDA5LTA1LTExIDE2OjU4OjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogT25seSB0YWtlIFBDUiBmcm9tIHRoZSBhY3RpdmUgc3RyZWFtIGZvciBiaXRyYXRlIGVzdGltYXRpb24uCgoyMDA5LTA1LTExIDE2OjQwOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogQ2hhbmdlIGRlYnVnZ2luZyBsZXZlbHMgZm9yIHZlcnkgZnJlcXVlbnQgbWVzc2FnZXMuCgkgIFRoaXMgYWxsb3dzIGRlYnVnZ2luZyB3aXRoIG1wZWd0c2RlbXV4OjQgd2hpbGUgYmVpbmcgYWJsZSB0byB0cmFjayB3aGF0J3MKCSAgZ29pbmcgb24gKGFuZCBhdm9pZCB0YWtpbmcgdXAgYXMgbXVjaCBjcHUgZm9yIGRlYnVnZ2luZyBhcyBmb3IgdGhlIGFjdHVhbAoJICBkZW11eGluZyBwcm9jZXNzKS4KCjIwMDktMDUtMDkgMDk6NTc6NDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBSZXZlcnQgaW5kZW50YXRpb24gYW5kIGNvbW1lbnQgaGVhZGVyIGZpbGUuCgkgIE9uZSBzaG91bGRuJ3QgcnVuIGdzdC1pbmRlbnQgb24gLmggZmlsZXMsIGluIHRoaXMgY2FzZSBpdCB3YXMgdW4tYmVhdXRpZnlpbmcKCSAgdGhlIGluZGVudGF0aW9uIDopCgoyMDA5LTA1LTEwIDIxOjIxOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBncHBtdXg6IEFkZCBNUEVHLTQgcGFydCAyIHRvIHN1cHBvcnRlZCBmb3JtYXRzLiAgRml4ZXMgIzU4MTU5My4KCjIwMDktMDUtMTAgMTc6MTc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBmYWFkOiBGaXggY29uZmlndXJlIGNoZWNrIGZvciB0aGUgRkFBRCB2ZXJzaW9uCgkgIFRoZSBwcmV2aW91cyB2ZXJzaW9uIG1hdGNoZWQgdGhpbmdzIGxpa2UgMjk3IGZvcgoJICB2ZXJzaW9uIDIuNywgZXRjIHdoaWNoIGNvdWxkIGJlIGFkZGVkIHRvIHRoZSBmaWxlCgkgIGJ5IG90aGVyIGhlYWRlcnMuCgkgIEZpeGVzIGJ1ZyAjNTgyMDc0LgoKMjAwOS0wNS0xMCAxMToxNzoxNyArMDIwMCAgTWFyYy1BbmRyZSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAZ21haWwuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgUnVuIGxpYnRvb2xpemUgYmVmb3JlIGFjbG9jYWwKCSAgVGhpcyB1bmJyZWFrcyB0aGUgYnVpbGQgaW4gc29tZSBjYXNlcy4gRml4ZXMgYnVnICM1ODIwMjEKCjIwMDktMDUtMTAgMTA6NDA6MzYgKzAyMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBUaGlzIHdpbGwgYWx3YXlzIGJlIHNldCB0byBzb21ldGhpbmcgYnV0IGdjYyBkaWRuJ3QgZGV0ZWN0CgkgIHRoaXMuIEZpeGVzIGJ1ZyAjNTgyMDEzLgoKMjAwOS0wNS0wOSAyMzo0NzozOSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3gyNjQvR3N0WDI2NEVuYy5wcnM6CgkgIFJlbW92ZSB3cm9uZyBzdHVmZiBmcm9tIHByZXNldCBmaWxlCgoyMDA5LTA1LTA5IDE1OjQ4OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14Zm11eDogV3JpdGUgbWV0YWRhdGEgaXRlbXMgaW4gcmVmZXJlbmNlIG9yZGVyCgkgIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBtZXRhZGF0YSBpdGVtcyBhcmUgYWx3YXlzIHdyaXR0ZW4KCSAgaW4gdGhlIHNhbWUgb3JkZXIgYW5kIHRoYXQgZmlyc3QgY29tZXMgdGhlIHByZWZhY2UsCgkgIHRoZW4gdGhlIGlkZW50aWZpY2F0aW9uIGxpbmtlZCBmcm9tIHRoZSBwcmVmYWNlLCAuLi4KCSAgU29tZSBkZW11eGVycyBjYW4ndCBoYW5kbGUgZmlsZXMgd2hlcmUgdGhlIG1ldGFkYXRhCgkgIGl0ZW1zIGFyZSBpbiByYW5kb20gb3JkZXIuCgoyMDA5LTA1LTA5IDE1OjQ4OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRml4IEVPUyBsb2dpYyBhZ2FpbgoKMjAwOS0wNS0wOSAxNTo0ODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IERvbid0IHVucmVmIE5VTEwgYnVmZmVycyBpZiBwdXNoaW5nIGEgYnVmZmVyIGFmdGVyIHRoZSBmaXJzdCBmYWlsZWQKCjIwMDktMDUtMDkgMTI6NDI6MjUgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94MjY0L0dzdFgyNjRFbmMucHJzOgoJICBBZGQgYSBtb3JlIHJlcHJlc2VudGF0aXZlIGV4YW1wbGUgcHJlc2V0IGZpbGUgZm9yIHgyNjQKCjIwMDktMDUtMDggMTg6MjQ6MjggKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBpbml0aWFsIG5haXZlIHNlZWtpbmcgc3VwcG9ydCBhbmQgZml4IGR1cmF0aW9uIHF1ZXJ5LgoJICBTeW5jIGZyb20gZ3N0LWZsdWVuZG8tbXBlZ2RlbXV4IGFuZCBoYXZlIHNlZWtpbmcvZHVyYXRpb24gcXVlcnkKCSAgaW1wcm92ZW1lbnRzIGluLiBObyBzdXBwb3J0IGhvd2V2ZXIgZm9yIHdyYXBwZWQgYXJvdW5kIHBjcnMgZXRjLiBidXQgYQoJICBzdGFydCBub25ldGhlbGVzcy4KCSAgQWxzbyBmaXggaW5kZW50YXRpb24gaXNzdWVzLgoKMjAwOS0wNS0wOCAxNjozODoyNiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIENvbW1lbnQgb3V0IHByZXNldCBub3QgaW4geWV0CgoyMDA5LTA1LTA4IDE1OjM5OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIGRlaW50ZXJsYWNlMjogQWRkIGEgZGlzYWJsZWQgbW9kZSBmb3IgcGFzc3Rocm91Z2ggb3BlcmF0aW9uCgkgIEFsc28gYWxsb3cgdG8gY2hhbmdlIHRoZSBtb2RlIGluIFBBVVNFRCBhbmQgUExBWUlORyBieSB1cGRhdGluZwoJICB0aGUgY2FwcyBpZiBuZWNlc3NhcnkuCgoyMDA5LTA1LTA3IDE3OjUzOjQyICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBBZGQgcmFua3MgdG8gdmFyaW91cyBtdXhlcnMgYW5kIGVuY29kZXJzIGluIC1iYWQKCjIwMDktMDUtMDcgMTc6MzQ6MzYgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlCgoyMDA5LTA1LTA3IDEzOjEyOjM0ICswMjAwICBSb3YgSnV2YW5vIDxyb3ZqdXZhbm9AdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJICBzY2FsZXRlbXBvOiBEb24ndCByZXF1aXJlIGdjb25mYXVkaW9zaW5rIGluIHRoZSBkZW1vCgkgIEZpeGVzIGJ1ZyAjNTM3NzAwLgoKMjAwOS0wNS0wNiAyMTo0ODozMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBEb24ndCBvcGVuIGFsbCBWVFMgaWZvIGF0IHRoZSBzdGFydAoJICBMb2FkIGVhY2ggVlRTIGlmbyB0aGUgZmlyc3QgdGltZSB0aGUgZGlzYyBlbnRlcnMgdGhhdCBWVFMsCgkgIHJhdGhlciB0aGFuIHNjYW5uaW5nIHRoZW0gYWxsIGF0IHRoZSBzdGFydC4KCjIwMDktMDUtMDYgMjE6MTk6MTMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IFNlbmQgYSB0aXRsZSB0YWcgd2hlbiB3ZSBjaGFuZ2UgY2hhcHRlci9tZW51L2FuZ2xlCgkgIEFsbG93IGFwcHMgbGlrZSBUb3RlbSB0byBkaXNwbGF5IGEgbmljZXIgdGl0bGUgdGhhdCByZWZsZWN0cyB0aGUgY3VycmVudAoJICBwb3NpdGlvbiBvbiB0aGUgZGlzYy4KCjIwMDktMDUtMDUgMTM6MTg6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRG9uJ3Qgc2VuZCBoaWdobGlnaHQtcmVzZXQgbWVzc2FnZXMgd2hlbiBub3QgbmVlZGVkCgkgIEZpeCBhIHNtYWxsIGJ1ZyB0aGF0IHJlc3VsdHMgaW4gdGhlIFNQVSBoaWdobGlnaHQgYmVpbmcgcmVzZXQgbW9yZSBvZnRlbgoJICB0aGFuIGlzIG5lY2Vzc2FyeSAtIGllLCBjbGVhcmluZyBpdCB3aGVuIGl0J3MgYWxyZWFkeSBjbGVhcmVkLgoKMjAwOS0wNS0wNSAxMzoxNDo0NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogc2VuZCBhbmdsZXMtY2hhbmdlZCBtZXNzYWdlcyB3aGVuIGFwcHJvcHJpYXRlCgkgIFdoZW4gdGhlIGN1cnJlbnQgYW5nbGUgY2hhbmdlcywgb3IgdGhlIG51bWJlciBvZiBhdmFpbGFibGUgYW5nbGVzIGNoYW5nZXMsCgkgIHNlbmQgYW4gYW5nbGVzLWNoYW5nZWQgbWVzc2FnZSB0byBsZXQgdGhlIGFwcCBrbm93LgoKMjAwOS0wNS0wNSAxMTozNDoyNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBNYWtlIHRoZSBuZXh0L3ByZXYgYW5nbGUgc3dpdGNoaW5nIGN5Y2xlIGF0IHRoZSBlbmRzCgkgIFdoZW4gdGhlIGN1cnJlbnQgYW5nbGUgaXMgMSBhbmQgcHJldl9hbmdsZSBpcyByZXF1ZXN0ZWQsIGxvb3AgdG8gdGhlCgkgIG1heGltdW0gYW5nbGUgYW5kIHZpY2UgdmVyc2EgZm9yIG5leHRfYW5nbGUKCjIwMDktMDUtMDUgMTY6NTQ6MzkgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZG9uJ3QgbGVhayB0aGUgY29uZmlnIGRhdGEKCSAgQ2xlYXIgdGhlIGNvbmZpZyBkYXRhIHdoZW4gZ29pbmcgdG8gUkVBRFkgb3Igd2hlbiBkaXNwb3NlZC4KCSAgRml4ZXMgIzU4MTQyNwoKMjAwOS0wNS0wNSAxNjo0ODozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IGRyb3AgdW5leHBlY3RlZCBSVENQIHBhY2tldHMKCSAgV2UgdXN1YWxseSBvbmx5IGdldCBTUiBwYWNrZXRzIGluIG91ciBjaGFpbiBmdW5jdGlvbiBidXQgaWYgYW4gaW52YWxpZCBwYWNrZXQKCSAgY29udGFpbnMgdGhlIFNSIHBhY2tldCBhZnRlciB0aGUgUlIgcGFja2V0LCB3ZSBtdXN0IG5vdCBmYWlsIGJ1dCBzaW1wbHkgaWdub3JlCgkgIHRoZSBtYWxmb3JtZWQgcGFja2V0LgoJICBGaXhlcyAjNTgxMzc1CgoyMDA5LTA1LTA0IDIyOjA5OjA1ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJAbG9jYWxob3N0LmxvY2FsZG9tYWluPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIG1wZWd0c3BhcnNlOiBSZW1lbWJlciBwaWRzIHRoYXQgYXJlIG1lYW50IHRvIGJlIHN0cmVhbSBwaWRzLgoJICBGaXhlcyAjNTY5NzgxCgoyMDA5LTA1LTA0IDEyOjM3OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6MzY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhYzogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6MzQ6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMmtlbmM6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjMzOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IEltcGxlbWVudCBQcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjMxOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZDogSW1wbGVtZW50IFByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6MzA6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wMyAxNzo0Mjo0NCArMDEwMCAgVmluY2VudCBHZW5pZXV4IDxtdXRleEBydW5ib3guY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBJZ25vcmUgc3VidGFibGUgZXh0ZW5zaW9uIHdoZW4gcGFyc2luZyBQQVQKCSAgRml4ZXMgIzU2OTY3My4KCjIwMDktMDUtMDMgMTc6MjE6MjIgKzAxMDAgIFZpbmNlbnQgR2VuaWV1eCA8bXV0ZXhAcnVuYm94LmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5oOgoJICBtcGVndHNwYXJzZTogbWFrZSBzYWZlIGNoYW5naW5nIHRoZSBwcm9ncmFtLW51bWJlcnMgcHJvcGVydHkgZHluYW1pY2FsbHkKCSAgRml4ZXMgIzU2OTQzNy4KCjIwMDktMDUtMDMgMTQ6Mjg6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBleHRlbmQgQmFzZVNyYyBxdWVyeSBoYW5kbGluZyByYXRoZXIgdGhhbiBvdmVycmlkaW5nCgoyMDA5LTA0LTI3IDIyOjM5OjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCAocmVncmVzc2lvbiBpbikgbmV3c2VnbWVudCBoYW5kbGluZwoJICAoYWFjcGFyc2UsIGFtcnBhcnNlLCBmbGFjcGFyc2UpLiAgRml4ZXMgIzU4MDEzMy4KCjIwMDktMDUtMDIgMTI6MjM6MDMgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCBwZXMgZmlsdGVyIHBpZCByZXNldHRpbmcKCjIwMDktMDUtMDEgMDI6MjY6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiBjb3NtZXRpYyBmaXggdG8gaGVhZGVyIHN0cnVjdHVyZSB0byBtYWtlIGd0ay1kb2MgaGFwcHkKCjIwMDktMDUtMDEgMTQ6MjU6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBkb2NzOiBtYWtlIGZwc2Rpc3BsYXlzaW5rIHNob3cgdXAgaW4gdGhlIGRvY3MKCjIwMDktMDUtMDEgMDI6MjE6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IG1vdmUgcHJpdmF0ZSBzdHJ1Y3QgaW50byBwbHVnaW4gc3RydWN0IGFuZCB1c2UgR3N0IG5hbWVzcGFjZQoKMjAwOS0wNS0wMSAwMTo1OTo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcHNkaXNwbGF5c2luay54bWw6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiByZW5hbWUgcGx1Z2luIChub3QgZWxlbWVudCkgdG8gZGVidWd1dGlsc2JhZAoJICBNYWtlcyBpdCBlYXNpZXIgdG8gYWRkIGZ1cnRoZXIgdXRpbHMgaGVyZSB3aXRob3V0IGNyZWF0aW5nIHlldCBhbm90aGVyIHBsdWdpbi4KCjIwMDktMDUtMDEgMTQ6Mjg6MjMgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHVuc2V0IHBpZCBmaWx0ZXJzIGNvcnJlY3RseQoKMjAwOS0wNC0zMCAxNDo0MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGNoYW5nZXMgY2FwcyBvZiBzcmMgcGFkcyB0byB2aWRlby9xdWlja3RpbWUsIHZhcmlhbnQ9c29tZXRoaW5nCgkgIFRha2UgYSBsb29rIGF0IGJ1ZyAjNTgwMDA1IGZvciBmdXJ0aGVyIGluZm8uCgoyMDA5LTA0LTMwIDE3OjI5OjM1ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vdXJhZXVzQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMDktMDQtMzAgMTc6Mjg6NDcgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgZm9yIG5ldyBwcmVzZXRzIGZpbGUKCjIwMDktMDQtMzAgMTc6MDg6NTIgKzAxMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBpbml0IHZhcmlhYmxlIHRvIE5VTEwgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZwoJICBGaXhlcyAjNTgwOTAxLgoKMjAwOS0wNC0zMCAxNDoyMDoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBkdmRzcHU6IGRvIHNvbWUgYmFzaWMgY2xpcHBpbmcKCSAgQWRkIHNvbWUgYmFzaWMgY2xpcHBpbmcgb2YgdGhlIHN1YnRpdGxlIHJlZ2lvbiB3aGVuIHRoZSBzdWJ0aXRsZSBpcyBiaWdnZXIgdGhhbgoJICB0aGUgaW1hZ2Ugd2Ugc2hvdWxkIHB1dCBpdCBvbi4KCjIwMDktMDQtMzAgMTQ6MTg6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IGRvbid0IEVPUyB3aGVuIHRoZSBzdWJ0aXRsZSBnb3QgRU9TCgkgIERvbid0IGZvcndhcmQgdGhlIEVPUyBvbiB0aGUgc3VidGl0bGUgcGFkIGFzIHRoZSB2aWRlbyBtaWdodCBzdGlsbCBiZSBydW5uaW5nLgoKMjAwOS0wNC0zMCAxMzo0NTozMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogY29kZSBjbGVhbnVwIGFuZCBwbHVnIG92ZXJsYXkgYXMgbmVlZGVkCgkgIFBsdWdnaW4gdGhlIHRleHQtb3ZlbGF5IGNhdXNlcyBzb21lIHNsb3dkb3ducyBhbmQgbWlnaHQgbmVlZCBhIGNvbG9yc3BhY2UKCSAgY29udmVydGVyLiBXZSBub3cgb25seSBjaGVjayB0aGUgdGV4dC1vdmVybGF5IHByb3BlcnR5IHdobmUgZ29pbnQgdG8gcmVhZHkgYW5kCgkgIHBsdWcgb3IgdW5wbHVnIHRoZSB0ZXh0LW92ZXJsYXkgYXQgdGhhdCB0aW1lLiBJZiB0aGUgcHJvcGVydHkgY2hhbmdlcyBkdXJpbmcKCSAgcGxheWluZywgaXRzIG5vdCBzd2l0Y2hlZCBpbW1lZGlhdGVseS4KCjIwMDktMDQtMzAgMDA6MDY6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC94MjY0L0dzdFgyNjRFbmMucHJzOgoJKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICB4MjY0ZW5jOiBhZGQgcHJlc2V0IHN1cHBvcnQKCSAgQWRkIHByZXNldCBpZmFjZSBhbmQgYSAoZHVtbXkpIHByZXNldCBmaWxlIGFzIGEgc3RhcnRpbmcgcG9pbnQuCgoyMDA5LTA0LTI2IDIxOjI2OjAwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcmVzaW5kdmQ6IENvbnZlcnQgc29tZSBnX3ByaW50IHRvIEdTVF9MT0dfT0JKRUNUIGFuZCBmcmllbmRzLCByZW1vdmUgc29tZSBvdGhlcnMKCSAgVHJpbSBkb3duIHRoZSBnX3ByaW50IHZlcmJvc2l0eS4KCjIwMDktMDQtMjYgMjE6Mjk6MjcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogQWRkIERWREZBU1RTVEFSVCBlbnYgdmFyIHRvIG1ha2luZyBzb21lIHRlc3RpbmcgZWFzaWVyCgoyMDA5LTA0LTI0IDE0OjA4OjU1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBSZW1vdmUgcmVkdW5kYW50IG1vZHVsbyBvcGVyYXRpb24gaW4gdGhlIGRlbXV4ZXIKCjIwMDktMDQtMjQgMTQ6MDc6MzAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBNYXAgYXVkaW8gYW5kIHN1YnBpY3R1cmUgbG9naWNhbCBzdHJlYW1zIHRvIHBoeXNpY2FsLgoJICBUaGUgbG9naWNhbCBhdWRpbyBhbmQgc3VicGljdHVyZSBzdHJlYW0gbnVtYmVyIGRvZXNuJ3QgYWx3YXlzIGNvcnJlc3BvbmQKCSAgd2l0aCB0aGUgcGh5c2ljYWwgc3Vic3RyZWFtIGl0IGlzIGNvbWluZyBmcm9tLiBXaGVuIGNvbmZpZ3VyaW5nIHRoZSBkZW11eGVyCgkgIHBhZHMsIHVzZSB0aGUgbWFwcGluZyB0YWJsZSBwcm92aWRlZCBpbiBlYWNoIFBHQyB0byBnZXQgdGhlIGxheW91dCBhbmQKCSAgZW5zdXJlIHRoZSBkZW11eGVyIGNyZWF0ZXMgdGhlIGNvcnJlY3QgcGFkcy4KCjIwMDktMDQtMjkgMTg6NTI6MjAgKzAxMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogaW5pdCB2YXJpYWJsZSB0byBOVUxMIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgkgIEZpeGVzICM1ODA3ODYuCgoyMDA5LTA0LTI5IDE2OjU3OjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgeDI2NGVuYzogYWRkIHNvbWUgZG9jdW1lbnRhdGlvbiBvbiBwcm9maWxlCgoyMDA5LTA0LTI5IDEzOjU2OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2OiBTZXQvcmVxdWlyZSB0aGUgZnJhbWVkL3BhcnNlZCBmaWVsZHMgb2YgdGhlIGF1ZGlvL21wZWcgY2FwcyB0byBUUlVFCgoyMDA5LTA0LTI5IDEzOjE2OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdjogQWx3YXlzIHdyaXRlIGF0IGxlYXN0IHRoZSBtaW5pbWFsIHRhZ3MgYW5kIHdyaXRlIHRoZSBQQVIgYXMgdGFncwoKMjAwOS0wNC0yOSAxMzowMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHY6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgc29tZSB0YWdzCgoyMDA5LTA0LTI5IDEzOjAzOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2OiBBZGQgc3VwcG9ydCBmb3IgdGl0bGUgdGFnCgoyMDA5LTA0LTI5IDA5OjQwOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2OiBGaXggcGFyc2luZyBvZiB0YWdzIGFuZCBhZGQgbmV3IG1hcHBpbmdzCgkgIFdlIHNob3VsZG4ndCByZWdpc3RlciBhIG5ldyBHc3RUYWcgZm9yIGV2ZXJ5IHVua25vd24gdGFnCgkgIHdlIGZpbmQgYXMgdGhpcyBtaWdodCBsZWFkIHRvIGNvbmZsaWN0cyBhbmQgYWxzbyB0aG9zZQoJICB0YWdzIGFyZSBlc3NlbnRpYWxseSB1bmtub3duLgoJICBBZGQgbWFwcGluZ3MgZm9yIHNvbWUga25vd24gdGFncyBhbmQgYWxzbyBjb252ZXJ0IHN0cmluZwoJICBkYXRlcyB0byBHRGF0ZSwgYXMgZm91bmQgaW4gbWFueSBGTFYgZmlsZXMuCgoyMDA5LTA0LTI4IDE2OjEwOjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlamVjdCB3cm9uZyBjYXBzCgoyMDA5LTA0LTI4IDE2OjAzOjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBsZWFrIEZpeGVkIGEgbGVhayBkaXNjb3ZlcmVkIGJ5IExhdXJlbnQgR2xheWFsIDxzcGVnbGVAeWFob28uZnI+CgoyMDA5LTA0LTI4IDE1OjU4OjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBsZWFrCgkgIEZpeGVkIGEgbGVhayBkaXNjb3ZlcmVkIGJ5IExhdXJlbnQgR2xheWFsIDxzcGVnbGVAeWFob28uZnI+CgoyMDA5LTA0LTI3IDExOjA5OjA4ICswMjAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VjZTogbWFrZSBXQVJOSU5HIGludG8gTE9HCgkgIFNpbmNlIG5laXRoZXIgcnRwbWFuYWdlciBub3IgYW55IG9mIHRoZSBwYXlsb2FkZXJzIHByb3Blcmx5IGltcGxlbWVudAoJICBwYWQgYWxsb2NhdGlvbiwgdGhlcmUgaXMgbm8gd2F5IGZvciB0aGUgcnRwbWFuYWdlciB0byBpbmZvcm0gZG93bnN0cmVhbSBlbGVtZW50cwoJICBvZiB0aGUgbmV3IFNTUkMgaWYgdGhlcmUgaXMgYW4gU1NSQyBjb2xsaXNpb24uIFNvIHRoZSB3YXJuaW5nIGlzIGVtaXR0ZWQgYWxsIHRoZQoJICB0aW1lIGFuZCBpdCBpcyBjb25mdXNpbmcuCgkgIEZpeGVzICM1ODAxNDQKCjIwMDktMDQtMjcgMTE6MDY6MDEgKzAyMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBub3RpZnkgd2hlbiBTU1JDIGNoYW5nZXMKCSAgRW1pdCBhIGdfb2JqZWN0X25vdGlmeSB3aGVuIHRoZSBTU1JjIGNoYW5nZXMgYmVjYXVzZSBvZiBhIGNvbGxpc2lvbi4KCSAgRml4ZXMgIzU4MDE0NAoKMjAwOS0wNC0yNyAxMDowNDo1MSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICBBZGQgbmV3IHBsdWdpbiB0byBzcGVjIGZpbGUgYW5kIGFkZCBtaXNzaW5nIGhlYWRlciB0byBnc3QvZGNjcC9NYWtlZmlsZS5hbQoKMjAwOS0wNC0yNSAwMDo0NDoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IG1ha2UgZ2l0IGlnbm9yZSBuZXcgdW5pdCB0ZXN0cyBiaW5hcmllcwoKMjAwOS0wNC0yNSAwMDo0Mjo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgd2luMzI6IGRpc3QgbGliZ3N0ZHNob3cuZGVmIGJ5IGFkZGluZyBpdCB0byB3aW4zMi9NQU5JRkVTVAoJICBGaXhlcyAjNTc4NTYzLgoKMjAwOS0wNC0yNCAxODo1MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgbXA0bXV4OiBDaGFuZ2VzIHNyYyBjYXBzIHRvIGFwcGxpY2F0aW9uL3gtaXNvLW1wNAoJICBGaXhlcyAjNTgwMDA1CgoyMDA5LTA0LTI0IDE2OjAxOjQ0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBDb21taXQgdGhlIHdpbjMyIGNvbmZpZyB3aXRoIGJ1bXBlZCB2ZXJzaW9uIG51bWJlci4KCSAgU2hvdWxkIGhhdmUgY29tbWl0dGVkIHRoaXMgd2hlbiBJIHVuZnJvemUgdGhlIGJ1aWxkIGxhc3QgdGltZSwgc29ycnkuCgoyMDA5LTA0LTI0IDE0OjUxOjAwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IGV4Y2x1ZGUgcnNuZHZkYmluIGZyb20gdGhlIHN0YXRlcyB0ZXN0CgoyMDA5LTA0LTI0IDE1OjQyOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdW5kdG91Y2g6IGZpeCBjb25maWd1cmUgdG8gdXNlIHByb3BlciBzaGVsbCBzeW50YXguIGZpeGVzICM1ODAwOTEKCjIwMDktMDQtMjMgMTc6MzM6MjUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291bmR0b3VjaDogRml4IGNvbXBpbGF0aW9uIG9uIG5ld2VyIGxpYlNvdW5kVG91Y2gKCSAgTmV3ZXIgbGlic291bmR0b3VjaCByZXF1aXJlcyB0aGF0IHdlIGluY2x1ZGUgYW4gZXh0cmEgaGVhZGVyIHRoYXQgd2Fzbid0CgkgIHByZXZpb3VzbHkgcmVxdWlyZWQsIHNvIGRlZmluZSBIQVZFX1NPVU5EVE9VQ0hfMV80IGZvciBuZXdlciBidWlsZHMgc28gdGhhdCBpdAoJICBnZXRzIGluY2x1ZGVkLgoKMjAwOS0wNC0yMCAxMTozODowMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogbW9yZSBjbGVhbnVwcwoJICBVc2Ugbm9ybWFsIGdzdC1kZWZpbmVzIGluIFBMVUdJTl9ERUZJTkUuIFNob3J0ZW4gX3N0YXJ0L3N0b3AgbWV0aG9kIG5hbWVzLgoJICBNb3JlIGlkZWFzLiBNb3ZlIGRlYnVnIGNhdGVnb3J5LWluaXQgZG93biB0byBwbHVnaW4taW5pdC4KCjIwMDktMDQtMjAgMDk6NTE6NTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IHVzZSBhIG5pY2VyIGZvbnQgZmFtaWx5CgoyMDA5LTA0LTIwIDEwOjI0OjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiB2YXJpb3VzIGNsZWFudXBzLCBkb2NzIGFuZCBjb21tZW50cwoJICBSZW1vdmUgdW51c2VkIGJhc2VfaW5pdC4gQWRkIGJhc2ljIGRvYyBibG9iLiBSZXVzZSBxdWVyeSBvYmplY3QuIFJlbmFtZQoJICB2YXJpYWJsZXMgZm9yIGNsYXJpdHkuIEFkZCBjb21tZW50cyBhbmQgVG9Eb3MuCgoyMDA5LTA0LTIwIDA5OjQ5OjMyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiByZW1vdmUgaWZhY2UgcHJveHkKCSAgV2hlbiB3ZSBnZXQgYnVzIG1lc3NhZ2VzIGZvciBzZXR0aW5nIHRoZSB4aWQsIHdlIGhhdmUgdGhlIHJlYWwgc2luayBlbGVtZW50CgkgIGluc3RhbmNlIGFzIG1lc3NhZ2Vfc3JjLiBObyBuZWVkIHRvIHByb3h5IHRoZSB4b3ZlcmxheSBpZmFjZSB0aGVyZWZvcmUKCSAgKGF1dG92aWRlb3NpbmsgZG9lcyBub3QgZG8gaXQgZWl0aGVyKS4gQWxzbyB3ZSBkb24ndCBuZWVkIHRvIHJld3JpdGUgdGhlCgkgIG1lc3NhZ2Ugc3JjIG9mIGFsbCBtZXNzYWdlcyBmcm9tIHRoYXQgc2luay4KCjIwMDktMDQtMjMgMTE6MDQ6NDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0LXNlbGVjdG9yOiBGb3J3YXJkIHNlZ21lbnQgZXZlbnRzIGZvciB0aGUgYWN0aXZlIHBhZCBpbW1lZGlhdGVseS4KCSAgV2hlbiBhIHNlZ21lbnQgZXZlbnQgaXMgcmVjZWl2ZWQgb24gdGhlIGFjdGl2ZSBwYWQsIGZvcndhcmQgaXQgZG93bnN0cmVhbQoJICBpbW1lZGlhdGVseSBpbnN0ZWFkIG9mIGRlZmVycmluZyBpdCB1bnRpbCB0aGUgbmV4dCBkYXRhIGJ1ZmZlciBhcnJpdmVzLiBUaGlzCgkgIGZpeGVzIHByb2JsZW1zIHdpdGggc2VnbWVudCB1cGRhdGVzIG5ldmVyIGJlaW5nIHNlbnQgZG93bnN0cmVhbSwgbGlrZSB0aG9zZQoJICBuZWVkZWQgZm9yIHNwYXJzZSBzdHJlYW1zLCBvciBmb3IgY2xvc2luZyBwcmV2aW91c2x5IG9wZW5lZCBzZWdtZW50cy4KCSAgVGhpcyBmaXhlcyBwbGF5YmFjayBvZiBEVkQgbWVudXMgd2l0aCBhIHN0aWxsIHZpZGVvIGZyYW1lIGFuZCBhbiBhdWRpbyB0cmFjaywKCSAgZm9yIGV4YW1wbGUuCgkgIEZpeGVzOiAjNTc3ODQzCgoyMDA5LTA0LTIyIDE4OjAxOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCB3YXJuaW5nCgoyMDA5LTA0LTIwIDIwOjAwOjE1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFNldCBkaWZmZXJlbnQgY2FwcyBkZXBlbmRpbmcgb24gdGhlIGlucHV0CgoyMDA5LTA0LTIyIDE2OjI1OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE9ubHkgZnJlZSBwYWQgcHJpdmF0ZSB3aGVuIHBhZCBpcyBkaXNwb3NlZAoKMjAwOS0wNC0yMiAxOTo1MjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHY6IEFkZCBkb2N1bWVudGF0aW9uIHRvIGZsdm11eCBhbmQgZmx2ZGVtdXgKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTczNzM3LgoKMjAwOS0wNC0yMiAxOTo0NTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5oOgoJICBteGY6IE1hcmsgbW9zdCBmaWVsZHMgb2YgdGhlIGluc3RhbmNlIHN0cnVjdCBhcyBwcml2YXRlCgoyMDA5LTA0LTIyIDE5OjQzOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgZGVpbnRlcmxhY2UyOiBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgaW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAwOS0wNC0yMiAxOToyNDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZwc2Rpc3BsYXlzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmOiBBZGQgZG9jdW1lbnRhdGlvbiB0byBteGZtdXggYW5kIHVwZGF0ZSB0aGUgZG9jcwoKMjAwOS0wMy0xOSAxNTozNzoxNyAtMDcwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IFVzZSBjb3JyZWN0IGhlYWRlciBmaWxlCgkgIG1vZHBsdWcncyBzbmRmaWxlLmggY29uZmxpY3RzIHdpdGggbGlic25kZmlsZSdzIHNuZGZpbGUuaCwgc28KCSAgd2UnbGwgYWNjZXNzIGl0IGRpcmVjdGx5IHVzaW5nIG1vZHBsdWcvc25kZmlsZS5oLiAgRml4ZXMgIzU3Mzg0OQoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMDMtMTkgMTU6Mjk6MDQgLTA3MDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBtNC9nc3Qtc2RsLm00OgoJICBzZGw6IFVzZSBTREwgc3RhdGljLWxpYnMgZm9yIGNvbmZ0ZXN0CgkgIEZpeGVzOiAjNTczODQ3LiAgVGhpcyBmaXhlcyBidWlsZGluZyB3aXRoIFNETCBvbiBXaW5kb3dzLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMDMtMTkgMTQ6NTU6MjYgLTA3MDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJICBtcGVnMmVuYzogR2V0IG51bWJlciBvZiBwcm9jZXNzb3JzIG9uIHdpbjMyCgkgIEZpeGVzICM1NzM4NDguCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0wMy0xOSAxNDo0OToxMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdW5kdG91Y2g6IEFkZCBwa2djb25maWcgY2hlY2sgZm9yIHNvdW5kdG91Y2gtMS40CgkgIEZpeGVzICM1NzM4NDYuCgoyMDA5LTAyLTI2IDE0OjE4OjU0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSAgQWRkIGludGVybGFjZWQgc3VwcG9ydCB0byB2aWRlb3BhcnNlCgkgIEFkZCBhIHZpcnR1YWwgbWV0aG9kIGluIHJhd3BhcnNlIHRvIHNldCBidWZmZXIgZmxhZ3MuICBUaGlzIGRvZXNuJ3QKCSAgdXNlIEFQSSBmcm9tIHVucmVsZWFzZWQgLWJhc2UsIHNpbmNlIGl0IGRlZmluZXMgR1NUX1ZJREVPX0JVRkZFUl9URkYKCSAgaWYgaXQncyBub3QgZGVmaW5lZCB5ZXQuCgoyMDA5LTA0LTIxIDIyOjEzOjEyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGIzOTQxZWEgdG8gNmFiMTFkMQoKMjAwOS0wNC0yMSAxMzoyNzoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdydHBtdXgtZml4ZXMnCgoyMDA5LTA0LTIxIDE2OjQ4OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBJZiB0aGUgY29ubmVjdGlvbiBmYWlscywgZW1pdCBhIHJlZGlyZWN0aW9uIG1zZyB0byB0aGUgcnRzcCBlcXVpdmFsZW50LgoJICBUaGlzIHNob3VsZCBoZWxwIGZpeCB0aGUgaXNzdWUgd2l0aCBXaW5kb3dzIE1lZGlhIFNlcnZlciB1c2luZyBydHNwLi4uIGJ1dAoJICBzdGlsbCBkZWNsYXJpbmcgdGhlIHN0cmVhbSB3aXRoIG1tczovLwoKMjAwOS0wNC0yMSAxNjowODo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogT25seSBlcnJvciBvdXQgYXQgRU9TIHB1c2ggZmFpbHVyZSBpZiB3ZSBkb24ndCBoYXZlIGFueSBzdHJlYW1zLgoJICBUaGlzIHNob3VsZCByZW1vdmUgdGhlIGJvZ3VzIGVycm9yIG1lc3NhZ2VzIHdoaWxlIHN0aWxsIGtlZXBpbmcgdGhlIG9yaWdpbmFsCgkgIGludGVudCBvZiB0aGlzLCB3aGljaCBpcyB0byBpbmZvcm0gdGhlIHBpcGVsaW5lL2FwcGxpY2F0aW9uL3VzZXIgdGhhdCB3ZQoJICBjb3VsZCBub3QgZmluZCBhbnkgdmFsaWQgc3RyZWFtcy4KCSAgVGhlcmUgYXJlIG1hbnkgcmVhc29ucyB3aHkgcHVzaGluZyBhbiBldmVudCBjYW4gZmFpbCwgYW5kIG5vdCBhbGwgb2YgdGhlbSBhcmUKCSAgYmVjYXVzZSB0aGVyZSdzIG5vIGxpbmsgZG93bnN0cmVhbSAoaXQgY291bGQgYmUgYmVjYXVzZSBpdCB3YXMgYmxvY2tlZCwgb3IKCSAgZmx1c2hpbmcpLgoKMjAwOS0wNC0xMCAxOToyNDoyNiArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyQGxvY2FsaG9zdC5sb2NhbGRvbWFpbj4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFkZCBoYWNrIHNwZWNpZmljIGZvciBpdHZoZAoJICBpdHZoZCBtYXNrcyBpdHMgaDI2NCB2aWRlbyBzdHJlYW0gYXMgYSBwcml2YXRlIHN0cmVhbSBtYWtpbmcgaXQgaGFyZGVyIGZvcgoJICBvdGhlciBzZXQgdG9wIGJveGVzIHRvIGRlY29kZS4gdGhpcyBjaGVja3MgZm9yIHNwZWNpZmljIHByb2dyYW0gbnVtYmVyLCB2aWRlbwoJICBwaWQgYW5kIHN0cmVhbSB0eXBlIGNvbWJpbmF0aW9uIGJlZm9yZSBkZWNsYXJpbmcgaXQgYXMgaDI2NC4KCjIwMDktMDQtMTAgMTk6MDY6NTUgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlckBsb2NhbGhvc3QubG9jYWxkb21haW4+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGRldGVjdCBBQzMgc3RyZWFtcyBpbiBQTVQgdGFibGUKCSAgYWRkICdoYXMtYWMzJyBib29sZWFuIHRvIHBtdCBidXMgbWVzc2FnZQoKMjAwOS0wNC0xMCAwMToxNjozMCArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyQGxvY2FsaG9zdC5sb2NhbGRvbWFpbj4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgaXR2IGhkIGhhY2sKCjIwMDktMDQtMTAgMDE6MTE6MDEgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlckBsb2NhbGhvc3QubG9jYWxkb21haW4+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIGhhY2sgZm9yIGl0dmhkIHNpZCB0byBkZXRlY3QgbXBlZzEgYXMgaDI2NAoKMjAwOS0wNC0yMCAxODo0MTozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW1vdmUgdXNlbGVzcyBjYXBzIG1hbmdsaW5nCgoyMDA5LTA0LTIwIDE4OjM2OjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbmFtZSB2YXJpYWJsZSBmb3IgbW9yZSBjbGFyaXR5CgoyMDA5LTA0LTIwIDE3OjQzOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVc2UgR1NUX0JPSUxFUlBMQVRFCgoyMDA5LTA0LTIwIDE3OjQyOjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG8gdGhlIGluY2x1ZGVzIGxvY2FsbHkKCjIwMDktMDQtMjAgMTY6MzQ6MzAgKzAyMDAgIEFuZHkgV2luZ28gPHdpbmdvQHdpbmdvbWFjLmJjbi5vYmxvbmcubmV0PgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkgIHBhdGNoIG92ZXIgbG9naWMgZXJyb3JzIGluIG9zeHZpZGVvc3JjCgkgIGFwcGxlJ3MgY29tcGlsZXIgY2FycHMsIHdpdGggcmVhc29uLCBhYm91dCBzb21lIGNvbnN0cnVjdHMgaW4gb3N4dmlkZW9zcmMuYwoJICBmaXggdGhlbS4KCSAgYWxzbyBpdCBzZWVtcyB0aGF0IGZvciBzb21lIHJlYXNvbiB0aGlzIHJlcXVpcmVkIGEgZ3N0LWluZGVudCBydW4uIHdoZWUKCjIwMDktMDQtMjAgMTM6MDk6NDYgKzAyMDAgIEFuZHkgV2luZ28gPHdpbmdvQG9ibG9uZy5uZXQ+CgoJICBhZGQgb3N4dmlkZW9zcmMKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbTogQXV0b2NvbmZpc2NhdGlvbi4KCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9wbHVnaW4ubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzogQWRkIG9zeHZpZGVvc3JjLiBTaG91bGQgZml4ICMxNTM2ODQuCgkgIFBhdGNoLWJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICBQYXRjaC1ieTogQWxpIFNhYmlsIDxhbGkuc2FiaWxAdGFuZGJlcmcuY29tPgoJICBQYXRjaC1ieTogQmFycmFjdWRhIE5ldHdvcmtzIDxqdXN0aW5AYWZmaW5peC5jb20+CgoyMDA5LTA0LTE5IDE3OjE4OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIGRlaW50ZXJsYWNlMjogTWFrZSBpdCBwb3NzaWJsZSB0byBzZWxlY3QgaW50ZXJsYWNpbmcgYXV0b2RldGVjdGlvbiBvciB0byBlbmZvcmUgZGVpbnRlcmxhY2luZwoJICBGb3IgdGhpcyBhZGQgYSAibW9kZSIgcHJvcGVydHkgdGhhdCBkZWZhdWx0cyB0byAiaW50ZXJsYWNlZCIgZm9yIG5vdyBhcwoJICBtb3N0IGRlY29kZXJzL2RlbXV4ZXJzIGRvbid0IHByb3Blcmx5IHNldCB0aGUgImludGVybGFjZWQiIGZpZWxkIG9uIHRoZQoJICBjYXBzIHlldC4KCSAgSWYgdGhpcyBwcm9wZXJ0eSBpcyBzZXQgdG8gImF1dG8iIHRoZSBlbGVtZW50IHdpbGwgd29yayBpbiBwYXNzdGhyb3VnaAoJICBtb2RlIHVubGVzcyB0aGUgY2FwcyBjb250YWluIHRoZSAiaW50ZXJsYWNlZCIgZmllbGQuCgoyMDA5LTA0LTE4IDIzOjQyOjU3ICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggbGVhayBvZiBHU1RfVFlQRV9MSVNUIGd2YWx1ZQoKMjAwOS0wNC0xOCAxMzowOToyMyArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCBsZWFrIGluIHNyY19wYWRfcXVlcnkKCjIwMDktMDQtMTcgMTY6MTY6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGpvaW4gdGhlIFJUQ1AgdGhyZWFkCgkgIEF2b2lkIGEgY2FzZSB3aGVyZSBhIGpvaW5hYmxlIHRocmVhZCB3b3VsZCBiZSBsZWZ0IHVuam9pbmVkLCB3aGljaCBsZWFrZWQgdGhlCgkgIHRocmVhZCBzdHJ1Y3R1cmUuCgkgIEZpeGVzICM1NzczMTguCgoyMDA5LTA0LTE3IDE1OjM5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIGRlaW50ZXJsYWNlMjogVXNlIEdTVF8oREVCVUd8V0FSTklOR3xFUlJPUilfT0JKRUNUIGluc3RlYWQgb2YgdGhlIG5vbi1PQkpFQ1Qgb25lcwoKMjAwOS0wNC0xNyAxNTozOTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IFJlc2V0IGhpc3RvcnkgaWYgRElTQ09OVCBpcyBzZXQgb24gdGhlIGluY29taW5nIGJ1ZmZlcgoKMjAwOS0wNC0xNyAxNTozOToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IEZpeCB0aW1lc3RhbXBzIGZvciBidWZmZXJzIHdpdGggUkZGIGZsYWcgc2V0CgoyMDA5LTA0LTE2IDIyOjE0OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBQcm9wZXJseSBoYW5kbGUgdGhlIG5ldyBpbnRlcmxhY2VkIHN1cHBvcnQgZnJvbSBsaWJnc3R2aWRlbyBmb3IgKGRlKW11eGluZwoKMjAwOS0wNC0xNiAxNzo0MTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2UyOiBSZW5hbWUgbGluZV9sZW5ndGggdG8gcm93X3N0cmlkZSBhbmQgcmVtb3ZlIG91dHB1dF9zdHJpZGUKCjIwMDktMDQtMTYgMTU6NTI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgZGVpbnRlcmxhY2UyOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgUkZGIGFuZCBPTkVGSUVMRCBidWZmZXIgZmxhZ3MKCjIwMDktMDQtMTYgMTg6MzY6MTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBhZGQgYSBpbml0aWFsIHBvcnQgb2YgYSBzaW5rIHdpdGggZnBzIGRpc3BsYXkKCSAgVGhpcyBub3cgd29ya3Mgd2l0aCBhIGV2ZW50IHByb2JlLiBOZWVkcyBzb21lIGV4dHJhIHdvcmsuCgoyMDA5LTAzLTA5IDE4OjIyOjI4ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNsZWFuIHVwIGFuZCBmaXggYXNzZXJ0aW9uIGZhaWwgd2hlbiBzZXR0aW5nIHpvb20gaW4gTlVMTCBzdGF0ZQoKMjAwOS0wMy0wOSAxODozMTowNyArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggZm9ybWF0IG1hdGNoaW5nIHdoZW4gZGV0ZWN0aW5nIGFsbG93ZWQgZnJhbWUgcmF0ZQoKMjAwOS0wMy0wOSAxODoyNTo0OCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsb3NlIHBlbmRpbmcgc3RhdGUgd2hlbiBjaGFuZ2luZyByZXNvbHV0aW9uCgoyMDA5LTAyLTI3IDE3OjEyOjM4ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNoYW5nZSBpbWctZG9uZSBzaWduYWwgcGFyYW1ldGVyIGZyb20gR1N0cmluZyogdG8gY29uc3QgZ2NoYXIqCgkgIERvbid0IGFsbG93IHNldHRpbmcgZmlsZW5hbWUgdmlhIGltZy1kb25lIHNpZ25hbCBwYXJhbWV0ZXIgYnV0IGZvcmNlIGFwcAoJICB1c2UgZmlsZW5hbWUgcHJvcGVydHkuIERvbid0IHN0b3AgY2FwdHVyZSB3aGVuIHNldHRpbmcgZmlsZW5hbWUgcHJvcGVydHkuCgkgIFVwZGF0ZSBjaGVjayB1bml0IHRlc3QgYmFzZWQgb24gdGhlIGNoYW5nZS4KCjIwMDktMDQtMTUgMTM6MjM6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEFkZCBHU1RfREVCVUdfRlVOQ1BUUnMKCjIwMDktMDQtMTUgMTM6MTU6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBSZWxlYXNlIGxvY2tlZCBwYWQgb24gcmVsZWFzZV9wYWQKCSAgUmVsZWFzZSB0aGUgc3BlY2lhbCBwYWQgaWYgdGhlIHBhZCBpcyByZW1vdmVkIGZyb20gdGhlIG11eGVyLgoKMjAwOS0wNC0xNSAxMzowOToyNyAtMDQwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFJlbGVhc2Ugc3BlY2lhbCBvbiBwYWQgZGlzcG9zZQoJICBGaXhlcyAjNTc3NjkwCgoyMDA5LTA0LTE1IDE4OjE0OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcHJldmVudCBvdmVyZmxvdyBpbiBFT1MgZXN0aW1hdGlvbgoJICBVc2UgYSBndWludDY0IGluc3RlYWQgb2YgYSBndWludCB0byBob2xkIGEgNjRiaXQgdmFsdWUgdG8gcHJldmVudCBjb21wbGV0ZWx5CgkgIGJvZ3VlcyBFT1MgZXN0aW1hdGlvbiB2YWx1ZXMgZHVlIHRvIG92ZXJmbG93cy4KCjIwMDktMDQtMTUgMTc6NDQ6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogd2Ugc2hvdWxkIG5vdCBwcm92aWRlIGEgY2xvY2sKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBwcm92aWRlIGEgY2xvY2suCgoyMDA5LTA0LTE1IDE3OjI4OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogbW9yZSBlc3RpbWF0ZWQgRU9TIGZpeGVzCgkgIERvIG1vcmUgYWNjdXJhdGUgRU9TIGVzdGltYXRlIGFuZCBndWFyZCBhZ2FpbnN0IGJhY2t3YXJkIHRpbWVzdGFtcHMuCgoyMDA5LTA0LTE1IDE3OjI1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVsZWFzZSBsb2NrIGJlZm9yZSBwdXNoaW5nIEVPUwoJICBNYWtlIHN1cmUgd2UgcmVsZWFzZSB0aGUgaml0dGVyYnVmZmVyIGxvY2sgYmVmb3JlIHdlIHN0YXJ0IHB1c2hpbmcgb3V0IGRhdGEKCSAgYmVjYXVzZSBlbHNlIHdlIG1pZ2h0IGRlYWRsb2NrLgoKMjAwOS0wNC0xNSAxNTo0Njo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICBkZWludGVybGFjZTI6IE1vdmUgb3V0cHV0IGJ1ZmZlciBmcm9tIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgdG8gYSBmdW5jdGlvbiBwYXJhbWV0ZXIKCjIwMDktMDQtMTUgMTU6MzM6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgZGVpbnRlcmxhY2UyOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBhdXRvbWF0aWMgZGV0ZWN0aW9uIG9mIHRoZSBmaWVsZCBvcmRlcgoKMjAwOS0wNC0xNSAxNDo0Nzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IEFkZCBzdXBwb3J0IGZvciBZVllVIGNvbG9yc3BhY2UKCSAgVGhpcyBpcyB0aGUgc2FtZSBhcyBZVVkyIHdpdGgganVzdCBDciBhbmQgQ2Igc3dhcHBlZC4gQXMKCSAgd2UgZG9uJ3QgbWFrZSBhIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVtIHdoZW4gZGVpbnRlcmxhY2luZwoJICB0aGlzIHdvcmtzLgoKMjAwOS0wNC0xMyAxMzozMjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFNtYWxsIGNsZWFudXAKCjIwMDktMDQtMTAgMTg6MDA6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWM6IGZpeCBjb21waWxhdGlvbiB3aXRoIHRoZSBkZWJ1Z2dpbmcgc3lzdGVtIGRpc2FibGVkCgkgIE9uZSBHU1RfREVCVUdfQ0FURUdPUllfSU5JVCBzaG91bGQgYmUgZW5vdWdoIGFueXdheS4KCSAgRml4ZXMgIzU3ODU2MiAoc3BvdHRlZCBieSBEYXZpZCBIb3l0KS4KCjIwMDktMDQtMDkgMjM6NTM6MzkgKzAyMDAgIEphbmluIEtvbGVuYyA8amFuaW4ua29sZW5jIGF0IG1hcmFuZC5zaT4KCgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICB4MjY0ZW5jOiBhZGQgZm9yY2Uga2V5ZnJhbWUgZXZlbnQgaGFuZGxpbmcKCSAgVXNlIHRoZSBHc3RGb3JjZUtleVVuaXQgZXZlbnQgdG8gZm9yY2UgYSBrZXlmcmFtZS4KCSAgRml4ZXMgIzU3ODExMi4KCjIwMDktMDQtMDggMTE6NTI6NDYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJICBhY21lbmMsIGFjbW1wM2RlYywgc2RwOiBsaW5rIHRvIGFsbCByZXF1aXJlcyBsaWJyYXJpZXMgb24gd2luMzIuCgkgIEFkZCB3aW5zb2NrIGZvciB3aW5kb3dzIChmb3Igc2RwKS4gTGluayB0byBhbGwgdGhlIHBsdWdpbnMtYmFzZQoJICBsaWJzIHdlIGluZGlyZWN0bHkgdXNlIGZvciBhY21tZW5jIGFuZCBhY21tcDNkZWMuCgoyMDA5LTA0LTA3IDE1OjUwOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIG14ZjogQWRkIHVuaXQgdGVzdHMgZm9yIGNoZWNraW5nIGlmIG14Zm11eCAhIG14ZmRlbXV4IHBpcGVsaW5lcyBhcmUgd29ya2luZyB3aXRob3V0IGVycm9ycwoKMjAwOS0wNC0wNyAxNTo0OTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCB1c2UgaW52YWxpZCBidWZmZXIgb2Zmc2V0cywgaW5zdGVhZCBhc3N1bWUgb2Zmc2V0ID09IDAKCjIwMDktMDQtMDcgMTU6NDU6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IEZpeCBjb21wYXJpc29uCgoyMDA5LTA0LTA3IDE1OjE5OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZ1bC5jOgoJKiBnc3QvbXhmL214ZnVsLmg6CgkgIFVzZSBVTCBkYXRhYmFzZSBmb3IgYWxsIG1ldGFkYXRhIFVMcwoKMjAwOS0wNC0wNyAwNDo1MzowMiArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBzbGlnaHRseSBicm9rZW4gYnVmZmVyLWluLXNlZ21lbnQgY2hlY2sgKGFhY3BhcnNlLCBhbXJwYXJzZSwgZmxhY3BhcnNlKQoKMjAwOS0wNC0wNSAwMzo1MDoxOSArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBwdXNoIG1vZGUgc2Vla2luZyAoYWFjcGFyc2UsIGFtcnBhcnNlKQoJICBTZW5kaW5nIHRoZSBmbHVzaC1zdGFydCBldmVudCBmb3J3YXJkIGJlZm9yZSB0YWtpbmcgdGhlIHN0cmVhbSBsb2NrIGFjdHVhbGx5CgkgIHdvcmtzLCBpbiBjb250cmFzdCB0byBkZWFkbG9ja2luZyBpbiBkb3duc3RyZWFtIHByZXJvbGxfd2FpdCAoaHVuayAxKS4KCSAgQWZ0ZXIgdGhhdCB3ZSBnZXQgdGhlIGNoYWluIGZ1bmN0aW9uIGJlaW5nIHN0dWNrIGluIGEgYnVzeSBsb29wLiBUaGlzIGlzIGZpeGVkCgkgIGJ5IHVwZGF0aW5nIHRoZSBtaW5pbXVtIGZyYW1lIHNpemUgaW5zaWRlIHRoZSBzeW5jaHJvbml6YXRpb24gbG9vcCBiZWNhdXNlIHRoZQoJICBzdWJjbGFzcyBhc2tzIGZvciBtb3JlIGRhdGEgaW4gdGhpcyB3YXkgKGh1bmsgMikuCgkgIEZpbmFsbHksIHRoaXMgbGVhZHMgdG8gYSB2ZXJ5IHByb2JhYmxlIGNyYXNoIGJlY2F1c2UgdGhlIHN1YmNsYXNzIGNhbiBmaW5kIGEKCSAgdmFsaWQgZnJhbWUgd2l0aCBhIHNpemUgZ3JlYXRlciB0aGFuIHRoZSBjdXJyZW50bHkgYXZhaWxhYmxlIGRhdGEgaW4gdGhlCgkgIGFkYXB0ZXIuIFRoaXMgbWFrZXMgdGhlIHN1YnNlcXVlbnQgZ3N0X2FkYXB0ZXJfdGFrZV9idWZmZXIgY2FsbCByZXR1cm4gTlVMTCwKCSAgd2hpY2ggaXMgbm90IGV4cGVjdGVkIChodW5rIDMpLgoKMjAwOS0wNC0wNCAyMToxOToxMSArMDMwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQwZWE4OWUgdG8gYjM5NDFlYQoKMjAwOS0wNC0wNCAxNzo1MTozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICBiejI6IGZpeCBzb21lIHJlZmNvdW50IG1pc3Rha2VzIGFuZCBkbyBzb21lIGNsZWFuaW5nIHVwCgkgIE5vIG5lZWQgdG8gdW5yZWYgYnVmZmVycyBpZiBwYWRfcHVzaCByZXR1cm5zIHNvbWV0aGluZyBub24tRkxPV19PSy4KCSAgSW4gZmFjdCwgdGhpcyB3aWxsIGNhdXNlIGFzc2VydGlvbnMgb3IgY3Jhc2hlcy4gSG93ZXZlciwgd2UgZG8gbmVlZAoJICB0byB1bnJlZiB0aGUgaW5wdXQgYnVmZmVyIHdoZW5ldmVyIHdlIGRvbid0IHBhc3MgaXQgZG93bnN0cmVhbS4gQWxzbywKCSAgYSBub24tT0sgZmxvdyByZXR1cm4gaXMgbm90IGFuIGVycm9yLCBzbyBkb24ndCBwb3N0IGVycm9yIG1lc3NhZ2VzIG9uCgkgIHRoZSBidXMgLSB0aGUgcGlwZWxpbmUgbWF5IGp1c3QgYmUgc2h1dHRpbmcgZG93bi4gTWlzY2VsbGFuZW91cyBvdGhlcgoJICBjbGVhbi11cHMgYW5kIGNyYWNrIHJlbW92YWwuIFBsZW50eSBvZiB3b3JrIGxlZnQgZm9yIHRob3NlIHdobyBmZWVsCgkgIGxpa2UgaXQuCgoyMDA5LTA0LTA0IDE0OjU0OjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmOGIzZDkxIHRvIGQwZWE4OWUKCjIwMDktMDQtMDMgMjM6MTA6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGZpeCBkdmRuYXYgdmVyc2lvbiBjaGVjawoJICBGaXhlcyAjNTc3ODY0LiBUaGlzIHRpbWUgZm9yIHJlYWwuCgoyMDA5LTA0LTAzIDE3OjU1OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiByZXF1aXJlIGxpYmR2ZG5hdiA+PSA0LjEuMiBmb3IgZHZkbmF2X2dldF9jdXJyZW50X3RpbWUoKQoJICBGaXhlcyAjNTc3ODY0LgoKMjAwOS0wNC0wMyAxMDoyOTo1MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBtaXNjOiBCdW1wIHBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjIyLjEKCjIwMDktMDQtMDEgMTc6NDE6NDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogU2VuZCBib3RoIHRoZSBsb2dpY2FsIGFuZCBwaHlzaWNhbCBzdWJzdHJlYW0gSUQgaW4gdGhlIHN0cmVhbSBjaGFuZ2UuCgkgIFdoZW4gc2VuZGluZyB0aGUgc3RyZWFtIGNoYW5nZSBtZXNzYWdlKHMpIHRvIHRoZSBkZW11eGVyLCBhbHNvIGluY2x1ZGUgdGhlCgkgIGxvZ2ljYWwgc3RyZWFtIGlkIGFsb25nIHdpdGggdGhlIHBoeXNpY2FsIElELCBzbyB0aGF0IHRoZSBkZW11eGVyIGNhbiByZW1hcAoJICBsb2dpY2FsLT5waHlzaWNhbCBNUEVHIHN0cmVhbSBJRC4KCjIwMDktMDQtMDEgMDI6MjM6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogVXNlIG5ldyBHc3ROYXZpZ2F0aW9uIGZ1bmN0aW9uYWxpdHkuCgkgIEhhbmRsZSB0aGUgbmV3IERWRCBjb21tYW5kcywgc28gdGhhdCB3ZSBjYW4gaGFuZGxlIGNvbW1hbmRzIGZyb20gYSBwbGF5ZXIKCSAgdG8gY2hhbmdlIGFuZ2xlLCBqdW1wIHRvIG1lbnVzIGV0Yy4gVXNlIHRoZSBuZXcgR3N0TmF2aWdhdGlvbiBldmVudCBwYXJzaW5nCgkgIGZ1bmN0aW9ucywgaW5zdGVhZCBvZiBoYW5kLXJvbGxlZCBzdHVmZi4KCSAgU2VuZCBHc3ROYXZpZ2F0aW9uIG5vdGlmaWNhdGlvbiBtZXNzYWdlcyB3aGVuIHRoZSBtb3VzZSBlbnRlcnMgYSBidXR0b24KCSAgb3IgbGVhdmVzIGl0LCBzbyBVSSBjYW4gdHVybiB0aGUgbW91c2UgY3Vyc29yIHRvIGEgaGFuZCBpY29uLgoKMjAwOS0wMy0zMCAwMTowNzo0OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICByZXNpbmR2ZDogU3dpdGNoIHRvIHVzaW5nIGEgaGFyZC1jb2RlZCBtcGVnMmRlYywgYW5kIGNoYW5nZSBwYWQgYmxvY2tpbmcgYSBiaXQuCgkgIENoYW5nZSB0aGUgcGFkIGJsb2NraW5nIGJlaGF2aW91ciBkdXJpbmcgc3RhcnR1cCwgYW5kIHVzZSBhIGhhcmQtY29kZWQgbXBlZzJkZWMgKGZvciB0aGUgbW9tZW50KSwgaW4gb3JkZXIgdG8gbWFrZSB0aGluZ3Mgd29yayB3aXRoIHBsYXliaW4yLgoKMjAwOS0wMy0yNSAxMjozMToxMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBZGQgbmV3bGluZSB0byBkZWJ1ZyBnX3ByaW50IHN0YXRlbWVudAoKMjAwOS0wMy0yNSAwMjoyMDoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBNYWtlIGhpZ2hsaWdodHMgd29yayB3aGVuIGp1bXBpbmcgaW50byBtZW51cwoJICBNYWtlIHRoZSBoaWdobGlnaHRzIHJlLWFwcGVhciBjb3JyZWN0bHkgd2hlbiBqdW1waW5nIGJhY2sgaW50byBtZW51cwoJICBieSBtYWtpbmcgc3VyZSB0byBzZXQgdGhlIGZsdXNoaW5nX3NlZWsgZmxhZyBmb3IgdXNlci1hY3Rpb24gaW5pdGlhdGVkCgkgIHNlZWtzLgoJICBGaWRkbGUgc29tZSBkZWJ1ZyByZWxhdGVkIHRvIHRyYWNraW5nIGRvd24gdGhlIGlzc3VlLgoKMjAwOS0wMy0yNSAwMToyMToyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBTdXBwb3J0IG11bHRpYW5nbGUgdGl0bGVzLgoJICBBZGQgYSB3b3JrYXJvdW5kIGZvciBhbiBhcHBhcmVudCBsaWJkdmRuYXYgYnVnIHdoZXJlIGl0IGxvc2VzIG5hdiBwYWNrZXRzCgkgIGR1cmluZyBtdWx0aWFuZ2xlIHRpdGxlcywgYW5kIGFkZCBzb21lIGtleXByZXNzIGJpbmRpbmdzIHRvIHN3aXRjaCB0aGUgYW5nbGUuCgoyMDA5LTAzLTE4IDA5OjM1OjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IEFkZCBiYWNrIGluIHN1cHBvcnQgZm9yIHVzaW5nIGhhcmRjb2RlZCBhNTJkZWMKCjIwMDktMDMtMTYgMjA6MzE6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IEFkZCBzb21lIGRlYnVnIHdoZW4gY3JlYXRpbmcgdGhlIG91dHB1dCBwYWRzIGluIHRoZSBkZW11eGVyCgoyMDA5LTAzLTEwIDEwOjM5OjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSAgcmVzaW5kdmQ6IE1vcmUgaGFja2luZyBvbiB0aGUgYXVkaW8gZGVjb2Rlci4KCjIwMDktMDMtMDUgMDA6MDQ6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogVHJpbSBiYWNrIHRoZSBnX3ByaW50IGRlYnVnIC0gY29udmVydCB0byBHU1RfREVCVUcgYW5kIEdTVF9MT0cKCjIwMDktMDMtMDQgMTY6MTY6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmg6CgkgIHJlc2luZHZkOiBFeHRlbmQgdGhlIFJlc2luIGF1ZGlvIGRlY29kZXIgZWxlbWVudCwgYW5kIHN3aXRjaCByc25kdmRiaW4gdG8gdXNlIGl0CgoyMDA5LTAyLTI3IDEwOjE4OjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuaDoKCSAgcmVzaW5kdmQ6IEZpcnN0IHBhcnQgb2YgdGhlIHJlLXBsdWdnaW5nIGF1ZGlvIGRlY29kZXIKCjIwMDktMDItMjcgMDk6NDI6MzUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZDogcmVtb3ZlIHVudXNlZCBjb2RlIHBhdGggZnJvbSB0aGUgYmluCgoyMDA5LTAyLTI2IDAwOjI5OjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmQ6IEluZGVudCBzb21lIHRoaW5ncwoKMjAwOS0wMi0yNiAwMDoyNzo1NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSAgcmVzaW5kdmQ6IFN3aXRjaCBHU1RfQk9JTEVSUExBVEUgdG8gR19ERUZJTkVfVFlQRSBmb3Igbm8gcmVhbCByZWFzb24uCgoyMDA5LTAzLTI0IDAxOjAyOjI4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBBZGQgZmFzdHN0YXJ0LCBhbmQgd29yayBhcm91bmQgc29tZSBtdWx0aS1hbmdsZSBpc3N1ZXMKCSAgQWRkIGEgJ2Zhc3Qtc3RhcnQnIHByb3BlcnR5IHRvIHRoZSByc25kdmRzcmMgZWxlbWVudCwgdGhhdCBhdHRlbXB0cyB0bwoJICBqdW1wIGRpcmVjdGx5IHRvIHRoZSBEVkQgbWVudSB3aGVuIHN0YXJ0aW5nLiBEb2Vzbid0IHdvcmsgY29ycmVjdGx5IG9uIGFsbAoJICB0aXRsZXMgeWV0LgoJICBBZGQgd29ya2Fyb3VuZHMgZm9yIGlzc3VlcyB3aXRoIG11bHRpcGxlIGFuZ2xlcyBpbiBsaWJkdmRuYXY6IFVzZSBhIGhldXJpc3RpYwoJICB0byBhdm9pZCBkZXRlY3RpbmcgZGlzY29udGludWl0aWVzIGR1cmluZyBtdWx0aXBsZS1hbmdsZSB0aXRsZXMsIGl0IHNlZW1zCgkgIGNhdXNlZCBieSBsaWJkdmRuYXYgbG9zaW5nIHNvbWUgTkFWIHBhY2tldHMgaW4gbXVsdGlhbmdsZSB0aXRsZXMuIEZpeAoJICBzZWVraW5nIGluIG11bHRpLWFuZ2xlIHRpdGxlcyBieSBhbGlnbmluZyBvdXIgc2VjdG9yIGNhbGN1bGF0aW9uIGxvZ2ljCgkgIHdpdGggbGliZHZkbmF2J3MuIEFsc28sIHVzZSBsaWJkdmRuYXYncyBkdmRuYXZfZ2V0X2N1cnJlbnRfdGltZSgpIG1ldGhvZAoJICB0byBkZXRlcm1pbmUgdGhlIGxvZ2ljYWwgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgY2VsbCB3aGVuIGl0IGNoYW5nZXMsIGFzIHRoZQoJICBjZWxsX3N0YXJ0IHZhbHVlIGluIHRoZSBjZWxsX2NoYW5nZSBldmVudCBwcm92aWRlcyBhIG51bWJlciB0aGF0IGRvZXNuJ3QKCSAgY29tcGVuc2F0ZSBmb3IgYW5nbGUgY2VsbCBibG9ja3MuCgoyMDA5LTAzLTIxIDE5OjA0OjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFNtYWxsIGRlYnVnIG91dHB1dCBjaGFuZ2UgaW4gdGhlIHNvdXJjZSBlbGVtZW50CgoyMDA5LTA0LTAxIDAyOjI1OjQyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEFkZCBzb21lIGRlYnVnCgkgIEFkZCBhIGxpdHRsZSBiaXQgb2YgZXh0cmEgZGVidWcuIFdyYXAgYSBoYXJkY29kZWQgI2lmIDAgaW50byBhIGRlZmluZSBpbnN0ZWFkLgoKMjAwOS0wNC0wMiAxMzowNToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAyZW5jOiBVbnJlZiBwZWVyIGNhcHMgYWZ0ZXIgdXNhZ2UgdG8gZml4IGEgbWVtb3J5IGxlYWsKCjIwMDktMDQtMDIgMTI6NDY6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJICBteGZtdXg6IEFkZCB1bml0IHRlc3RzCgoyMDA5LTA0LTAxIDE1OjQ1OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJICBsZWdhY3lyZXNhbXBsZTogZml4IG5lZ290aWF0aW9uIHNvIHRoYXQgdXBzdHJlYW0gY2FuIGFjdHVhbGx5IGZpeGF0ZSB0byBkb3duc3RyZWFtJ3MgcmF0ZQoJICBJZiBvbmUgc2lkZSBoYXMgYSBwcmVmZXJlbmNlIGZvciBhIHBhcnRpY3VsYXIgc2FtcGxlIHJhdGUgb3Igc2V0IG9mIHNhbXBsZSByYXRlcywgd2UKCSAgc2hvdWxkIGhvbm91ciB0aGlzIGluIHRoZSBjYXBzIHdlIGFkdmVydGlzZSBhbmQgdHJhbnNmb3JtIHRvIGFuZCBmcm9tLCBzbyB0aGF0IGVsZW1lbnRzCgkgIGFjdHVhbGx5IGtub3cgYWJvdXQgdGhlIG90aGVyIHNpZGUncyBzYW1wbGUgcmF0ZSBwcmVmZXJlbmNlIGFuZCBjYW4gbmVnb3RpYXRlIHRvIGl0CgkgIGlmIHN1cHBvcnRlZC4gQWxzbyBhZGQgdW5pdCB0ZXN0IGZvciB0aGlzLgoKMjAwOS0wMy0zMSAxNjowNzo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBEZWxheSBuZXdzZWdtZW50IGFzIGxvbmcgYXMgcG9zc2libGUuCgkgIElmIG5ld3NlZ21lbnQgaXMgc2VudCAodG9vKSBlYXJseSwgY2FwcyBtYXkgbm90IHlldCBiZSBmaXhlZC9zZXQsCgkgIGFuZCBkb3duc3RyZWFtIG1heSBub3QgaGF2ZSBiZWVuIGxpbmtlZC4KCjIwMDktMDMtMzAgMjE6NTc6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgbXBlZzJlbmM6IGZpeCBiaXRyYXRlIHByb3BlcnR5IHNldHRpbmdzCgkgIEFsaWduIGJpdHJhdGUgcHJvcGVydHkgaW50ZXJwcmV0YXRpb24gd2l0aCB1c3VhbCBtcGVnMmVuYyBiZWhhdmlvdXIuCgkgIEZpeGVzICM1NzU3MzYuCgoyMDA5LTAzLTI3IDIxOjM5OjA1ICswMDAwICBBbGFuIEZhbGxvb24gPGFmYWxsb29uQGx1bWVuZXJhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBtYWtlIC0tZGlzYWJsZS1leHRlcm5hbCB3b3JrIGFnYWluCgoyMDA5LTAzLTI3IDE5OjM3OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuaDoKCSAganAya2RlYzogaW1wbGVtZW50IGJhc2ljIFFvUwoJICBEb24ndCB0cnkgdG8gZGVjb2RlIGZyYW1lcyB0aGF0IGFyZSBnb2luZyB0byBiZSBsYXRlIGFueXdheS4KCjIwMDktMDMtMjcgMTc6NDQ6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwYmluOiBhZGQgb25fbnB0X3N0b3Agc2lnbmFsCgkgIEFkZCB0aGUgb25fbnB0X3N0b3Agc2lnbmFsIHRvIHJ0cGJpbiBhbmQgcnRwaml0dGVyYnVmZmVyIHRvIG5vdGlmeSB0aGUKCSAgYXBwbGljYXRpb24gdGhhdCB0aGUgTlBUIHN0b3AgcG9zaXRpb24gaGFzIGJlZW4gcmVhY2hlZC4KCjIwMDktMDMtMjcgMTE6MjA6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IHJlc2V0IHN0YXRlIHdoZW4gZ29pbmcgdG8gUkVBRFkKCSAgUmVzZXQgdGhlIGxhc3QtYnVmZmVyLCB0aGUgcGVuZGluZyBwYWQgYW5kIHRoZSBzZWdtZW50IHdoZW4gZ29pbmcgdG8gdGhlIFJFQURZCgkgIHN0YXRlLgoJICBGaXhlcyAjNTc2NzEyLgoKMjAwOS0wMy0yNSAyMToyNDo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCByZXVzaW5nIGVsZW1lbnQKCSAgU3RhdGUgY2hhbmdlIHRvIFJFQURZIGFuZCB0aGVuIGJhY2sgdG8gUEFVU0VEIHNob3VsZCBzdGlsbCBwcm92aWRlCgkgIHRoZSBwcm9wZXIgc3RydWN0dXJlcyBhcyBhcmUgb3RoZXJ3aXNlIGZyZXNobHkgYXZhaWxhYmxlIGZvbGxvd2luZwoJICBhIHJlcXVlc3RfbmV3X3BhZC4KCSAgUG9pbnRlZCBvdXQgYnkgVGhpYWdvIFNhbnRvcy4KCjIwMDktMDMtMjYgMjA6Mjg6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IEZpeCBjb21waWxhdGlvbiBhbmQgY29tcGlsZXIgZXJyb3JzIHdpdGggR0xpYiA8IDIuMTYuMAoKMjAwOS0wMy0yNiAxNDoyNjozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogRml4ICJjYXN0IHRvIHBvaW50ZXIgdHlwZSBvZiBkaWZmZXJlbnQgc2l6ZSIgY29tcGlsZXIgd2FybmluZwoKMjAwOS0wMy0yNiAxMzoyNDo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogUmVuYW1lIGZvcmdvdHRlbiBmdW5jdGlvbiB0byBmaXggdW5yZXNvbHZlZCBzeW1ib2xzIGVycm9yCgoyMDA5LTAzLTI2IDEzOjIwOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14ZjogVXNlIG14Zl91e2wsdWlkfV9pc19lcXVhbCgpIGFuZCBmcmllbmRzIGluc3RlYWQgb2YgbWVtY21wKCkKCjIwMDktMDMtMjYgMTM6MTE6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5oOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBteGY6IERpZmZlcmVudGlhdGUgYmV0d2VlbiBVTCBhbmQgVVVJRAoKMjAwOS0wMy0yNiAxMjo0NjoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmFsYXcuaDoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkMTAuaDoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5oOgoJKiBnc3QvbXhmL214ZmVzc2VuY2UuYzoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm1wZWcuaDoKCSogZ3N0L214Zi9teGZtdXguaDoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJKiBnc3QvbXhmL214ZnVsLmM6CgkqIGdzdC9teGYvbXhmdWwuaDoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnVwLmg6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkqIGdzdC9teGYvbXhmdmMzLmg6CgkqIGdzdC9teGYvbXhmd3JpdGUuYzoKCSogZ3N0L214Zi9teGZ3cml0ZS5oOgoJICBteGY6IFNvdXJjZSBmaWxlcyBhbmQgI2luY2x1ZGUgY2xlYW51cAoKMjAwOS0wMy0yNiAxMjoxMDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC94ZGdtaW1lL01ha2VmaWxlLmFtOgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IFVzZSBHSU9zIGdfY29udGVudF90eXBlX2d1ZXNzKCkgaWYgcG9zc2libGUKCjIwMDktMDMtMjYgMTE6NTE6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ3cml0ZS5jOgoJICBteGY6IFVzZSB0aGUgVUwgZGF0YWJhc2UgZm9yIHNvbWUgbW9yZSBVTHMKCjIwMDktMDMtMjYgMTE6NDI6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IFJlbW92ZSBzb21lIEdMaWIgPCAyLjE0IGNvbXBhdGliaWxpdHkgc3R1ZmYKCjIwMDktMDMtMjYgMTE6Mzc6MjggKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJICBhY206IFBvcnQgdG8gTWluR1cKCSAgRml4ZXMgYnVnICM1NzM1OTUuCgoyMDA5LTAzLTI2IDExOjMzOjUwICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3hkZ21pbWUvTWFrZWZpbGUuYW06CgkgIHhkZ21pbWU6IExpbmsgd2l0aCB3aW5zb2NrIGxpYnJhcnkgdG8gZml4IGJ1aWxkIHdpdGggTWluR1cKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTczNTk1LgoKMjAwOS0wMy0yNiAxMTozMjowOCArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3AuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcF9jb21tb24uaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5oOgoJICBkY2NwOiBQb3J0IERDQ1AgcGx1Z2luIHRvIE1pbkdXCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU3MzU5NS4KCjIwMDktMDMtMjYgMTE6MjM6MzAgKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBkY2NwOiBEaXNhYmxlIHRoZSBkY2NwIHBsdWdpbiBpZiBubyBwdGhyZWFkIHN1cHBvcnQgaXMgYXZhaWxhYmxlCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU3MzU5NS4KCjIwMDktMDMtMjYgMDg6MTM6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdteGZtdXgnCgoyMDA5LTAzLTI2IDA4OjEyOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmbXV4OiBDbGVhbnVwCgoyMDA5LTAzLTI2IDA4OjExOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmbXV4OiBGaXggaGFuZGxpbmcgb2YgYnVmZmVycyB3aXRoIG1vcmUgdGhhbiBvbmUgZWRpdCB1bml0IGFuZCBFT1MgaGFuZGxpbmcKCjIwMDktMDMtMjUgMjM6MDQ6MTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIGxhZHNwYTogY29tbWVudCBzaWduYWxwcm9jZXNzb3IgY2xhc3MgbW9yZSBhbmQgZG8gbWlub3IgY29kZSBjbGVhbnVwcwoKMjAwOS0wMy0yNSAxMjo0MDozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgY29yZSA+PSAwLjEwLjIyLjEgZm9yICV1IHBhZCB0ZW1wbGF0ZSBzdXBwb3J0CgoyMDA5LTAzLTI0IDE1OjIzOjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgc2VsZWN0b3I6IG1lcmdlIHRoZSB0YWdzCgkgIE1lcmdlIHRoZSB0YWdzIHJlY2VpdmVkIG9uIHRoZSBpbnB1dC1zZWxlY3RvciBzaW5rcGFkcyBpbnN0ZWFkIG9mIG9ubHkga2VlcGluZwoJICB0aGUgbGFzdCBvbmUgd2Ugc2F3LgoKMjAwOS0wMy0yMyAxOTozMzozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogTkVXUzoKCSAgRml4IHZlcnNpb24gbnVtYmVyIGluIHRoZSBORVdTIGZpbGUKCjIwMDktMDMtMTkgMDE6MTc6MjUgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBidXN5bG9vcCB3aGVuIHNlZWtpbmcuIEZpeGVzICM1NzUzODgKCSAgVGhlIHByb2JsZW0gaXMgdGhhdCBhZnRlciBhIGRpc2NvbnQsIHNldF9taW5fZnJhbWVfc2l6ZSgxMDI0KSBpcyBjYWxsZWQgd2hlbgoJICBkZXRlY3Rfc3RyZWFtIHJldHVybnMgRkFMU0UuIEhvd2V2ZXIsIGRldGVjdF9zdHJlYW0gY2FsbHMgY2hlY2tfYWR0c19mcmFtZQoJICB3aGljaCBzZXRzIHRoZSBmcmFtZSBzaXplIG9uIGl0cyBvd24gdG8gc29tZXRoaW5nIGxhcmdlciB0aGFuIDEwMjQuIFRoaXMgaXMgdGhlCgkgIHNhbWUgc2l0dWF0aW9uIGFzIGluIHRoZSBiZWdpbm5pbmcsIHNvIHRoZSBiYXNlIGNsYXNzIGVuZHMgdXAgY2FsbGluZwoJICBjaGVja192YWxpZF9mcmFtZSBpbiBhbiBlbmRsZXNzIGxvb3AuCgoyMDA5LTAzLTE5IDAwOjMyOjQwICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBSZWZhY3RvciBjaGVja192YWxpZF9mcmFtZSB0byBleHBvc2UgYnJva2VuIGNvZGUKCSAgSnVzdCBtb3ZpbmcgY29kZSBhcm91bmQgYW5kIHJlbW92aW5nIGFuIHVuaGVscGZ1bC9taXNsZWFkaW5nIGNvbW1lbnQuCgoyMDA5LTAzLTIzIDExOjE3OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggaW5jbHVkZXMgZm9yIGxzZWVrCgkgIC0tCgoyMDA5LTAzLTIwIDE0OjIwOjE2ICswMTAwICBMUk4gPGxybjE5ODYgYXQgZ21haWwgZG90IGNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICB3aW4zMjogZml4IHNlZWtpbmcgaW4gbGFyZ2UgZmlsZXMKCSAgVXNlIF9sc2Vla2k2NCgpIG9uIFdpbmRvd3MgdG8gc2VlayBpbiBsYXJnZSBmaWxlcy4KCSAgRml4ZXMgIzU3NjAyMS4KCjIwMDktMDMtMTYgMTE6MjE6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogQWRkIG5ldyBjb25uZWN0aW9uIG1vZGUKCSAgQWRkIGEgbmV3IGNvbm5lY3Rpb24gbW9kZSB0byBqYWNrc3JjIGFuZCBqYWNrc2luay4gSW4gdGhpcyBuZXcgYXV0by1mb3JjZQoJICBjb25uZWN0aW9uIG1vZGUgamFjayB3aWxsIGNyZWF0ZSBhcyBtYW55IHBvcnRzIGFzIHJlcXVlc3RlZC9uZWVkZWQgaW4gdGhlCgkgIHBpcGVsaW5lIGFuZCB3aWxsIHRoZW4gY29ubmVjdCBhcyBtYW55IHBoeXNpY2FsIHBvcnRzIGFzIHBvc3NpYmxlLCBwb3NzaWJseQoJICBsZWF2aW5nIHNvbWUgcG9ydHMgdW5jb25uZWN0ZWQuCgkgIEFsc28gZ2V0IHJpZCBvZiBzb21lIGxlZnRvdmVyIGdfcHJpbnQuCgkgIEZpeGVzICM1NzUyODQuCgoyMDA5LTAzLTIzIDE1OjA2OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgbXhmOiBNb3ZlIHNvbWUgc3RhdGljIGNvbnN0IHZhcmlhYmxlcyBpbnRvIGZ1bmN0aW9ucwoKMjAwOS0wMy0xMyAxOTo0MjoxOCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBidWlsZCB3aXRoIGNlbHQgMC41LgoKMjAwOS0wMy0yMiAyMDoxNDoyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTEuMQoKMjAwOS0wMy0yMCAxNTo1NToxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiByZWVuYWJsZSBtZXRhZGF0YSB0ZXN0CgoyMDA5LTAzLTIwIDE1OjMzOjMxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgbWV0YWRhdGE6IHJlZW5hYmxlIHRlc3QKCjIwMDktMDMtMjAgMTU6MTg6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIG1ldGRhdGE6IG1vcmUgbG9nZ2luZyBhbmQgY29kZSBjbGVhbnVwcwoJICBTcHJpbmtsZSBtb3JlIGRlYnVnIGxvZyBzdGF0ZW1lbnRzIGludG8gdGhlIGNvZGUuIE1vdmUgc29tZSByZXBlYWRlZCBzdHJpbmcKCSAgY29uc3RhbnQgaW50byBoZWFkZXIgZmlsZXMgYW5kIHVzZSBzaXplb2YgaW5zdGVhZCBvZiBtYW51YWxseSBjb3VudGVkIGJ5dGVzLiBBZGQKCSAgY29tbWVudHMuCgoyMDA5LTAzLTIwIDE1OjE0OjA3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkgIG1ldGFkYXRhOiBmaXggbXV4aW5nIGpmaWZsZXNzIGpwZWcuIEZpeGVzICM1NzQ0MDEKCSAgRG9uJ3QgZXJyb3Igb3V0IHdoZW4gdG8gYmUgbXV4ZWQganBlZyBoYXMgbm8gamZpZiwgYXMgd2UgY2FuIGVhc2lseQoJICBhZGQgaXQuCgoyMDA5LTAzLTIwIDE1OjEwOjIyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIG1ldGFkYXRhOiBmaXggaW5jbHVkZSBndWFyZHMKCjIwMDktMDMtMjAgMTU6MDQ6MTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJICBtZXRhZGF0YTogcmV3b3JrIGRvYyBjb21tZW50CgoyMDA5LTAzLTA5IDIzOjQzOjU1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3QvdmFsdmUvTWFrZWZpbGUuYW06CgkgIE1ha2VmaWxlLmFtOiBubyBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucwoKMjAwOS0wMy0yMiAxNTo1ODo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEZpeCBlcnJvciBoYW5kbGluZwoKMjAwOS0wMy0yMiAxNTo1MTozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14Zm11eDogRml4IHNvbWUgbWVtb3J5IGxlYWtzLCBpbXByb3ZlIGRlYnVnZ2luZyBhbmQgaGFuZGxlIGVycm9ycyBiZXR0ZXIKCjIwMDktMDMtMjIgMTU6MzU6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmbXV4OiBBZGQgYW4gZXJyb3Igc3RhdGUgZnJvbSB3aGljaCB3ZSByZXR1cm4gaW1tZWRpYXRlbHkKCSAgQWxzbyBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDktMDMtMTkgMjA6NDE6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1bC5jOgoJICBteGY6IE9wdGltaXplIG14Zl91bF9pc19zdWJjbGFzcygpIGEgYml0CgoyMDA5LTAzLTE5IDE0OjMwOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkqIGdzdC9teGYvbXhmdWwuYzoKCSogZ3N0L214Zi9teGZ1bC5oOgoJICBteGY6IFN0YXJ0IGltcGxlbWVudGluZyBhIGNlbnRyYWwgVUwgZGF0YWJhc2UgYW5kIGFkZCBzb21lIGhlbHBlciBmdW5jdGlvbnMgYW5kIHVzZSB0aGVtCgoyMDA5LTAzLTE3IDE0OjI3OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZtdXg6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIGEgcGljdHVyZSBpbiB0aGUgZWRpdCB1bml0cyB3aGVuIG11eGluZyBNUEVHMi9NUEVHNAoKMjAwOS0wMy0xNyAxNDoyMzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmZGVtdXg6IFJlbW92ZSBhY2NpZGVudGlhbGx5IGNvbW1pdHRlZCBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpCgoyMDA5LTAzLTE2IDE3OjQ5OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmOiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nL2RlbXV4aW5nIHN1YnNhbXBsZWQgWVVWIGZvcm1hdHMKCjIwMDktMDMtMTYgMTc6MjI6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGZkZW11eDogVXNlIGNvcnJlY3Qgd2lkdGgvaGVpZ2h0IGZvciBzdHJpZGUgY29udmVyc2lvbnMKCjIwMDktMDMtMTYgMTc6MTg6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGY6IEltcGxlbWVudCBzdHJpZGUgdHJhbnNmb3JtYXRpb25zIGZvciByYXcgdmlkZW8gY29udGVudCBmb3IgbXV4aW5nIGFuZCBkZW11eGluZwoKMjAwOS0wMy0xNiAxNTozNzoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZmRlbXV4OiBTaW1wbGlmeSBjYXBzIHNlbGVjdGlvbiBieSB1c2luZyBhIGxvb2t1cCB0YWJsZQoKMjAwOS0wMy0xNiAxMjo0ODozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14Zm11eDogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgbXV4aW5nIHJhdyBwaWN0dXJlIGVzc2VuY2UKCjIwMDktMDMtMTYgMTI6MTU6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBPbmx5IGFkZCBhbiBlc3NlbmNlIGNvbnRhaW5lciBVTCBvbmNlIHRvIHRoZSBwYXJ0aXRpb24gYW5kIHByZWZhY2UKCjIwMDktMDMtMTYgMTI6MDc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGZkZW11eDogQWRkIHN1cHBvcnQgZm9yIEFZVVYgYW5kIHYzMDggWVVWIGNvbG9yc3BhY2VzCgoyMDA5LTAzLTE2IDExOjAwOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZtdXg6IFVzZSB0aGUgY29ycmVjdCBlZGl0IHJhdGUgaW5zdGVhZCBvZiBlc3RpbWF0aW5nIGl0IGZyb20gdGhlIGZpcnN0IGJ1ZmZlciBkdXJhdGlvbgoKMjAwOS0wMy0xNSAxNToyNzo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBFcnJvciBvdXQgZGlyZWN0bHkgaWYgcHVzaGluZyBhIHBhY2tldCBkb3duc3RyZWFtIGZhaWxlZAoKMjAwOS0wMy0xNSAxNToyNzoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJICBteGZtdXg6IEFkZCBzdXBwb3J0IGZvciBEVi9ESUYgbXV4aW5nIGFuZCBhZGQgZnJhbWVyYXRlLCBldGMgdG8gdGhlIGNhcHMgd2hlbiBkZW11eGluZyBEVi9ESUYgY29udGVudAoKMjAwOS0wMy0xNSAxNToyNzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEFkZCBzb21lIGRlYnVnZ2luZyBhbmQgZXJyb3Igb3V0IG9uIGludmFsaWQgaW5wdXQgZGF0YQoKMjAwOS0wMy0xNCAxOTo1OTozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDA5LTAzLTExIDE5OjM4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgTVBFRyBhdWRpbyBhbmQgdmlkZW8KCjIwMDktMDMtMTEgMTk6Mzg6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZmRlbXV4OiBVc2UgY29ycmVjdCBjYXBzIHR5cGUgZm9yIEFDMyBhdWRpbyAoYXVkaW8veC1hYzMgaW5zdGVhZCBvZiBhdWRpby9hYzMpCgoyMDA5LTAzLTExIDE5OjM0OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIEpQRUcyMDAwIGNvZGUgc3RyZWFtcwoKMjAwOS0wMy0xMSAxOTozMzo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGZtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgVkMtMyAoYWthIEROeEhEKSB2aWRlbwoKMjAwOS0wMy0xMSAxOTozMzozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIEEtTGF3IGF1ZGlvCgoyMDA5LTAzLTExIDE5OjMzOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICBteGZtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgcmF3IGF1ZGlvCgoyMDA5LTAzLTExIDE5OjMyOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkqIGdzdC9teGYvbXhmd3JpdGUuYzoKCSogZ3N0L214Zi9teGZ3cml0ZS5oOgoJICBteGY6IEFkZCBNWEYgbXV4ZXIKCSAgVGhpcyBtdXhlciBjdXJyZW50bHkgb25seSBzdXBwb3J0cyBPUDFhIGFuZCBpcwoJICBwcm9iYWJseSBub3QgeWV0IDEwMCUgY29tcGx5aW5nIHRvIHRoZSBzdGFuZGFyZHMuCgoyMDA5LTAzLTExIDE5OjMwOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrZW5jOiBBZGQgd2lkdGgvaGVpZ2h0L2ZvdXJjYyB0byB0aGUgcGFkIHRlbXBsYXRlIGNhcHMKCj09PSByZWxlYXNlIDAuMTAuMTEgPT09CgoyMDA5LTAzLTIxIDAxOjA5OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xMQoKMjAwOS0wMy0yMCAyMzozNzozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDMtMjAgMjM6MzE6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICBkc2hvd2RlYzogQWRkIHBhcl9uIGFuZCBwYXJfZCB0byB0aGUgb2JqZWN0IHN0cnVjdHVyZSB0byBmaXggY29tcGlsYXRpb24KCjIwMDktMDMtMTggMTI6MzI6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjYuNSBwcmUtcmVsZWFzZQoKMjAwOS0wMy0xOCAxMDozNTo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBGaXggYnVpbGQgb24gR0xpYiA8IDIuMTYgc29tZSBtb3JlCgoyMDA5LTAzLTE4IDAwOjAyOjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuMTAuNCBwcmUtcmVsZWFzZQoKMjAwOS0wMy0xNiAxNzoyOToxNiArMDAwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IFJlcGxhY2UgZ19oYXNoX3RhYmxlX2dldF92YWx1ZXMgd2l0aCBjb2RlIHdvcmtpbmcgd2l0aCBnbGliIDIuNi4KCSAgRml4ZXMgIzU3NTU2NQoKMjAwOS0wMy0xMyAxNjozMTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTAuMyBwcmUtcmVsZWFzZQoKMjAwOS0wMy0xMyAxNjoxNjoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vZmkucG86CgkqIHBvL2lkLnBvOgoJKiBwby9wdF9CUi5wbzoKCSAgcG86IFVwZGF0ZSBwbyBmaWxlcyBmcm9tIHVwc3RyZWFtCgoyMDA5LTAzLTEzIDE2OjA4OjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9MSU5HVUFTOgoJKiBwby90ci5wbzoKCSAgcG86IEFkZCBUdXJraXNoIHRyYW5zbGF0aW9uCgoyMDA5LTAzLTEyIDIzOjU0OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSAgeGRnbWltZTogbWFrZSB4ZGcgdHlwZWZpbmRlciBtb3JlIGNvbnNlcnZhdGl2ZQoJICBUaGUgd2hvbGUgcmFpc29uIGQnZXRyZSBvZiB0aGlzIHR5cGVmaW5kZXIgaXMgdG8gaGVscCBhdm9pZCBmYWxzZQoJICBwb3NpdGl2ZXMgd2hlbiB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggb3VyIG1haW4gdHlwZWZpbmRlciBpbgoJICAtYmFzZS4gSXRzIHRhc2sgaXMgbm90IHJlYWxseSB0byB0eXBlZmluZCBhdWRpby92aWRlbyBmaWxlcywgZXZlbgoJICBsZXNzIHNvIGdpdmVuIHRoYXQgaXQgZGV0ZWN0cyAqTUlNRSogdHlwZXMsIG5vdCBHU3RyZWFtZXIgbWVkaWEKCSAgdHlwZXMuIFRoZXJlZm9yZSwgaWYgdGhpcyB0eXBlZmluZGVyIGRldGVjdHMgYW4gYXVkaW8gb3IgdmlkZW8KCSAgdHlwZSwgZG9uJ3QgZXZlbiBzdWdnZXN0IGl0IC0gb3VyIG93biB0eXBlZmluZGVycyBhcmUgaG9wZWZ1bGx5CgkgIGJldHRlciBhdCB0aGlzIGFuZCBkZXRlY3QgdGhlIHJpZ2h0IHR5cGUgb2YgdHlwZSBvbiB0b3Agb2YgdGhhdCwKCSAgYW5kIGV2ZW4gaWYgdGhleSdyZSBub3Qgd2UgcmVhbGx5IHdhbnQgdG8ga25vdyBhYm91dCBpdCBhbmQgZml4CgkgIGl0LiBGaXhlcyAjNTc1MTU3LgoKMjAwOS0wMy0xMyAxNTo1OTozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBkb24ndCByZXR1cm4gRkFMU0Ugb24gc2VlayBldmVudHMKCSAgU2lsZW50bHkgaWdub3JlIHRoZSBzZWVrIGV2ZW50IGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFLgoKMjAwOS0wMy0xMyAxMDowNzoxOCArMDAwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IHdvcmthcm91bmQgdG8gZml4IHBsYXliYWNrIG9mIGNlcnRhaW4gbWFsZm9ybWVkIGNsaXBzCgkgIEFkZGVkIGEgd29ya2Fycm91bmQgdG8gcGVybWl0IHBsYXkgY2VydGFpbiBtYWxmb3JtZWQgY2xpcHMgd2hlcmUgZmlyc3QKCSAgU0NSIGlzIGdyZWF0ZXIgdGhhbiBsYXN0IFNDUi4gRml4ZXMgYnVnICM0NTQyMjgKCjIwMDktMDMtMTIgMjA6MTM6MTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IERpc2FibGluZyBtZXRhZGF0YSB1bml0IHRlc3QgdW50aWwgIzU3NDQwMSBpcyBmaXhlZC4KCjIwMDktMDMtMTIgMTc6NTM6MzcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgc29tZSBtb3JlIHBsdWdpbnMgdGhlIHNwZWMgZmlsZQoKMjAwOS0wMy0xMSAxMzowNDozNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBuZXcgcGx1Z2lucwoKMjAwOS0wMy0xMCAxNToxMjoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogaW5jbHVkZSBzdGRsaWIuaCBmb3IgYWJzKCkKCjIwMDktMDMtMTAgMjE6MTg6MjAgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4ZWQgYSBidWcgaW4gdGhlIFRTIHNjYW5uZXIuIEZpeGVzICM1NzQwMDkKCjIwMDktMDMtMTAgMDA6MjI6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMC4yIHByZS1yZWxlYXNlCgoyMDA5LTAzLTEwIDAwOjEwOjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmM6CgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuaDoKCSogcG8vUE9URklMRVMuaW46CgkgIE1vdmVkIHR3b2xhbWUgZnJvbSBCYWQgdG8gVWdseQoKMjAwOS0wMy0wOSAyMzoxMzowMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3MDMyMTYzIHRvIGY4YjNkOTEKCjIwMDktMDMtMDggMTI6MDU6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZmE3MzhkIHRvIDcwMzIxNjMKCjIwMDktMDMtMDggMTE6MjE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzZjEzZTRlIHRvIGZmYTczOGQKCjIwMDktMDMtMDcgMTE6NDY6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzYzc0NTZiIHRvIDNmMTNlNGUKCjIwMDktMDMtMDcgMTA6NDY6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1N2M4M2YyIHRvIDNjNzQ1NmIKCjIwMDktMDMtMDYgMjI6MzY6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IE1ha2UgdGhlIHRlc3RzIHBhc3Mgd2hlbiB0aGUgY2FtZXJhYmluIGNhbid0IGluaXRpYWxpc2UuCgkgIFRoZSBjYW1lcmFiaW4gdGVzdHMgd2VyZSB0aHJvd2luZyBnbGliIGVycm9ycyBhbmQgaGFuZ2luZyB3aGVuCgkgIGdzdC1wbHVnaW5zLWdvb2QgZWxlbWVudHMgKGpwZWdlbmMsIHZpZGVvY3JvcCkgY2FuJ3QgZm91bmQuCgoyMDA5LTAzLTA2IDIxOjE0OjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBtaXNjOiBJZ25vcmUgdGhlIGNhbWVyYWJpbiBiaW5hcnkgaW4gdGhlIGNoZWNrL2VsZW1lbnRzIHN1YmRpcgoKMjAwOS0wMy0wNiAxOToyMjo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBQYXJ0bHkgZml4IGRpc3RjaGVjawoJICBEb24ndCBkaXN0IHRoZSBnZW5lcmF0ZWQgbWFyc2hhbC5oIGhlYWRlciBieSBwdXR0aW5nIGl0IGluIHRoZSBoZWFkZXJzCgkgIGxpc3QuCgoyMDA5LTAzLTA3IDAwOjIwOjI4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgbWV0YWRhdGE6IGNoYW5nZSAncScgYmFjayB0byAnanBlZ2VuYycgKG15IGtleWJvYXJkIGhhdGVzIG1lKQoKMjAwOS0wMy0wNiAyMzozNDo1NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIG1ldGFkYXRhOiBjbGVhbnVwLCBmaXggdGhlIHRlc3QsIGFkZCBjb21tZW50cwoJICBGaXJzdCBkbyBub3QgYnVpbGQgdGhlIHBsdWdpbiwgaWYgd2UgaGF2ZSBub25lIG9mIHRoZSBiYWNrZW5kLCBhcyBpdCB3b24ndCB3b3JrCgkgIHRoZW4uIEZpeCB0aGUgbWluaW9iamVjdF91bnJlZiBlcnJvciBpbiB0aGUgdGVzdC4gU3ByaW5rbGUgYSBmaXJzdCBoYW5kZnVsIG9mCgkgIGRlYnVnIGxvZ3MgaW50byB0aGUgZWxlbWVudCBjb2RlLgoKMjAwOS0wMy0wNiAyMDowMjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZWdhY3lyZXNhbXBsZS5jOgoJICBsZWdhY3lyZXNhbXBsZTogRml4IG1lbW9yeSBsZWFrIGluIHRoZSB1bml0IHRlc3QgYnkgdW5yZWZmaW5nIHRoZSBjYXBzCgoyMDA5LTAzLTA2IDE3OjQ2OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogU3RvcmUgYW5kIHVzZSB0aGUgc2VxbnVtIG9mIHRoZSBjdXJyZW50bHkgcnVubmluZyBzZWdtZW50IGV2ZXJ5d2hlcmUKCjIwMDktMDMtMDYgMTc6MjQ6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IERvbid0IGV2ZW4gdHJ5IHRvIHNlcmlhbGl6ZSBETSBmcmFtZXdvcmtzIGFzIGl0IHdpbGwgY2F1c2UgYW4gYXNzZXJ0aW9uIHVudGlsIHRoaXMgaXMgZmluaXNoZWQKCjIwMDktMDMtMDYgMTI6NDI6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IFVzZSB0aGUgcHVibGljIGhlYWRlcnMgaWYgZmFhZDIgPj0gMi43LiBGaXhlcyAjNTczMzY5CgkgIFNpbmNlIGZhYWQyLTIuNywgdGhlIHB1YmxpYyBmdW5jdGlvbiBwcm90b3R5cGVzIGFyZSBpbiBzeW5jIHdpdGggdGhlCgkgIGFjdHVhbCBmdW5jdGlvbiBwcm90b3R5cGVzIHVzZWQgaW50ZXJuYWxseSBpbiBsaWJmYWFkLgoKMjAwOS0wMy0wNiAxMTowODoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogZml4IGNvbXBpbGF0aW9uIHdoZW4gTFJERiBpcyBtaXNzaW5nCgkgIC0tCgoyMDA5LTAzLTA1IDIyOjU1OjE3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgIGxhZHNwYTogcmVtb3ZlIC1sZGwgYXMgd2Ugbm93IHVzZSBnbGlicyBnbW9kdWxlLgoKMjAwOS0wMy0wNSAyMjozNzo1MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGFkZCBpbml0aWFsIGxpYmxyZGYgc3VwcG9ydC4KCSAgR2V0IGNsYXNzaWZpY2F0aW9uIGZyb20gcmRmIG1ldGFkYXRhLgoKMjAwOS0wMy0wNSAyMjowNDo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBtcGxleDogZml4IHJlcXVpcmVkIHZlcnNpb24KCSAgV2l0aCB0aGlzIHZlcnNpb24gaXQgYnVpbGRzIG9uIG9wZW5zdXNlIDExLjEuCgoyMDA5LTAzLTA1IDE0OjQwOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBEb24ndCB1c2UgTlVMTCBHc3RTdHJ1Y3R1cmVzIHRvIHByZXZlbnQgd2FybmluZ3MKCSAgQ3VycmVudGx5IHNlcmlhbGl6aW5nIG9mIERNIEZyYW1ld29ya3MgaXMgbm90IHN1cHBvcnRlZAoJICB5ZXQgYnkgRE1TMSBhbmQgd2lsbCBnaXZlIHVzIE5VTEwuCgoyMDA5LTAzLTA0IDIxOjMwOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBwaG90b2dyYXBoeTogZGVjbGFyZSBpbnRlcmZhY2UgYXMgdW5zdGFibGUgQVBJIGJ5IG1lYW5zIG9mIGEgd2FybmluZwoJICBBcHBsaWNhdGlvbiBkZXZlbG9wZXJzIHdvbid0IGtub3cgcmlnaHQgYXdheSB3aGljaCBtb2R1bGUgYW4gaW50ZXJmYWNlIGNvbWVzIGZyb20sCgkgIGFuZCBtYXkgYXNzdW1lIHRoYXQgaXQgaXMgY292ZXJlZCBieSB0aGUgdXN1YWwgR1N0cmVhbWVyIEFQSSBndWFyYW50ZWVzLCBzbyBtYWtlCgkgIGl0IGFzIGNsZWFyIGFzIHBvc3NpYmxlIHRoYXQgdGhpcyBwYXJ0aWN1bGFyIEFQSSBpcyBzdGlsbCBzdWJqZWN0IHRvIGNoYW5nZQoJICAoc2hvdWxkIGhhdmUgZG9uZSB0aGF0IHdpdGggb3RoZXIgbGlicmFyaWVzIGluIC1iYWQgYmVmb3JlIHRvbyByZWFsbHkpLgoKMjAwOS0wMy0wNCAyMDozNzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZGV0ZWN0IGZhYWQncyBtaW5vciB2ZXJzaW9uIGFuZCBkZWZpbmUgRkFBRDJfTUlOT1JfVkVSU0lPTiBpbiBjb25maWcuaAoKMjAwOS0wMy0wNCAxNjo0NjowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3ZhbHZlL01ha2VmaWxlLmFtOgoJICB2YWx2ZTogcmVuYW1lIHBsdWdpbiBmaWxlIGZyb20gbGliZnN2YWx2ZS4qIHRvIGxpYmdzdHZhbHZlLioKCSAgSWYgeW91J3JlIHJ1bm5pbmcgdGhpbmdzIHVuaW5zdGFsbGVkLCB5b3UgbWlnaHQgbmVlZCB0byBtYW51YWxseQoJICByZW1vdmUgdGhlIHJlZ2lzdHJ5IHRvIGdldCB0aGUgcGx1Z2luJ3MgZmVhdHVyZXMgdG8gc2hvdyB1cAoJICBjb3JyZWN0bHkuIEFsc28sIHlvdSBwcm9iYWJseSB3YW50IHRvIGRvIGEgbWFrZSBjbGVhbiB0byBnZXQgcmlkCgkgIG9mIHRoZSBvbGQgcGx1Z2luIGZpbGUuCgoyMDA5LTAzLTA0IDE5OjUwOjEwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3JlYWwvZ3N0cmVhbC5jOgoJICBnc3JlYWw6IGJyaW5nIGRvd24gdGhlIHJhbmsgb2YgdGhlIHJlYWwgZGVjb2RlcnMgdG8gTUFSR0lOQUwuCgkgIEJhc2ljYWxseSwgYXQgdGhpcyBwb2ludCwgdGhlIGZmbXBlZyBlcXVpdmFsZW50IGRlY29kZXJzIHBlcmZvcm0gd2F5CgkgIGJldHRlciwgc28gd2UnbGwgbWFrZSB0aGUgZmZtcGVnIGVxdWl2YWxlbnRzIFBSSU1BUlkgYW5kIHRoZXNlCgkgIE1BUkdJTkFMLgoKMjAwOS0wMy0wNCAxODo0MjoxNSArMDAwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogbWFrZSBzb21lIGRvY3MgdXAgdG8gZGF0ZQoKMjAwOS0wMy0wNCAxODoxNjozMSArMDAwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogcmVzZXQgc3luY19sdXRfbGVuIHRvIDAgb24gUkVBRFkgdG8gTlVMTAoKMjAwOS0wMy0wNCAxNTozMDowNCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjc2NoYWxsZUBjcmF6eWhvcnNlLmxvY2FsZG9tYWluPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL3VyYWV1c0BnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTAzLTA0IDE1OjI4OjQ2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNzY2hhbGxlQGNyYXp5aG9yc2UubG9jYWxkb21haW4+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBhZGQgZmlndXJlcyBzdWJkaXJlY3RvcnkgdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06IGFkZCBteGYgc3ViZGlyZWN0b3J5IGdzdC1wbHVnaW5zLnNwZWMuaW46IGFkZCBuZXcgcGx1Z2lucwoKMjAwOS0wMy0wNCAxNjoxNTo1NyArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IGdzdC1wbHVnaW5zLWJhZC5zdXBwIG5lZWRzIHRvIGJlIGRpc3RyaWJ1dGVkLgoKMjAwOS0wMy0wNCAxNTowNTo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGFkZCBMSUJESVIvbGFkc3BhIHRvIHNlYXJjaCBwYXRoIGFuZCBtYWtlIHBhdGggbW9yZSBwb3J0YWJsZQoJICBVc2UgZ2xpYiBkZWZpbmVzIGZvciBzZWFyY2hwYXRoIHNlcGFyYXRvcnMuIEZpbHRlciBzZWFyY2hwYXRoIHRvIGF2b2lkIHNjYW5uaW5nCgkgIHBhdGggZW50cmllcyB0d2ljZS4gRml4IHRoZSByZXR1cm4gaW4gbGFkc3BhX3BsdWdpbl9kaXJlY3Rvcnlfc2VhcmNoIHRvIHJldHVybgoJICB3aGV0ZXIgd2UgZm91bmQgYSBwbHVnaW4uCgoyMDA5LTAzLTA0IDE0OjM0OjEyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2xvYWQuYzoKCSogZXh0L2xhZHNwYS9zZWFyY2guYzoKCSogZXh0L2xhZHNwYS91dGlscy5oOgoJICBsYWRzcGE6IHJld3JpdGUgdGhlIGRpcmVjdG9yeSBzY2FubmluZywgZml4ZXMgZmlyc3QgcGFydCBvZiAjNTczMzcwCgkgIE1vdmUgdGhlIHR3byBmdW5jdGlvbiBmcm9tIHNlYXJjaC5jIGludG8gZ3N0bGFkc3BhLmMgYW5kIG1ha2UgdGhlbSBzdGF0aWMuCgkgIFJlbW92ZSBub24gbmVlZGVkIGFyZ3VtZW50cyBmcm9tIGZ1bmN0aW9uIHByb3RvdHlwZXMuIFVzZSBnbGliIGFwaSBmb3IKCSAgc2ltcGxpY2l0eSBhbmQgcG9ydGFiaWxpdHkuCgoyMDA5LTAzLTA0IDExOjE0OjE4ICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiB1c2UgZ2ludDggaW5zdGVhZCBvZiBpbnQ4X3QKCSAgVXNlIGdpbnQ4IGluc3RlYWQgb2YgaW50OF90IHRvIGZpeCBjb21waWxhdGlvbi4KCSAgRml4ZXMgIzU3Mzg1MS4KCjIwMDktMDMtMDQgMTE6MDc6NTIgKzAxMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICBnc21kZWM6IFVzZSBHX0JZVEVfT1JERVIgdG8gZml4IFdpbmRvd3MgY29tcGlsZQoJICBnc3Rnc21kZWMgcmVsaWVzIG9uIEJZVEVfT1JERVIsIHdoaWNoIGlzIG5vdCBhdmFpbGFibGUgb24gV2luZG93cy4gVXNlCgkgIEdfQllURV9PUkRFUiBpbnN0ZWFkLgoJICBGaXhlcyAjNTczODUwLgoKMjAwOS0wMy0wMyAxNDozMDo1MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgQWRkIERvYyBmb3IgbWltaWMgcGx1Z2luCgoyMDA5LTAzLTAzIDE0OjAzOjM0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkgIE1vdmUgbWltaWMgdG8gLWJhZAoKMjAwOS0wMy0wMyAxNDoyMDozNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSAgUmUtaW5kZW50IHRvIEdTVCBzdHlsZQoKMjAwOC0wNy0yNSAyMjo0NzoyNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9ubHkgb3V0cHV0IGEgbmV3c2VnbWVudCBpZiB0aGUgaW5jb21pbmcgbmV3c2VnbWVudCBpc250IGEgdGltZSBzZWdtZW50CgkgIDIwMDgwNzI1MjI0NzI2LTNlMmRjLWY4MmI5OTNjMGZiZmU4YmQ0ODdkMmYxOTYyZmVjMWQwYjY1NjRlYmMuZ3oKCjIwMDgtMDctMjUgMjI6MjY6NDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdW51c2VkIG1lbWJlciB2YXJpYWJsZXMKCSAgMjAwODA3MjUyMjI2NDgtM2UyZGMtMjQ2NDk3ODJhMzk0NjJjN2MzZmVmOWQ2MjcwYjNkYjRjNGFjZTFiYi5negoKMjAwOC0wNy0yNSAyMjoyNDo0OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZW5kIG91dCB0aGUgcmlnaHQgc2VnbWVudCBhbmQgdXNlIHN0b3JlZCB0aW1lc3RhbXBzIGRpcmVjdGx5CgkgIDIwMDgwNzI1MjIyNDQ4LTNlMmRjLWUxMTliZjA5ZWRlMWNmMTg3NTgxZDU5MTc2YzhiMzViYWZiNzMxYWUuZ3oKCjIwMDgtMDctMjUgMTk6NDg6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2tpcCBub24ta2V5ZnJhbWVzIGJlZm9yZSB3ZSBnZXQgYSBrZXlmcmFtZQoJICAyMDA4MDcyNTE5NDgzMy0zZTJkYy01ODNkZjU3YzhlYmNlNGIxNDlhMDE3NjhlZDdkMzczNzEzNmEyMDhmLmd6CgoyMDA4LTA3LTI1IDE5OjMzOjU4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIElnbm9yZSB1cHN0cmVhbSBuZXdzZWdtZW50IGV2ZW50cyBpbiBtaW1kZWMKCSAgMjAwODA3MjUxOTMzNTgtM2UyZGMtN2MwZjIyMzg2ZTAyMDhhNDVlYWU5YzFkN2ViNjJlODZmNjFkMTRiYS5negoKMjAwOC0wNy0yNSAxOToyNTozMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBlbWl0IHRoZSByaWdodCB0aW1lc3RhbXAgaW4gdGhlIG5ld3NlZ21lbnQgZXZlbnQKCSAgMjAwODA3MjUxOTI1MzAtM2UyZGMtYTNjYzBjZTczZmNhMTgxY2FlZTMyM2Q2OTlkODU3NmRmOTE2ZThkMy5negoKMjAwOC0wNy0yNSAxOTowODo0OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSB2aWRlby94LW1pbWljIGFzIHRoZSBjYXBzIHR5cGUKCSAgMjAwODA3MjUxOTA4NDktM2UyZGMtMzhlNGFjYzlkNGFkODIzMWVkMjJmNmNjNGQ3ZDhjMmE4YjU2NjhlOS5negoKMjAwOC0wNy0wNCAyMjowNzoxMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBwcm9wZXIgbG9ja2luZyB0byBtaW1lbmMKCSAgMjAwODA3MDQyMjA3MTMtM2UyZGMtNmEyMmQxYTQyMzcxNmU4Yjg0YmMzYmRhOTk4NmExYjRmZjBjMGQzNy5negoKMjAwOC0wNy0wNCAyMjowMzoxOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdXNlbGVzcyBpbXBsZW1lbnRhdGlvbiBvZiBnZXRjYXBzIGZyb20gbWltZGVjCgkgIDIwMDgwNzA0MjIwMzE4LTNlMmRjLWQ4MWJjNTliMjMwOGM1YWQwZDMxNDQwMzBjNTY1MDI5NWU5OWYzYzYuZ3oKCjIwMDgtMDctMDQgMjI6MDI6NDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgcHJvcGVyIGxvY2tpbmcgdG8gbWltZGVjCgkgIDIwMDgwNzA0MjIwMjQzLTNlMmRjLTcxYzE1N2Q4Mjk5OWRmYjQxYmQ2MmI0MDY0YjE4ODdhYjIyZTg0YzEuZ3oKCjIwMDgtMDctMDQgMjE6NTk6MzYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIGxlYWsKCSAgMjAwODA3MDQyMTU5MzYtM2UyZGMtMjJkOTkyZjk4Yzk5MzFmMDYyNjYyZmMwNWYxY2U2NWJjOTdmNjE5YS5negoKMjAwOC0wNy0wNCAyMTo1NTo1MCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXNldCB0aGUgZ3N0IHRpbWVzdGFtcCBpZiB0aGUgdGltZSBkaWZmZXJlbnQgaXMgdG9vIGxhcmdlCgkgIDIwMDgwNzA0MjE1NTUwLTNlMmRjLTc2ZWIzZjYwMGYyYjk3N2U5MTZmN2UxZjY1NDUyOWRkYWZmMDZhYzkuZ3oKCjIwMDgtMDctMDQgMjE6NTI6MDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIHRoZSB0aW1lc3RhbXAgZnJvbSB0aGUgZmlyc3QgYnVmZmVyIGFzIHRoZSBiYXNlCgkgIDIwMDgwNzA0MjE1MjA4LTNlMmRjLTU4MjI3NzFmMjY5NGRlZGE0YTdjZDVjZGQzYzM4YWI5ZWZmN2ZhMmQuZ3oKCjIwMDgtMDctMDQgMjE6NDk6MzUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU3RvcmUgdGhlIHRpbWVzdGFtcCBpbiB0aGUgaGVhZGVyCgkgIDIwMDgwNzA0MjE0OTM1LTNlMmRjLTkwZWM3M2RmMzIyNWI0MWJhYTY4MWFiNjkxZmI4YmQ0N2UxN2M3ODAuZ3oKCjIwMDgtMDctMDQgMjE6MTk6NDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmUtaW5kZW50IG1pbWRlYwoJICAyMDA4MDcwNDIxMTk0My0zZTJkYy1kZWYxZTBkYWNjNGE0NWZlMmI0YWZkY2I5MDNhMTMyOGM5NTExN2FjLmd6CgoyMDA4LTA3LTA0IDIxOjE1OjExICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNpbXBsaWZ5IG5ld3NlZ21lbnQgY29kZQoJICAyMDA4MDcwNDIxMTUxMS0zZTJkYy1iOThkMWU1YjMxYzIzZWI3OTEyMTk3ZjkzNjRhMzE1NjBkMDkyYzYzLmd6CgoyMDA4LTA3LTA0IDIwOjUwOjEwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBvcnQgbWltaWMgcGx1Z2lucyB0byBHU1RfQk9JTEVSUExBVEUKCSAgMjAwODA3MDQyMDUwMTAtM2UyZGMtZGE0MWU1Njg1YWI5Y2ViNjc1NTVkNDk5MTI1NDMyY2QxMmQ1NTA1ZC5negoKMjAwOC0wNy0wNCAyMDo0MToxMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UgaW4gbWltaWMgcGx1Z2luCgkgIDIwMDgwNzA0MjA0MTEyLTNlMmRjLTFhYjRiOTEzZDU4ZmFhMDU4NzQyYjAxZTA4M2Y3ZGViZDY4NzdiYjMuZ3oKCjIwMDgtMDctMDQgMjA6Mjk6NDEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggY29uZmxpY3RzCgkgIDIwMDgwNzA0MjAyOTQxLTNlMmRjLTdmNWEzODg0NWI3OTdlMTJkNjcyNTUxNDY2ZTYzNWQ0ODRjYjY3NjMuZ3oKCjIwMDctMTEtMTAgMDU6MTc6MTcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IG1pbWljIGVuYyBjaGFpbiBmdW5jdGlvbiwgcmV0dXJuIHJlcyBmb3IgY2hhaW4oKSwgZ2V0IHRoZSBwYXJlbnQgZWxlbWVudCB3aXRoIHRoZSBwcm9wZXIgYWNjZXNzb3IgZnVuY3Rpb24sIHVzZSB0aGUgX09CSkVDVCBkZWJ1Z2dpbmcgbWFjcm9zCgkgIDIwMDcxMTEwMDUxNzE3LTNlMmRjLTQ3MjZmY2QxOWNjM2QxMTIxYTRlMTMyNzZhNDFmNWY4NmRjMWM5YjEuZ3oKCjIwMDctMTEtMTAgMDU6MTQ6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSB0aGUgX3NldF9jYXBzIGZ1bmN0aW9uIG9mIG1pbWljIGVuYyBtb3JlIHJvYnVzdAoJICAyMDA3MTExMDA1MTQyNy0zZTJkYy0zODFhNzFmMmNiZmRiZjUwOGU5NDFiNjcyZTkwNThjODJmYWJjZTI0Lmd6CgoyMDA3LTExLTEwIDA1OjE0OjAxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB0aGUgZ3N0IDAuOS4xIGlmZGVmCgkgIDIwMDcxMTEwMDUxNDAxLTNlMmRjLTFmMDcxZDczMmQ2NDU3Mzg4OTk3NzQwNTk5NTY5MmQ5NGIxMGEwZDYuZ3oKCjIwMDctMTEtMTAgMDU6MTA6MzUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBjYXBzIGdzdCAwLjEwIGNvbXBsaWFudAoJICAyMDA3MTExMDA1MTAzNS0zZTJkYy1mNzAyNGJkM2VjZmI2Nzk0ZmU4ZDA5ZGNiMTAwYmEwYjQ3ODNkZjVkLmd6CgoyMDA3LTExLTEwIDA1OjA5OjUwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCBpbnN0ZWFkIG9mIHJlZmZpbmcgdGhlIHBhcmVudCBjbGFzcyBkaXJlY3RseQoJICAyMDA3MTExMDA1MDk1MC0zZTJkYy02ZDE0ZGRkNmFlM2NlZWVhYTRlNjQxYjdiMDk2MTNlNDQyOTI3ZjkyLmd6CgoyMDA3LTExLTEwIDA1OjA4OjUyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBmcmFtZXNpemUgcHJvcGVydGllcyBvbiB0aGUgbWltaWMgZW5jb2RlcgoJICAyMDA3MTExMDA1MDg1Mi0zZTJkYy1jYjgxNjVjMDczYmZhOTgxNzkwZGM5MTY5M2ZkMWM0ODNlYTdiNmVhLmd6CgoyMDA3LTExLTEwIDA1OjA3OjUzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSB0aGUgX09CSkVDVCBkZWJ1ZyBtYWNyb3MKCSAgMjAwNzExMTAwNTA3NTMtM2UyZGMtNTYwZDIyYTg2ZWVhMTEwOGYxNzQ2ZDAxMjM3NDRkMzM4MTJlOTRjOS5negoKMjAwNy0xMS0xMCAwNTowMzo1MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgZ3N0X3BhZF9nZXRfcGFyZW50IGluc3RlYWQgb2YgbG9va2luZyBpbnRvIHRoZSBHc3RPYmplY3QgZGlyZWN0bHkKCSAgMjAwNzExMTAwNTAzNTEtM2UyZGMtNjM2ZjdkNzczNzQ5NGY4MTAwNDdhOGVlNjkyN2NkZTA2MGJiNGI0Yi5negoKMjAwNy0xMS0xMCAwNTowMjozMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXR1cm4gYmFjayByZXN1bHQgb2YgcGFkIHB1c2gKCSAgMjAwNzExMTAwNTAyMzItM2UyZGMtNGEwODBkOTc5NjNjZDhhYjZkNTI4YzQwMTJkMTQzNTNjMWNmZTk3Yi5negoKMjAwNy0xMS0xMCAwNDoxMToyNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9sZSdzIHBvcnQgdG8gZ3N0IDAuMTAKCSAgMjAwNzExMTAwNDExMjUtM2UyZGMtZTI5OTRjM2JiZTE1NzhkOThlNGY3MDdiZDEwZjI0ZmFiZjk0MmMyYi5negoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTAyLTExIDIyOjI0OjMxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTGltaXQgdGltZXN0YW1wIGRpZmYgaW4gY2FzZSBvZiBhIGp1bXAgaW4gdGhlIHRpbWVzdGFtcHMKCSAgMjAwODAyMTEyMjI0MzEtNGYwZjYtNzI2ZmM2NjQwMzA4MTUzMzM3MWY3NzU5NTRhYWI0YzdiOGZkYzY0My5negoKMjAwOC0wMi0wNiAwMzoxNjo1NCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaXQgYmFjayB0byAzMCBmcHMgaW4gY2FwcwoJICAyMDA4MDIwNjAzMTY1NC00ZjBmNi1kODE5N2U1Mzg4ODkwNjgwNTA0MWU2NTUyYzBkZDc3NGM1NWU5ZTg5Lmd6CgoyMDA4LTAyLTA2IDAzOjA5OjQ3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCB0aW1lc3RhbXBzIGluIGdzdCBidWZmZXJzIHNlbnQgYnkgZ3N0bWltaWMKCSAgMjAwODAyMDYwMzA5NDctNGYwZjYtOWRjN2Q5YjFhOTJhNzE3YzcxYjFlNDkwYTU1OTFmMGUyZmZlMGRhZC5negoKMjAwOC0wMi0wNiAwMjowMzozNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBmcmFtZXJhdGUgdHlwZSBpbiBjYXBzIGZvciBnc3RtaW1pYyBlbGVtZW50CgkgIDIwMDgwMjA2MDIwMzM1LTRmMGY2LTBkOWUxMzYwMzlhZDZiN2I4NDk4MmJkYWMyNDJhMDU5ZDUwZmJiNjYuZ3oKCjIwMDYtMDMtMjQgMjA6MTY6MTkgKzAwMDAgIHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51ayA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4ZWQgY291cGxlIG9mIGNvbXBpbGF0aW9uIGlzc3VlcwoJICAyMDA2MDMyNDIwMTYxOS0yNDI1Yi1iZjMzOTkyNmY1MzNhYTRlZmVjZTg1NWZiYmU5NGU1OWM3YmI5NTVmLmd6CgoyMDA2LTAzLTI0IDE5OjU3OjIwICswMDAwICBwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWsgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENhbGxzIHRvIGdzdF9wYWRfZ2V0X3BhcmVudCByZWYgdGhlIG9iamVjdCBzbyBpdCBuZWVkcyB0byBiZSB1bnJlZmZlZCA8IGhleGEwMEBnbWFpbC5jb20KCSAgMjAwNjAzMjQxOTU3MjAtMjQyNWItMTc5MjhiZTM0ZWU2N2Y3MWVmYmFmNjJkZTc2ZGViYTlhZDEzZjBmMi5negoKMjAwNi0wMi0xNCAyMTowMDoyNyArMDAwMCAgcGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXBhcmF0ZWQgRVJST1JfQ0ZMQUdTIGZyb20gR1NUX0NGTEFHUwoJICAyMDA2MDIxNDIxMDAyNy0yNDI1Yi0xZjllNmVkNTkxYzA4ZTU5MDdkMDJlZjdlYTlhOGNmNjJiZjI5ODQwLmd6CgoyMDA1LTEwLTI0IDE1OjM3OjQ4ICswMDAwICBQaGlsaXBwZSBLaGFsYWYgPGJ1cmdlciBhdCBzcGVlZHkgZG90IG9yZz4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNob3VsZCBub3QgYmUgZG9uZSBpbiBkaXNwb3NlLCBtb3ZpbmcgdG8gZmluYWxpemUKCSAgMjAwNTEwMjQxNTM3NDgtMDU0NTktOTYyNWZlYzA1NTQ3YzUzNWJmNWYzYzY2YWViYmE4NDg2MWI1NDlhYS5negoKMjAwNS0wNy0xNiAxOTo1MDoyMSArMDAwMCAgUGhpbGlwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljLy5naXQtZGFyY3MtZGlyOgoJKiBleHQvbWltaWMvTWFrZWZpbGUuYW06CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBvcnQgZnJvbSBDVlMgdG8gZGFyY3MKCjIwMDktMDMtMDMgMTQ6MzI6MzggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIHJ0cG11eDogSWdub3JlIHJ0cG11eCBnZXRfdHlwZSBmdW5jdGlvbiBmb3IgZG9jcwoKMjAwOS0wMy0wMyAxOTowODoyOCArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZml4IG1lbWxlYWsKCSAgRml4IG1lbWxlYWsgaW4gbXBlZ3RzX3BhY2tldGl6ZXJfY2xlYXIgd2hlcmUgTXBlZ1RTUGFja2V0aXplclN0cmVhbSBpcwoJICBub3QgZnJlZWQgcHJvcGVybHkgd2hlbiB1c2luZyBmb3JlYWNoX3N0cmVhbV9jbGVhciBmdW5jdGlvbi4KCjIwMDktMDMtMDMgMTg6Mjg6MTAgKzAwMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogZHluYW1pY2FsbHkgYWRqdXN0IHRoZSBzeW5jIExVVCB0YWJsZQoJICBNYWtlIHRoZSBzeW5jIExVVCB0YWJsZSBhZGp1c3RlZCBkeW5hbWljYWxseSBhY2NvcmRpbmcgdG8gdGhlIHNpemUKCSAgb2Ygc2Nhbm5lZCBkYXRhLiBGaXhlcyBkZW11eGluZyBidWZmZXJzIG9mIGFueSBzaXplLgoKMjAwOS0wMi0yNSAyMTowNTo0MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogSW1wb3J0IGZzc2VsZWN0b3IgZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodCBhcyBhdXRvY29udmVydAoJICBmc3NlbGVjdG9yIGlzIHRvbyBjbG9zZSB0byBzZWxlY3Rvciwgc28gaW1wb3J0IGlzIGFzIGF1dG9jb252ZXJ0LiBOb3QgaW1wb3J0aW5nCgkgIHRoZSBoaXN0b3J5IGJlY2F1c2UgdGhlIGRpcmVjdG9yeSBpcyBhbHNvIGNhbGxlZCBnc3Qvc2VsZWN0b3IgYW5kIGl0IGZhaWxzLgoKMjAwOS0wMy0wMiAxMDo1NzozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQmUgYSBiaXQgbW9yZSB2ZXJib3NlIGluIG91ciBkZWJ1ZyBtZXNzYWdlIHdoZW4gZmFpbGluZyB0byByZW5lZ290aWF0ZQoKMjAwOS0wMy0wMiAxNzowMDo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgIG14ZmRlbXV4OiBVc2UgYXJyYXlzIGluc3RlYWQgb2YgbGlzdHMgZm9yIHRoZSBtZXRhZGF0YSByZWdpc3RyaWVzCgoyMDA5LTAzLTAyIDE2OjI5OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSAgeGRnbWltZTogUmVkdWNlIHByb2JhYmlsaXR5IHRvIFBPU1NJQkxFCgoyMDA5LTAzLTAyIDE2OjI3OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSAgeGRnbWltZTogQWRkIGxvY2tpbmcgdG8gdGhlIHhkZ19taW1lXyogY2FsbHMgYXMgaXQncyBub3QgdGhyZWFkLXNhZmUKCjIwMDktMDMtMDEgMjA6MTg6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lYWxpYXMuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lZ2xvYi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpY29uLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZXBhcmVudC5jOgoJICB4ZGdtaW1lOiBVc2UgZ19wYXR0ZXJuX21hdGNoX3NpbXBsZSgpIGluc3RlYWQgb2YgZm5tYXRjaCgpIGZvciBXaW4zMiBjb21wYXRpYmlsaXR5CgoyMDA5LTAzLTAxIDIwOjEzOjMxICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lbWFnaWMuYzoKCSAgeGRnbWltZTogRml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDA5LTAzLTAxIDIwOjEyOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmM6CgkgIHhkZ21pbWU6IERvbid0IHdhcm4gaWYgd2UgaGF2ZSBubyBNTUFQIHN1cHBvcnQKCjIwMDktMDMtMDEgMjA6MTE6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuYzoKCSAgeGRnbWltZTogVXNlIGdfbnRvaFtsc10gaW5zdGVhZCBvZiB0aGUgbm9uLUdMaWIgZnVuY3Rpb25zIGZvciBXaW4zMiBjb21wYXRpYmlsaXR5CgoyMDA5LTAzLTAxIDIwOjA5OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmM6CgkgIHhkZ21pbWU6IFVzZSBHX0JZVEVfT1JERVIgaW5zdGVhZCBvZiByZWx5aW5nIG9uIExJVFRMRV9FTkRJQU4gdG8gYmUgZGVmaW5lZAoKMjAwOS0wMy0wMSAyMDowMjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICBsYWRzcGE6IERvbid0IGNvbXBpbGUgdW51c2VkIGNvZGUgZnJvbSBsb2FkLmMKCjIwMDktMDItMjggMjM6NDc6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlYWwvZ3N0cmVhbC5jOgoJICByZWFsZGVjOiB1c2UgZ3N0X3BsdWdpbl9hZGRfZGVwZW5kZW5jeSgpCgoyMDA5LTAyLTI4IDE1OjIzOjA3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc3luY3dvcmQuKG5vbmUpPgoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSAgYWNtZW5jOiBmaXggd2hpdGVzcGFjZQoJICBDb252ZXJ0IHRvIHVuaXggbmV3bGluZXMsIGFuZCByZWluZGVudCBpbiBzb21lIGJyb2tlbiBwbGFjZXMuCgoyMDA5LTAyLTI4IDIwOjQyOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBGaXggbWVtb3J5IGxlYWsKCSAgZ3N0X3N0cnVjdHVyZV9pZF9zZXQoKSB3aWxsIGNvcHkgR3N0U3RydWN0dXJlcyBpbnN0ZWFkIG9mIHRha2luZwoJICB0aGUgb3duZXJzaGlwLgoKMjAwOS0wMi0yOCAyMDozOTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmOiBTdG9yZSB0aGUgbWV0YWRhdGEgdHlwZSBJRCBpbnNpZGUgdGhlIGNsYXNzIHN0cnVjdHVyZQoKMjAwOS0wMi0yOCAxOTo0MToxMCArMDEwMCAgdmFuaXN0YSA8dmFuaXN0YUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBtZW1vcnkgbGVha3Mgd2hlbiBQVVNJIGlzIG1pc3NlZCBkdWUgdG8gcGFja2V0IGxvc3MKCSAgRml4ZXMgYnVnICM1NzMyODguCgoyMDA5LTAyLTI4IDExOjQzOjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L25zZi9mbW9wbC5jOgoJICBuc2Y6IERvbid0IHdyaXRlIGZ1cnRoZXIgdGhhbiB0aGUgbGltaXRzIG9mIHRoZSB0YWJsZSAoc2l6ZSBpcyA3NSwgYXMgZGVmaW5lZCBpbiB0aGUgaGVhZGVyKQoJICBnY2MgNC4zLjMgZm91bmQgdGhpcyBvbmUsIEknbSBpbXByZXNzZWQuCgoyMDA5LTAyLTI4IDEwOjI5OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmOiBEb24ndCB1c2UgR0xpYiAyLjE2IEFQSSB1bmNvbmRpdGlvbmFsbHkgaW4gdGhlIGV4YW1wbGUKCjIwMDktMDItMjcgMjA6NDM6MjUgKzAxMDAgIEFuZHJ6ZWogUG9sYXR5xYRza2kgPGFwb2xhdHluc2tpQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgdmlkZW9hbmFseXNlOiBGaXggYnJpZ2h0bmVzcyBjYWxjdWxhdGlvbiB0byBub3Qgb25seSB1c2UgdGhlIGZpcnN0IHJvd3N0cmlkZQoJICBGaXhlcyBidWcgIzU3MzM5MS4KCjIwMDktMDItMjcgMTE6MzY6NTggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBVc2UgY29ycmVjdCB2YWx1ZXMgZm9yIGNoZWNraW5nIFZPIHN0YXJ0Y29kZS4KCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgZHVlIHRvIGNvbmRpdGlvbiBhbHdheXMgYmVpbmcgdHJ1ZSAtIHNpbmNlIHdlJ3JlCgkgIG9ubHkgbG9va2luZyBhdCB0aGUgZmluYWwgYnl0ZSBvZiB0aGUgc3RhcnRjb2RlIChub3QgdGhlIGxlYWRpbmcKCSAgMHgwMDAwMDEpLCBvbmx5IGNoZWNrIGZvciA8IDB4MWYsIG5vdCA8IDB4MTFmCgoyMDA5LTAyLTI3IDIwOjIxOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSAgeGRnbWltZTogVXNlIGVtcHR5IGNhcHMgZm9yIHJlZ2lzdGVyaW5nIHRoZSB0eXBlZmluZGVycyB3aXRoIG9sZCBjb3JlIHZlcnNpb25zCgkgIGNvcmUgYmVmb3JlIDAuMTAuMjIuMSBwcm9kdWNlZCBhc3NlcnRpb25zIHdoZW4gc3RvcmluZyB0eXBlZmluZCBmYWN0b3JpZXMKCSAgd2l0aCBOVUxMIGNhcHMgaW4gdGhlIHJlZ2lzdHJ5LgoKMjAwOS0wMi0yNiAxNTo0MDoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogaGFuZGxlIG1vcmUgZm9ybWF0cwoJICBXZSBvbmx5IG5lZWQgYSBWaWRlbyBPYmplY3QgU3RhcnQgY29kZSBiZWZvcmUgd2UgY2FuIHN0YXJ0IHB1c2hpbmcgb3V0IGRhdGEuCgkgIFNlYXJjaCBmb3IgdGhpcyBjb2RlIGFsc28gaW5zdGVhZCBvZiBvbmx5IGxvb2tpbmcgZm9yIFZPUyBhbmQgVk9QLgoJICBGaXhlcyAjNTcyNTUxLgoKMjAwOS0wMi0yNyAxMjowMzoyMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSAgTWVyZ2UgYnJhbmNoICd3b3JrJwoKMjAwOS0wMi0yNyAxMTo1Njo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIGRvY3M6IElnbm9yZSBzb21lIG1vcmUgZ2VuZXJhdGVkIGZpbGVzCgoyMDA5LTAyLTI3IDExOjU1OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgY2VsdGRlYzogTW92ZSBkZWZpbmUgaW50byB0aGUgQyBmaWxlIHNvIGl0IGRvZXNuJ3Qgc2hvdyB1cCBpbiB0aGUgZG9jcwoKMjAwOS0wMi0yNyAxMTo1NDo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSAgZG9jczogRW5yb2xsIGRpcmFjIHBsdWdpbiBpbnRvIHRoZSBkb2NzCgoyMDA5LTAyLTI3IDExOjM5OjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogQWRkIHNvbWUgYmFzaWMgZG9jcyB0byB0aGUgcGx1Z2luCgoyMDA5LTAyLTI3IDEwOjE2OjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzoKCSAgYXBleHNpbms6IFVzZSBhIHVuaW9uIHRvIGF2b2lkIHR5cGUtcHVubmluZyBzdHJpY3QgYWxpYXNpbmcgY29tcGlsZXIgd2FybmluZy4KCjIwMDktMDItMjcgMTI6MzU6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogcmV3b3JrIHNpZ25hbGluZyBhbmQgdGVzdHMKCSAgUmV2ZXJ0IHRoZSBHU3RyaW5nIGNoYW5nZS4gVGhlcmUgYXJlIG5vIG1hcnNoYWxsZXJzIGZvciBpdC4gQSBiZXR0ZXIgY2hhbmdlIGlzCgkgIG5vdyBkZXNjcmliZWQgaW4gaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTczMzcwLgoJICBUZXN0IHNob3VsZCB3b3JrIGFnYWluLgoKMjAwOS0wMi0yNyAxMToyNDozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmV2ZXJ0IGxhc3QgY2hhbmdlIGFuZCBwcm9wZXJseSBmaXgKCSAgQmFzZXBhcnNlIGludGVybmFseSBicmVha3MgdGhlIHNlbWFudGljcyBvZiBhIF9jaGFpbiBmdW5jdGlvbiBieSBjYWxsaW5nIGl0IHdpdGgKCSAgYnVmZmVyPT1OVUxMLiBUaGUgcmVzb24gSSBiZWxpdmVkIGl0IHdhcyBva2F5IHRvIHJlbW92ZSBpdCB3YXMgdGhhdCB0aGVyZSBpcwoJICBhbHNvIGFuIHVuY2hlY2tlZCBhY2Nlc3MgdG8gYnVmZmVyIGxhdGVyIGluIF9jaGFpbi4gQWN0dWFsbHkgdGhhdCBjb2RlIGlzIHdyb25nLAoJICBhcyBpdCBtb3N0IHByb2JhYmx5IHdhbnRzIHRvIHNldCBkaXNjb250IG9uIHRoZSBvdXRnb2luZyBidWZmZXIuCgoyMDA5LTAyLTI3IDExOjA2OjA0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6CgkgIHF0d3JhcHBlcjogT25seSB1c2UgX2R1bXBfbWVtKCkgaWYgcmVxdWVzdGVkLgoKMjAwOS0wMi0yNiAxMjo0ODoxNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBBZGQgdjIxMCBmb3JtYXQKCjIwMDktMDItMjYgMTI6NDc6MTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgRml4IGluY29ycmVjdCAicGl4ZWxfYXNwZWN0X3JhdGlvIiBpbiBjYXBzCgkgIFNob3VsZCBiZSAicGl4ZWwtYXNwZWN0LXJhdGlvIi4KCjIwMDktMDItMjYgMTg6NDY6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvbXhmL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14ZjogQWRkIGV4YW1wbGUgYXBwbGljYXRpb24gdG8gb3V0cHV0IHRoZSBzdHJ1Y3R1cmFsIG1ldGFkYXRhIHRyZWUgaW50byBhIEd0a1RyZWVWaWV3CgoyMDA5LTAyLTI2IDEzOjEwOjI5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cGJpbjogRG9uJ3QgZm9yd2FyZCByZXZjIGV2ZW50cyB0byBzZW5kZXIKCSAgRG9uJ3Qgc2VuZCBldmVudHMgZnJvbSB0aGUgcmVjZWl2ZXIgdG8gdGhlIHNlbmRlciBzaWRlLgoJICBGaXhlcyAjNTcyOTAwLgoKMjAwOS0wMi0yNiAxMTowMjowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIGNoZWNrcyBmb3IgYnVmZmVyPT1OVUxMCgkgIEFjY29yZGlmbiB0byBkb2NzIGZvciBHc3RQYWRDaGFpbkZ1bmN0aW9uIGJ1ZmZlciBjYW5ub3QgYmUgTlVMTC4gSWYgd2Ugd291bGQKCSAgbGVhdmUgdGhlIGNoZWNrLCB3ZSB3b3VsZCBhbHNvIG5lZWQgbW9yZSBzdWNoIGNoZWNrIGJlbG93LgoKMjAwOS0wMi0yNSAxNTowNjowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBVcGRhdGUgc2hhdmUgaW5pdCBzdGF0ZW1lbnQgZm9yIGNoYW5nZXMgaW4gY29tbW9uLiBCdW1wIGNvbW1vbi4KCjIwMDktMDItMjUgMTU6MjQ6MTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25lb25odHRwc3JjLmM6CgkgIHRlc3RzOiBhZGQgYSB0aW1lb3V0IG9mIDUgc2xpZ2h0bHkgYWJvdmUgdGhlIGRlZmF1bHQKCjIwMDktMDItMjUgMTU6MTc6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGluY3JlYXNlIHRpbWVvdXQgYW5kIGxvd2VyIHZpZGVvIHJlY29yZGluZyBsZW5ndGgKCSAgVGhlIHZpZGVvIHdhcyByZWNvcmRlZCBmb3IgdG9vIGxvbmcgZm9yIHRoZSB0ZXN0IHRpbWVvdXRzLiBBbHNvIHRoZSB2ZXJpZmljYXRpb24KCSAgc3VpdGUgZGlkIG5vdCBoYWQgY3VzdG9tIHRpbW91dHMgYXQgYWxsLiBBbHNvIHNwbGl0IHRoZSB2ZXJpZmljYXRpb24gZm9yIGltYWdlcwoJICBhbmQgdmlkZW8gdG8gZ2V0IGJldHRlciByZXBvcnRpbmcuCgoyMDA5LTAyLTI1IDExOjMyOjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDljZjhjOWIgdG8gYTZjZTVjNgoKMjAwOS0wMi0yNSAxMjozNDozMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBibGFja2xpc3QgZGNjcCBwbHVnaW5zLgoJICBVbmxlc3Mgb25lIHJ1bnMgYSB2ZXJ5IHJlY2VudCBrZXJuZWwsIHRoZXkgY2FuIGVhc2lseSBsb2NrdXAgdGhlIHdob2xlIHN5c3RlbS4KCjIwMDktMDItMjUgMTE6NDU6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgZG9jczogdmFyaW91cyBkb2MgZml4ZXMKCSAgTm8gc2hvcnQtZGVzYyBhcyB3ZSBoYXZlIHRoZW0gaW4gdGhlIGVsZW1lbnQgZGV0YWlscy4KCSAgQWxzbyBrZWVwIHRoaW5ncyAoTWFrZWZpbGUuYW0gYW5kIHNlY3Rpb25zLnR4dCkgc29ydGVkLgoJICBSZXdvcmQgYW1iaWdvdXMgcmV0dXJucy4gTm8gdGV4dCBhZnRlciBzaW5jZSBwbGVhc2UuCgoyMDA5LTAyLTI1IDExOjM0OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkb24ndCBpZ25vcmUgR3N0Rmxvd1JldHVybiB2YWx1ZXMKCSAgZG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2YgcHVsbF9yYW5nZSBiZWNhdXNlIHdlIG9ubHkgZ2V0IGEgdmFsaWQgbm9uLU5VTEwKCSAgYnVmZmVyIHdoZW4gdGhlIHJldHVybiB2YWx1ZSBpcyBHU1RfRkxPV19PSy4gQXZvaWRzIGEgY3Jhc2ggd2hlbiB0aGUgcGlwZWxpbmUgaXMKCSAgc2h1dHRpbmcgZG93bi4KCjIwMDktMDItMjUgMTE6NDE6MzYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgc2lnbmFsIG1hcnNoYWxsZXIgYW5kIGRvY3MKCSAgVXNlIEdTdHJpbmcgaW5zdGVhZCBvZiBHUG9pbnRlciBmb3IgdGhlIG1hcnNoYWxsZXIgYXMgdGhpcyBpcyB3aGF0IHRoZSBjYWxsYmFjayB1c2VzLgoJICBTbGlnaHRseSByZWZvcm1hdCBkb2NzLgoKMjAwOS0wMi0yNSAxMTozODo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9maWd1cmVzL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZmlndXJlcy9jYW1lcmFiaW4uZG90OgoJKiBkb2NzL3BsdWdpbnMvZmlndXJlcy9jYW1lcmFiaW4ucG5nOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZTIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcyB0byBhZGQgY2FtZXJhYmluIGFuZCBpdHMgZmlndXJlCgoyMDA5LTAyLTI1IDExOjAwOjU1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBnZXQgcmlkIG9mIC8vIGNvbW1lbnQgYW5kIGV4cGxhaW4KCjIwMDktMDItMjUgMTA6NDY6MTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSBjaGVjayB1bml0IHRlc3QKCSAgVXNlIHBsYXliaW4yIGZvciB2YWxpZGF0aW9uLiBVc2UgdG1wX2RpciBmb3IgY2FwdHVyaW5nLiBXYWl0IHdpdGggZ19jb25kIGZvcgoJICBidXJzdCBjYXB0dXJlIGZpbmlzaC4gQ2xlYW51cCBzb21lIGdfb2JqZWN0X3NldC4gQWRkIHNvbWUgbG9nZ2luZyB0byBlYXNlCgkgIHRyYWNpbmcuCgoyMDA5LTAyLTI1IDEwOjQ1OjE5ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVuYmxvY2sgY29ycmVjdCBwYWQgaW4gcmVzZXQsIHN1cHBvcnQgZmFrZXNpbmsgYXMgdmlldyBmaW5kZXIKCjIwMDktMDItMjQgMTY6MzY6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvYXBwLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICBSZW1vdmUgdGVzdHMvZXhhbXBsZXMvYXBwIGFzIGl0IHdhcyBtb3ZlZCB0byAtYmFzZSBhIGxvbmcgdGltZSBhZ28KCjIwMDktMDItMjQgMTY6MzM6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2FwcC8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOgoJKiBleGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6CgkqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzoKCSogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzoKCSogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6CgkqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSogZXhhbXBsZXMvY2Fwc2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvY2Fwc2ZpbHRlci9jYXBzZmlsdGVyMS5jOgoJKiBleGFtcGxlcy9kaXJlY3RmYi8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvZGlyZWN0ZmIvZGVja2VyLnR0ZjoKCSogZXhhbXBsZXMvZGlyZWN0ZmIvZGZibG9nby5wbmc6CgkqIGV4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOgoJKiBleGFtcGxlcy9nb2IvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2dvYi9nc3QtaWRlbnRpdHkyLmdvYjoKCSogZXhhbXBsZXMvZ3N0cGxheS8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9nc3RwbGF5L01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiBleGFtcGxlcy9pbmRleGluZy8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9pbmRleGluZy9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6CgkqIGV4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9sZXZlbC9SRUFETUU6CgkqIGV4YW1wbGVzL2xldmVsL2RlbW8uYzoKCSogZXhhbXBsZXMvbGV2ZWwvcGxvdC5jOgoJKiBleGFtcGxlcy9zY2FsZXRlbXBvLy5naXRpZ25vcmU6CgkqIGV4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5oOgoJKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOgoJKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuaDoKCSogZXhhbXBsZXMvc3RhdHMvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJKiBleGFtcGxlcy9zd2l0Y2gvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvc3dpdGNoL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSogdGVzdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhcHNmaWx0ZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhcHNmaWx0ZXIvY2Fwc2ZpbHRlcjEuYzoKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2RlY2tlci50dGY6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2RmYmxvZ28ucG5nOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ29iL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nb2IvZ3N0LWlkZW50aXR5Mi5nb2I6CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3N0YXRzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3dpdGNoLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgIE1vdmUgZXhhbXBsZXMgZGlyZWN0b3J5IHRvIHRlc3RzL2V4YW1wbGVzIGFzIGluIGV2ZXJ5IG90aGVyIEdTdHJlYW1lciBtb2R1bGUKCjIwMDktMDItMjQgMTY6MjE6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWM6IFVzZSBuZXcgRENBIGZ1bmN0aW9ucy9jb25zdGFudHMgYXMgbm90IGFsbCBkaXN0cm9zIHBhY2thZ2UgdGhlIGNvbXBhdCBkdHMuaAoJICBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3ZSBkZWZpbmUgdGhlIERDQSBmdW5jdGlvbnMvY29uc3RhbnRzIHRvIHRoZQoJICBvbGQgRFRTIGZ1bmN0aW9ucy9jb25zdGFudHMgaWYgd2UncmUgYnVpbGRpbmcgYWdhaW5zdCBsaWJkdHMuCgoyMDA5LTAyLTI0IDE1OjI2OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3hkZ21pbWUvTWFrZWZpbGUuYW06CgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZS5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVhbGlhcy5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVhbGlhcy5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVnbG9iLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWdsb2IuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laWNvbi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpY29uLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWludC5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpbnQuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lbWFnaWMuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lbWFnaWMuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lcGFyZW50LmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZXBhcmVudC5oOgoJICB4ZGdtaW1lOiBBZGQgbmV3IHR5cGVmaW5kZXIgYmFzZWQgb24geGRnbWltZQoJICBUaGlzIHR5cGVmaW5kZXIgaXMgbW9zdGx5IHVzZWZ1bCB0byBmaWx0ZXIgb3V0IGFueSBmYWxzZSBwb3NpdGl2ZXMKCSAgYnkgdGhlIG90aGVyIHR5cGVmaW5kZXJzIGxpa2UgdGhlIHVzdWFsIFdvcmQgZG9jdW1lbnQgbWlzZGV0ZWN0ZWQgYXMKCSAgTVAzIGZpbGUuCgoyMDA5LTAyLTI0IDEzOjM3OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZHRzOiBQcmVmZXIgbGliZGNhIG92ZXIgbGliZHRzIGFzIGl0J3MgdGhlIHN1Y2Nlc3NvcgoKMjAwOS0wMi0yMyAxNjowMjowOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBxdHdyYXBwZXI6IEZpeCBidWlsZCBvbiBtYWNvc3gKCjIwMDktMDItMjMgMTU6MjU6MDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IEZpeCBidWlsZCBvbiBtYWNvc3gKCjIwMDktMDItMjAgMTI6MDg6MDQgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogQWRkIGFzcGVjdCByYXRpbyBjYXBzZmlsdGVyIGZvciB2aWV3IGZpbmRlcgoJICBJZiBkZWFsaW5nIHdpdGggbGFyZ2VyIGZyYW1lIHNpemVzIHRoYW4gdmlldyBmaW5kZXIgc2luayBlbGVtZW50CgkgIGFjY2VwdHMgdGhlbiBtYWludGFpbiBhc3BlY3QgcmF0aW8gd2hlbiBzY2FsaW5nIGZyYW1lcyB0byBmaXQuCgoyMDA5LTAyLTIwIDEyOjA3OjMzICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFNjYWxlIGluY29taW5nIGZyYW1lcyBpZiB0aGVpciBzaXplIGRvZXMgbm90IG1hdGNoIHJlcXVlc3RlZCBzaXplCgkgIElmIGNhcHR1cmUgcHJlcGFyYXRpb24gaW4gdmlkZW9zcmMgcmVzdWx0cyBpbiBmcmFtZSBzaXplIGRpZmZlcmVudAoJICBmcm9tIHJlcXVlc3RlZCBzaXplLCB0aGVuIHdlIG5lZWQgdG8gc2NhbGUgdGhlbS4KCjIwMDktMDItMjAgMTI6MDM6MDMgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvIGlmYWNlOiBBZGQgY2FwcyBvYmplY3QgdG8gcHJlcGFyYXRpb24gQVBJIGZvciByZXF1ZXN0ZWQgYW5kIGFjdHVhbCBjYXB0dXJlIGZvcm1hdAoJICBBbGxvdyByZXF1ZXN0aW5nIG9mIGNlcnRhaW4gZm9ybWF0IHdpdGggcHJlcGFyZV9mb3JfY2FwdHVyZSgpIGFuZCByZXR1cm4KCSAgdGhlIGFjdHVhbCBmb3JtYXQgaW4gR3N0UGhvdG9DYXB0dXJlUHJlcGFyZWQgY2FsbGJhY2suCgoyMDA5LTAyLTIzIDExOjQ5OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBBZGQgc291bmR0b3VjaCdzIC1sQlBNIHRvIF9MSUJTLCBub3QgX0NGTEFHUwoKMjAwOS0wMi0yMiAyMjowMDo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkgIGRjY3A6IEZpeCAibm9uLXZvaWQgd2l0aG91dCByZXR1cm4gdmFsdWUiIGNvbXBpbGF0aW9uIGlzc3VlLgoKMjAwOS0wMi0yMiAxOToxNzozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBEZXRlY3QgbGlic291bmR0b3VjaCAxLjQgYW5kIGhpZ2hlci4KCSAgSW4gbGlic291bmR0b3VjaCAxLjQsIGxpYkJQTSBhcHBlYXJzIHRvIGhhdmUgYmVlbiBzdWJzdW1lZCBpbnRvCgkgIGxpYlNvdW5kVG91Y2gsIGFuZCBpbnRvIHRoZSBzb3VuZHRvdWNoIG5hbWVzcGFjZS4KCjIwMDktMDItMjIgMTg6MTI6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBVc2Ugc2hhdmUgZm9yIHRoZSBidWlsZCBvdXRwdXQKCjIwMDktMDItMjIgMTg6NDE6MDggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IGNvbXBpbGF0aW9uIG9uIFdpbmRvd3Mgd2l0aCBWaXN1YWwgU3R1ZGlvCgkgIFdpbmRvd3MgZG9lc24ndCBoYXZlIHN0cmNhc2VjbXAgc28gd2Ugc2hvdWxkIHVzZQoJICBnX2FzY2lpX3N0cmNhc2VjbXAgaGVyZSBpbnN0ZWFkLgoJICBBbHNvIFdpbmRvd3MgZG9lc24ndCBoYXZlIHN5cy90aW1lLmggc28gd2UgZmlyc3QKCSAgbmVlZCB0byBjaGVjayBpZiBpdCBhY3R1YWxseSBleGlzdHMgYW5kIGlmIG5vdAoJICB3ZSBzaG91bGQgbm90IGluY2x1ZGUgaXQuCgkgIEZpeGVzIGJ1ZyAjNTcyMzE1LgoKMjAwOS0wMi0yMiAxNTo1ODowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZDdjOWNjIHRvIDljZjhjOWIKCjIwMDktMDItMjIgMTQ6NTg6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IERvbid0IHVzZSB2b2lkICogcG9pbnRlciBhcml0aG1ldGljCgoyMDA5LTAyLTIyIDEzOjE3OjU0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJICB4dmlkOiBGaXggY29tcGlsYXRpb24gd2FybmluZwoKMjAwOS0wMi0yMSAxMToxMzo1MCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDgwYzYyN2QgdG8gNWQ3YzljYwoKMjAwOS0wMi0xMCAxNzowMjoyNCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkgIE1vdmVkIHJ0cG11eCBmcm9tIGdzdC1wLWZhcnNpZ2h0IHRvIC1iYWQKCjIwMDktMDItMjAgMTc6NDU6NTAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkgIFJlLWluZGVudCB0byBHc3Qgc3R5bGUKCjIwMDktMDItMTAgMTk6MTE6MTUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb2N1bWVudCBydHAgbXV4ZXIgYSBiaXQKCjIwMDktMDItMjAgMTM6MzA6NDkgLTA1MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBzaWduYWxzIGJlZm9yZSBzdHJlYW0gbG9jayBhbmQgYWZ0ZXIgdW5sb2NraW5nCgoyMDA5LTAyLTE4IDIwOjE4OjQ2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTGV0IHNzcmMgdGhyb3VnaCBnZXRjYXBzCgoyMDA5LTAyLTE4IDE5OjU4OjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVuYW1lIGhhdmVfYmFzZSB0byBoYXZlX3RzX2Jhc2UKCjIwMDktMDItMTggMTg6MTQ6NTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcm90ZWN0IHRoZSBzZXFudW0gd2l0aCBvYmplY3QgbG9jayBpbiBydHBtdXgKCjIwMDktMDItMTggMTg6MDc6NDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdW51c2VkIHNpbmtfdHNfYmFzZQoKMjAwOS0wMi0xOCAxNToyMDo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEhhdmUgZ2V0Y2FwcyB0byBmb3JjZSB0aGUgc2FtZSBjbG9ja3JhdGUgb24gYWxsIHBhZHMKCjIwMDktMDItMTggMTc6MDU6MTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBWYWxpZGF0ZSBSVFAgZGF0YSBpbiBSVFAgTXV4CgoyMDA5LTAyLTE4IDE0OjE2OjAwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVudXNlZCBjbG9jay1yYXRlIHByb3BlcnR5CgoyMDA5LTAyLTE4IDEzOjU2OjM2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsYXJpZnkgbG9ja2luZyBpbiBydHBkdG1mbXV4CgoyMDA5LTAyLTE4IDEzOjMyOjU2IC0wNTAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWlzc2luZyBmb3JtYXQgcGFyYW1ldGVyCgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4Ly5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTEyLTAxIDE3OjU1OjIyIC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVwZGF0ZSBzZXFudW0gYmFzZSBpbiBydHAgbXV4ZXIKCSAgV2l0aCBoZWxwIGZyb20gV2ltCgoyMDA4LTEyLTAxIDE3OjU0OjU4IC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggc29tZSBtb3JlIGxlYWtzCgoyMDA4LTEyLTAxIDE3OjQ4OjI5IC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggbGVhawoKMjAwOC0wOS0yOSAxNTowMzowNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvbid0IHVucmVmIGNhcHMgd2UgZG9uJ3Qga25vdyAodGhhbmtzIFdpbSkKCjIwMDgtMDgtMTIgMTI6NDg6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXQgcGVyLWJ1ZmZlciBkZWJ1ZyBhdCBsZXZlbCBMT0cKCjIwMDgtMDgtMTIgMTI6NDc6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGRlYnVnIHByaW50IGFjY3VyYXRlCgoyMDA4LTA4LTEyIDEyOjQ2OjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IG91ciBjYXBzIG9uIHRoZSBidWZmZXJzCgoyMDA4LTA4LTEyIDEyOjQ2OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGFrZSB0aGUgY2xvY2stYmFzZSBzdG9yZWQgZnJvbSB0aGUgbGFzdCBzZXRjYXBzCgoyMDA4LTA4LTEyIDEyOjQxOjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU3RvcmUgdGhlIGNsb2NrLWJhc2Ugb24gc2V0Y2FwcwoKMjAwOC0wOC0xMiAxMjozMDo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBwYWRwcml2YXRlIHRvIHRoZSByZXF1ZXN0IHBhZHMKCjIwMDgtMDgtMTIgMTI6MjM6MzIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHdoaXRlc3BhY2UgaW4gZ3N0cnRwbXV4CgoyMDA4LTA4LTExIDIxOjIwOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpbmRlbnRhdGlvbiBtb3JlIGNvcnJlY3QKCjIwMDgtMDgtMTEgMjE6MDU6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggdHlwbwoKMjAwOC0wOC0xMSAyMTowMzoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCBzZXFudW0tYmFzZSBhbmQgY2xvY2stYmFzZSBpbiBjYXBzIGZyb20gcnRwbXV4ZXIKCjIwMDctMDgtMTUgMTM6NTA6MzggKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbW9yZSBkZWJ1ZwoJICAyMDA3MDgxNTEzNTAzOC1mM2YxZS05YzdhNTQ5MGE1MjVjNmU4NzUzY2IxYjhjMDMzNTRkZjk5MTMyYjVjLmd6CgoyMDA3LTA4LTIzIDIxOjIyOjI1ICswMDAwICBwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWsgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTeW5jIGppdHRlcmJ1ZmZlciB3aXRoIENWUyAtYmFkCgkgIDIwMDcwODIzMjEyMjI1LTI0MjViLTBmZTY5YmY3MjUzOTY3OGRkYTQ1ZDYxNWEwOWYxY2JmNTAyY2M3MWEuZ3oKCjIwMDctMDgtMjAgMTg6NTA6MzIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbWlzc2luZyBjb21tZW50CgkgIDIwMDcwODIwMTg1MDMyLTRmMGY2LTBhYjY3YjZhYzQwZGQ0ZTM1YThmZTUzZjNjYjZkYWZmNjVjZTQzYjkuZ3oKCjIwMDctMDctMTIgMTk6NTM6MzYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgYnVmZmVyIHdyaXRhYmxlIGJlZm9yZSB3cml0aW5nIGludG8gaXQKCSAgMjAwNzA3MTIxOTUzMzYtM2UyZGMtOTFhNWZiNzk3Y2ZhNDkxOWQ0ZTJmOWE3MjhjNmQ2ZmJkM2I4M2Q5My5negoKMjAwNy0wNy0wNiAyMDoyNDo1OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IHBhZHMgYWN0aXZlIHdoZW4gYWRkaW5nIHRoZW0gdG8gYSBwb3RlbnRpYWxseSBydW5uaW5nIGVsZW1lbnQKCSAgMjAwNzA3MDYyMDI0NTktM2UyZGMtYTM3MzFmODg1NzI1NTk0ZGVmMGE3YmU5OTdmYzdiM2E3MzllZTk2Ny5negoKMjAwNy0wNi0wNyAxMjowMToyMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IG11bHRpcGxlIHJlZiBsZWFrcyAocGF0Y2hlcyBieSBTUCBHTEUpCgkgIDIwMDcwNjA3MTIwMTIxLTNlMmRjLTA2MWU5ZWY3YTQ3YjFiODRmYThmODA5MmY0YjhiY2MwZTZkYjhjOGMuZ3oKCjIwMDctMDUtMjggMTU6MjU6MDUgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBzZW5kIGV2ZW50IHRvIGFsbCBzcmMgcGFkcwoJICAyMDA3MDUyODE1MjUwNS1mM2YxZS0wMzkyMTZjNzNkYzkzZjY0YzQ5OTYyYzc3YTAyNTNjYjljZmVjNGQzLmd6CgoyMDA3LTA1LTI4IDEyOjM3OjQ5ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcHJpbnQgYSB3YXJuaW5nIGlmIHJlY2VpdmUgYW4gZXJyb3IgaXRlcmF0aW5nIHNpbmtwYWRzCgkgIDIwMDcwNTI4MTIzNzQ5LWYzZjFlLTRjMWViM2Y1MTFiNTYxMDE0MzYxMGE2NWE5NGQxMTdmMmMzZDI1ODAuZ3oKCjIwMDctMDUtMjggMTI6Mjg6MDggKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBkZWFsIHdpdGggYWxsIHRoZSBnc3RfaXRlcmF0b3JfbmV4dCgpIHJldHVybiB2YWx1ZXMKCSAgMjAwNzA1MjgxMjI4MDgtZjNmMWUtZDMwMTY0NGMzYmU3NjMzZWM2ZGM1ZTI4NTk2ZTkzNDZkMmRhNmE1MC5negoKMjAwNy0wNS0yNSAxMjozMToxNiArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJldHVybiBjb3JyZWN0IHZhbHVlIGZyb20gdGhlIGV2ZW50IGhhbmRsZXIKCSAgMjAwNzA1MjUxMjMxMTYtZjNmMWUtMTMxYjM3YjVmNDUyMTYxOGZlMmYxMzIwNDA5YTQ3ZTY1YjM1YWQyZC5negoKMjAwNy0wNS0yNSAxMDoyNzowOSArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFZpbGxlJ3Mgb3JpZ2luYWwgcGF0Y2ggdG8gZml4IHRoZSB0cmF2ZXJzYWwgb2YgZHRtZiBldmVudAoJICAyMDA3MDUyNTEwMjcwOS1mM2YxZS02YzQxZDFlZjkzNDA2OGE0ZjRlODEwZTdlOTgxYjQyMDA3NWIwYzk4Lmd6CgoyMDA3LTAzLTI5IDEzOjUyOjUwICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXQgdGhlIGNvcnJlY3QgdHMtb2Zmc2V0IG9uIHRoZSBnZXRfcHJvcCB2YWx1ZQoJICAyMDA3MDMyOTEzNTI1MC02NTAzNS1hNDNlMjIyZDkxZDU3YzBhNjFjYjMyODc1ODZhYWEyOWFiZjc4Njc0Lmd6CgoyMDA3LTAzLTI5IDEzOjUyOjIzICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWZhY3Rvcml6ZSBzdGF0ZV9jaGFuZ2UKCSAgMjAwNzAzMjkxMzUyMjMtNjUwMzUtMjNhMDEwN2IyZTM5NzcxMGYwMzVjNmU4OGNjMGU0OWI2NWJiNGQ1ZC5negoKMjAwNy0wMy0yOSAxMzozNjoyMiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gc2V0IFNTUkMgb24gdGhlIHBhY2tldHMKCSAgMjAwNzAzMjkxMzM2MjItNjUwMzUtMWJlNmUwYWE4NWE3MTM4OWY3ZDI1N2I5Y2QzZTEzYTczZDZiNzQ1Yi5negoKMjAwNy0wMy0yOSAxMzoxOTozNiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ29kZSBjbGVhbi11cCBhbmQgbW9yZSBkZWJ1ZyBvdXRwdXQKCSAgMjAwNzAzMjkxMzE5MzYtNjUwMzUtOWQ0OTllMjA5ZTBkN2E0MDljM2FhMGQxMDQwNzc4YmFiZjA3NjE3OS5negoKMjAwNy0wMy0yOCAxMToyMjoxOSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIG93biBjbG9jay1iYXNlCgkgIDIwMDcwMzI4MTEyMjE5LTY1MDM1LTFiYTVmZWZiYzY1MDU5ZTliMGM4NjA1MjhhMzEwNjJjZWI2YTczMzEuZ3oKCjIwMDctMDMtMjMgMTY6MzE6MzkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9ubHkgYWNjZXB0IFJUUCBzdHJlYW1zIHRoYXQgaGF2ZSB0aGUgc2FtZSBjbG9jay1yYXRlCgkgIDIwMDcwMzIzMTYzMTM5LTY1MDM1LWZjMGIxN2IwYjhhN2EwNDFmNDg5OTRjNGYyNmU5NjU2ODE2OGJmOTUuZ3oKCjIwMDctMDMtMjIgMTY6MTU6NTIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTb21lIG1vcmUgY29kZS1jbGVhbnVwcwoJICAyMDA3MDMyMjE2MTU1Mi02NTAzNS1iZGE5NjE2NWUxNDZiNGYxZDVmZWExY2M5NTc2YTdhYjNhYmViYzllLmd6CgoyMDA3LTAzLTIyIDE1OjQyOjUxICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSByZXR1cm4gbmV3cGFkIGluc3RlYWQgb2YgTlVMTCBhbmQgd2FybiBpZiBmYWlsZWQgdG8gY3JlYXRlIGEgcGFkCgkgIDIwMDcwMzIyMTU0MjUxLTY1MDM1LWNkYjY2NTFlNjFjMmViMDIwNWNjOGMyNDY5M2I0M2Y5OGEyZGE3MTguZ3oKCjIwMDctMDMtMjIgMTI6NDE6MzIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlZmFjdG9yaXplIHRoZSBSVFBNdXggY29kZQoJICAyMDA3MDMyMjEyNDEzMi02NTAzNS0wYTMyNzgxNDc1NDZlMzNmNjg3MDk3YTQzYjc3NWIzZjZhYTk5ZjkzLmd6CgoyMDA3LTAzLTIyIDEyOjE0OjUzICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU29tZSBtb3JlIGRvYyBmaXhpbmcKCSAgMjAwNzAzMjIxMjE0NTMtNjUwMzUtMTJkNjAyMjcyMjE3YjUxYmQ5N2RmNGU1NzkwMDI0YzM5OTYyMmRkMy5negoKMjAwNy0wMy0yMiAxMTozMjoyOCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vcmUgUmVmYWN0b3JpbmcKCSAgMjAwNzAzMjIxMTMyMjgtNjUwMzUtYmFlMzRhNzk1OTllN2RlNTI5M2VkNzdiMDIyMzYxY2NmZjgyMmJiOS5negoKMjAwNy0wMy0yMiAxMTozMTo1NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vcmUgZG9jdW1lbnRhdGlvbgoJICAyMDA3MDMyMjExMzE1NC02NTAzNS02MjQ4NTA1NDFhNWI1ZmMzZGYyMzEyMDRiZTVhODNkMDcyMzlkYjI4Lmd6CgoyMDA3LTAzLTIxIDE2OjMzOjExICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVmYWN0b3IgdGhlIGV2ZW50IGhhbmRsZXIgZnVuY3Rpb24KCSAgMjAwNzAzMjExNjMzMTEtNjUwMzUtOTg3ZTdmMjVkMWFiNTMzNWI3OWY0NGIyNzdhYmYxNWU0ZTM3ZDMxNy5negoKMjAwNy0wMy0yMSAxNDo1Mjo0NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4ZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBSVFBEVE1GTXV4IGVsZW1lbnQKCSAgMjAwNzAzMjExNDUyNDQtNjUwMzUtOWEwMTM5MGIwZGVlMzM5OGU1MzE5OWExZmExZDkzNTIwMDRmMzM4ZS5negoKMjAwNy0wMy0yMSAxMjozMTo0OSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIERUTUYtc3BlY2lmaWMgY29kZSBmcm9tIFJUUCBtdXhlciBhbmQgbWFrZSBpdCBleHRlbmRhYmxlCgkgIDIwMDcwMzIxMTIzMTQ5LTY1MDM1LWI4YThmNTVmZjc4ZWVkOGNiYjAwNDJlODI3ODg1ZWRmYzU0MzgyNDIuZ3oKCjIwMDctMDMtMjAgMTI6MDU6MjQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1dCBtb3JlIGhlbHBmdWwgZGVzY3JpcHRpb24KCSAgMjAwNzAzMjAxMjA1MjQtNjUwMzUtZGIyN2E3Y2Y2MzA3YjUxMWFlYjNkOTk2ZDI2ZTc5MGUzNjdhN2JhZC5negoKMjAwNy0wMy0xNiAxNToxNjo0MSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcmVtb3ZlIHRoZSAoY29tbWVudGVkLW91dCkgY29kZSBmb3IgYmxvY2tpbmcgdGhlIHBhZHMKCSAgMjAwNzAzMTYxNTE2NDEtNjUwMzUtMDEyM2FmMzg3OTUxZjg4NTk0Nzk3YzcyMmU4ODJjZmU3MDI0MGFmZi5negoKMjAwNy0wMy0xNiAxMzoxNDo0NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRHJvcCBidWZmZXJzIGluc3RlYWQgb2YgYmxvY2tpbmcgdGhlIHNpbmtwYWRzCgkgIDIwMDcwMzE2MTMxNDQ0LTY1MDM1LTljMTM0NWFkOTYxMDg4ODFmNDU1ZDRiNTVhN2Y2MjNjZDMwMmQwZWQuZ3oKCjIwMDctMDMtMTQgMTc6MTY6MTggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcGxlbWVudCBzdHJlYW0gbG9ja2luZywgbmVlZGVkIGZvciBEVE1GCgkgIDIwMDcwMzE0MTcxNjE4LTY1MDM1LWU0ZDI0YjE2MDZjZTBhM2UyZTczOWYwMTgzM2Y2MWU0ZDc1NTVlYWMuZ3oKCjIwMDctMDMtMTQgMTA6MjA6NTggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHVzZSBHU1RfKl9PQkpFQ1QgaW5zdGVhZCBvZiBnXyoKCSAgMjAwNzAzMTQxMDIwNTgtNjUwMzUtZTI0NDI4ODhmMmUzZTVhM2E3NjU5YWQ3OTU0YTRmYmEzNDc0OWNlMi5negoKMjAwNy0wMy0xNCAxMDoxODo1NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTm8gbmVlZCB0byBtYW5hZ2UgcGFkcywgcGFyZW50IGRvZXMgdGhhdCBmb3IgdXMKCSAgMjAwNzAzMTQxMDE4NTQtNjUwMzUtZWY1ZjRhYmRlMjI3MTAyYTExMjg4MzVhYjMyNTkwNWVhZTRjMzcyNi5negoKMjAwNy0wMy0xNCAwOTowMzo1OCArMDAwMCAgemVlbml4QGdtYWlsLmNvbSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggY29weXJpZ2h0IGhlYWRlcgoJICAyMDA3MDMxNDA5MDM1OC1kMDE0YS0zYTZkM2VlZWFhZjVjYjhjYTNiY2E2YTMzZTk5YTU1MWY1OThiZDQ4Lmd6CgoyMDA3LTAzLTA3IDA4OjUzOjA3ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUaGUgZmlyc3QgaW1wbGVtZW50YXRpb24gb2YgUlRQIG11eGVyCgkgIDIwMDcwMzA3MDg1MzA3LTY1MDM1LTgzMzQwMjQxM2Y5OWNiM2Y4YmU0ODgzZTkyYmFkNGM4NzIyNTEwYzkuZ3oKCjIwMDktMDItMjAgMTg6MTY6MDIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgRG9jdW1lbnQgcnRwZHRtZmRlcGF5IGEgYml0CgoyMDA5LTAyLTIwIDE3OjQxOjM3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkgIE1vdmVkIGR0bWYgZWxlbWVudHMgZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodCB0byAtYmFkCgoyMDA5LTAyLTIwIDE3OjQwOjU3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBGaXggdXAgZG9jdW1lbnRhdGlvbiBibG9icyBTR01MCgoyMDA5LTAyLTIwIDE3OjM3OjQzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFJlLWluZGVudCB0byBHc3Qgc3R5bGUKCjIwMDktMDItMTggMTM6MzA6NDQgLTA1MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1pc3NpbmcgZm9ybWF0IGRpcmVjdGl2ZQoKMjAwOC0xMi0wNCAyMToyMTo0NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWxsb3cgc2V0dGluZyBhIG1heGltdW0gZHVyYXRpb24gdG8gYSBSVFAgRFRNRiBldmVudAoKMjAwOC0xMi0wNCAyMToxMToxNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXByb3ZlIHRoZSBtaW5pbXVtIHF1YW50YSB0byBtYWtlIGl0IGltcG9zc2libGUgZm9yIHRoZSBkdXJhdGlvbiB0byBmYWxsIGRvd24gdG8gMAoKMjAwOC0xMi0wMSAxODozMTo0OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWxsb3cgc2V0dGluZyBhIG1pbmltdW0gc2l6ZSBvZiBhIHNvdW5kIHF1YW50YSBpbiB0aGUgZHRtZiBkZXBheWxvYWRlcgoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMTItMDEgMTc6Mzc6MTAgLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvIHdpZXJkIGNhc3Rpbmcgb2YgdGhlIHZvbHVtZSB0byBtYWtlIE1TVkMgaGFwcHkKCjIwMDgtMTAtMTUgMTY6MjE6NTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xhcmlmeSB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgImV2ZW50LXR5cGUiIGZpZWxkIHdoZW4gc3BlY2lmeWluZyBkdG1mIGV2ZW50cwoKMjAwOC0wNy0yMiAyMTozOTozOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgZ19kZWJ1Z3MKCSAgMjAwODA3MjIyMTM5MzgtM2UyZGMtNDRhODJkMDE3ZmU2NmYzMTEyMzAxYzQxMGFhMGI1NDNkZTYxNTZhZC5negoKMjAwOC0wNi0xMyAyMzo1NzoyMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUYWtlIHJhdGUgZnJvbSB0aGUgcGVlcnMgY2FwcyBpZiBwb3NzaWJsZQoJICAyMDA4MDYxMzIzNTcyMy0zZTJkYy0xNTY5MGVlNDI3MDhjNTM5ZTFiZTEyZTIwZTA3NmE1NjEzZmFlYTk2Lmd6CgoyMDA4LTA2LTEzIDIzOjQxOjQ0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHV0IHRoZSBzYW1wbGUgcmF0ZSBpbiBkdG1mc3JjIGludG8gYSB2YXJpYWJsZQoJICAyMDA4MDYxMzIzNDE0NC0zZTJkYy1lNjAwNzA5NDNiZWM4MjliNzAzYjg4MjFjN2FhNDM1MWEwMmRlZWJlLmd6CgoyMDA4LTA2LTEzIDIzOjMwOjA2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRha2UgdGhlIGNsb2NrLXJhdGUgZnJvbSB0aGUgY2FwcyBpbiBydHBkdG1mc3JjCgkgIDIwMDgwNjEzMjMzMDA2LTNlMmRjLWE3ZDRlOTE4NjQzZjRmOGMxYmIyY2MyNjc4NTU4YzY1NDAyNTkyMGUuZ3oKCjIwMDgtMDQtMjggMjI6MjI6MzcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBMaW5rIG1vZHVsZXMgd2l0aCBsaWJtIHdoZXJlIHJlcXVpcmVkCgkgIDIwMDgwNDI4MjIyMjM3LTNlMmRjLWIxZTkxMjBjMWU5Y2ExYTUxMGJmZDdjMjdlMmQ0NWYwZDRhMTI1MDQuZ3oKCjIwMDgtMDQtMTIgMjM6NDQ6MTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGJ5dGUgb3JkZXJpbmcgaXNzdWVzIHdpdGggZHRtZnNyYyBhbmQgcnRwZHRtZmRlcGF5Li4gdXNlIG9mIEdfU1RSSU5HSUZZIHRvIGF2b2lkIGVycm9yIG9uIE1TVkMKCSAgMjAwODA0MTIyMzQ0MTgtNGYwZjYtNDgyOGQxNjEzZGZjZDU2NGFmZDIzNmRmYzhmYjU3YTI5OTA5MmY4My5negoKMjAwOC0wMy0yMCAxOToxNDozOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBjb3B5cmlnaHRzIGFnYWluLCBwZXIgc21jdidzIGFkdmljZS4uCgkgIDIwMDgwMzIwMTkxNDM4LTRmMGY2LTY3MWM5ZGI1ZDk5NmE0NjAxZGYwMTdjZWFiNGFmNmQxNjQ2OWM5NjYuZ3oKCjIwMDgtMDMtMTkgMjE6MTc6MzEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpdCBjbGVhciB0aGF0IGR0bWZzcmMgYWxzbyB0YWtlcyBuYW1lZCBldmVudHMgYXMgaW5wdXQKCSAgMjAwODAzMTkyMTE3MzEtM2UyZGMtMjZjNzI5ZjZkYzhkYjI3ZTcxY2Y2YjIyNjQ2YTgxNTMwZGJmODYyZi5negoKMjAwOC0wMy0yMCAxODo0ODo0MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZGVidWcgbWVzc2FnZSBtYWRlIGludG8gZXJyb3JzIGJlY2F1c2UgdGhhdCdzIHdoYXQgdGhleSBhcmUuLi4KCSAgMjAwODAzMjAxODQ4NDEtNGYwZjYtOGEyZDI4MzI5N2IwMjcxM2RhZGUwYWU0YWNhYTVmNmUwZjY3ZWFjZS5negoKMjAwOC0wMy0yMCAxODozOTozNyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xlYW4gdW51c2VkIHN0dWZmLi4uCgkgIDIwMDgwMzIwMTgzOTM3LTRmMGY2LWJjYjg0MWNkYzA3ZjllOTY3NzUxMmY0YjUwYjRiNjU5YTU4YzY3ODMuZ3oKCjIwMDgtMDMtMjAgMTg6Mzk6MTIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggY29weXJpZ2h0cwoJICAyMDA4MDMyMDE4MzkxMi00ZjBmNi02ODkzNjVkNWE0MDY2MzJlM2QwODhmYWM3NGU0ZmI2ZjhhNGViMGVhLmd6CgoyMDA4LTAzLTIwIDAxOjEzOjAxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkaW5nIHN1cHBvcnQgZm9yIHJ0cGR0bWZkZXBheQoJICAyMDA4MDMyMDAxMTMwMS00ZjBmNi1kMzZhNWQyNGJlMjAzMzZlMzZjNDc5NmQ3NTQ3NmM5YjVlZTFhN2UxLmd6CgoyMDA4LTAzLTE5IDE5OjMyOjUxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGVuY29kaW5nIG5hbWUgaGFzIHRvIGJlIHVwcGVyLWNhc2UKCSAgMjAwODAzMTkxOTMyNTEtM2UyZGMtMTU4MWIzM2JlOWI0ODZlMzVlYzQ5NDgwMDk2NzdjY2Q1ZmZkYzA5OC5negoKMjAwOC0wMy0yMCAwMDo1MTo0NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkaW5nIG5lY2Vzc2FyeSBmaWxlcyBmb3IgcnRwZHRtZmRlcGF5CgkgIDIwMDgwMzIwMDA1MTQ3LTRmMGY2LTU1MGZlMjJmNzAxNTJmM2FhYjNkY2Q3YTZiMDJjYmY4MWU4OTIzMmQuZ3oKCjIwMDgtMDMtMjAgMDA6NTA6NDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggdHlwb3MKCSAgMjAwODAzMjAwMDUwNDEtNGYwZjYtOWQyMmZhNWQxNTVlMzViNjA1ZWE4NWIxZmQ5ZTcxOTdhODgyYTFmMC5negoKMjAwOC0wMi0xNiAxMzo0MTo0MCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZHRtZnNyYzogQ29ycmVjdGx5IHNldCB0aGUgZW5kaWFuZXNzIGluIHRoZSBjYXBzIHRvIHRoZSBtYWNoaW5lcyBlbmRpYW5lc3MKCSAgMjAwODAyMTYxMzQxNDAtOTNiOWEtNDBhM2E5ZDdhYzE2NzljNWUwZGZkMjRhNmI5MWU0YWJhNmNjNjQ5Ni5negoKMjAwNy0wOS0xNyAxNzo1MjozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZWFyY2gmUmVwbGFjZSBvb3BzCgkgIDIwMDcwOTE3MTc1MjMzLTNlMmRjLTU3ZjU3OWM0Yjg5MDk5M2Y0OWZhOGU5ZTY0NzBhM2ViNzlkMmI5MjIuZ3oKCjIwMDctMDktMTcgMTc6NTE6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZXZlbnRzIGRvbnQgeWV0IGJlbG9uZyBpbiB0aGUgY2FwcwoJICAyMDA3MDkxNzE3NTEzMy0zZTJkYy1mZDFkODNiNzgyNmI4OTgxMTBmYzU3MWFlN2MzNDQwZjE4ODc0MzRkLmd6CgoyMDA3LTA5LTE3IDE2OjA4OjIwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHBhdGNoIHRvIG1ha2UgaXQgd29yayB3aXRoIG1hZW1vIGRzcCBzb3VyY2VzIHRoYXQgcGF5bG9hZCBpbmNvcnJlY3RseQoJICAyMDA3MDkxNzE2MDgyMC0zZTJkYy0wNmIxYjFkMWIwOTE4YjMwZGFiZWE1YTA3MTRjYjczMmIzYjhkOGRkLmd6CgoyMDA3LTA5LTE3IDA0OjI2OjQ5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT29wcywgc2V0IHRvIG5vIHByZXJvbGwgd2hlbiBwbGF5aW5nLT5wYXVzZWQgdG9vCgkgIDIwMDcwOTE3MDQyNjQ5LTNlMmRjLTk0YWRiNmFhMDYxN2U4MTVhNmUyMzMyMzJkYWJiNGJiYzQ4ZGM4MmMuZ3oKCjIwMDctMDktMTcgMDA6MzY6NTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDb21wbGV0ZSBwb3J0IHRvIGJhc2VzcmMKCSAgMjAwNzA5MTcwMDM2NTQtM2UyZGMtZGIwZjg0ZGFiZDlkZDFhYzkyOWEwNDYxODY1YjhhYWE4ZWY5MWE3Ny5negoKMjAwNy0wOS0xNyAwMDoyNDoxMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBjYXBzIG5lZ290aWF0aW9uIGZ1bmN0aW9uCgkgIDIwMDcwOTE3MDAyNDEyLTNlMmRjLWNhMjY2ODE2ZTk2Mjk3NDZlOTA4M2M1YmI4YjdmNzNiOTRhOWIyYjAuZ3oKCjIwMDctMDktMTcgMDA6MTY6NTkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJvcGVybHkgZnJlZSBub24tc3RhcnQgZXZlbnRzCgkgIDIwMDcwOTE3MDAxNjU5LTNlMmRjLWE1NzE3NzdlM2VjZmI5MDk4OWY4NzQxMmY1NTRhYTEwYTMxY2MyY2EuZ3oKCjIwMDctMDktMTcgMDA6MTU6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGludGVydmFsIGFuZCBwYWNrZXRfcmVkdW5kYW5jeSBpbnRvIHVpbnQKCSAgMjAwNzA5MTcwMDE1NTItM2UyZGMtNjAwMzJlNTQ3YjM2NjliODczMTdjOTgxZDk4NWMxNTZhYWI5MWI0MC5negoKMjAwNy0wOS0xNiAxOTo0NDowOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgdGhlIHJ0cCBkdG1mIHNyYyB1c2UgYmFzZXNyYwoJICAyMDA3MDkxNjE5NDQwOC0zZTJkYy03MzQwMDAxMzBkY2UyNDM0YTAxNGFjZjg0M2Q2NDFmZjBlNjBhYTVhLmd6CgoyMDA3LTA5LTE2IDE5OjQxOjAxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgZHRtZiBzcmMgY29kZSBuaWNlcgoJICAyMDA3MDkxNjE5NDEwMS0zZTJkYy1hOGJlOGM1MDljNjU0MDBkMWQzOTYyZGEwMmU2N2QxNWQyMDU0MzE2Lmd6CgoyMDA3LTA5LTE2IDE5OjQwOjUyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVudXNlZCBkaXJlY3RvcnkKCSAgMjAwNzA5MTYxOTQwNTItM2UyZGMtNDRkN2Y0Y2IyZjIyMDc2MWI2NWUyYjliNmNlYzRiM2M2ZjhiZTdjNS5negoKMjAwNy0wOS0xNCAwNDoyMDo0MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcGxlbWVudCBzdG9wcGluZyBpbiBhIG5pY2UgdGhyZWFkIHNhZmUgd2F5CgkgIDIwMDcwOTE0MDQyMDQyLTNlMmRjLTFmZTI1N2ZmNGI3MmFjYTRiMGViNWYyODVhMTQ2NTBiOGRmMjY4YzMuZ3oKCjIwMDctMDktMTQgMDQ6MTg6MzQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIGdldF90aW1lcyAoV2ltIHNheXMgaXRzIG9ubHkgZ29vZCBmb3IgcmVhbGx5IGZha2Ugc291cmNlcykKCSAgMjAwNzA5MTQwNDE4MzQtM2UyZGMtZmZmNGQ1ZGEyYTE0NWYxOWU3YjYxMGExMDI3ZDJjNGQ0YmM1ZWFlMC5negoKMjAwNy0wOS0xMyAyMToyMTo0NSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHVzaW5nIHRoZSB1bmxvY2sgbWV0aG9kIG9mIGJhc2VzcmMKCSAgMjAwNzA5MTMyMTIxNDUtNGYwZjYtMGU0MzhhNjgxYmYxNjUxYzBjYzBkOGZhMzI2OWFlZDNmMTY2OGI2Yi5negoKMjAwNy0wOS0xMyAyMToxMjoyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG1vcmUgZGVidWcKCSAgMjAwNzA5MTMyMTEyMjYtNGYwZjYtYmMzMmI1ODI4ZmM4ZTAzMjNjOGE2ZWVlNzc5YTM4MTQ1YWFjZDU5My5negoKMjAwNy0wOS0xMyAyMDo0NjoxNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGFkZGVkIGRlYnVncwoJICAyMDA3MDkxMzIwNDYxNC00ZjBmNi02OGMyYTY5YWU3YTFlZmNhNmUxM2MxMTZkYmFkN2Y5YjY4NmYwMjQyLmd6CgoyMDA3LTA5LTEzIDE5OjIwOjUzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBzdXJlIHRvIHVubG9jayB0aGUgdGhyZWFkIHdoZW4gZ29pbmcgdG8gcmVhZHkgYW5kIHRvIGZsdXNoIHRoZSBxdWV1ZSB3aGVuIG1vdmluZyB0byBwYXVzZWQgb3IgcGxheWluZwoJICAyMDA3MDkxMzE5MjA1My00ZjBmNi03NmMzOTI1MzgwZDFhMzA5ODgyODYxNzA1MzVhNjVkZWE2NGE1NTgzLmd6CgoyMDA3LTA5LTEzIDE3OjU1OjIwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDaGFuZ2VkIGR0bWZzcmMgaW50byBhIHN1YmNsYXNzIG9mIEdzdEJhc2VTcmMKCSAgMjAwNzA5MTMxNzU1MjAtNGYwZjYtMTZjYTRiZjkzNjkwMDcyZjNlODM2ZDFjOGE1YjUyY2Y3YTQyMTkxNi5negoKMjAwNy0wOS0wNCAyMjo1Nzo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBhbm90aGVyIGZpeCBmb3IgYSBwb3NzaWJsZSByYWNlIGNvbmRpdGlvbgoJICAyMDA3MDkwNDIyNTc1My00ZjBmNi01YmE4YzQyNjBjMDAyYmIyN2ViOThlOWZhYmEzYzE1Nzk5MzU3YjU3Lmd6CgoyMDA3LTA5LTA0IDIxOjUyOjI0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBjb21tZW50IHRvIGV4cGxhaW4gcHVzaCBiYWNrCgkgIDIwMDcwOTA0MjE1MjI0LTNlMmRjLWQ5MmFjMWY0MDNkY2Y1NzE1NDZhN2M1M2YxODgwOWY4NDBlZWE1MWQuZ3oKCjIwMDctMDktMDQgMjA6NTU6MDkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcm9wZXJseSBkbyB0aGUgbG9ja2luZyB0byBhdm9pZCByYWNlIGNvbmRpdGlvbnMgd2l0aCBjbG9jayB1bnNjaGVkdWxpbmcKCSAgMjAwNzA5MDQyMDU1MDktM2UyZGMtZGExOTkwMGI1MWFmNmFlZGI2NTQ3ZjRmMzkyYmVmNGQxMDYxZGVjMi5negoKMjAwNy0wOS0wMSAwMDowMzoyNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG91cHMsIEkgZGlkIGl0IGFnYWluLi4uCgkgIDIwMDcwOTAxMDAwMzI0LTRmMGY2LTNkOGI0NjY5MWVlNTIwNTM3YjA2YzUxMWE1ZTczMmY1YjgxMmI4NDQuZ3oKCjIwMDctMDgtMzEgMjM6NTQ6MjggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBvdXBzLCBzb3JyeS4uIERUTUYsIG5vdCBSVFBfRFRNRiBmb3IgdGhpcyBmaWxlLi4uCgkgIDIwMDcwODMxMjM1NDI4LTRmMGY2LTAwYjYwNmJmYjQ4OTJlNGYyMTdjNDQwYjYxMWNjNzk0YWIwZGU1NWEuZ3oKCjIwMDctMDgtMzEgMjM6NDQ6MTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXhlcyB0aGUgZGVhZGxvY2sgd2hlbiBwYXVzaW5nIHRoZSBkdG1mc3JjIGFuZCBydHBkdG1mc3JjLiBIYWQgdG8gcHVzaCBzb21ldGhpbmcgb24gdGhlIGFzeW5jIHF1ZXVlIHRvIHJlbGVhc2UgdGhlIGJsb2NraW5nIGFzeW5jX3F1ZXVlX3BvcCgpLiBUaGFua3MgdG8gT2xpdmllciBmb3IgdGhlIHNvbHV0aW9uLgoJICAyMDA3MDgzMTIzNDQxMy00ZjBmNi03OTNjZjM1ZmM0MzYzNmU3Mjc1MjU4Y2M3MDYzZmMwNjhmNWVmYTBhLmd6CgoyMDA3LTA4LTI4IDIyOjE1OjM0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xvY2tJRCB3aGVuIHdhaXRpbmcgZm9yIGJ1ZmZlciBpcyBub3cgdW5zY2hlZHVsZWQgd2hlbiBzdG9wcGluZyB0aGUgdGFzay4gVmFyaW91cyBmaXhlcyB0byBhdm9pZCBidWdzICh0aGFua3MgdG8gLVdhbGwgLVdlcnJvcikuIEZpeGVzIHRvIGFsbG93IHRoZSBtZXJnZSBvZiB0aGUgYnJhbmNoLgoJICAyMDA3MDgyODIyMTUzNC00ZjBmNi1iMGQ2YTRmZTQ4YzRlMmExNmI5ZmY2OWNiMzEwMDg3Yzk3MGNlNDhlLmd6CgoyMDA3LTA4LTI4IDE3OjE1OjQ2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGVhbmVkIHVwIHRoZSBjb2RlIGEgYml0LCBubyB1c2Ugb2YgR1NUXyogYW5kIHJldHVybiB2YWx1ZSB2ZXJpZmljYXRpb24gZnJvbSBnc3RfKgoJICAyMDA3MDgyODE3MTU0Ni00ZjBmNi1iZGViNGIxYjdmOTlmOTQ2NGFhYmU1YzQzYmQ0YTRkMjAyNTI2MmI2Lmd6CgoyMDA3LTA4LTI3IDE5OjU2OjEwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IG92ZXJseSBsb25nIGxpbmVzIGFuZCB0YWJzCgkgIDIwMDcwODI3MTk1NjEwLTNlMmRjLTM5NmEzZmEwMWUxNmYxODRlNDEwOWM3MWZlMmRlYjZlNTE2YmRmMGQuZ3oKCjIwMDctMDgtMjcgMTk6MjY6MTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHVudGFiYmlmaWVkIGR0bWZzcmMKCSAgMjAwNzA4MjcxOTI2MTgtNGYwZjYtNzdkNjgwNzA0NjRmMWI1ZjlhNDZjYjZlZWMyZDkyMjM0MDE0M2MwNC5negoKMjAwNy0wOC0yNyAxNzoyNDoyNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBSVFAgdGltZXN0YW1wcyBieSBzZW5kaW5nIGEgbmV3X3NlZ21lbnQgZXZlbnQgdG8gdGhlIHBheWxvYWRlcgoJICAyMDA3MDgyNzE3MjQyNC00ZjBmNi1kMjA5MDdlM2Q0MzZkNTBiZmU3NGViNGZjM2QyZDZkN2I2YjZkYmM1Lmd6CgoyMDA3LTA4LTI3IDE3OjIzOjM5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQmV0dGVyIGhhbmRsaW5nIG9mIHBhY2tldHMsIHdlIHNlbmQgdGhlIHNhbWUgZHVyYXRpb24gZm9yIGFsbCBwYWNrZXRzIHRvIGF2b2lkIGh1Z2UgcGFja2V0cyB3aGVuIG1pbiBkdXJhdGlvbiBkZWZpbmVzIGFyZSBtb2RpZmllZC4KCSAgMjAwNzA4MjcxNzIzMzktNGYwZjYtY2M5MzMwNDQzN2VhMzc2ZmZmNjQ1OGM3NGM0NmMxOWY2OTIwZDMyOS5negoKMjAwNy0wOC0yNyAxNzoyMzoyMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENoYW5naW5nIG1pbmltdW0gdmFsdWVzIHRvIHdvcmsgYmV0dGVyIG9uIHNvbWUgZ2F0ZXdheXMKCSAgMjAwNzA4MjcxNzIzMjItNGYwZjYtNWJmMmJmZmE1OWE4MjQ0NTM4ZGNlZDc5NWZhN2Q3NjQ5NDUyY2E5MS5negoKMjAwNy0wOC0yMiAyMDoxNjo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRoZSBEVE1GIHRvbmUgZ2VuZXJhdG9yIG5vdyByZXNwZWN0cyB0aGUgdm9sdW1lIGFyZ3VtZW50IHBhc3NlZCBpbiB0aGUgZXZlbnQKCSAgMjAwNzA4MjIyMDE2NTMtNGYwZjYtOGI3ZmY4NzQwMDZlMTFmNWE3NGQwZmQ5MWU1YTlhNDNjZDA4MmFkYS5negoKMjAwNy0wOC0yMiAxODowMTozMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGRvbid0IGtub3cgd2h5IEkgZGlkIHRoYXQuLi4KCSAgMjAwNzA4MjIxODAxMzMtNGYwZjYtNmE3MzgyZjZjN2QzNjMwZjkxZGEzODRlMTkwNDc2M2M3ZWE2ZmExYS5negoKMjAwNy0wOC0yMiAxNzo1NTozMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUG9ydGVkIHRoZSBldmVudCBxdWV1ZSB3b3JrIGZyb20gZHRtZnNyYyB0byBydHBkdG1mc3JjCgkgIEFkZGVkIGEgcXVldWUgYmFzZWQgc3lzdGVtIGZvciB0aGUgcnRwZHRtZnNyYy4gTm93IGl0IHdhaXRzIGZvciBzdGFydC9zdG9wIG1lc3NhZ2VzIG9uIHRoZSBxdWV1ZSwgYW5kIG1ha2VzIHN1cmUgdGhhdCB0aGUgbWluaW11bSBkdXR5IGN5Y2xlICgxMjBtcykgaXMgcmVzcGVjdGVkIGJldHdlZW4gZWFjaAoJICB0b25lLCBpbmNsdWRpbmcgaW50ZXItZGlnaXQgc2lsZW5jZS4KCSAgMjAwNzA4MjIxNzU1MzMtNGYwZjYtZjI3NDE0YzQwNmYxZjdiMDBjOWE5MDg0YTk4OGNmM2E3OTMwZmU1Yy5negoKMjAwNy0wOC0yMiAxNzo1NDo0NCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG91Y2gsIHByaW50aW5nIHdpdGggYXJndW1lbnRzIGJ1dCB3aXRob3V0ICVzLi4gdGhhdCBtYWRlIGl0IHNlZ2ZhdWx0IGEgZmV3IHRpbWVzLi4uCgkgIDIwMDcwODIyMTc1NDQ0LTRmMGY2LTQ0NWVhNmNlN2E5NjY4ZDA0Y2Y5OTlhZjc3MmE1MDRlYzc0ZmI2N2EuZ3oKCjIwMDctMDgtMjIgMTc6NTE6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vdmVkIHRoZSB0aW1lc3RhbXAgZnJvbSB0aGUgZXZlbnQgdG8gZHRtZnNyYyBzdHJ1Y3R1cmUgc2luY2Ugd2UgaGF2ZSBvbmx5IG9uZSBldmVudCBhdCBhIHRpbWUsIHNvIGxldCdzIGtlZXAgaXQgc3RvcmVkIGluIHRoZSBkdG1mc3JjIHN0cnVjdAoJICAyMDA3MDgyMjE3NTEyNi00ZjBmNi01M2JjZGEyYmQ4YWU4YzU2ZDI5ZTYyZTY5YWMxOWEzMGUwOGFkMzUwLmd6CgoyMDA3LTA4LTIwIDIwOjM4OjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRlZCBhIHF1ZXVlIGJhc2VkIHN5c3RlbSBmb3IgdGhlIGR0bWZzcmMuIE5vdyBpdCB3YWl0cyBmb3Igc3RhcnQvc3RvcCBtZXNzYWdlcyBvbiB0aGUgcXVldWUsIGFuZCBtYWtlcyBzdXJlIHRoYXQgdGhlIG1pbmltdW0gZHV0eSBjeWNsZSAoMTIwbXMpIGlzIHJlc3BlY3RlZCBiZXR3ZWVuIGVhY2ggdG9uZSwgaW5jbHVkaW5nIGludGVyLWRpZ2l0IHNpbGVuY2UuCgkgIDIwMDcwODIwMjAzODI2LTRmMGY2LTc1MGEyMmI2MTJhNWU0OTVlNzY3NjY2OTM0NDY1YzM0ZmUzMjA3NGIuZ3oKCjIwMDctMDgtMjAgMTg6NDg6NTIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRlZCBkdG1mc3JjLCBhIERUTUYgVG9uZSBHZW5lcmF0b3IsIGFuZCBtYWRlIGl0IHBhcnQgb2YgdGhlICdkdG1mJyBwbHVnaW4uCgkgIDIwMDcwODIwMTg0ODUyLTRmMGY2LWEwZDg1ZTY3NzA4MjkwYWViYWZhODlhYjc5ZDNjZWRkNTgxNWI2MjAuZ3oKCjIwMDctMDgtMjAgMTg6NDg6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJKiBnc3QvcnRwZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3ZlZCBydHBkdG1mIHRvIGR0bWYgZGlyZWN0b3J5CgkgIDIwMDcwODIwMTg0ODAwLTRmMGY2LWZhMzNlYTk3NDUxMDE2MWRlOGM5OTUxYzM5MDg3YWYzNjEzYjY1YTQuZ3oKCjIwMDctMDctMTIgMTk6NTc6MTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZW5kIGFsbCBwYWNrZXQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZCwgaW5jbHVkaW5nIHRoZSBsYXN0IG9uZQoJICAyMDA3MDcxMjE5NTcxNS0zZTJkYy02ODQ4YzcwYTdmMDEzN2M5MWZhODgyYThlZmI2ZGJmODM4OTFhZTEzLmd6CgoyMDA3LTA3LTEyIDE5OjU1OjI4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1dCBub24temVybyBkdXJhdGlvbiBpbiBmaXJzdCBwYWNrZXQgYW5kIHB1dCBhIG1pbmltdW0gZHVyYXRpb24gb2YgNTBtcwoJICAyMDA3MDcxMjE5NTUyOC0zZTJkYy1kNDZlZGVhYWI4NGZiNTVlNzQ4NDJiZGNmNGY4NzkyZGZjZGIwNDU3Lmd6CgoyMDA3LTA3LTEyIDE2OjIzOjI4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBSVFAgdGltZXN0YW1wIG9uIGR0bWYgcGFja2V0cwoJICAyMDA3MDcxMjE2MjMyOC0zZTJkYy05OGMxMzAzZjRhNTJiODkxY2U1OWJmODhlMDdkMjlmNGUyZGZjOTc0Lmd6CgoyMDA3LTA3LTExIDE1OjUyOjAyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9ubHkgc2V0IG1hcmtlciBvbiB2ZXJ5IGZpcnN0IHBhY2tldCBvZiBhbiBldmVudAoJICAyMDA3MDcxMTE1NTIwMi0zZTJkYy1mN2VhM2FiZDJjYjBjYTI5MzdlYTQ1MDhlNmUzMDFiYWFhNmUyMTU0Lmd6CgoyMDA3LTA3LTExIDE1OjUxOjU3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNlbmQgb24gcGFja2V0IHN0YXJ0IHRpbWUKCSAgMjAwNzA3MTExNTUxNTctM2UyZGMtZWUwZTlmYzEzZDM1Mjk2NTkzMDA1MjY3YTI0MTdkZDY1ZTc5MGQyOS5negoKMjAwNy0wNy0xMSAxNTo1MDo1NiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSVFAgdGltZXN0YW1wIGlzIHRoZSB0aW1lIG9mIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGR0bWYgZXZlbnQKCSAgMjAwNzA3MTExNTUwNTYtM2UyZGMtY2I1Y2RhNzNmYmY3ZGYxYzU0NWNiMDMyMWIwZTMzOTkxNGM1ODk3Zi5negoKMjAwNy0wNC0yNCAyMDowMjo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSA4MCBjb2x1bW4gaXMgZW5vdWdoIGZvciBldmVyeW9uZQoJICAyMDA3MDQyNDIwMDI1Mi0zZTJkYy1kMWJjMTcyNjZhZmZmMjU5OTEyOWEyNWQ0NDMzODA2MjM3MmY3ZWEzLmd6CgoyMDA3LTA0LTI0IDE5OjMxOjU1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHJlZHVuZGFuY3kgYW5kIGludGVydmFsIHByb3BlcnRpZXMgdG8gcnRwZHRtZnNyYyAocGF0Y2ggYnkgU1AgR0xFIDxzcGdsZWdsZUB5YWhvby5mcj4pCgkgIDIwMDcwNDI0MTkzMTU1LTNlMmRjLTY2Njg4MDAxZTdiNTI5YzQ2ZjEwODYzM2NkOTUyMDM0N2MzYzhjM2UuZ3oKCjIwMDctMDUtMDQgMTk6NTI6NTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT25seSBzZW5kIGR0bWYgaWYgdGhlIG1ldGhvZCBpcyB1bnNwZWNpZmllZCBvciBpcyAxCgkgIDIwMDcwNTA0MTk1MjUxLTNlMmRjLWI5NWI0YjhlOGRhZDg3OTYyY2YzOWVjMmVlNjdiNmYxYjYxOWU5YmQuZ3oKCjIwMDctMDMtMDggMjI6MzU6NTkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBkb2N1bWVudGF0aW9uIGNvbnNpc3RlbnQgd2l0aCBpdHNlbGYKCSAgMjAwNzAzMDgyMjM1NTktM2UyZGMtY2MyMGZlNTcxMzcwYmM1MWJmOTYzY2MzZGYxYjhhYjRhM2RkYzIwYi5negoKMjAwNy0wNC0xMiAyMDowNDozNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBzZWdtZW50IHRvIGNhbGN1bGF0ZSBkdG1mc3JjIHJ0cCB0aW1lc3RhbXAKCSAgMjAwNzA0MTIyMDA0MzUtM2UyZGMtYjVjYzI2YjEyYjZlOGI4OWYxMzFmZDI3ZjBlNDYyNzc0NmU4NTY5Ny5negoKMjAwNy0wNC0wMiAxMjo0NjozNSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGVhbi11cCBhbmQgcmVmYWN0b3JpemUgZHRtZnNyYyBjb2RlCgkgIDIwMDcwNDAyMTI0NjM1LTY1MDM1LTNkMTMyNDQ0NjFjMWRkMWZjYzk2Yjc0MTI0YWQ3YTc0ZDJmZjAxNDQuZ3oKCjIwMDctMDMtMzAgMTU6NDM6MDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT29vcHMsIGxpdHRsZSB0eXBvCgkgIDIwMDcwMzMwMTU0MzAzLTNlMmRjLTlmNmVkY2RlMjRkMzBjYWVhOGVhODc2YjI0YTNhNjgwZDQwYjJlYTEuZ3oKCjIwMDctMDMtMzAgMDA6MTc6MDAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGl0IGdlbmVyYXRlIHRoZSBwcm9wZXIgcnRwIHRpbWVzdGFtcHMgaW4gc3luYyB3aXRoIHRoZSBsaXZlIHNvdXJjZQoJICAyMDA3MDMzMDAwMTcwMC0zZTJkYy1iYmY5NTRlNGVkZWMwNjE1YzRlZWU2MDNmYmM2YWI4YTdkODk0MzZmLmd6CgoyMDA3LTAzLTI5IDExOjQyOjU3ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEluY3JlbWVudCB0aGUgdHMgYWZ0ZXIgc2V0dGluZyB0aGUgYnVmZmVyJ3MgdHMKCSAgMjAwNzAzMjkxMTQyNTctNjUwMzUtYzg2ODZhYjRjZTIwYjFmMzZmM2RhYzEyMDQ4NWFkZTVjZDkwYWFjOS5negoKMjAwNy0wMy0yOSAxMDozOTo0NiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDYWxjdWxhdGUgdGhlIHJ0cCB0cyBiZWZvcmUgZ3N0IHRzIGdldCBpbmNyZW1lbnRlZAoJICAyMDA3MDMyOTEwMzk0Ni02NTAzNS1mNzRlM2EwMTQwYzU3ZTk0MTQ0NGJiODM3ZDYwNTNhZDFjM2NmNTY3Lmd6CgoyMDA3LTAzLTI5IDEwOjM5OjA0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNvbWUgY29kZS1jbGVhbnVwCgkgIDIwMDcwMzI5MTAzOTA0LTY1MDM1LWRiMDhjYzdjMzA5OGI2MGE1NTZkMzgwOWRlOTEyY2QwZTFhNTQ1YzEuZ3oKCjIwMDctMDMtMjkgMTA6Mzg6MjQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW5pdGlhbGl6ZSB0aGUgR3N0U2VnbWVudCBhdCB0aGUgcmlnaHQgdGltZQoJICAyMDA3MDMyOTEwMzgyNC02NTAzNS05YWIzYTBhMDNjNWY5MzI5Y2Q0NjI1YWU2NTY3YzJjMWZkNGE3M2Q4Lmd6CgoyMDA3LTAzLTI2IDEwOjU3OjEyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENhbGwgc2V0X2NhcHMgd2hlbiB3ZSBoYXZlIGFsbCB0aGUgcGFyYW1zCgkgIDIwMDcwMzI2MTA1NzEyLTY1MDM1LTNlM2RmY2UwYjUwZDYxZWFmZGE4NDZiZWUwYTZkNjZjMzU0MWM2ZWQuZ3oKCjIwMDctMDMtMjMgMTY6Mjk6MjIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IGNhcHMgb24gdGhlIGJ1ZmZlciBiZWZvcmUgcHVzaGluZyBpdAoJICAyMDA3MDMyMzE2MjkyMi02NTAzNS05ZTRiZTU0NDljNzljMGE0NTk5NjVlZTA3YWRiNGE4MTQzYzRjMWQ1Lmd6CgoyMDA3LTAzLTE0IDE3OjE3OjU2ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlcXVlc3QgZm9yIHN0cmVhbSBsb2NrIHdoZW4gZ2VuZXJhdGluZyBEVE1GIHBhY2tldHMKCSAgMjAwNzAzMTQxNzE3NTYtNjUwMzUtMGI0OTdkZmFjMjAzZmY0ZjU3OTUyNTQ4NWQ1ODA0ZTVmNTA5M2IzZi5negoKMjAwNy0wMy0wNyAxMTo0MTowOSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDb3JyZWN0IGNhcHMgcHJpbnRvdXQKCSAgMjAwNzAzMDcxMTQxMDktNjUwMzUtMTI0MjAyODg0OTE4YTljOGE4MDMwODBkNjk2NzIzNDUzOWQyNGI5Ny5negoKMjAwNy0wMi0xNiAxMjowNjowNiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgZG9jLXNlY3Rpb24gY29tbWVudHMKCSAgMjAwNzAyMTYxMjA2MDYtNjUwMzUtNmU3ZDI4NzIxZGMwODcyZjNmNTViYTdjY2Q0ZmVkM2Q2NmY4MTc1Zi5negoKMjAwNy0wMi0xNSAxMzo0ODo1MyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBjb3B5cmlnaHRzCgkgIDIwMDcwMjE1MTM0ODUzLTY1MDM1LTUwZmU1ZjhlOTk5YWU4NmExZTNiYTBkYmRlY2U0OTExZWI5ZGNjYTAuZ3oKCjIwMDctMDItMTUgMTM6MzU6MzYgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTm8gbmVlZCB0byBoYW5kbGUgZG93bnN0cmVhbSBldmVudHMKCSAgMjAwNzAyMTUxMzM1MzYtNjUwMzUtNjQ4Yjc5MWQ0MDRiZjA2OTAwYmQyNjk4ZDkyNTExN2M4OTc0M2RiOS5negoKMjAwNy0wMi0xNSAxMjoyNjo1NSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBdHRlbXB0IHRvIGNvcnJlY3QgZXZlbnQgaGFuZGxpbmcKCSAgMjAwNzAyMTUxMjI2NTUtNjUwMzUtNDcwNzBkOWEyOGMwOGQ5MzUzYjA0ZDJkOTMwMWUyOWI3ZWU3MmI4My5negoKMjAwNy0wMi0xNSAxMDoyNjoyOSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgcGF1c2VfdGFzayBpbnN0ZWFkIG9mIHN0b3BfdGFzayB0byBhdm9pZCBhbnkgcG9zc2libGUgZGVhZGxvY2tzCgkgIDIwMDcwMjE1MTAyNjI5LTY1MDM1LWE0OGM3NzM2NjFlMzg1YTkxZTAyMmUwYWMxZGEwODYyYzQyMDZmODUuZ3oKCjIwMDctMDItMTUgMTA6MTA6MzAgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXQgY29ycmVjdCBzZXEgYW5kIHRpbWVzdGFtcHMgb24gdGhlIHBhY2tldHMKCSAgMjAwNzAyMTUxMDEwMzAtNjUwMzUtNzE0NmEzYzRhOGQwZmVhYjUxM2QxM2EyMDdiMmNkYzVkZTMxMWYwMy5negoKMjAwNy0wMi0xNCAxMzo1NTowMSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCB0aGUgY29weXJpZ2h0IG5vdGljZQoJICAyMDA3MDIxNDEzNTUwMS02NTAzNS1lOTA3NTNiMWY2NTI1ZjdiOWMwYWMyZWI3ZTQwY2VmN2NhNjczZTY4Lmd6CgoyMDA3LTAyLTE0IDEzOjEzOjUyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mLy5naXQtZGFyY3MtZGlyOgoJKiBnc3QvcnRwZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgUlRQIERUTUYgZXZlbnQgcGFja2V0IGdlbmVyYXRvciBlbGVtZW50IGFuZCB0ZXN0IGFwcCBmb3IgaXQKCSAgMjAwNzAyMTQxMzEzNTItNjUwMzUtM2MxNGExMDQ3YzNjZDY2OTZmM2E3MTZhNjJiMjFkM2Y0YjlkYTYyYi5negoKMjAwOS0wMS0zMCAwOTowMzo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IGFjdHVhbGx5IHNldHRpbmcgdXAgYSBzeW1ib2xpYyBsaW5rIGZvciB0aGUgcHJlLWNvbW1pdCBob29rCgoyMDA5LTAyLTIxIDE3OjQ1OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEFkZCByZWFkLW9ubHkgcHJvcGVydHkgdG8gZ2V0IHRoZSBzdHJ1Y3R1cmFsIG1ldGFkYXRhCgoyMDA5LTAyLTIxIDE3OjQwOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZkZW11eDogQWRkIE1QRUcgdmlkZW8gYml0cmF0ZSB0byB0aGUgdGFncyBpZiBhdmFpbGFibGUKCjIwMDktMDItMjEgMTc6Mzg6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214ZnF1YXJrLmM6CgkqIGdzdC9teGYvbXhmcXVhcmsuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBteGZkZW11eDogUG9zdCBzdHJ1Y3R1cmFsIG1ldGFkYXRhIHRyZWUgYXMgdGFnIG9uIHRoZSBidXMKCSAgVGhpcyB3aWxsIGxhdGVyIGJlIHVzZWQgdG8ga2VlcCB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YSB3aGVuCgkgIHJlbXV4aW5nIGFuIE1YRiBmaWxlIGFuZCBjYW4gYWxzbyBiZSB1c2VkIGluIFBpdGl2aSBmb3IgZXhhbXBsZQoJICB0byBrbm93IHRoZSBmaWxlIHN0cnVjdHVyZSBhbmQgdG8gc2VsZWN0IHdoYXQgc2hvdWxkIGJlIHVzZWQKCSAgYW5kIHBsYXllZC4KCjIwMDktMDItMjEgMTY6MDk6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIG14ZmRlbXV4OiBGaXggY2FsY3VsYXRpb24gb2YgQUVTMyBiaXRyYXRlIHRhZwoKMjAwOS0wMi0yMSAxNjowNTo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBteGZkZW11eDogQWRkIGhlbHBlciBmdW5jdGlvbiB0byBjb252ZXJ0IE1YRnJhY3Rpb24gdG8gZ2RvdWJsZSBhbmQgdXNlIGl0CgoyMDA5LTAyLTIxIDE2OjAwOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgIG14ZmRlbXV4OiBPbmx5IHN0b3JlIHRoZSBtYWluIGRlc2NyaXB0b3IgaW4gc291cmNlIHBhY2thZ2VzCgkgIEZvciB0aGUgdHJhY2tzIHdlIHN0aWxsIHJlc29sdmUgdGhlIGRlc2NyaXB0b3JzIGJ1dCB0aGUKCSAgc291cmNlIHBhY2thZ2Ugb25seSBjb250YWlucyB0aGUgZGVzY3JpcHRvciBpdCByZWFsbHkgcmVmZXJlbmNlcwoJICBpbnN0ZWFkIG9mIGFsbCBzdWJkZXNjcmlwdG9ycyBvZiBtdWx0aXBsZSBkZXNjcmlwdG9ycy4KCSAgVGhpcyBtYWtlcyBpdCBlYXNpZXIgbGF0ZXIgdG8gc2VyaWFsaXplIHRoZSBzdHJ1Y3R1cmFsIG1ldGFkYXRhCgkgIGFnYWluLgoKMjAwOS0wMi0xNyAxNzozNzo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBTZXQgZnJlZSdkIG1lbW9yeSB0byBOVUxMIHRvIHByZXZlbnQgYSBkb3VibGUgZnJlZSBsYXRlciBpbiBzb21lIGNhc2VzCgoyMDA5LTAyLTE1IDA5OjUxOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IERvbid0IHVzZSBnZW5lcmljIG1ldGFkYXRhIHBhcnNlcnMgZm9yIHVua25vd24gbWV0YWRhdGEsIHRoZSByZXN1bHRzIGFyZSB1c2VsZXNzIGFueXdheQoKMjAwOS0wMi0xOSAxMTozNjo0NSArMDAwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmg6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmg6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogcy9mbHV0cy9tcGVndHMKCSAgQ2hhbmdlIGFsbCBkZWZpbml0aW9ucyBmcm9tIGZsdXRzIHRvIG1wZWd0cy4KCjIwMDktMDItMTAgMTg6NTg6NDAgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIGRvYyBpbmZyYXN0cnVjdHVyZSB0byB2YWx2ZQoKMjAwOS0wMi0xMCAxODo1Mjo1NCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICBEb2N1bWVudCB0aGUgR3N0VmFsdmUKCjIwMDktMDItMTAgMTg6MDM6MjYgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSAgTW92ZWQgdmFsdmUgZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodCB0byAtYmFkCgoyMDA5LTAyLTEwIDE3OjU3OjE2ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgUmVuYW1lIGZzdmFsdmUgdG8gdmFsdmUKCjIwMDktMDItMTAgMTc6NTU6NDcgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgUmUtaW5kZW50IHZhbHZlIGluIGdzdCBzdHlsZQoKMjAwOC0xMi0xMyAwMDozMTo0NSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJZ25vcmUgZXJyb3JzIGlmIGRyb3BwaW5nIGlzIHNldCB0byB0cnVlCgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMTItMTAgMTc6MDA6MzMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGdldGNhcHMgcHJveHlpbmcgdG8gdGhlIHZhbHZlCgoyMDA4LTA4LTIwIDE0OjExOjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWJhc2UgdmFsdmUgb250byBnc3RlbGVtZW50IGluc3RlYWQgb2YgYmFzZXRyYW5zZm9ybQoKMjAwOC0wOC0xOSAxODo0OTo1MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXZlcnQgIkZpeCByZWZjb3VudGluZyBpc3N1ZXMgaW4gcHJlcGFyZV9vdXRwdXRfYnVmZmVyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDY1ZGQ0NjBmMGEzYTljNDg4MmU2MzhjODYyMDhmNzRlZjYyYzM0NjAuCgoyMDA4LTA4LTA1IDExOjMwOjU3ICswMDAwICBzam9lcmRAbHVvbi5uZXQgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHJlZmNvdW50aW5nIGlzc3VlcyBpbiBwcmVwYXJlX291dHB1dF9idWZmZXIKCSAgMjAwODA4MDUxMTMwNTctYmUwZjItOWRjMjcwNzgxZjBhMGYyMWM2MTZlZDExZGJkMWYxOThmZDFiMzI2ZS5negoKMjAwOC0wNC0wOSAxNjozMjoyMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1bnVzZWQgZGlzcG9zZSBtZXRob2QgaW4gdmFsdmUKCSAgMjAwODA0MDkxNjMyMjEtM2UyZGMtOTJjY2IyZGI4NzRlNDZlMGQ5MmMxNTUyMDU3N2MxYmUwZTJiYzYxNy5negoKMjAwNy0xMi0xOSAyMDozMjozMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvbnQgaG9sZCB0aGUgb2JqZWN0IGxvY2sgd2hpbGUgY2FsbGluZyBiYXNlIGFsbG9jIGZ1bmN0aW9uCgkgIDIwMDcxMjE5MjAzMjMwLTNlMmRjLTY1MTkxNzVkOGQ4MTQ5NjUxNWIyZDkwNjBhYzMxNjY1MDU2MGY2OTEuZ3oKCjIwMDctMTItMTkgMjA6MzI6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IHRoZSBESVNDT05UIGZsYWcgYWZ0ZXIgZHJvcHBpbmcgYnVmZmVycwoJICAyMDA3MTIxOTIwMzIxOC0zZTJkYy1iYzVmMDNkODhmZjU4MzcwNDBiOTIxNGRlMDE2Y2MxNDI3NzZkZmMyLmd6CgoyMDA3LTEyLTE5IDAwOjU3OjM5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBkbyB0aGUgYWxsb2NfYnVmZmVyIGZ1bmN0aW9uIGluIHRoZSB2YWx2ZQoJICAyMDA3MTIxOTAwNTczOS0zZTJkYy0yYTBmZGZhMmYzOGYwM2FiNDc5MWZlNWM0YWI4NWU4NzkwMTEzNjgzLmd6CgoyMDA3LTExLTIxIDIwOjA4OjU4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT25seSBzZXQgcGFzc3Rocm91Z2ggdG8gVFJVRSBvbiBuZXdlciB2ZXJzaW9ucyBvZiBnc3QKCSAgMjAwNzExMjEyMDA4NTgtM2UyZGMtYjE2Y2RlYWJiYzNjMDU2MmM2ZmM3YjExYjliOTc5MmM5MTBmNTY5ZS5negoKMjAwNy0xMS0yMSAxODoxNzoyOSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENvbXBhcmUgbWlub3IsIG5vdCBtYWpvcgoJICAyMDA3MTEyMTE4MTcyOS0zZTJkYy1hNTk5N2MzYjdmNWM4Njk2NjM3MDk2OTcxNGZhY2Y4ZWUyNDI2NTlkLmd6CgoyMDA3LTEwLTI2IDIyOjM3OjQ5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSB0aGUgdmFsdmUgZWxlbWVudCB3b3JrIHdpdGggZ3N0IDwgMC4xMC4xMwoJICAyMDA3MTAyNjIyMzc0OS0zZTJkYy0xOGY2ODVhNGU0NWZiZGNlNjc3YWM3Nzc1ODY4NzZmYzcxOWQ3MjIyLmd6CgoyMDA3LTEwLTI0IDIyOjQyOjQ2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW5hbWUgdmFsdmUgdG8gZnN2YWx2ZQoJICAyMDA3MTAyNDIyNDI0Ni0zZTJkYy1jNTQyMTZhZjJlZjBlZjNmMWEyMjA2ZDcyM2U4N2JlMmEyM2FiOGVkLmd6CgoyMDA3LTEwLTI0IDIyOjQxOjQ3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L3ZhbHZlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgdmFsdmUgZWxlbWVudAoJICAyMDA3MTAyNDIyNDE0Ny0zZTJkYy1mMjhhYjBjMDczZTI4Mzg5NGI2NWMyMmM0ZjQ0Mzk3Yzg5N2RlYzAxLmd6CgoyMDA5LTAyLTEwIDE5OjIwOjI2ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIEFkZCBzb21lIGRvY3VtZW50YXRpb24gdG8gdGhlIHNpcmVuIGVuYy9kZWMgcGx1Z2lucwoKMjAwOS0wMi0xMCAxOToyMDoxOSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBSZS1pbmRlbnQgdGhlIHNpcmVuIHN0dWZmIHRvIGJlIGdzdCBzdHlsZQoKMjAwOS0wMi0xMCAxNzoyOTowNSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJICBNb3ZlZCBzaXJlbiBmcm9tIGdzdC1wLWZhcnNpZ2h0IHRvIC1iYWQKCjIwMDktMDItMTAgMTc6MjM6MzggKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbnBheS5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uYzoKCSAgTW92ZSBzaXJlbiBydHAgcGF5L2RlcGF5ICB0byBnb29kCgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMTAtMDUgMjI6MDM6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHVuZGVyc2NvcmUgdG8gbWFrZSB0aGUgZW5jb2RlciBsaWtlIHRoZSBkZWNvZGVyCgoyMDA4LTEwLTA1IDIyOjAxOjQ0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbmFtZSBvZmZzZXQgdG8gb3V0X29mZnNldCB0byBtYWtlIGl0cyBtZWFuaW5nIGNsZWFyZXIKCjIwMDgtMTAtMDUgMjI6MDA6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2hlY2sgdGhlIHNpemUgb2YgdGhlIGlucHV0IGJ1ZmZlciwgbm90IHRoZSBvdXRwdXQgYnVmZmVyCgoyMDA4LTA5LTE2IDE1OjQwOjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFByZXNlcnZlIHRpbWVzdGFtcAoKMjAwOC0wNy0wNCAyMjoyMTowMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdXNlbGVzcyBjaGVja3MsIGRvY3VtZW50IGxvY2tpbmcKCSAgMjAwODA3MDQyMjIxMDMtM2UyZGMtNDdhN2Y0OWM0MTRmOThhMTg4ZmZjNDJiMDcxODlkYWY1MTQ3NDgzYi5negoKMjAwOC0wNy0wNCAyMjoxNzo0MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBtYWtlIHNpcmVuZW5jIHRocmVhZCBzYWZlCgkgIDIwMDgwNzA0MjIxNzQzLTNlMmRjLWY5M2RhODY0MzhmNzUzZTE0YmUyNTE2NmFlZTQ1Zjg4MDJmN2QxMDAuZ3oKCjIwMDgtMDctMDQgMjA6MTg6MzAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVwbGFjZSB1c2UgR1NUX0RFQlVHX09CSkVDVCBpbiBzaXJlbmVuYwoJICAyMDA4MDcwNDIwMTgzMC0zZTJkYy04ZjNlNDAxYWFhNTk0YzhjYzU4NTNiNzNmNDFjYTVjYjA0N2VlMmQzLmd6CgoyMDA4LTA3LTA0IDIwOjE3OjQ0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQb3J0IHNpcmVuZGVjIHRvIEdzdGVsZW1lbnQKCSAgMjAwODA3MDQyMDE3NDQtM2UyZGMtOTliZjdiODZlNDJkYTM2M2Q4YzgyNjQ0OWQ4NGI0Mzc1MTU3MmQ1ZS5negoKMjAwOC0wNy0wNCAyMDowNDo1NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbGVhc2UgcmVmIGF0IHRoZSBlbmQgb2YgY2hhaW4KCSAgMjAwODA3MDQyMDA0NTQtM2UyZGMtMzg2ZjI2ODU4ODJhNzRkMDFjZTUwM2Y5MTM5NmVhMzc1MDZkYmU4My5negoKMjAwOC0wNy0wNCAyMDowMzoxNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1c2VsZXNzIGNhbGwgdG8gcGVla19wYXJlbnQKCSAgMjAwODA3MDQyMDAzMTUtM2UyZGMtNmIzMGVmZDJkMzJiNmNhOTY2MDlmNGJkYzBjM2UyODZmNDQ0MTc0Ni5negoKMjAwOC0wNy0wNCAyMDowMDoyOSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgR3N0U2lyZW5FbmMgdXNlIEdTVF8qX09CSkVDVCBhcHByb3ByaWF0ZWx5CgkgIDIwMDgwNzA0MjAwMDI5LTNlMmRjLWY2OGZkYWFhODkyOTAzOWZkODQxM2ZmMGJmOGZmNTE0ZjZlNGZiZTEuZ3oKCjIwMDgtMDctMDQgMTk6NTE6MDIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUG9ydCBzaXJlbmVuYyB0byBnc3RlbGVtZW50CgkgIDIwMDgwNzA0MTk1MTAyLTNlMmRjLWNkNzY4NzUxMmFjNTYwZmFhZjE1ZjUzZTFlMjYyZDE4NzRhMzZjZGYuZ3oKCjIwMDgtMDQtMjggMjI6MjI6MzcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTGluayBtb2R1bGVzIHdpdGggbGlibSB3aGVyZSByZXF1aXJlZAoJICAyMDA4MDQyODIyMjIzNy0zZTJkYy1iMWU5MTIwYzFlOWNhMWE1MTBiZmQ3YzI3ZTJkNDVmMGQ0YTEyNTA0Lmd6CgoyMDA4LTA0LTEyIDIzOjQzOjI1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZWQgZGVidWcgb3V0cHV0CgkgIDIwMDgwNDEyMjM0MzI1LTRmMGY2LTM2Yjk0NmE3Y2EzYWI0ZTU4MDI5MTdiODkzMGYwMzZjNTBhOTNhMjkuZ3oKCjIwMDgtMDQtMTAgMjM6NDM6MjggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vY29tbW9uLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPdXBzLCB0eXBvCgkgIDIwMDgwNDEwMjM0MzI4LTRmMGY2LTk2MmUzNzVlNzhkYTA1ZWFiNTI4OTJhNTdkMzIyNmZkZDJmZmM4NmQuZ3oKCjIwMDgtMDQtMTAgMDc6MDE6MTYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL2NvbW1vbi5jOgoJKiBnc3Qvc2lyZW4vY29tbW9uLmg6CgkqIGdzdC9zaXJlbi9kY3Q0LmM6CgkqIGdzdC9zaXJlbi9kY3Q0Lmg6CgkqIGdzdC9zaXJlbi9kZWNvZGVyLmM6CgkqIGdzdC9zaXJlbi9kZWNvZGVyLmg6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmM6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmg6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5wYXkuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uYzoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uaDoKCSogZ3N0L3NpcmVuL2h1ZmZtYW5fY29uc3RzLmg6CgkqIGdzdC9zaXJlbi9ybWx0LmM6CgkqIGdzdC9zaXJlbi9ybWx0Lmg6CgkqIGdzdC9zaXJlbi9zaXJlbjcuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGVkIFNpcmVuIGVuY29kZXIvZGVjb2Rlci9wYXlsb2FkZXIvZGVwYXlsb2FkZXIKCSAgMjAwODA0MTAwNzAxMTYtNGYwZjYtNzJmZmJkYmIyNjJmMDdiZmFiZDFlNDY5OTczYTAxYjMzNTliZWU0NS5negoKMjAwOS0wMi0xMCAxODo0NjowMyArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBBZGQgbGl2ZWFkZGVyIHRvIHRoZSBkb2NzCgoyMDA5LTAyLTEwIDE4OjM4OjExICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBEb2N1bWVudCB0aGUgbGl2ZWFkZGVyCgoyMDA5LTAyLTEwIDE2OjE4OjMyICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBNb3ZlZCBsaXZlYWRkZXIgZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodCB0byAtYmFkCgkgIFJlLWluZGVudCBsaXZlYWRkZXIgaW4gZ3N0IHN0eWxlIGFuZCBhZGQgaXQgdG8gY29uZmlndXJlCgoyMDA4LTEyLTEzIDAwOjA5OjQ2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIGxvZyBmb3IgbWVzc2FnZSB0aGF0cyBvbiBldmVyeSBidWZmZXIKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMDgtMjcgMTc6MTY6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbGl2ZWFkZGVyIDogSGFuZGxlIGppdHRlciBpbiBpbmNvbWluZyBidWZmZXJzCgkgIEluY29taW5nIGJ1ZmZlcnMgKGVzcGVjaWFsbHkgdGhvc2UgZnJvbSBhbiBSVFAgY29ubmVjdGlvbikgbWlnaHQgaGF2ZSBzbGlnaHQgdGltZXN0YW1wIGppdHRlci4gVGhpcyBpcyBub3JtYWxseSBoYW5kbGVkIGJ5IGF1ZGlvc2luayAoYWNjZXB0aW5nIHVwIHRvIDUwMG1zIG9mIGppdHRlcikuCgkgIEhlcmUgd2UgYWNjZXB0IGEgbWF4aW11bSBqaXR0ZXIgb2YgMTBtcy4gSWYgYSBidWZmZXIgaXMgd2l0aGluIDEwbXMgb2YgdGhlIGV4cGVjdGVkIHRpbWUsIHdlIGNvcnJlY3QgaXRzIHRpbWVzdGFtcC4KCjIwMDgtMDctMDQgMTg6NTc6MjEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBoYW5kbGluZyBvZiBwb3NpdGlvbiBxdWVyeSB0byBsaXZlYWRkZXIKCSAgMjAwODA3MDQxODU3MjEtM2UyZGMtN2E2ODdlMzQ2ZTc0YjQ0ZmE4NDdjNWU1YjZlYjY0YzNlMDk0OTc2NC5negoKMjAwOC0wNS0yMSAxNzoyMDowNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVwbGFjZSBDOTkgbGxhYnMgd2l0aCBDODkgY29kZQoJICAyMDA4MDUyMTE3MjAwNS0zZTJkYy04ZTYzN2QxZGFhMGUyN2NjMmVkYWUxZmRmZDBkYmYyMzg5NmZiNWJjLmd6CgoyMDA4LTA1LTE1IDAxOjIyOjU3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXNldCB2YXJzIGJlZm9yZSByZXN0YXJ0aW5nIHRocmVhZCBvbiBmbHVzaCBzdG9wCgkgIDIwMDgwNTE1MDEyMjU3LTNlMmRjLWUzNTIxNzUyY2YzZWFmMmI4NzY3ZjRjNjIwZWFkZmMyNGE4ZThlMzEuZ3oKCjIwMDgtMDUtMTUgMDE6MjI6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcGxlbWVudCBmaXJzdCB2ZXJzaW9uIG9mIHNlZWtpbmcKCSAgMjAwODA1MTUwMTIyMjctM2UyZGMtN2Y1M2Y3OGQxYzNkZmRjZGI2ZTdhZDUzZTZjN2YxNmQ1ZTk5OGEwNS5negoKMjAwOC0wNS0xNSAwMToyMTo0MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGR1cmF0aW9uIHF1ZXJ5IGZyb20gYWRkZXIKCSAgMjAwODA1MTUwMTIxNDItM2UyZGMtMjc2ODE5OTE4M2JmYjlkNTY5YmUxMzg5ZTM4MmJlZGMwMmUzZTk1ZS5negoKMjAwOC0wNS0xNSAwMDowMjoxNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTW92ZSBmbHVzaCBzdG9wIGluc2lkZSB3aGVyZSBpdCBiZWxvbmdzCgkgIDIwMDgwNTE1MDAwMjE0LTNlMmRjLWNkYTVjZGRkMWVhZDVjNDhhNTU0ZTllOWJjNzVhZTY4NDM3YmNkZmIuZ3oKCjIwMDgtMDUtMTQgMjM6NDk6NDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEhhdmUgdGhlIGxpdmVhZGRlciByZW1lbWJlciBpZiBpdHMgcGxheWluZyBvciBub3QKCSAgMjAwODA1MTQyMzQ5NDgtM2UyZGMtOTA2NGEyN2E1NGFlZjU5ODQ0NGFhNmFkNjQ2MzM0NTk3OTEyMDgyOC5negoKMjAwOC0wNS0xNCAyMzo0OToxMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHVzaCBvdXQgYnVmZmVyIGlmIHdlJ3JlIG5vdCBwbGF5aW5nIHdoaWxlIHRoZXJlIGlzIG5vIGNsb2NrCgkgIDIwMDgwNTE0MjM0OTEwLTNlMmRjLTEwOTZlYjdkYzNmYWRhMTlhZmM4MWRjZDUzNmQ5ZWRjODIxZDBkYTkuZ3oKCjIwMDgtMDUtMTQgMjM6MjY6NDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEVtcHR5IHRoZSBxdWV1ZSBvbiBmbHVzaCBzdGFydAoJICAyMDA4MDUxNDIzMjY0My0zZTJkYy01YTNmNTJhM2ZkMzc3MTE2NGRlYTk1YmQxNDQxMGQ3NmI0ZmNlMmFhLmd6CgoyMDA4LTA1LTE0IDIzOjE3OjUyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXNldCBwYWQgcHJpdmF0ZSBvbiBmbHVzaCBzdG9wCgkgIDIwMDgwNTE0MjMxNzUyLTNlMmRjLTExM2ZlYzJmYWFmYzJkYzExYzFlYWE4MThjYjQ4OGI3MWU2MDFmOWIuZ3oKCjIwMDgtMDUtMTQgMjM6MTY6NDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBhc3MgcGFkIGFzIHBhZCB0byByZXNldF9wYWRfcHJpdmF0ZQoJICAyMDA4MDUxNDIzMTY0My0zZTJkYy0wMDY5NjBiOWNkYzNjZThlMWY4OTBkYzZkMTk0Nzc4Y2JjN2M5NzM2Lmd6CgoyMDA4LTA1LTAyIDE5OjEwOjA0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcmludCBkZWJ1ZyBtZXNzYWdlIGlmIHdlIHJldHVybiBub24tb2sgZnJvbSBjaGFpbgoJICAyMDA4MDUwMjE5MTAwNC0zZTJkYy1mMWY3MjM3YzA2YzExNThjZjI3ZTI5ZDMyYTY5ZGUwNmY3MTEyNTA2Lmd6CgoyMDA4LTA1LTAyIDE5OjA5OjU0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb24ndCByZXR1cm4gRU9TIGlmIHdlIGhhdmUgbm8gcGFkcwoJICAyMDA4MDUwMjE5MDk1NC0zZTJkYy00MTM1MTIyNWU5MDllNmQwODM3YTZhNjBlMTg3ZDMzYWIxODZhZDc2Lmd6CgoyMDA4LTA1LTAxIDIwOjMxOjU0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDaGVjayB0aGF0IHRoZSBmb3JtYXQgaXMgTk9UIHRpbWUKCSAgMjAwODA1MDEyMDMxNTQtM2UyZGMtNzgwZTQ2YjFmMGZlNzZhNjZlMmQ3OWEyZWI4NWQ3NjRmZjVmMTgyZi5negoKMjAwOC0wNC0yOCAyMjoxNzozNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9uJ3QgdXNlIGdfcXVldWVfY2xlYXIoKQoJICAyMDA4MDQyODIyMTczNy0zZTJkYy1iYjhlNDc0ODc1MWMyOWUwODU3MzEzYTA5Zjg1MDY3YWIxMmMzZmU0Lmd6CgoyMDA4LTA1LTAxIDIwOjA5OjQwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQYWQgcHVzaCBldmVudCBhZnRlciB0aGUgbG9jayBoYXMgYmVlbiB1bmxvY2tlZAoJICAyMDA4MDUwMTIwMDk0MC0zZTJkYy1hZTVmZWM1Zjc5ZjMyNzc3YmJhNjQ5ZDBkNzAwZDQ5ZjdiZWRmZjQwLmd6CgoyMDA4LTA1LTAxIDE4OjI1OjU0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDcmVhdGUgZ2VuZXJpYyBzZWdtZW50IGlzIG5vbmUgcmVjZWl2ZWQgYW5kIHJlZnVzZSBub24tdGltZSBzZWdtZW50cwoJICAyMDA4MDUwMTE4MjU1NC0zZTJkYy1hY2U1Y2EwMDA0MTQ0MjhkNmQ5NDQ3OGFkYzU5MjdjOWY5MTk3NWRmLmd6CgoyMDA4LTA0LTI5IDE0OjA4OjAyICswMDAwICBTaW1vbiBNY1ZpdHRpZSA8c2ltb24ubWN2aXR0aWVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBtaXNzaW5nIHNlbWljb2xvbiAoZGlkIGFueW9uZSB0ZXN0IHRoaXM/ISkKCSAgMjAwODA0MjkxNDA4MDItNTNlZWUtNDFmZGI0MzkxZWRkYjEyNWI3ZTM0MDE5NDI3Y2ZhNWRjOGFmZDZjMC5negoKMjAwOC0wNC0yOSAwMDozNjowMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSb2J1c3RuZXNzIGNoZWNrLCBtYWtlIHN1cmUgdGhlIHF1ZXVlIGlzIG5vdCBlbXB0eSBiZWZvcmUgdXNpbmcgdGhlIGhlYWQgZWxlbWVudAoJICAyMDA4MDQyOTAwMzYwMC00ZjBmNi03MDhjNjU0YjY1ODEyY2FlYjM2MTIyNDhkYmUwYjJlNjI1NjdjMjUwLmd6CgoyMDA4LTA0LTI5IDAwOjM0OjEyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1c2VsZXNzIGNvbmRpdGlvbgoJICAyMDA4MDQyOTAwMzQxMi00ZjBmNi05ZTg5MGFkMGFjNDQyNzkxYThiMjI2NTBhNzVjYjc1NGQ3ZjJkNzIzLmd6CgoyMDA4LTA0LTI5IDAwOjAzOjM5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGNoZWNrIGFnYWluc3QgYXVkaW9fYnVmZmVyX2NsaXAgd2hpY2ggY2FuIHJldHVybiBOVUxMIGlmIHRoZSBidWZmZXIgaXMgb3V0c2lkZSB0aGUgY2xpcHBpbmcgc2VnbWVudAoJICAyMDA4MDQyOTAwMDMzOS00ZjBmNi03ZTRlMzFmMDY2Yjg3ZTI5MjY1ZGRiMzk3ODkyOWU1MWVmYmZmNDdkLmd6CgoyMDA4LTA0LTI4IDIzOjQ5OjQ4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBvYmplY3QgbG9ja2luZyBpbiBzZXRjYXBzCgkgIDIwMDgwNDI4MjM0OTQ4LTRmMGY2LTQ1ODY0MzRiNDMwOGUxMTRmNDk1ZTkyNjk5NmZjMTk0ODNjMTA1NmYuZ3oKCjIwMDgtMDQtMjggMjM6NDk6MzUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIGdfY29uZF9icm9hZGNhc3QgaW5zdGVhZCBvZiBnX2NvbmRfc2lnbmFsCgkgIDIwMDgwNDI4MjM0OTM1LTRmMGY2LWU1MWZhYjMxNzcyYjMyZjJmYjA4MGFkNzBjNmJlZGVmYzVjMjZkYzYuZ3oKCjIwMDgtMDQtMjggMjM6Mjg6NTEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWF4IGxhdGVuY3kgc2hvdWxkIGFsc28gYmUgaW5jcmVhc2VkIGJ5IG91ciBvd24gbGF0ZW5jeQoJICAyMDA4MDQyODIzMjg1MS00ZjBmNi0wNWY5YTg5NDAzY2Q1NDIxMWYyZjRhNjU5NTcwNDI3MGVhYjk2MTZmLmd6CgoyMDA4LTA0LTI4IDIyOjM2OjA2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggZGVhZGxvY2sgb24gaW52YWxpZCB0aW1lc3RhbXAgZXJyb3IKCSAgMjAwODA0MjgyMjM2MDYtM2UyZGMtOTYzZTQ4YjMzZWZhZjg0YzE2ZDRlYzRiNzg5YTZkZmIyZDkzNThhZC5negoKMjAwOC0wNC0yOCAxNjoxOTo1OCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRlZCBjb21tZW50IGZvciBjbGFyaXR5CgkgIDIwMDgwNDI4MTYxOTU4LTRmMGY2LWNiYWExNjZmYmRlOTkwMTNiNTU1YzY5YWI0OGQ5NjRkNzU3NzNhN2YuZ3oKCjIwMDgtMDQtMjggMTY6MTI6MzUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gYWRkZWQgVE9ETyBjb21tZW50cwoJICAyMDA4MDQyODE2MTIzNS00ZjBmNi1mYmM3ODUzM2QyOWQzN2I2NWFkZDZmNjA0NmZlYzE3Y2U1ZTMwY2FlLmd6CgoyMDA4LTA0LTI4IDE1OjU5OjI3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGNoZWNrX2VvcyB3aWxsIGFsd2F5cyByZXR1cm4gRkFMU0UgaGVyZS4uCgkgIDIwMDgwNDI4MTU1OTI3LTRmMGY2LTFhOTNlMjk1ZDNkZjY4YTk2MzY3Yjc1MDYwYTg5YTk0N2VmYTg5NDQuZ3oKCjIwMDgtMDQtMjggMTU6NDk6NTYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gYWRkZWQgY29tbWVudCBvbiB0aGUgbm8gY2xvY2sgZXJyb3IKCSAgMjAwODA0MjgxNTQ5NTYtNGYwZjYtN2UyNGVkMzFmOWM4MjJlNDMyM2I2ODFhNTRiYzIzZjAzYzFhMzI1ZS5negoKMjAwOC0wNC0yOCAxNTo0ODo1MCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBlcnJvciBpZiBubyBjbG9jayBpcyBhdmFpbGFibGUKCSAgMjAwODA0MjgxNTQ4NTAtNGYwZjYtMzhmZGM0MTM0ODM1YzQ1N2QwMDU0MzAxNTc5ZDhjZDRjYmQ0OTg5YS5negoKMjAwOC0wNC0yNSAyMTowNDo1NiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSByZW5hbWluZyB1bnVzZWQgYXJnCgkgIDIwMDgwNDI1MjEwNDU2LTRmMGY2LWFiMWNkYzk0NGM5YmNkNzc5NTA0MjkyYjIxZGMxNzg3ZDZjYjYyYTEuZ3oKCjIwMDgtMDQtMjUgMjA6Mzk6MzggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcmVtb3ZlZCB1bnVzZWQgdXNlcl9kYXRhIGFuZCBjb21tZW50ZWQgbGluZQoJICAyMDA4MDQyNTIwMzkzOC00ZjBmNi03ODc3Nzg0NzViNjQ2NDYxZGE0MGYzZTAwMDBhMTBiYzk2ZTE0MmJjLmd6CgoyMDA4LTA0LTI1IDIwOjM3OjM1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHJlbW92ZSB1bnVzZWQgY2FzZXMgYW5kIGVtcHR5IHN3aXRjaAoJICAyMDA4MDQyNTIwMzczNS00ZjBmNi1jMDQ0MmZjZjU3ZTNmMDhiODFiYzFiZTNkNjlmNWNmYTAyNTdiNTJhLmd6CgoyMDA4LTA0LTI4IDE4OjM0OjA5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBFeHBsaWNpdCB0aGUgZGlzY29udCBmbGFnIG1hbmdsaW5nCgkgIDIwMDgwNDI4MTgzNDA5LTNlMmRjLTRkYjI1MDVlZWNhMDMzYTYzNDI1M2I2YzJkMmY0ZjEzOThlOWZjY2EuZ3oKCjIwMDgtMDQtMjggMTg6MDc6MTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVucmVmIGV2ZW50cyB3aGVuIHRoZXkgYXJlIGRyb3BwZWQKCSAgMjAwODA0MjgxODA3MTEtM2UyZGMtZWI2NTk3ODdmMTc5NTYyZjE1NDAyYzgxOWYxODhkZTM5OGRlZWYyZC5negoKMjAwOC0wNC0yNCAyMjo0NjoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIEdsaWIgR197TUFYLE1JTn17VSx9SU5UezgsMTYsMzJ9IG1hY3JvcwoJICAyMDA4MDQyNDIyNDYyNy0zZTJkYy0xMDM2YmM1OGI2YjRkYjJmOWYxMjgzMWNkYmFlM2JjNjEzZmFjYmJmLmd6CgoyMDA4LTA0LTIxIDAzOjI2OjE0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVbmxvY2sgbGl2ZWFkZGVyIGVtcHR5IGJ1ZmZlciBnY29uZCBvbiBmbHVzaAoJICAyMDA4MDQyMTAzMjYxNC0zZTJkYy00ZWQyOWUxNTgzZmY2ODQzMzhiYTVkNzYxMWY2MGIxYTdlYWZmNTYzLmd6CgoyMDA4LTA0LTE4IDE5OjI5OjQxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVbnJlZiBldmVudCBpbnN0ZWFkIG9mIGxlYWtpbmcgaXQKCSAgMjAwODA0MTgxOTI5NDEtM2UyZGMtMzUyZTI1ZjZhYjI5MTYxMmJlMWRjMTM5NzkwMzAzYTEzMzNmNjVkNy5negoKMjAwOC0wNC0wMyAxNzowOTo1NiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbm9uLXBlcmZlY3Qgc3RyZWFtIGlzbnQgYW4gZXJyb3IsIGxldHMganVzdCBsb2cgaXQKCSAgMjAwODA0MDMxNzA5NTYtM2UyZGMtNjYzZjZhZjhjZTA2N2Y0NGNhMjUxYTg5YWViZjI2MmQ0YjhhMjg2OS5negoKMjAwOC0wNC0wMyAxNjo1NDozMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gV2UgcmV0aW1lc3RhbXAgdG8gdGhlIHJ1bm5pbmcgdGltZSwgc3RhcnRpbmcgdGhlIHNlZ21lbnRzIGZyb20gMCBzaG91bGQgdGhlcmVmb3JlIHdvcmsKCSAgMjAwODA0MDMxNjU0MzEtM2UyZGMtZDk4MWFjMmY5ZWE3ZmQzYzhkMmJlNGQyMmYxODE3Y2Y3OGM2MTRlNC5negoKMjAwOC0wNC0wMyAxNjo1NDoxNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG8gdGhlIG1pbi9tYXggb2YgdGhlIGxhdGVuY2llcyBjb3JyZWN0bHkKCSAgMjAwODA0MDMxNjU0MTUtM2UyZGMtYzExMjRiZDg0ZTY3Y2Y4YTkxMWExNGJiMTIzYjg3MzFkYTlmNGZjNC5negoKMjAwOC0wNC0wMyAwMjoxNDoyNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGluZGVudGF0aW9uCgkgIDIwMDgwNDAzMDIxNDI1LTNlMmRjLWVmZDczYTZlZWQwNjc2ZTE1OGFmNzA0ODRkNGU1YzQyZWE3NWRlNzQuZ3oKCjIwMDgtMDQtMDMgMDI6MDM6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIGluIGNhc2Ugd2UncmUgYWxyZWFkeSBwbGF5aW5nCgkgIDIwMDgwNDAzMDIwMzE4LTNlMmRjLWFmZDU4Zjk5MmMwYjMwNTcyMjFiOTEwMzRiMmZjZDkxZjI5NmU1MmQuZ3oKCjIwMDgtMDQtMDMgMDI6MDI6NTMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZvciBsYXRlbmNpZXMsIHVzZSB0aGUgbWluIG9mIHRoZSBtYXggYW5kIHRoZSBtYXggb2YgdGhlIG1pbiAoYW5kIHRoZSBtaW4gd2lucyBpZiB0aGV5IGNyb3NzKQoJICAyMDA4MDQwMzAyMDI1My0zZTJkYy1kZGE3ZTQ3MTA3M2VlNzVhNmY2MGU4NDVjM2M1NDZhZjliZTE5Njc1Lmd6CgoyMDA4LTA0LTAzIDAwOjU3OjI4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW5hbWUgbmV4dF90cyBpbnRvIGV4cGVjdGVkX3RzLCBtYWtlIHN1cmUgYWxsIGJ1ZmZlcnMgaGF2ZSBhIGR1cmF0aW9uCgkgIDIwMDgwNDAzMDA1NzI4LTNlMmRjLTgyNDVjZTFiZmVlYmViZmI4Zjc1MDczMjUzYjNjMGUzYzRiNWY1OTYuZ3oKCjIwMDgtMDQtMDMgMDA6NDA6MTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvbid0IHRyeSB0byBzZXQgdGhlIGRpc2NvbnQgZmxhZyBpZiB0aGUgZHVyYXRpb24gb2YgdGhlIHByZXZpb3VzIGluY29taW5nIGJ1ZmZlciB3YXMgbm90IHZhbGlkCgkgIDIwMDgwNDAzMDA0MDEyLTNlMmRjLTZmOTU1MjBjOTI4YzM0NzUwOGJkZjYxODhjODczZWQ3MjRhZDJkZDcuZ3oKCjIwMDgtMDQtMDIgMjI6NDY6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlc2V0IGJ1ZmZlcnMgb2Zmc2V0cyB0byBub25lCgkgIDIwMDgwNDAyMjI0NjI3LTNlMmRjLWQzZWU4YzdkMGMxNDEzMTAxNzg0MmQ4MTU5ZjdmNjg0ZDBjY2VmNmQuZ3oKCjIwMDgtMDQtMDIgMjI6NDY6MTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcG9ydCBhZGRlciBzcmMgZXZlbnQgaGFuZGxpbmcKCSAgMjAwODA0MDIyMjQ2MTItM2UyZGMtMjFhNjgyYjE4ZmUxODc4MmJmN2ZhNDg5ODNjMTNjMWFkODZkYzVhMS5negoKMjAwOC0wMy0zMSAxODo0NDoyMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHVzaCBvdXQgYSBzaW1wbGUgbmV3c2VnbWVudCBldmVudAoJICAyMDA4MDMzMTE4NDQyMS0zZTJkYy02OTU0NGI1YjAzYWUzYmI4YzFlM2Y5Njc5NzRmZDI1MGQwNDA1NmI1Lmd6CgoyMDA4LTAzLTMxIDE4OjQ0OjA0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb24ndCByZXR1cm4gRU9TIGlmIHRoZXJlIGlzIG5vIHNpbmsgcGFkCgkgIDIwMDgwMzMxMTg0NDA0LTNlMmRjLTQ4MmExMzRiNDdlYWRjZDlmMWY5ZDE0NGMwMmFiMTE0NTAyOGZhMDcuZ3oKCjIwMDgtMDMtMzEgMTc6MTE6MTYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlZHVjZSBsb2NraW5nIGEgYml0IGFuZCBjbGVhbnVwIGNvZGUgYSBiaXQKCSAgMjAwODAzMzExNzExMTYtM2UyZGMtNWRkZmIwZTQ1OTAwNDc4MGQzZjdhNjYwYzY0ZjU4MjQzOTM2YTg0NC5negoKMjAwOC0wMy0yOSAwMDo0NToxOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyLy5naXQtZGFyY3MtZGlyOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGxpdmVhZGRlciBlbGVtZW50CgkgIDIwMDgwMzI5MDA0NTE4LTNlMmRjLTQwZTQ3NDZmZTgyYmJjNWE4NzFmMDNmZTZmZjYwNDhmNDM2YzlmODUuZ3oKCjIwMDktMDItMTYgMTY6MDg6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBicG1kZXRlY3Q6IEZpeCBhY2NpZGVudGFsbHkgaW50cm9kdWNlZCBzdGFjayBvdmVyd3JpdGluZyBpbnRyb2R1Y2VkIGluIGxhc3QgY29tbWl0CgoyMDA5LTAyLTE2IDE2OjA2OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgYnBtZGV0ZWN0OiBTYXZlIG9uZSBtZW1vcnkgYWxsb2NhdGlvbiBwZXIgc3RlcmVvIGJ1ZmZlcgoKMjAwOS0wMi0xMyAxMjoxODo0OCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IERvIG5vdCB1c2Ugdm9pZCBwb2ludGVyIGFyaXRobWV0aWMuCgoyMDA5LTAyLTEyIDE3OjMxOjUwIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBSZXR1cm4gQVNZTkMgYXBwcm9wcmlhdGVseSBmcm9tIGNoYW5nZV9zdGF0ZS4KCSAgTWFrZSBzdXJlIHdlIGRvbid0IGRvIHRoZSB3cm9uZyB0aGluZyB3aGVuIG91ciBiYXNlIGNsYXNzIGlzIHJldHVybmluZwoJICBBU1lOQyBpbiBzdGF0ZSBjaGFuZ2VzLgoKMjAwOS0wMi0xMiAxNTowMTo0OCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IGZpeCBjb21waWxhdGlvbi4KCSAgQWNjaWRlbnRseSBtZXJnZWQgcGFydCBvZiBvbmUgY2hhbmdlOyByZW1vdmUgaXQuCgoyMDA5LTAyLTEyIDIyOjQwOjQ4ICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBNYWtlIHRoZSBkZW11eGVyIHJldXNhYmxlIGluIFJFQURZLT5QTEFZSU5HLT5SRUFEWS0+UExBWUlORyBjeWNsZXMgYnkgZmx1c2hpbmcgYWRhcHRlcnMgY29ycmVjdGx5LgoKMjAwOS0wMi0xMiAxMDo1Mzo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBBbHNvIGluY2x1ZGUgdGhlIHBpY3R1cmUvc291bmQvZGF0YSBlc3NlbmNlIGNvZGluZyBpbiB0aGUgdW5rbm93biBjYXBzCgoyMDA5LTAyLTEyIDA5OjQ2OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFVwZGF0ZSBUT0RPLCB3ZSBzaG91bGQgc3VwcG9ydCB0aGUgZHJvcC1mcmFtZSBwcm9wZXJ0eSBvZiB0aW1lY29kZSB0cmFja3MKCjIwMDktMDItMTIgMDg6NDY6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogRml4IHJlc29sdmFsIG9mIGlkZW50aWZpY2F0aW9ucyBmcm9tIHRoZSBwcmVmYWNlCgoyMDA5LTAyLTExIDE4OjQwOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBteGZkZW11eDogUGFyc2UgTVhGVGltZXN0YW1wJ3MgbWlsbGlzZWNvbmRzIGFuZCBhZGQgX3RvX3N0cmluZygpIGZ1bmN0aW9uCgoyMDA5LTAyLTEwIDE0OjIzOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFVwZGF0ZSBUT0RPCgoyMDA5LTAyLTEyIDEwOjQ2OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSAgbWV0YWRhdGE6IGFsc28gcG9zdCBlcnJvciBtZXNzYWdlIHdoZW4gcmV0dXJuaW5nIGVycm9yCgoyMDA5LTAyLTExIDE3OjIzOjAzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNzY2hhbGxlQGNyYXp5aG9yc2UubG9jYWxkb21haW4+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcywgYWxzbyBhZGQgc29tZSBtaXNzaW5nIGRpc3RpbmcgZGlyZWN0b3JpZXMgdG8gYSBjb3VwbGUgb2YgTWFrZWZpbGVzLmFtIGZpbGVzCgoyMDA5LTAyLTExIDE3OjIxOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IEZpeCBjb21waWxhdGlvbiwgYWN0aXZhdGVfc2lua3BhZCgpIGhhcyBubyBub3RpZnkgcGFyYW1ldGVyCgoyMDA5LTAyLTEwIDE2OjIyOjU0IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0LXNlbGVjdG9yOiBBY3RpdmF0ZSBhbmQgbm90aWZ5IHBhZCBiZWZvcmUgcHJvY2Vzc2luZyBldmVudHMuCgkgIEV2ZW50cyBzaG91bGQgdHJpZ2dlciBwYWQgc2VsZWN0aW9uIGlmIHdlIGRvbid0IGFscmVhZHkgaGF2ZSBhbgoJICBleHBsaWNpdGx5IHNlbGVjdGVkIHBhZCwgc28gdGhhdCBldmVudHMgcHJpb3IgdG8gZmlyc3QgYnVmZmVyIGRvbid0IGdldAoJICBsb3N0LgoKMjAwOS0wMi0xMSAwMTo1NDowMyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogU2FuaXRpemUgY29uc3RhbnRzIHVzZWQgZm9yIGVsZW1lbnQgZmFjdG9yeSBuYW1lcy4KCjIwMDktMDItMTEgMDE6MjQ6NTEgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFVzZSB2NGwyc3JjIGFzIGRlZmF1bHQgc291cmNlLgoKMjAwOS0wMi0xMSAwMTowNzowNCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzLy5naXRpZ25vcmU6CgkgIHBob3RvZ3JhcGh5IGludGVyZmFjZTogLmdpdGlnbm9yZSBnZW5lcmF0ZWQgZmlsZXMuCgoyMDA5LTAyLTExIDAxOjAyOjQyICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHktZW51bXR5cGVzLmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LWVudW10eXBlcy5oOgoJKiB3aW4zMi9jb21tb24vcGhvdG9ncmFwaHktZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi9waG90b2dyYXBoeS1lbnVtdHlwZXMuaDoKCSAgcGhvdG9ncmFwaHkgaW50ZXJmYWNlOiBNb3ZlIGdlbmVyYXRlZCBmaWxlcyB0byB3aW4zMi9jb21tb24uCgoyMDA5LTAyLTExIDAwOjI4OjUzICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJICBjYW1lcmFiaW46IEFkZCAuZ2l0aWdub3JlIHRvIGhpZGUgZ2VuZXJhdGVkIHNpZ25hbCBtYXJzaGFsbGVyIGZpbGVzLgoKMjAwOS0wMi0xMSAwMDoxOToyMiArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IHBsdWdpbiBkZXRhaWxzIHRvIHVzZSBHU1RfUEFDS0FHRV8qIHZhbHVlcy4KCjIwMDktMDItMTEgMDA6MTU6NDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBsaWNlbnNlIHNwZWNpZmllZCBpbiBwbHVnaW4gZGV0YWlscy4KCjIwMDktMDItMTAgMTI6Mjg6NTggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBQYXNzIHBpeGVsIGFzcGVjdCB0aHJvdWdoIGZyb20gZGVtdXhlcnMsIGlmIHN1cHBsaWVkLgoJICBJZiB0aGUgaW5jb21pbmcgY2FwcyBoYXZlIGEgcGl4ZWwtYXNwZWN0LXJhdGlvLCBlbnN1cmUgaXQncyBzZXQgb24gdGhlCgkgIG91dHB1dC4gQ29ycmVjdHMgUEFSIGZvciBtYW55IChidXQgcHJvYmFibHkgbm90IGFsbCkgZmlsZXMuCgoyMDA5LTAyLTEwIDEyOjI2OjI1IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogTWFrZSBhdWRpbyBkZWNvZGVycyBoYXZlIFNFQ09OREFSWSByYW5rLgoJICBUaGVzZSB3cmFwcGVycyBhcmUgbm90IGlkZWFsLCBhbmQgZm9yIG1hbnkgb2YgdGhlc2UgZm9ybWF0cyB0aGVyZSBhcmUKCSAgYmV0dGVyIGdzdHJlYW1lciBlbGVtZW50cyBhdmFpbGFibGUuIFNvLCBtYWtlIHRoZSByYW5rIFNFQ09OREFSWS4gSW4KCSAgcGFydGljdWxhciwgdGhlIG1wMyBkZWNvZGVyIG9uIHdpblhQIGRvZXNuJ3Qgd29yayB2ZXJ5IHdlbGwuCgoyMDA5LTAyLTEwIDEyOjEyOjAzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgZHNob3dkZWN3cmFwcGVyOiBEZWxldGUgb2xkIC5jIGZpbGVzIHRoYXQgYXJlIHVudXNlZAoJICBUaGVzZSBvbGQgZmlsZXMgYXJlIHN0YWxlOyB0aGUgcGx1Z2luIHdhcyByZXdyaXR0ZW4gaW4gYysrIGFnZXMKCSAgYWdvLiBOb3Qgc3VyZSB3aHkgdGhlc2UgYXJlIGhhbmdpbmcgYXJvdW5kLgoKMjAwOS0wMi0xMCAxMDoxNzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIGJwbWRldGVjdDogUGFzcyBhdCBtb3N0IDIwNDggc2FtcGxlcyB0byBTb3VuZFRvdWNoJ3MgQlBNRGV0ZWN0CgkgIEludGVybmFsbHkgQlBNRGV0ZWN0IGFzc3VtZXMgdGhhdCBhdCBtb3N0IDIwNDggc2FtcGxlcyBhcmUgcGFzc2VkCgkgIHRvIGl0IGF0IG9uY2UgYW5kIHN0b3JlcyB0aG9zZSBpbiBhIHN0YWNrIGFsbG9jYXRlZCBzdGF0aWMgc2l6ZWQKCSAgYXJyYXkuIElmIHdlIHBhc3MgdG9vIG1hbnkgc2FtcGxlcyB0aGlzIHdpbGwgcmVzdWx0IGluIGEgYnVmZmVyIG92ZXJmbG93CgkgIHJlc3VsdGluZyBpbiBoZWF2eSBzdGFjayBjb3JydXB0aW9uIGFuZCBhIGNyYXNoLiBGaXhlcyBidWcgIzU3MDk5Ni4KCjIwMDktMDItMDkgMTc6NTg6NDIgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSAgYWNtbXAzZGVjOiBmaXggbWFqb3IgbWVtb3J5IGxlYWtzIGFuZCBjbGVhbiB1cCBjb2RlLgoJICBVbnJlZiBpbmNvbWluZyBidWZmZXJzIHdoZW4gd2UncmUgZG9uZS4KCSAgUmVpbmRlbnQsIGNsZWFuIHVwIHdoaXRlIHNwYWNlLiBGaXggY29tbWVudHMuCgoyMDA5LTAyLTA5IDE4OjE0OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEFmdGVyIHB1bGxpbmcgdGhlIGZvb3RlciBtZXRhZGF0YSByZXNldCBlc3NlbmNlIHRyYWNrIHBvc2l0aW9ucyB0byAwCgoyMDA5LTAyLTA5IDE3OjU1OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFdoZW4gdHJ5aW5nIHRvIGZpbmQgYW4gZXNzZW5jZSB0cmFjayBwb3NpdGlvbiB0cnkgdG8gZmluZCBwb3NpdGlvbisxIHRvbwoJICBCeSBzZWFyY2hpbmcgZm9yIHRoZSBmb2xsb3dpbmcgcG9zaXRpb24gd2Ugd2lsbCBhZGQgdGhlIGNvbXBsZXRlCgkgIGdlbmVyaWMgY29udGFpbmVyIChpLmUuIGFsbCB0cmFja3MpIGF0IHRoZSBzYW1lIHBvc2l0aW9uIHRvIHRoZQoJICBpbmRleCB3aGljaCBzaG91bGQgbWFrZSBmaW5kaW5nIHBvc2l0aW9ucyBmb3IgbW9yZSB0aGFuIG9uZSB0cmFjawoJICBhIGJpdCBmYXN0ZXIuCgoyMDA5LTAyLTA5IDE3OjQ4OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZvciBuZXcgZXNzZW5jZSB0cmFja3Mgb25seSBzZXQgdGhlIHBvc2l0aW9uIHRvIDAgaWYgaXQgc3RhcnRzIGluIHRoZSBjdXJyZW50IHBhcnRpdGlvbgoKMjAwOS0wMi0wOSAxNzo0NDo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBDaGVjayBpZiB0aGUgbGVuZ3RoIG9mIHRoZSBzcmMvZXNzZW5jZSB0cmFjayBhcnJheXMgYXJlIDAsIG5vdCB0aGUgYXJyYXkgaXRzZWxmCgoyMDA5LTAyLTA5IDE3OjI1OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IE1ha2Ugc3VyZSB0aGF0IHRoZSBzcmNwYWQgYW5kIGVzc2VuY2UgdHJhY2sgYXJyYXlzIGFsd2F5cyBleGlzdAoKMjAwOS0wMi0wOSAxNjoxMjo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBDaGFuZ2Ugc29tZSBHU1RfRVJST1JzIHRvIHNvbWV0aGluZyBsZXNzIGNyaXRpY2FsCgoyMDA5LTAyLTA5IDE2OjA5OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IE9ubHkgZ28gaW50byBFT1MgYW5kIHNlbmQgc2VnbWVudC1kb25lIGFmdGVyIGFsbCB0cmFja3MgYXJlIGZpbmlzaGVkCgoyMDA5LTAyLTA5IDE2OjA5OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGZkZW11eDogVXBkYXRlIFRPRE8KCjIwMDktMDItMDkgMTU6NDg6MjAgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZCBmb3IgY2FtZXJhYmluLgoKMjAwOS0wMi0wOSAxMjowMjo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQnVtcCByZXZpc2lvbiB0byB1c2UgZm9yIGNvbW1vbiBzdWJtb2R1bGUuCgoyMDA5LTAxLTMwIDE2OjA5OjMwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIE1vcmUgZmlsZXMgdG8gaWdub3JlCgoyMDA5LTAyLTA1IDIzOjA2OjIzICswMjAwICBOb2tpYSBDb3Jwb3JhdGlvbiA8bXVsdGltZWRpYUBtYWVtby5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBBZGQgY2FtZXJhYmluIHVuaXQgdGVzdHMuCgoyMDA5LTAyLTA1IDE1OjQ4OjMyICswMjAwICBOb2tpYSBDb3Jwb3JhdGlvbiA8bXVsdGltZWRpYUBtYWVtby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluY29sb3JiYWxhbmNlLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluY29sb3JiYWxhbmNlLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnhvdmVybGF5LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlueG92ZXJsYXkuaDoKCSAgQWRkIGNhbWVyYWJpbiBlbGVtZW50LgoKMjAwOS0wMi0wNiAxMjowNjoyMyArMDIwMCAgTm9raWEgQ29ycG9yYXRpb24gPG11bHRpbWVkaWFAbWFlbW8ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS1lbnVtdHlwZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHktZW51bXR5cGVzLmg6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIEFkZCBwaG90b2dyYXBoeSBpbnRlcmZhY2UuCgoyMDA5LTAyLTA5IDA3OjMzOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCBzZWVraW5nIHRvIHRoZSBlbmQgb2YgZmlsZQoJICBXaGVuIHNlZWtpbmcgdG8gYSBwb3NpdGlvbiB3aGVyZSBubyBuZXcgb2Zmc2V0IGNhbiBiZQoJICBmb3VuZCBvciBhZnRlciB0aGUgZW5kIG9mIGEgdHJhY2sgZG9uJ3Qgc2V0IHRoZSBFT1MgZmxhZwoJICB0byBUUlVFIGFzIHdlIGRvbid0IChhbmQgY2FuJ3QpIHB1c2ggRU9TIGRvd25zdHJlYW0gdGhlbi4KCSAgSW5zdGVhZCBzZXQgdGhlIGN1cnJlbnQgZXNzZW5jZSB0cmFjayBwb3NpdGlvbiB0byB0aGVuCgkgIGVuZCBvZiB0aGUgZXNzZW5jZSB0cmFjayBhbmQgbGV0IHRoZSBsb29wIG9yIGNoYWluIGZ1bmN0aW9uCgkgIHNldCBldmVyeXRoaW5nIHRvIEVPUyBhbmQgcHVzaCBFT1MgZG93bnN0cmVhbS4KCSAgQWxzbyByZXN0YXJ0IHRoZSBwYWQncyB0YXNrIGlmIHJlc29sdmluZyBtZXRhZGF0YSBmYWlsZWQKCSAgKHBsYXliYWNrIHdpbGwgY29udGludWUgYXMgYmVmb3JlKSBhbmQgcmV0dXJuIEZBTFNFIGZyb20KCSAgdGhlIHNlZWsgaWYgbm8gbmV3IG9mZnNldCBjb3VsZCBiZSBmb3VuZC4KCjIwMDktMDItMDggMjE6NTI6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4IGxhc3Rfc3RvcCBjYWxjdWxhdGlvbiB3aGVuIHNlZWtpbmcKCjIwMDktMDItMDggMjE6MzE6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogUmVzb2x2ZSBzb3VyY2UgcGFja2FnZSBiZWZvcmUgYWNjZXNzaW5nIGl0J3MgbWVtYmVycwoKMjAwOS0wMi0wOCAyMToyMzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IENvcnJlY3RseSBpbXBsZW1lbnQgdGltZXN0YW1waW5nIGluIGFsbCBjYXNlcwoJICBXaGVuIHRoZSBtYXRlcmlhbCBwYWNrYWdlIHRyYWNrIGFuZCBzb3VyY2UgcGFja2FnZSB0cmFjawoJICBlZGl0IHJhdGUgYXJlIGRpZmZlcmVudCB0aGUgc291cmNlIHBhY2thZ2UgdHJhY2sgZWRpdAoJICByYXRlIGFwcGxpZXMgdG8gdGhlIHN0b3JlZCBlc3NlbmNlIGFuZCB0aGUgbWF0ZXJpYWwgdHJhY2sKCSAgZWRpdCByYXRlIG9ubHkgYXBwbGllcyB0byB0aGUgdmFsdWVzIGluIHRoZSB0cmFjaydzIHNlcXVlbmNlCgkgIGFuZCBjb21wb25lbnRzLgoKMjAwOS0wMi0wOCAyMToyMjoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBDb3JyZWN0bHkgaGFuZGxlIERVUkFUSU9OIHF1ZXJpZXMgd2l0aCBhIG5lZ2F0aXZlIGR1cmF0aW9uCgoyMDA5LTAyLTA4IDIxOjE3OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFdoZW4gY2hhbmdpbmcgdG8gdGhlIGNvbXBvbmVudCBhZnRlciB0aGUgbGFzdCBjb21wb25lbnQgdXBkYXRlIHRoZSBlc3NlbmNlIHRyYWNrIHBvc2l0aW9uCgoyMDA5LTAyLTA4IDIxOjEyOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFNtYWxsIGNsZWFudXAgYW5kIGFuIGFkZGl0aW9uYWwgY2hlY2sKCSAgVXBkYXRlIFRPRE8gbGlzdCwgcmVkdWNlIHNpemUgb2YgYSBzdGFjayBhbGxvY2F0ZWQgc3RyaW5nCgkgIGFuZCBkb24ndCBhbGxvdyBlc3NlbmNlIHRyYWNrcyB3aXRoIGFuIGludmFsaWQgZWRpdCByYXRlCgoyMDA5LTAyLTA4IDA3OjMwOjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IEZvciBtYXRlcmlhbCBwYWNrYWdlcyBtYWtlIHN1cmUgdGhhdCB0cmFja3MgcmVzb2x2ZSB0byBzb3VyY2UgdHJhY2tzCgoyMDA5LTAyLTA3IDEwOjM4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14ZmRlbXV4OiBBZGQgc3VwcG9ydCBmb3Igbm9uLXN0YW5kYXJkIEF2aWQgTVhGIGZpbGVzIGNvbnRhaW5pbmcgRE54SEQgZXNzZW5jZQoJICBBdmlkIHVzZXMgYSBjdXN0b20gZXNzZW5jZSBjb250YWluZXIgVUwgYW5kIGN1c3RvbSBlc3NlbmNlIGVsZW1lbnQga2V5cwoJICB0aGF0IGFyZSBmb3J0dW5hdGVseSBjb21wYXRpYmxlIHdpdGggdGhlIGdlbmVyaWMgY29udGFpbmVyIGVzc2VuY2UKCSAgZWxlbWVudHMuIFBhcnRpYWxseSBmaXhlcyBidWcgIzU2MTkyMi4KCjIwMDktMDItMDcgMTA6MTM6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBNYWtlIGVzc2VuY2UgdHJhY2sgY3JlYXRpb24gYSBiaXQgbW9yZSByb2J1c3QgYWdhaW5zdCBicm9rZW4gZmlsZXMKCSAgU29tZSBmaWxlcyBjb250YWluIG11bHRpcGxlIHRyYWNrcyB3aXRoIHRoZSBzYW1lIHRyYWNrIG51bWJlciBidXQgZGlmZmVyZW50CgkgIHRyYWNrIGlkIGluc2lkZSB0aGUgc2FtZSBzb3VyY2UgcGFja2FnZS4gVGhpcyBpcyBpbnZhbGlkIGFuZCB3ZSBzaW1wbHkgaWdub3JlCgkgIHRoZSBzZWNvbmQgYW5kIGZvbGxvd2luZyBvZiBzdWNoIHRyYWFja3Mgbm93IGluc3RlYWQgb2Ygb3ZlcndyaXRpbmcgdGhlCgkgIGluZm9ybWF0aW9uIG9mIHRoZSBmaXJzdCBvbmUuCgoyMDA5LTAyLTA3IDEwOjAzOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IERvbid0IGluY2x1ZGUgbXVsdGlwbGUgZGVzY3JpcHRvcnMgaW4gdGhlIHRyYWNrJ3MgZGVzY3JpcHRvcnMKCjIwMDktMDItMDcgMDk6Mjc6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIG14ZmRlbXV4OiBBZGQgc3VwcG9ydCBmb3Igbm9uLXN0YW5kYXJkIEF2aWQgTVhGIGZpbGVzIGNvbnRhaW5pbmcgRFYgZXNzZW5jZQoJICBBdmlkIHVzdWFsbHkgdXNlcyBhIGN1c3RvbSBlc3NlbmNlIGNvbnRhaW5lciBsYWJlbCBmb3IgdGhlIGVzc2VuY2UKCSAgZGVzY3JpcHRvcnMgYW5kIHN0b3JlcyB0aGUgYWN0dWFsIGNvZGVjIHRoYXQgaXMgdXNlZCBpbnNpZGUgdGhlCgkgIHBpY3R1cmUgZXNzZW5jZSBjb2RpbmcgZmllbGQgKGFuZCBmb3Igc291bmQgcHJvYmFibHkgaW4gdGhlIHNvdW5kCgkgIGVzc2VuY2UgY29kaW5nIGZpZWxkIGJ1dCBJIGhhdmUgbm8gc2FtcGxlIGZpbGVzIHdpdGggc291bmQpLgoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NjE5MjIuCgoyMDA5LTAyLTA2IDExOjU3OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IEFkZCBkYXRhIGRlZmluaXRpb24gZm9yIEF2aWQgdmVuZG9yIHNwZWNpZmljIHBpY3R1cmUgZXNzZW5jZQoKMjAwOS0wMi0wNiAxMTo1NTo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGb3IgdHJhY2tzIHdpdGggbm8ga25vd24gbWFwcGluZyB1c2UgZHVtbXkgY2FwcwoKMjAwOS0wMi0wNiAxMToyMTowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCByZW1vdmUgaW52YWxpZCBuZXcgZXNzZW5jZSB0cmFjayB0d2ljZSBmcm9tIHRoZSBHUHRyQXJyYXkKCjIwMDktMDItMDYgMTE6MDk6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZmRlbXV4OiBJbXBsZW1lbnQga2V5ZnJhbWUgZGV0ZWN0aW9uIGZvciBNUEVHNCB2aWRlbyBzdHJlYW1zCgoyMDA5LTAyLTA2IDEwOjQ2OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEhhbmRsZSBzb21lIG1vcmUgc3BlY2lhbCBjYXNlcyB3aGVuIHNldHRpbmcgdGhlIHBvc2l0aW9uIHdoZW4gc2Vla2luZwoKMjAwOS0wMi0wNiAxMDo0NjowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBBZGp1c3QgbGFzdF9zdG9wIHRvIHRoZSBsYXN0IGtleWZyYW1lIHdoZW4gc2Vla2luZwoKMjAwOS0wMi0wNiAxMDowNjo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggbG9naWMgZm9yIGZpbmRpbmcgdGhlIHByZXZpb3VzIGtleWZyYW1lCgoyMDA5LTAyLTA2IDA5OjUzOjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgbXhmZGVtdXg6IEFkZCBrZXlmcmFtZSBkZXRlY3Rpb24gZm9yIE1QRUcyIHZpZGVvIHN0cmVhbXMKCSAgVGhpcyBpcyB1c2VmdWwgZm9yIHNlZWtpbmcgYXMgd2UgdXN1YWxseSB3YW50IHRvIHNlZWsgdG8gdGhlIHByZXZpb3VzCgkgIGtleWZyYW1lLiBUaGUga2V5ZnJhbWUgZGV0ZWN0aW9uIGlzIGRvbmUgYnkgcGFyc2luZyB0aGUgTVBFRzIKCSAgZWxlbWVudGFyeSBzdHJlYW0gYW5kIGlmIGEgR09QIG9yIEktZnJhbWUgcGFja2V0IGlzIGZvdW5kIHdlCgkgIGFzc3VtZSBhIGtleWZyYW1lIGluIHRoaXMgZWRpdCB1bml0LgoKMjAwOS0wMi0wNSAyMToyOToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IFByb3RlY3QgdGhlIG1ldGFkYXRhIHdpdGggYSBsb2NrIGFnYWluc3QgY29uY3VycmVudCBhY2Nlc3MKCjIwMDktMDItMDUgMTc6NDI6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgUmFuZG9tIGNsZWFudXAgYW5kIHNtYWxsZXIgYnVnZml4ZXMKCSAgVXNlIGdzdF9lbGVtZW50X2tsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLCBpbnN0YWxsIHByb3BlcnRpZXMKCSAgd2l0aCBzdGF0aWMgc3RyaW5ncywgY3JlYXRlIHBhZHMgZGlyZWN0bHkgZnJvbSB0aGUgc3RhdGljIHBhZAoJICB0ZW1wbGF0ZXMsIGRpcmVjdGx5IHB1dCB0aGUgc2VnbWVudCBpbnRvIHRoZSBpbnN0YW5jZSBzdHJ1Y3QsCgkgIHVzZSBHU1RfTVNFQ09ORCBpbnN0ZWFkIG9mIG51bWJlcnMuCgkgIFRoZSBQQVIgaXMgYSBHc3RGcmFjdGlvbiBhbmQgbm90IGEgZG91YmxlLCB1c2UgZ3N0X3N0cnVjdHVyZV9nZXRfZnJhY3Rpb24oKS4KCSAgU2ltcGxpZnkgc2V0Y2FwcygpIGZ1bmN0aW9ucy4KCjIwMDktMDItMDUgMTc6MDA6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9NYWtlZmlsZS5hbToKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgVXNlIEdTVF9WSURFT19DQVBTX1JHQiBmb3IgdGhlIHRlbXBsYXRlIGNhcHMKCjIwMDktMDItMDUgMTY6NTc6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDA5LTAyLTA1IDE2OjU0OjAxICswMTAwICBCZW5qYW1pbiBTY2htaXR6IDx2b3J0ZXhAd29scHpvbmUuZGU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2Fzc3JlbmRlci9NYWtlZmlsZS5hbToKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgQWRkIGFzc3JlbmRlciBwbHVnaW4gZm9yIHJlbmRlcmluZyBBU1MvU1NBIHN1YnRpdGxlcwoJICBUaGlzIGVsZW1lbnQgaGFzIHRoZSBhZHZhbnRhZ2Ugb3ZlciBzdWJwYXJzZSdzIEFTUy9TU0EKCSAgc3VwcG9ydCB0aGF0IG1vcmUgZmVhdHVyZXMgYXJlIHN1cHBvcnRlZCwgbGlrZSBmYWRpbmcsCgkgIGJ5IHVzaW5nIGxpYmFzcy4gRml4ZXMgYnVnICM0ODEwNzUuCgoyMDA5LTAyLTA1IDEwOjUwOjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIG1ldGFkYXRhIHRlc3Q6IEZpeCB3cm9uZyBsb29waW5nIHZhcmlhYmxlLiBUZXN0IGlzIG5vdyB2YWxpZCAoYnV0IGZhaWxzKS4KCSAgVGhlIGlubmVyIGxvb3Bpbmcgd2FzIHVzaW5nIHRoZSBvdXRlciBsb29waW5nIHZhcmlhYmxlLgoKMjAwOS0wMi0wNCAxODoxMTowMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgRml4IHVwIHRoaW5ncyB0aGF0IHRoZSBpbmRlbnQgdGhpbmd5IGNvbXBsYWluZWQgYWJvdXQKCjIwMDktMDItMDQgMTg6MDk6NTggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIEZpeCBtYWpvciBsZWFrcyBpbiBxdHdyYXBwZXIgYXVkaW8gZGVjb2RlcnMuCgkgIEZyZWUgdGhlIGRlY29kZXIgY29tcG9uZW50IGFuZCBhdWRpb2J1ZmZlcmxpc3Qgd2hlbiBjYXBzIGNoYW5nZSwgb3Igd2hlbgoJICBkaXNwb3NpbmcgZWxlbWVudC4KCjIwMDktMDItMDQgMTc6NTA6NTEgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmg6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBIYW5kbGUgbWFueSBtb3JlIGVkZ2UgY2FzZXMgaW4gZHNob3d2aWRlb3NpbmsuCgkgIEluc3RydW1lbnQgdmFyaW91cyBjb2RlcGF0aHMgd2l0aCBkZWJ1ZyBtZXNzYWdlcy4KCSAgSGFuZGxlIChhcyBiZXN0IGFzIEkgY291bGQgc2VlIGhvdyAtIGl0J3MgcHJldHR5IG5hc3R5KSBtb3ZpbmcgYSB2aWRlbwoJICB3aW5kb3cgdG8gYW5vdGhlciBtb25pdG9yLgoJICBBZGQgbGlzdGVuaW5nIGZvciBkaXJlY3RzaG93IGV2ZW50cy4KCjIwMDktMDItMDQgMjI6NTA6MzAgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdwc2RlbXV4OiBmaXhlcyBjbG9zc2luZyBzZWdtZW50IGdlbmVyYXRpb24uCgkgIEVuc3VyZSB0aGF0IHRoZSBjbG9zc2luZyBzZWdtZW50IGlzIGdlbmVyYXRlZCBjb3JyZWN0bHkgYW5kIGJlaW5nCgkgIHByb3Blcmx5IHB1c2hlZC4KCSAgQWRkZWQgc29tZSBHU1RfREVCVUcgdG8gY2hlY2sgaXQuCgkgIEVuc3VyZSB0aGF0IGxhc3Rfc3RvcCBpcyB1cGRhdGVkIGluIHN0cmVhbSB0aW1lLgoJICBDYWxjdWxhdGUgZHVyYXRpb24gYXMgZGVsdGEgb2YgUFRTIGFzIGl0IHNlZW1zIG1vcmUgY29ycmVjdCB0aGFuIGRlbHRhCgkgIG9mIFNDUiBpbiBzb21lIGNsaXBzIHRoYXQgSSB0ZXN0ZWQuCgoyMDA5LTAyLTA0IDIyOjE3OjM2ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogc2V2ZXJhbCBmaXhlcyBvbiB0aGUgc2Vla2luZyBmdW5jdGlvbiBpbiBwdWwgbW9kZS4KCSAgUmVtb3ZlZCBhIGxpbmUgd3JvbmdseSBjb3B5IHBhc3RlZCBpbiBteSBwcmV2aW91cyBjb21taXQuCgkgIEF2b2lkIGFuIHVuc2lnbmVkIGludGVnZXIgb3ZlcmZsb3cuCgkgIFNlZWsgbGFzdF9zdG9wIGluIHN0cmVhbSB0aW1lLgoJICBDbGFtcCBsYXN0X3N0b3AgaW4gc3RyZWFtIHRpbWUgYmV0d2VlbiBmaXJzdCBhbmQgbGFzdCBTQ1IuCgkgIEZpeGVkIGEgdHlwbyBpbiB0aGUgR1NUX0RFQlVHIGxpbmUgYW5kIGFkZGVkIHNvbWUgbW9yZSBpbmZvLgoKMjAwOS0wMi0wNCAxNjoyMDo0MCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgTW92ZWQgdmFyIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW4gb2YgZnVuY3Rpb24KCjIwMDktMDItMDQgMTY6MTg6MjcgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly9naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTAyLTA0IDE2OjExOjIzICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBJbXByb3ZlZCBzZWVraW5nIGluIHB1bGwgbW9kZS4gU29tZSByZWZhY3RvcmluZyBhbmQgc21hbGwgZml4ZXMKCjIwMDktMDItMDQgMTE6MTE6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBVcGRhdGUgVE9ETwoKMjAwOS0wMi0wNCAxMTowOToyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgUG9zdCBhbiBVTUlEIHRhZyB3aXRoIHRoZSBjdXJyZW50IHBhY2thZ2UncyBVTUlECgoyMDA5LTAyLTA0IDEwOjU5OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgUmVzZXQgdGhlIGN1cnJlbnQgcGFydGl0aW9uIGFmdGVyIHNlZWtpbmcgYW5kIE5FV1NFR01FTlQgZXZlbnRzCgoyMDA5LTAyLTA0IDEwOjUzOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgSW4gcHVzaCBtb2RlIHBsYXkgYWxsIHJlbWFpbmluZyBwYXJ0cyBvZiB0aGUgZmlsZSBvbiBFT1MgaWYgdGhlcmUgYXJlIGFueQoKMjAwOS0wMi0wNCAxMDozNzoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgQWRkIHByb3BlcnR5IHRvIHNldCB0aGUgbWF4aW11bSBhbGxvd2VkIHRpbWUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRyYWNrcwoKMjAwOS0wMi0wNCAxMDoyNzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEFsd2F5cyBzZXQgdGhlIGN1cnJlbnQgcGFja2FnZSwgbm90IG9ubHkgd2hlbiBpdCB3YXMgY2hhbmdlZAoJICBUaGlzIGlzIG5lY2Vzc2FyeSBhcyB0aGUgY3VycmVudCBwYWNrYWdlIGxpbmsgd2lsbCBiZSBzZXQgdG8gTlVMTAoJICB3aGVuIHVwZGF0ZWQgbWV0YWRhdGEgaXMgcGFyc2VkIGFuZCBzaG91bGQgYmUgc2V0IGhlcmUgYWdhaW4uCgoyMDA5LTAyLTA0IDEwOjE5OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgVHJ5IHRvIHJlc29sdmUgYWxsIHN5bmNocm9uaXphdGlvbiBpc3N1ZXMsIG5vdCBvbmx5IHRoZSBmaXJzdAoKMjAwOS0wMi0wMyAxNzo0NzoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFJlbW92ZSBzb21lIGNoZWNrcyB0aGF0IHdpbGwgYWx3YXlzIGJlIFRSVUUKCjIwMDktMDItMDMgMjI6Mjc6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucwoKMjAwOS0wMi0wMiAyMzoyOToyNCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIEFsc28gZmx1c2ggcGFyc2VyIHdoZW4gYSBuZXdzZWdtZW50IGlzIHJlY2VpdmVkLiBGaXhlcyBsb29wIGluIHJldmVyc2UgbW9kZS4KCjIwMDktMDItMDIgMjM6MTI6MDcgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgQWRkIHB1bGwgbW9kZSB0byBtcGVncHNkZW11eCBhbmQgcmVwb3J0IGR1cmF0aW9uIHJlYWRpbmcgZmlyc3QgYW5kIGxhc3QgUFRTLiBTb21lIHJhbmRvbSBjbGVhbnVwcy4KCjIwMDktMDItMDIgMTc6NDQ6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBDbGVhbnVwIHBsYXliYWNrIHBhY2thZ2Ugc2VsZWN0aW9uIGFuZCBub3RpZnkgYWJvdXQgdGhlIGN1cnJlbnQgcGFja2FnZQoKMjAwOS0wMi0wMiAxNjoyMzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFVwZGF0ZSB0YWdzIHByb3Blcmx5LCBlc3BlY2lhbGx5IG9uIGNvbXBvbmVudCBzd2l0Y2gKCjIwMDktMDItMDIgMTY6MDU6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBFcnJvciBvdXQgaWYgbm8gcGFkcyBjb3VsZCBiZSBjcmVhdGVkCgoyMDA5LTAyLTAyIDE1OjU0OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgUmVzb2x2ZSBtZXRhZGF0YSBhbmQgdXBkYXRlIHRyYWNrcyBpZiBuZWNlc3NhcnkgYmVmb3JlIHNlZWtpbmcKCjIwMDktMDItMDIgMTU6NTQ6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBEb24ndCBnbyBhZnRlciB0aGUgbGFzdCBjb21wb25lbnQgb2YgYSB0cmFjawoKMjAwOS0wMi0wMiAxNTo1MzozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFJldHVybiBhbiBlcnJvciBpZiB1cGRhdGluZyBhbiBhbHJlYWR5IGV4aXN0aW5nIHBhZCBmYWlscwoKMjAwOS0wMi0wMiAwNzo0NDoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEZpeCBzZWVraW5nIGlmIHRoZSBzb3VyY2UgY2xpcCBkdXJhdGlvbiBpcyB1bmtub3duCgoyMDA5LTAyLTAxIDE2OjU5OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3Igc2Vla2luZyBpbiBwdXNoIG1vZGUKCjIwMDktMDItMDEgMTY6NTg6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBGaXggZGVhZGxvY2tzIHdoZW4gc2Vla2luZyBpbiBwdWxsIG1vZGUgZmFpbGVkIGFuZCBjaGVjayBuZXcgb2Zmc2V0IGJlZm9yZSB1c2luZyBpdAoKMjAwOS0wMi0wMSAxNjo1ODowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFVwZGF0ZSBvZmZzZXQgaW4gcHVzaCBtb2RlIGFuZCBoYW5kbGUgZXZlbnRzIHByb3Blcmx5CgoyMDA5LTAyLTAxIDE1OjA3OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBJbXBsZW1lbnQgaW5pdGlhbCBzZWVraW5nIHN1cHBvcnQgKHB1bGwgbW9kZSBvbmx5KQoKMjAwOS0wMS0zMSAxMToyOToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgRG9uJ3QgdXNlIEdMaWIgMi4xNiBBUEkgdW5jb25kaXRpb25hbGx5CgoyMDA5LTAxLTMwIDE5OjUyOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgQ2hlY2sgZm9yIEVPUyBvbiBhbGwgcGFkcyBhZnRlciBhZGp1c3RpbmcgdGhlIGVzc2VuY2UgdHJhY2sgZHVyYXRpb25zCgoyMDA5LTAxLTMwIDE5OjMzOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRml4IGR1cmF0aW9uIGNhbGN1bGF0aW9uIGZvciBlc3NlbmNlIHRyYWNrcwoKMjAwOS0wMS0zMCAxNTo1MDoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEltcGxlbWVudCBHc3RFbGVtZW50OjpxdWVyeS9nZXRfcXVlcnlfdHlwZXMgdmZ1bmNzCgoyMDA5LTAxLTMwIDE1OjM0OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgUmVzZXQgYWxsIGludGVybmFsIHN0YXRlIGluIGZpbmFsaXplCgoyMDA5LTAxLTI5IDIwOjI3OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgSW1wcm92ZSBFT1MgZGV0ZWN0aW9uIGFuZCBmaXggcHVzaCBtb2RlIGZvciB0aGUgbGFzdCBwdXNoZWQgaW4gYnVmZmVyCgoyMDA5LTAxLTI5IDE5OjU4OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBLZWVwIHRyYWNrIG9mIGVzc2VuY2UgdHJhY2sgcG9zaXRpb24gd2hlbiBwbGF5aW5nIHNvdXJjZSBwYWNrYWdlcwoJICBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgY29ycmVjdCBlc3NlbmNlIGVsZW1lbnRzIGFyZSBwbGF5ZWQgYW5kCgkgIHRoYXQgd2Ugc2VlayB0byB0aGUgY29ycmVjdCBlc3NlbmNlIGVsZW1lbnRzLgoKMjAwOS0wMS0yOSAxOTo0MjowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgQ29tcGVuc2F0ZSBmb3IgdGltZXN0YW1wL2R1cmF0aW9uIHJvdW5kaW5nIGVycm9ycwoKMjAwOS0wMS0yOSAxNTo1NjowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEltcHJvdmUgRU9TIGxvZ2ljIHRvIGNoZWNrIGFsbCBwYWRzIHdoZW4gcHVsbGluZyBhIHBhY2tldCByZXR1cm5lZCBFT1MKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgZmluaXNoIGFsbCBwYWRzIHRoYXQgYXJlIGF0IEVPUyBub3cgaW5zdGVhZCBvZgoJICBqdXN0IGZpbmlzaGluZyBvbmUgYW5kIHJldHVybmluZyB0byB0aGlzIHBvaW50IG92ZXIgYW5kIG92ZXIgYWdhaW4uCgoyMDA5LTAxLTI5IDE1OjU1OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgT25seSBwdXNoIGJ1ZmZlcnMgZm9yIHBhZHMgdGhhdCBhcmUgbm90IG1vcmUgdGhhbiA1MDBtcyBiZWZvcmUgb3RoZXIgcGFkcwoKMjAwOS0wMS0yOSAxNTozOTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEltcHJvdmUgRU9TIGxvZ2ljIHRvIG9ubHkgZ28gaW50byBFT1MgYWZ0ZXIgYWxsIHRyYWNrcyBhcmUgZmluaXNoZWQKCjIwMDktMDEtMjggMTc6MzQ6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBVcGRhdGUgVE9ETyBsaXN0CgoyMDA5LTAxLTI4IDE2OjM5OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgVHJ5IHRvIGtlZXAgdGhlIHRpbWVzdGFtcCBkaWZmZXJlbmNlIGJldHdlZW4gdHJhY2tzIGxvd2VyIHRoYW4gNTAwbXMKCjIwMDktMDEtMjcgMTU6MzY6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBGaXggcGxheWJhY2sgb2YgYXRvbSBmaWxlcwoKMjAwOS0wMS0yNyAxNToyNzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEtlZXAgdHJhY2sgb2YgY3VycmVudCBwbGF5YmFjayBwb3NpdGlvbgoKMjAwOS0wMS0yNyAxNDozODozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFNldCBlc3NlbmNlIHRyYWNrIHBvc2l0aW9ucyB0byAwIGlmIHdlJ3JlIGF0IHRoZSBzdGFydCBwYXJ0aXRpb24KCjIwMDktMDEtMjcgMTQ6MjU6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIEdlbmVyYXRlIGFuIGluZGV4IHRhYmxlIGZvciBlc3NlbmNlIHN0cmVhbXMKCSAgR2VuZXJhdGUgYW4gaW5kZXggdGFibGUgZm9yIGVzc2VuY2Ugc3RyZWFtcyBkdXJpbmcgcGxheWJhY2sKCSAgYW5kIG1ha2Ugc3VyZSB0aGF0IG9ubHkgdGhlIGNvcnJlY3QgZXNzZW5jZSBlbGVtZW50cyBhcmUKCSAgdXNlZCBmb3IgcGxheWVkIHRyYWNrcy4KCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBoYXZlIG9uZSBlc3NlbmNlIHN0cmVhbSB1c2VkIGluIG11bHRpcGxlCgkgIHBsYXliYWNrIHRyYWNrcy4KCSAgRml4IHNvbWUgbWlub3IgYnVncy4KCjIwMDktMDEtMjcgMTQ6MjM6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBEb24ndCBjb21wbGFpbiBpZiB0aGUgcHJlZmFjZSBoYXMgbm8gcHJpbWFyeSBwYWNrYWdlIHNldAoKMjAwOS0wMS0yNiAxNjoyMzozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgQWxsb3cgaW5kZXggdGFibGUgc2VnbWVudHMgd2l0aG91dCBwcmltZXIgcGFjawoJICBXaGVuIHBhcnNpbmcgYW4gaW5kZXggdGFibGUgc2VnbWVudCB3aXRob3V0IGEgdmFsaWQKCSAgcHJpbWVyIHBhY2sgaW4gdGhpcyBwYXJ0aXRpb24gb25seSBwYXJzZSB0aGUgc3RhdGljCgkgIGxvY2FsIHRhZ3MgYW5kIGlnbm9yZSBhbGwgZHluYW1pYyBvbmVzLgoJICBUaGlzIGFsbG93cyB1cyB0byB1c2UgaW5kZXggdGFibGUgc2VnbWVudHMgaW4gc29tZQoJICBicm9rZW4gZmlsZXMuCgoyMDA5LTAxLTI2IDE2OjIwOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBBZGQgZXNzZW5jZSB0cmFjayBhYnN0cmFjdGlvbgoJICBBZGQgYW4gYWJzdHJhY3Rpb24gdG8gcmVwcmVzZW50IGVzc2VuY2UgdHJhY2tzIGFuZAoJICB1c2UgdGhpcyBldmVyeXdoZXJlLiBUaGlzIHdpbGwgbGF0ZXIgYmUgdXNlZCB0byBrZWVwCgkgIHRyYWNrIG9mIHBvc2l0aW9ucyBhbmQgdG8gZ2VuZXJhdGUvaGFuZGxlIHNlZWsgdGFibGVzLgoJICBTb21lIHJhbmRvbSBjbGVhbnVwIGFuZCByZW5hbWluZy4KCjIwMDktMDEtMjYgMTQ6NDc6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJICBGaXggcGFyc2luZyBvZiBpbmRleCB0YWJsZSBzZWdtZW50cwoJICBBbGxvY2F0ZSBtZW1vcnkgZm9yIHRoZSBwb3MgdGFibGVzIGFuZCBzbGljZSBvZmZzZXRzCgkgIG9mIHRoZSBpbmRleCBlbnRyaWVzIHNlcGFyYXRlbHkgdG8gYSkgZml4IGFsaWdubWVudCBpbgoJICB3ZWlyZCBjYXNlcyBhbmQgYikgdG8gYWN0dWFsbHkgaGF2ZSBzb21ldGhpbmcgdG8gZnJlZSgpCgkgIGluIHRoZSBpbmRleCB0YWJsZSBzZWdtZW50IHJlc2V0IGZ1bmN0aW9uLgoKMjAwOS0wMS0yNiAxNDozMzowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgSW1wcm92ZSBkZXRlY3Rpb24gb2YgdGhlIGVuZCBvZiB0aGUgaGVhZGVyIG1ldGFkYXRhCgkgIEhlYWRlciBtZXRhZGF0YSBpcyBmaW5pc2hlZCBhZnRlciBwYXJ0aXRpb24uaGVhZGVyX2J5dGVfY291bnQKCSAgYnl0ZXMgYWZ0ZXIgdGhlIGZpcnN0IGJ5dGUgb2YgdGhlIHByaW1lciBwYWNrIGFyZSBoYW5kbGVkLgoJICBBZnRlciB0aGlzIHRoZXJlIGNhbiBvbmx5IGJlIGluZGV4IHRhYmxlIHNlZ21lbnRzLCBmaWxsZXIgcGFja2V0cywKCSAgZXNzZW5jZSBvciB0aGUgc3RhcnQgb2YgdGhlIG5leHQgcGFydGl0aW9uLgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIHNvbWUgZmlsZXMgdGhhdCBoYXZlIG5vbi1zdGFuZGFyZCBtZXRhZGF0YQoJICBwYWNrZXRzIGluIHRoZSBoZWFkZXIgbWV0YWRhdGEuCgoyMDA5LTAxLTMwIDE4OjI3OjAzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIFVucmVmIGV2ZW50IGlmIHdlIGRvbid0IGZvcndhcmQgaXQsIHVucmVmIHBhZHMgd2hlbiBkb25lIHdpdGggdGhlbS4KCjIwMDktMDEtMzAgMjI6Mjg6MTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIEFkZCByZWxlYXNlaW5mbyB3aXRoIG9ubGluZSB1cmwuCgoyMDA5LTAxLTMwIDE4OjIwOjE3ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIEZvcnRlLgoJICBEZXJlZmVyZW5jZSB0aGUgcG9pbnRlciB0byB0aGUgcGFzc2VkIHNvY2tldCB0byBjaGVjayB0aGUgYWN0dWFsIGZkCgkgIHdoZW4gY2xvc2luZyB0aGVtLgoJICBDYXN0IGFuIGFzc2lnbm1lbnQgdG8ga2lsbCBhIHdhcm5pbmcuCgoyMDA5LTAxLTMwIDE4OjE4OjEwICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBGaXggdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZGVmYXVsdCBwYXJzZV9mcmFtZSBmdW5jdGlvbi4KCSAgRml4IHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGRlZmF1bHQgcGFyc2VfZnJhbWUgZnVuY3Rpb24gaW4gYm90aAoJICBjb3BpZXMgb2YgR3N0QmFzZVBhcnNlCgoyMDA5LTAxLTMwIDE3OjMxOjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEJ1bXAgY29tbW9uCgoyMDA5LTAxLTMwIDA4OjU0OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBVc2UgYSBzeW1ib2xpYyBsaW5rIGZvciB0aGUgcHJlLWNvbW1pdCBjbGllbnQtc2lkZSBob29rCgoyMDA5LTAxLTI5IDE3OjU5OjM1IC0wMjAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5oOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuaDoKCSogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuaDoKCSAgcXR3cmFwcGVyOiBGaXhlcyBidWlsZCBhdCBjYXNlIHNlbnNpdGl2ZSBzeXN0ZW1zLgoKMjAwOS0wMS0yOCAxMjo0MTozNiArMDAwMCAgSm9zZXAgVG9ycmEgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgbXBlZ2RlbXV4OiBkbyBub3Qgc2tpcCBwZXMgcGFja2V0cyB0aGF0IHdlIHRoaW5rIGFyZSBlbmNyeXB0ZWQKCSAgcGVzIHBhY2tldHMgdGhhdCBjbGFpbSB0byBiZSBlbmNyeXB0ZWQgbWF5IG5vdCBiZSBzbywgc28gdHJlYXQgYXMgbm9ybWFsLgoJICBKdXN0IGxvZyB0aGUgZmxhZ3MuCgoyMDA5LTAxLTI4IDEzOjI1OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBBZGRpdGlvbmFsIG1lZGlhIHR5cGUgc3VwcG9ydCBpbiBxdG11eCAoYW5kIGZyaWVuZHMpLgoJICBTdXBwb3J0IEFNUiBhbmQgSDI2MyBmb3IgYm90aCBxdG11eCBhbmQgZ3BwbXV4LAoJICBhbmQgYWRkIGV4dGVuc2lvbnMgaW4gc2FtcGxlIHRhYmxlIGRlc2NyaXB0aW9uLgoKMjAwOS0wMS0yOCAxMjoyNzo0MiArMDAwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgUmV2ZXJ0ICJtcGVnZGVtdXg6IGRvIG5vdCBza2lwIHBlcyBwYWNrZXRzIHRoYXQgd2UgdGhpbmsgYXJlIGVuY3J5cHRlZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkM2U0ZTU1OThmNmMzZGI0NDRkMDAxNDU5N2QzODNlZDM1YTAyOTk4LgoKMjAwOS0wMS0yOCAxMjowNjo0OSArMDAwMCAgSm9zZXAgVG9ycmEgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSogY29tbW9uOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBtcGVnZGVtdXg6IGRvIG5vdCBza2lwIHBlcyBwYWNrZXRzIHRoYXQgd2UgdGhpbmsgYXJlIGVuY3J5cHRlZAoJICBwZXMgcGFja2V0cyB0aGF0IGNsYWltIHRvIGJlIGVuY3J5cHRlZCBtYXkgbm90IGJlIHNvLCBzbyB0cmVhdCBhcyBub3JtYWwuCgkgIEp1c3QgbG9nIHRoZSBmbGFncy4KCjIwMDktMDEtMjQgMTg6MTM6MzkgKzAxMDAgIEhhbnMgZGUgR29lZGUgPGp3cmRlZ29lZGVAZmVkb3JhcHJvamVjdC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL01ha2VmaWxlLmFtOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL1JFQURNRToKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9jaGFuZ2VzLnR4dDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9mYXN0bWl4LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9pdF9kZWZzLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF82NjkuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfYW1mLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2Ftcy5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9kYm0uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfZG1mLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2RzbS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9mYXIuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfaXQuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfajJiLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX21kbC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9tZWQuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfbW9kLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX210Mi5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9tdG0uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfb2t0LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3BzbS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9wdG0uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfczNtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3N0bS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF91bHQuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfdW14LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3dhdi5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF94bS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbW1jbXAuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL21vZHBsdWcuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL21vZHBsdWcuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRfZHNwLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRfZmx0LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRfZnguY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRtaXguY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3N0ZGFmeC5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3RhYmxlcy5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvdGFibGVzLmQ6CgkgIEJ1aWxkIHRoZSBtb2RwbHVnIHBsdWdpbiBhZ2FpbnN0IHRoZSBtb2RwbHVnIGxpYnJhcnkgYW5kIHJlbW92ZSBvdXIgY29weQoJICBBbHdheXMgYnVpbGQgdGhlIG1vZHBsdWcgcGx1Z2luIGFnYWluc3QgdGhlIHN5c3RlbSBtb2RwbHVnIGxpYnJhcnkKCSAgYW5kIHJlbW92ZSBvdXIgb3duIGNvcHkuIFVzaW5nIHRoZSBzeXN0ZW0gdmVyc2lvbiBoYXMgYWR2YW50YWdlcwoJICBpZiBzZWN1cml0eSBpc3N1ZXMgb3Igb3RoZXIgY3JpdGljYWwgYnVncyBhcmUgZm91bmQgaW4gbGlibW9kcGx1ZwoJICBhbmQgb3VyIG93biBjb3B5IHdhc24ndCByZWFsbHkgbWFpbnRhaW5lZCBhbnl3YXkuCgkgIEFsc28gb3VyIGNvcHkgb25seSBjb250YWluZWQgc29tZSBwYXRjaGVzIHRvIHVzZSBHTGliIHR5cGVzIGFuZCBmdW5jdGlvbnMuCgkgIEZpeGVzIGJ1ZyAjNTY4ODM3LgoKMjAwOS0wMS0yMyAyMzo0MjoyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogLmdpdGlnbm9yZToKCSogcG8vLmdpdGlnbm9yZToKCSAgQWRkIG1vcmUgdG8gdGhlIGdpdGlnbm9yZXMKCjIwMDktMDEtMjMgMTQ6MDI6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIE1ha2UgUkdCIG1hc2tzIHVuc2lnbmVkIGluIHJhd3ZpZGVvcGFyc2UKCSAgQWxsb3cgdGhlIGZ1bGwgcmFuZ2Ugb2YgMzIgYml0IG1hc2tzIGZvciBSR0JBL1JHQiBkYXRhIGJ5IG1ha2luZyBzdXJlCgkgIHRoZSBtYXNrIHByb3BlcnRpZXMgYXJlIHVuc2lnbmVkLgoKMjAwOS0wMS0yMyAxNjowOTo1MSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3RpbWlkaXR5L1JFQURNRToKCSAgQWRkIFJFQURNRSB3aXRoIG1pZGkgcmVsYXRlZCBsaW5rcy4KCjIwMDktMDEtMjMgMTY6MDA6MTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIExvZyBhYWMgZGV0YWlscyBmb3VuZCBpbiBjb2RlY19kYXRhLgoKMjAwOS0wMS0yMyAxNDo0MzowMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSAgQ29uZmlndXJlIGJ5dGUgb3JkZXIgZm9yIEVYSUYuIEZpeGVzICM1Njg3MDQKCSAgRXhpZiBibG9ja3MgY2FuIGJlIGluIGRpZmZlcm50IGJ5dGUgb3JkZXJzLiBBZGQgYW4gZWxlbWVudCBwcm9wZXJ0eSB0byBzZWxlY3Qgd2ljaCBvbmUgc2hvdWxkIGJlIHdyaXR0ZW4uCgoyMDA5LTAxLTIzIDEyOjQ2OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2J1ZmZlci5oOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9kZWJ1Zy5jOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9kZWJ1Zy5oOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9mdW5jdGFibGUuYzoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZnVuY3RhYmxlLmg6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZV9jaHVuay5jOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2J1ZmZlci5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvYnVmZmVyLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9kZWJ1Zy5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZGVidWcuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZnVuY3RhYmxlLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfY2h1bmsuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xlZ2FjeXJlc2FtcGxlLmM6CgkgIFJlbmFtZSBhdWRpb3Jlc2FtcGxlIGZpbGVzIGFuZCB0eXBlcyB0byBsZWdhY3lyZXNhbXBsZQoJICBGaW5pc2ggdGhlIG1vdmUvcmVuYW1lIG9mIGF1ZGlvcmVzYW1wbGUgdG8gbGVnYWN5cmVzYW1wbGUKCSAgdG8gcHJldmVudCBhbnkgY29uZnVzaW9uLgoKMjAwOS0wMS0yMyAxMjozOToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9SRUFETUU6CgkqIGdzdC9zcGVleHJlc2FtcGxlL2FyY2guaDoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZ2VuZXJpYy5oOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9mbG9hdC5jOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfaW50LmM6CgkqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIFJlbW92ZSBzcGVleHJlc2FtcGxlIGZyb20gLWJhZCwgaXQncyBpbiAtYmFzZQoKMjAwOS0wMS0yMyAxMjoxMzowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIFNlbmQgQllFIHBhY2tldHMgaW1tZWRpYXRseSBmb3Igc21hbGwgc2Vzc2lvbnMKCSAgV2hlbiB0aGUgbnVtYmVyIG9mIHBhcnRpY2lwYW50cyBpcyBsZXNzIHRoYW4gNTAsIHRoZSBSRkMgYWxsb3dzIGZvciBzZW5kaW5nIHRoZQoJICBCWUUgcGFja2V0IGltbWVkaWF0bHkgaW5zdGVhZCBvZiB1c2luZyB0aGUgcmVndWxhciBCWUUgdGltZW91dC4KCSAgRml4ZXMgIzU2NzgyOC4KCjIwMDktMDEtMjMgMTE6NTA6MjkgKzAxMDAgIEhhbnMgZGUgR29lZGUgPGp3cmRlZ29lZGVAZmVkb3JhcHJvamVjdC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIEFkZCBzZWVraW5nIHN1cHBvcnQgdG8gbW1zc3JjLiBGaXhlcyBidWcgIzQ2OTkzMC4KCSAgQWRkIHByb3BlciBzZWVraW5nIHN1cHBvcnQgdG8gbW1zc3JjIGFuZCBjbGVhbgoJICB1cCBzb21lIGNvZGUuIFRoaXMgcmVxdWlyZXMgbGlibW1zID49IDAuNC4KCjIwMDktMDEtMjMgMTA6NDQ6MjAgKzAxMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICBMaW5rIG1vZHBsdWcgcGx1Z2luIHdpdGggLWxtLiBGaXhlcyBidWcgIzU2ODQ4My4KCjIwMDktMDEtMjMgMTA6MTE6NTIgKzAxMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBGaXggYnVpbGQgb24gU29sYXJpcy4gRml4ZXMgYnVnICM1Njg0ODAuCgkgIEZpeCBsaW5raW5nIG9uIFNvbGFyaXMgYnkgY2hlY2tpbmcgZm9yIHRoZSBuc2wgYW5kIHNvY2tldAoJICBsaWJyYXJpZXMgd2hpY2ggYXJlIG5lZWRlZCBmb3Igc29ja2V0KCkgYW5kIGdldGhvc3RieW5hbWUoKS4KCSAgRG9uJ3QgaW5pdGlhbGl6ZSBzb21lIGZpZWxkcyBvZiBzdHJ1Y3QgbWggdG8gTlVMTC8wLCB0aGV5J3JlCgkgIGFscmVhZHkgc2V0IHRvIE5VTEwvMCBieSBhIG1lbXNldCgpLiBBbHNvIHRoaXMgZmllbGRzIGRvbid0CgkgIGV4aXN0IG9uIFNvbGFyaXMuCgoyMDA5LTAxLTIyIDE0OjM3OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIFN0b3JlIGFsbCBwYXJ0aXRpb25zICYgcHJpbWVyIHBhY2tzIGluIG1lbW9yeSBmb3IgZmFzdGVyIGFjY2VzcwoJICBTdG9yZSBhbGwgcGFydGl0aW9ucyAmIHByaW1lciBwYWNrcyBpbiBtZW1vcnkgZm9yIGZhc3RlciBhY2Nlc3MuCgkgIFRoaXMgaXMgbGF0ZXIgbmVlZGVkIGZvciBmYXN0IHNlZWtpbmcuCgkgIFByZS1maWxsIHRoZSBsaXN0IG9mIHBhcnRpdGlvbnMgd2l0aCB0aGUgY29udGVudCBvZiB0aGUgcmFuZG9tCgkgIGluZGV4IHBhY2suCgkgIERvbid0IHBhcnNlIG1ldGFkYXRhIG9mIGFuIHBhcnRpdGlvbiB0d2ljZS4KCjIwMDktMDEtMjIgMTg6MjA6MDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbiBzbmFwc2hvdC4KCjIwMDktMDEtMjIgMTQ6MDA6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFVwZGF0ZSBjb25maWcuaCBmb3IgZGV2ZWxvcG1lbnQuCgoyMDA5LTAxLTIyIDEzOjQ2OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb21tb246CgkgIEZpeCBwcmUtY29tbWl0IGhvb2sKCjIwMDktMDEtMjIgMTM6Mzk6MzQgKzAxMDAgIEphbiBVcmJhbnNraSA8ai51cmJhbnNraUBzdHVkZW50cy5taW11dy5lZHUucGw+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBFQ01BIGFycmF5cyBpbiBzY3JpcHQgdGFncy4gRml4ZXMgYnVnICM1Njc5NjUuCgkgIEFkZCBzdXBwb3J0IGZvciBFQ01BIGFycmF5cyBpbiBzY3JpcHQgdGFncy4gVGhpcyBmaXhlcwoJICBzZWVraW5nIG9uIHNvbWUgZmlsZXMgdGhhdCBoYXZlIHRoZSBzZWVrIHRhYmxlIHN0b3JlZAoJICBpbnNpZGUgYW4gRUNNQSBhcnJheSBpbnN0ZWFkIG9mIHRoZSBub3JtYWwgYXJyYXkuCgoyMDA5LTAxLTIyIDEzOjMzOjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIFVubG9jayB0aGUgaml0dGVyYnVmZmVyIGJlZm9yZSBwdXNoaW5nIG91dCB0aGUgcGFja2V0LWxvc3QgZXZlbnRzLiBNb3ZlIHNvbWUgY29kZSBiZWZvcmUgd2UgZG8gdGhlIHVubG9jayB0byBtYWtlIHRoZSBqaXR0ZXJidWZmZXIgc3RhdGUgY29uc2lzdGVudCB3aGlsZSB3ZSBhcmUgdW5sb2NrZWQuCgoyMDA5LTAxLTIyIDExOjU0OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgRml4IFVMIGZvciBEVFMgYW5kIE1QRUcyIGxheWVyIDEKCjIwMDktMDEtMjIgMTE6NTQ6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgQUFDIGF1ZGlvCgoyMDA5LTAxLTIyIDExOjQ3OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgU3RvcmUgTVhGIG1ldGFkYXRhIGluIGEgaGFzaCB0YWJsZSwga2V5ZWQgYnkgVUlECgkgIFN0b3JlIHRoZSBNWEYgbWV0YWRhdGEgaW4gYSBoYXNoIHRhYmxlLCBrZXllZCBieSB0aGUKCSAgaW5zdGFuY2UgVUlELiBUaGlzIHNpbXBsaWZpZXMgcmVzb2x2YWwgb2YgdGhlIG1ldGFkYXRhCgkgIGFuZCBtYWtlcyBsb29waW5nIG92ZXIgYWxsIG1ldGFkYXRhIHNldHMgdW5uZWNlc3NhcnkKCSAgaW4gbW9zdCBjYXNlcy4KCSAgQWRkaXRpb25hbGx5IHBhcnNlIG1ldGFkYXRhIGFsd2F5cy4gSWYgd2UgYWxyZWFkeSBoYXZlCgkgIGEgbWV0YWRhdGEgc2V0IHdpdGggdGhlIHNhbWUgVUlEIHJlcGxhY2UgaXQgb25seSBpZgoJICB0aGUgbmV3IG1ldGFkYXRhIHNldCBpcyBmcm9tIGEgbGF0ZXIgb2Zmc2V0LiBUaGlzCgkgIGZpeGVzIG1ldGFkYXRhIHBhcnNpbmcgb2YgZmlsZXMgd2hlcmUgZm9sbG93aW5nIHBhcnRpdGlvbnMKCSAgZG9uJ3QgaGF2ZSBhIGNvbXBsZXRlIGNvcHkgb2YgdGhlIHByZXZpb3VzIG1ldGFkYXRhLgoKMjAwOS0wMS0yMiAxMTo0NDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEJ1aWxkIHRoZSByYW5kb20gaW5kZXggcGFjayB3aGlsZSBwYXJzaW5nCgkgIElmIHRoZSBmaWxlIGNvbnRhaW5zIG5vIHJhbmRvbSBpbmRleCBwYWNrIG9yIGp1c3QKCSAgYW4gaW52YWxpZCBvbmUgYnVpbGQgdGhlIHJhbmRvbSBpbmRleCBwYWNrIHdoaWxlCgkgIHBhcnNpbmcuCgoyMDA5LTAxLTIyIDExOjQzOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmFsYXcuaDoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkMTAuaDoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmRtczEuaDoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtcGVnLmg6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ1cC5oOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJKiBnc3QvbXhmL214ZnZjMy5oOgoJICBVcGRhdGUgY29weXJpZ2h0cyBmb3IgMjAwOQoKMjAwOS0wMS0yMiAxMTo0MjoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmRtczEuaDoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgU2ltcGxpZnkgcGFyc2luZyBvZiBVTC9VVUlEIGFycmF5cwoJICBTaW1wbGlmeSBwYXJzaW5nIG9mIFVML1VVSUQgYXJyYXlzIGJ5IGFic3RyYWN0aW5nIGl0CgkgIGludG8gYSBzZXBhcmF0ZSBmdW5jdGlvbi4KCjIwMDktMDEtMjIgMTE6Mzc6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmRtczEuaDoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgSW1wbGVtZW50IHBhcnNpbmcgb2YgRE1TMSAoU01QVEUgUzM4ME0pCgoyMDA5LTAxLTIyIDExOjAwOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIERpc2FibGUgdGhlIGZpbHRlciBwbHVnaW4gZnJvbSB0aGUgYnVpbGQKCSAgVGhlIGZpbHRlciBwbHVnaW4gb25seSBjb250YWlucyBhIGxpbWl0ZWQgSUlSIGZpbHRlciBlbGVtZW50CgkgIHdoaWNoIGlzIG5vdyBvYnNvbGV0ZWQgYnkgdGhlIGF1ZGlvaWlyZmlsdGVyIGVsZW1lbnQgZnJvbQoJICBnc3QtcGx1Z2lucy1nb29kL2F1ZGlvZnguCgoyMDA5LTAxLTIyIDExOjU2OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWwgLT4gMC4xMC4xMC4xCgoyMDA5LTAxLTIyIDA2OjEyOjU1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBJbnN0YWxsIGFuZCB1c2UgcHJlLWNvbW1pdCBpbmRlbnRhdGlvbiBob29rIGZyb20gY29tbW9uCgoyMDA5LTAxLTIxIDEyOjIyOjU0ICswMTAwICBBbmR5IFdpbmdvIDx3aW5nb0BvYmxvbmcubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBSZXZlcnQgImFkZCBhdWRpb2J1ZmZlciB0byB0aGUgYnVpbGQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMWM2YWMxNzBiOWYyMThjNjczYzBkYWFmNWM1NjhjNjAwMGEzN2ZjMy4KCjIwMDktMDEtMjEgMTI6MTg6NDkgKzAxMDAgIEFuZHkgV2luZ28gPHdpbmdvQG9ibG9uZy5uZXQ+CgoJICBhZGQgYXVkaW9idWZmZXIgdG8gdGhlIGJ1aWxkCgkgICogY29uZmlndXJlLmFjOiBBZGQgYXVkaW9idWZmZXIgdG8gdGhlIGJ1aWxkLgoKMjAwOS0wMS0yMSAwNDozMjoxNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2ggOiBVc2UgZ2l0IHN1Ym1vZHVsZQoKPT09IHJlbGVhc2UgMC4xMC4xMCA9PT0KCjIwMDktMDEtMTkgMjM6MTU6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBwby9MSU5HVUFTOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjEwCgoyMDA5LTAxLTE5IDIyOjQxOjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDEtMDkgMjM6NDQ6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjkuMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuOS4zIHByZS1yZWxlYXNlCgoyMDA5LTAxLTA5IDIyOjA5OjA2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogRG9uJ3QgZm9yd2FyZCBkdXJhdGlvbiByZXF1ZXN0cyBpbiBCWVRFUywgc2luY2UgdGhlIHJldHVybmVkIHZhbHVlIGRvZXNuJ3QgbWVhbiBhbnl0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIERvbid0IGZvcndhcmQgZHVyYXRpb24gcmVxdWVzdHMgaW4gQllURVMsIHNpbmNlIHRoZSByZXR1cm5lZAoJICB2YWx1ZSBkb2Vzbid0IG1lYW4gYW55dGhpbmcuICBGaXhlcyAjNTY2OTU5CgoyMDA5LTAxLTA5IDIxOjU5OjQ4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOiBBZGQgdmlkZW8veC1xdC1wYXJ0IGFuZCB2aWRlby94LW00LXBhcnQgdG8gY2FwcyBzbyBzY2hyb2VuYy9zY2hyb3BhcnNlIGNhbiB1c2UgaXQuICBGaXhlcyAjNS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzogQWRkIHZpZGVvL3gtcXQtcGFydCBhbmQgdmlkZW8veC1tNC1wYXJ0CgkgIHRvIGNhcHMgc28gc2Nocm9lbmMvc2Nocm9wYXJzZSBjYW4gdXNlIGl0LiAgRml4ZXMgIzU2Njk1OAoKMjAwOS0wMS0wOSAxNjo0OTo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzogQWRkaXRpb25hbCBwYXRjaCBmb3IgcmVzaW4gZml4ZXMgdGltZS1iYXNlZCBzZWVraW5nIGluIHRpdGxlcyB0aGF0IGRvbid0IHN0YXJ0IGF0IHNlY3RvciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIEFkZGl0aW9uYWwgcGF0Y2ggZm9yIHJlc2luIGZpeGVzIHRpbWUtYmFzZWQgc2Vla2luZyBpbiB0aXRsZXMKCSAgdGhhdCBkb24ndCBzdGFydCBhdCBzZWN0b3IgMCBpbiB0aGUgVlRTLCBhbmQgZml4ZXMgaW50ZXJwcmV0YXRpb24KCSAgb2YgdGhlIGNlbGwgZWxhcHNlZCB0aW1lLCBzbyB0aGF0IGl0IHJlcG9ydHMgdGhlIGNvcnJlY3QgdGltZSBhZnRlcgoJICB0aGUgc2VlayBjb21wbGV0ZXMuCgkgIFJlYWxseSBmaXhlcyAjNTY2OTU3LgoKMjAwOS0wMS0wOCAxNzo1NzoxOSArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgZXh0L2xhZHNwYS9zZWFyY2guYzogQXZvaWQgc2VhcmNoaW5nIChudWxsKSBwYXRocyBvciBjcmFzaGluZyBvbiBwbGF0Zm9ybXMgd2hlcmUgcHJpbnRpbmcgYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIGV4dC9sYWRzcGEvc2VhcmNoLmM6IChMQURTUEFQbHVnaW5TZWFyY2gpOgoJICBBdm9pZCBzZWFyY2hpbmcgKG51bGwpIHBhdGhzIG9yIGNyYXNoaW5nIG9uIHBsYXRmb3JtcyB3aGVyZSBwcmludGluZyBhCgkgIE5VTEwgc3RyaW5nIHNlZ2ZhdWx0cy4gRml4ZXMgIzU2NzAwNC4KCjIwMDktMDEtMDggMTI6NDI6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkLzogQWRkIHN1cHBvcnQgZm9yIHRpbWUgYmFzZWQgc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHRpbWUgYmFzZWQgc2Vla2luZy4KCSAgTWFrZSBzZXR0aW5nIGR2ZDovLyByZXNldCB0byB0aGUgZGVmYXVsdCBkZXZpY2UuCgkgIE1ha2UgdGhlICdhdWRpb211bmdlJyBlbGVtZW50IHNlbmQgYW55IG5ldyBzZWdtZW50IHN0YXJ0IGJlZm9yZQoJICB0aGUgJ2dhcCBmaWxsZXInIGJ1ZmZlciBpdCBnZW5lcmF0ZXMsIGFuZCBhbnkgc2VnbWVudCBjbG9zZXMKCSAgYWZ0ZXIuCgkgIEZpeGVzOiAjNTY2OTU3CgoyMDA5LTAxLTA4IDA5OjQwOjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiBBZGQgcGx1Z2luIGRlcGVuZGVuY3kgZm9yIHRoZSBMQURTUEEgcGx1Z2luIGRpcmVjdG9yaWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgcGx1Z2luIGRlcGVuZGVuY3kgZm9yIHRoZSBMQURTUEEgcGx1Z2luIGRpcmVjdG9yaWVzLgoJICBGaXhlcyBidWcgIzU2Njg3OC4KCjIwMDktMDEtMDYgMjI6NTE6MzcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc3QgdGVzdCBoZWFkZXJzIGZvciBhbXIgYW5kIGFhYyBwYXJzZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzdCB0ZXN0IGhlYWRlcnMgZm9yIGFtciBhbmQgYWFjIHBhcnNlcnMuCgkgIFJlbW92ZSBsZWZ0b3ZlciBsaW5lcyBtZW50aW9uZWQgc3BlZXhyZXNhbXBsZSB0ZXN0cy4KCjIwMDktMDEtMDYgMjI6MzU6NTAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06IEZpeCB0eXBvIGluIHRoZSBvcHBvc2l0ZSB3YXkgdG8gZ2l2ZSB0aGUgcGx1Z2luIGEgc2Vuc2libGUgbmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSAgRml4IHR5cG8gaW4gdGhlIG9wcG9zaXRlIHdheSB0byBnaXZlIHRoZSBwbHVnaW4gYSBzZW5zaWJsZSBuYW1lLgoKMjAwOS0wMS0wNiAyMjoxNjo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOiBGaXggdHlwbyBpbiB0aGUgbWFrZWZpbGUgdGFyZ2V0IHByZXZlbnRpbmcgZGlzdGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSAgRml4IHR5cG8gaW4gdGhlIG1ha2VmaWxlIHRhcmdldCBwcmV2ZW50aW5nIGRpc3RpbmcuCgoyMDA5LTAxLTA1IDIzOjAzOjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBBcHBTcmMvQXBwU2luayB0aGF0IGFyZSBtb3ZpbmcgdG8gLWJhc2UuIFBhcnRpYWxseSBmaXhlcyAjNTY0NDIxCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOgoJICAqIGV4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICAqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwLy5jdnNpZ25vcmU6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcGJ1ZmZlci5oOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvZ3N0YXBwLmM6CgkgIFJlbW92ZSBBcHBTcmMvQXBwU2luayB0aGF0IGFyZSBtb3ZpbmcgdG8gLWJhc2UuIFBhcnRpYWxseSBmaXhlcwoJICAjNTY0NDIxCgoyMDA5LTAxLTA1IDE3OjQxOjUxICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IEd1YXJkIGludGVydmFsIGlzIDQgaWYgZGVzY3JpcHRvciBwYXJ0IHNob3dzIGJpbmFyeSAxMSAoMyBub3QgNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBHdWFyZCBpbnRlcnZhbCBpcyA0IGlmIGRlc2NyaXB0b3IgcGFydCBzaG93cyBiaW5hcnkgMTEgKDMgbm90IDQpLgoKMjAwOS0wMS0wNSAxNzozMDo1NSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDogRml4IHVwIHNhdGVsbGl0ZSBkZWxpdmVyeSBzdWJzeXN0ZW0gZGVmcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBGaXggdXAgc2F0ZWxsaXRlIGRlbGl2ZXJ5IHN1YnN5c3RlbSBkZWZzLgoKMjAwOS0wMS0wNSAxNzoyNjowMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDogRml4IHVwIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yIGRlZnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgRml4IHVwIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yIGRlZnMuCgkgIFRoZXkgc2hvdWxkIGJlIHNoaWZ0ZWQgb3RoZXJ3aXNlIHdyb25nIHZhbHVlcyBhcmUgc2Vlbi4KCjIwMDktMDEtMDUgMTM6NDE6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiAiR2VuZXJhdGlvbiBVSUQiIGFuZCAiVGhpcyBHZW5lcmF0aW9uIFVJRCIgYXJlIGRpZmZlcmVudCBzbyBoYW5kbGUgdGhlbSBkaWZmZXJlbnQuIEFsc28gYm90aCBhcmUgbm90IHBhcnQgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbG9jYXRvcl9jbGFzc19pbml0KToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgICJHZW5lcmF0aW9uIFVJRCIgYW5kICJUaGlzIEdlbmVyYXRpb24gVUlEIiBhcmUgZGlmZmVyZW50IHNvIGhhbmRsZQoJICB0aGVtIGRpZmZlcmVudC4gQWxzbyBib3RoIGFyZSBub3QgcGFydCBvZiBldmVyeSBtZXRhZGF0YSB0eXBlLgoKMjAwOS0wMS0wNSAxMjozNDoxOCArMDAwMCAgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPgoKCSAgZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBGaXggY29sb3Igb2Zmc2V0IGNhbGN1bGF0aW9uIGZvciAyNGJwcC4gRml4ZXMgYnVnICM1NjY2MTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2FzY2hhIEhhdWVyIDxzIGRvdCBoYXVlciBhdCBwZW5ndXRyb25peCBkb3QgZGU+CgkgIEx1b3RhbyBGdSA8bCBkb3QgZnUgYXQgcGVuZ3V0cm9uaXggZG90IGRlPgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogKGdldF9waXhfb2Zmc2V0KSwKCSAgKGdzdF9iYXllcjJyZ2Jfc2V0X2NhcHMpOgoJICBGaXggY29sb3Igb2Zmc2V0IGNhbGN1bGF0aW9uIGZvciAyNGJwcC4gRml4ZXMgYnVnICM1NjY2MTMuCgoyMDA5LTAxLTA1IDExOjI4OjQ5ICswMDAwICB2YW5pc3RhIDx2YW5pc3RhQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvOiBJbXByb3ZlIG11eGluZyBvZiBBQzMvaDI2NCBzdHJlYW1zIGEgYml0LiBGaXhlcyBidWcgIzU1MDYxMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiB2YW5pc3RhIDx2YW5pc3RhIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogKG1wZWd0c211eF9jcmVhdGVfc3RyZWFtKToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6ICh0c211eF93cml0ZV9wbXQpOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzogKHRzbXV4X3N0cmVhbV9uZXcpLAoJICAodHNtdXhfc3RyZWFtX3dyaXRlX3Blc19oZWFkZXIpLCAodHNtdXhfc3RyZWFtX2dldF9lc19kZXNjcnMpOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgSW1wcm92ZSBtdXhpbmcgb2YgQUMzL2gyNjQgc3RyZWFtcyBhIGJpdC4gRml4ZXMgYnVnICM1NTA2MTMuCgoyMDA5LTAxLTA1IDEwOjM0OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IERvbid0IGFsbG93IG5lZ2F0aXZlIG9yIHplcm8gZWRpdCByYXRlcyB0byBwcmV2ZW50IGRpdmlzaW9uIGJ5IHplcm8gYW5kIHdlIHN1cHBvcnQgbmVnYXRpdmUgZWRpdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfcGFkX25leHRfY29tcG9uZW50KToKCSAgRG9uJ3QgYWxsb3cgbmVnYXRpdmUgb3IgemVybyBlZGl0IHJhdGVzIHRvIHByZXZlbnQgZGl2aXNpb24KCSAgYnkgemVybyBhbmQgd2Ugc3VwcG9ydCBuZWdhdGl2ZSBlZGl0IHJhdGVzIGFueXdheS4KCjIwMDktMDEtMDUgMTA6Mjg6NTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBVc2UgaHlwaGVuIGluIHByb3BlcnR5IG5hbWUsIHBlcmZvcm0gc2FmZXR5IGJ1ZmZlciBzaXplIGNoZWNrIHByaW9yIHRvIG1lbSBhY2Nlc3MsIGFuZCBzb21lIG1vLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF94MjY0X2VuY19oZWFkZXJfYnVmKSwgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpOgoJICBVc2UgaHlwaGVuIGluIHByb3BlcnR5IG5hbWUsIHBlcmZvcm0gc2FmZXR5IGJ1ZmZlciBzaXplIGNoZWNrCgkgIHByaW9yIHRvIG1lbSBhY2Nlc3MsIGFuZCBzb21lIG1vcmUgcGFyZW50aGVzZXMgaW4gbWFjcm8uCgoyMDA5LTAxLTA1IDEwOjIyOjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogRml4IGNvbXBpbGF0aW9uIHdpdGggZGVidWdnaW5nIGRpc2FibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9id2ZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfY2xpcF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX3BhcnRpdGlvbl9wYWNrX3BhcnNlKSwKCSAgKG14Zl9pbmRleF90YWJsZV9zZWdtZW50X3BhcnNlKSwgKG14Zl9wcmltZXJfcGFja19wYXJzZSksCgkgIChteGZfbG9jYWxfdGFnX2FkZF90b19oYXNoX3RhYmxlKToKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggZGVidWdnaW5nIGRpc2FibGVkLgoKMjAwOS0wMS0wNSAxMDowMDoyMSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBjb25maWd1cmUuYWM6IEFsc28gbWVudGlvbiBqcDJrZW5jIGFzIGEganAyayBwbHVnaW4gZmVhdHVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBbHNvIG1lbnRpb24ganAya2VuYyBhcyBhIGpwMmsgcGx1Z2luIGZlYXR1cmUuCgoyMDA5LTAxLTA0IDExOjExOjA2ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkgIHN5cy9kdmIvZHZiYmFzZWJpbi5jOiBGaXggc29tZSBtZW1vcnkgbGVha3MuIEZpeGVzIGJ1ZyAjNTY2MzU2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnAgYXQgay1kLXcgZG90IG9yZz4KCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzogKGR2Yl9iYXNlX2Jpbl9pbml0KSwKCSAgKGR2Yl9iYXNlX2Jpbl9maW5hbGl6ZSksIChkdmJfYmFzZV9iaW5fYWN0aXZhdGVfcHJvZ3JhbSksCgkgIChkdmJfYmFzZV9iaW5fcG10X2luZm9fY2IpLCAoZHZiX2Jhc2VfYmluX3BhZF9hZGRlZF9jYiksCgkgIChkdmJfYmFzZV9iaW5fcHJvZ3JhbV9kZXN0cm95KToKCSAgRml4IHNvbWUgbWVtb3J5IGxlYWtzLiBGaXhlcyBidWcgIzU2NjM1Ni4KCjIwMDktMDEtMDIgMTc6NDA6MDYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci86IFdoZW4gYW4gU1NSQyBpcyBmb3VuZCBvbiB0aGUgY2FwcyBvZiB0aGUgc2VuZGVyIFJUUCwgdXNlIHRoaXMgYXMgdGhlIGludGVybmFsIFNTUkMuIEZpeGVzICM1NjU5MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX3NldGNhcHNfc2VuZF9ydHApLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9pbnRlcm5hbF9zc3JjKToKCSAgV2hlbiBhbiBTU1JDIGlzIGZvdW5kIG9uIHRoZSBjYXBzIG9mIHRoZSBzZW5kZXIgUlRQLCB1c2UgdGhpcyBhcyB0aGUKCSAgaW50ZXJuYWwgU1NSQy4gRml4ZXMgIzU2NTkxMC4KCjIwMDktMDEtMDIgMTY6NTA6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFJlbmFtZSBhIG1ldGhvZCB0byBiZXR0ZXIgcmVmbGVjdCB3aGF0IGl0IHJlYWxseSBkb2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKHJ0cF9zZXNzaW9uX3NjaGVkdWxlX2J5ZV9sb2NrZWQpLCAocnRwX3Nlc3Npb25fc2NoZWR1bGVfYnllKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFJlbmFtZSBhIG1ldGhvZCB0byBiZXR0ZXIgcmVmbGVjdCB3aGF0IGl0IHJlYWxseSBkb2VzLgoKMjAwOS0wMS0wMiAxMTowMDoxNyArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJICBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06IE1vdmUgLWxnY3J5cHRvIGZyb20gX0xERkxBR1MgdG8gX0xJQkFERC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICBNb3ZlIC1sZ2NyeXB0byBmcm9tIF9MREZMQUdTIHRvIF9MSUJBREQuCgoyMDA5LTAxLTAyIDAxOjQ0OjExICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkgIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbTogTGluayBhZ2FpbnN0IC1sZ2NycHl0byBmb3IgUlNBX25ldyBhbmQgUlNBX2ZyZWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgTGluayBhZ2FpbnN0IC1sZ2NycHl0byBmb3IgUlNBX25ldyBhbmQgUlNBX2ZyZWUuCgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOS0wMS0wMiAwMToxMjozNSArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBJbml0aWFsaXplIHNjcl9yYXRlX24gYW5kIHNjcl9yYXRlX2QgaW4gb3JkZXIgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBJbml0aWFsaXplIHNjcl9yYXRlX24gYW5kIHNjcl9yYXRlX2QgaW4gb3JkZXIgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOC0xMi0zMSAwODo1MzowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgSW1wbGVtZW50IHN1cHBvcnQgZm9yIE9QMmEvYi9jIGFuZCBPUDNhL2IvYywgaS5lLiB0cmFja3Mgd2l0aCBtb3JlIHRoYW4gYSBzaW5nbGUgY29tcG9uZW50LiBUaGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOiAobXhmX2J3Zl9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9hZXMzX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2FsYXdfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9kMTBfcGljdHVyZV9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9kMTBfc291bmRfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wYWRfaW5pdCksCgkgIChnc3RfbXhmX2RlbXV4X2Nob29zZV9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X3BhZF9uZXh0X2NvbXBvbmVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9wYXJzZV9mb290ZXJfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCksIChnc3RfbXhmX2RlbXV4X3NyY19xdWVyeSk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9kdl9kaWZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfdmlkZW9faGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfbXBlZ19hdWRpb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX3VwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmdmMzLmM6IChteGZfdmMzX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6IChfc2lua19jaGFpbik6CgkgIEltcGxlbWVudCBzdXBwb3J0IGZvciBPUDJhL2IvYyBhbmQgT1AzYS9iL2MsIGkuZS4gdHJhY2tzIHdpdGgKCSAgbW9yZSB0aGFuIGEgc2luZ2xlIGNvbXBvbmVudC4gVGhpcyBjdXJyZW50bHkgb25seSB3b3JrcyBmb3IKCSAgdGhlIGNhc2Ugd2hlcmUgdGhlIGNvbXBvbmVudHMgYXJlIHN0b3JlZCBpbiBwbGF5YmFjayBvcmRlcgoJICBpbiB0aGUgZmlsZS4KCSAgU2V0IHNvbWUgbW9yZSBkZWZhdWx0L2Rpc3Rpbmd1aXNoZWQgdmFsdWVzIGZvciB0aGUgc3RydWN0dXJhbAoJICBtZXRhZGF0YS4KCSAgTWFrZSBzb21lIHR5cGVzIG1vcmUgc3RyaWN0IGJ5IGNob29zaW5nIHRoZSBjb3JyZWN0IHN1YmNsYXNzZXMuCgkgIFNldCBESVNDT05UIGZsYWcgb24gYnVmZmVycyBhZnRlciBhIGNvbXBvbmVudCBzd2l0Y2guCgkgIFRha2UgdGhlIGxhc3QgcGFydGl0aW9uIGZyb20gdGhlIHJhbmRvbSBpbmRleCBwYWNrIGZvciB0aGUgZm9vdGVyCgkgIHBhcnRpdGlvbiBvZiB0aGUgaGVhZGVyIHBhcnRpdGlvbiBkb2Vzbid0IHJlZmVyZW5jZSB0aGUgZm9vdGVyCgkgIHBhcnRpdGlvbi4gVGhpcyBnaXZlcyB1cyB0aGUgZmluYWwgc3RydWN0dXJhbCBtZXRhZGF0YSBmb3IKCSAgc29tZSBtb3JlIGZpbGVzIGluIHRoZSBiZWdpbm5pbmcuCgoyMDA4LTEyLTI5IDE4OjIyOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogVXNlIHRoZSBhZGp1c3RlZCBTQ1IgZm9yIGNhbGN1bGF0aW5nIHRoZSBtdXggcmF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zcmNfcXVlcnkpLAoJICAoZ3N0X2ZsdXBzX2RlbXV4X3BhcnNlX3BhY2tfc3RhcnQpOgoJICBVc2UgdGhlIGFkanVzdGVkIFNDUiBmb3IgY2FsY3VsYXRpbmcgdGhlIG11eCByYXRlLgoJICBEb24ndCB1cGRhdGUgdGhlIHJhdGUgZXN0aW1hdGlvbiBhZnRlciBhIGRpc2NvbnQuCgoyMDA4LTEyLTI5IDE3OjU1OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguKjogVGhlIHBvc2l0aW9uIG1lbWJlciBpbiB0aGUgbmV3c2VnbWVudCBldmVudCBjb3JyZXNwb25kcyB0byB0aGUgc3RyZWFtX3RpbWUgb2YgdGhlIHNlZ21lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc2VuZF9kYXRhKToKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBUaGUgcG9zaXRpb24gbWVtYmVyIGluIHRoZSBuZXdzZWdtZW50IGV2ZW50IGNvcnJlc3BvbmRzIHRvIHRoZQoJICBzdHJlYW1fdGltZSBvZiB0aGUgc2VnbWVudCBzdGFydCBwb3NpdGlvbi4KCjIwMDgtMTItMjkgMTc6MzA6MDMgKzAwMDAgIFJvYmluIFN0b2NrZXIgPHJvYmluQG5pYm9yLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IENvbnZlcnRpbmcgZnJvbSB0aW1lIHRvIGJ5dGVzIG9wZXJhdGVzIG9uIHRoZSBzdHJlYW1fdGltZSwgbm90IHRoZSBTQ1IgdGltZWxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm9iaW4gU3RvY2tlciA8cm9iaW4gYXQgbmlib3IgZG90IG9yZz4KCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3NyY19xdWVyeSk6CgkgIENvbnZlcnRpbmcgZnJvbSB0aW1lIHRvIGJ5dGVzIG9wZXJhdGVzIG9uIHRoZSBzdHJlYW1fdGltZSwgbm90IHRoZSBTQ1IKCSAgdGltZWxpbmUuCgkgIFRoZSBwb3NpdGlvbiByZXBvcnRpbmcgc2hvdWxkIGhhcHBlbiBpbiBzdHJlYW1fdGltZSwgbm90IHRoZSBzZWdtZW50CgkgIHRpbWVzdGFtcCByYW5nZS4gU2VlICM1NTcxNjEuCgoyMDA4LTEyLTI5IDE2OjQ1OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuKjogQWRkIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgdG8gY29uZmlndXJlIGFuZCByZXRyaWV2ZSB0aGUgbWluIGFuZCBtYXggbGF0ZW5jaWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NyY19pbml0KSwgKGdzdF9hcHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zcmNfcXVlcnkpLAoJICAoZ3N0X2FwcF9zcmNfc2V0X2xhdGVuY2llcyksIChnc3RfYXBwX3NyY19zZXRfbGF0ZW5jeSksCgkgIChnc3RfYXBwX3NyY19nZXRfbGF0ZW5jeSksIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcl9mdWxsKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBBZGQgcHJvcGVydGllcyBhbmQgbWV0aG9kcyB0byBjb25maWd1cmUgYW5kIHJldHJpZXZlIHRoZSBtaW4gYW5kIG1heAoJICBsYXRlbmNpZXMuCgoyMDA4LTEyLTI5IDE2OjI5OjA4ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiBGaXggbWVtbGVhay4gRml4ZXMgIzU2NTYxNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwIGF0IGstZC13IGRvdCBvcmc+CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9laXQpOgoJICBGaXggbWVtbGVhay4gRml4ZXMgIzU2NTYxNC4KCjIwMDgtMTItMjkgMTY6MTg6NDcgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IEFkZCBhIHNjcmFtYmxlZCBmaWVsZCB0byB0aGUgc2VydmljZSBzdHJ1Y3R1cmVzIHJldHJpZXZlZCBmcm9tIFNEVCB0byBkZXRlcm1pbmUgaWYgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicCBhdCBrLWQtdyBkb3Qgb3JnPgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2Vfc2R0KToKCSAgQWRkIGEgc2NyYW1ibGVkIGZpZWxkIHRvIHRoZSBzZXJ2aWNlIHN0cnVjdHVyZXMgcmV0cmlldmVkIGZyb20gU0RUIHRvCgkgIGRldGVybWluZSBpZiBhIGNoYW5uZWwgaXMgc2NyYW1ibGVkLiBGaXhlcyAjNTY1NjEzLgoKMjAwOC0xMi0yOSAxNTo1NDo0NCArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIGdzdC9wY2FwcGFyc2UvOiBQYXRjaCB0byBtYWtlIGdzdHBjYXBwYXJzZSBjb21waWxlIHdpdGggbWluZ3czMiBnY2MuIEZpeGVzICM1NjU0MzkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbiBkb3QgbGVzcGlhdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgUGF0Y2ggdG8gbWFrZSBnc3RwY2FwcGFyc2UgY29tcGlsZSB3aXRoIG1pbmd3MzIgZ2NjLiBGaXhlcyAjNTY1NDM5LgoKMjAwOC0xMi0yOSAxNTo0OTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogVXNlIG1ldGhvZCB0byBnZXQgdGhlIGludGVybmFsIFNTUkMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRjYXBzX3NlbmRfcnRwKToKCSAgVXNlIG1ldGhvZCB0byBnZXQgdGhlIGludGVybmFsIFNTUkMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHByb3BlcnR5IHRvIGNvbmdpdXJlIHRoZSBpbnRlcm5hbCBTU1JDIG9mIHRoZSBzZXNzaW9uLgoJICBGaXhlcyAjNTY1OTEwLgoKMjAwOC0xMi0yOSAxNToyMTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogT25seSBjaGFuZ2UgdGhlIFNTUkMgb2YgdGhlIHNlc3Npb24gYW5kIHJlc2V0IHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2hlbiB0aGUgU1NSQyBhY3R1YWxseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfaW50ZXJuYWxfc3NyYyk6CgkgIE9ubHkgY2hhbmdlIHRoZSBTU1JDIG9mIHRoZSBzZXNzaW9uIGFuZCByZXNldCB0aGUgaW50ZXJuYWwgc291cmNlIHdoZW4KCSAgdGhlIFNTUkMgYWN0dWFsbHkgY2hhbmdlZC4gU2VlICM1NjU5MTAuCgoyMDA4LTEyLTI5IDE0OjIxOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLio6IFdoZW4gbm8gcGF5bG9hZCB3YXMgc3BlY2lmaWVkIG9uIHRoZSBjYXBzIGJ1dCB0aGVyZSB3YXMgYSBjbG9jay1yYXRlLCBhc3N1bWUgdGhlIGNsb2NrLXJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKHJ0cF9zb3VyY2VfdXBkYXRlX2NhcHMpLCAoZ2V0X2Nsb2NrX3JhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBXaGVuIG5vIHBheWxvYWQgd2FzIHNwZWNpZmllZCBvbiB0aGUgY2FwcyBidXQgdGhlcmUgd2FzIGEgY2xvY2stcmF0ZSwKCSAgYXNzdW1lIHRoZSBjbG9jay1yYXRlIGNvcnJlc3BvbmRzIHRvIHRoZSBmaXJzdCBwYXlsb2FkIHR5cGUgZm91bmQgaW4gdGhlCgkgIFJUUCBwYWNrZXRzLiBGaXhlcyAjNTY1NTA5LgoKMjAwOC0xMi0yMyAxNjozMjowNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IFdpdGggY29uc3RhbnQgcmVhZCBmYWlsdXJlcywgbWFrZSBzdXJlIHdlIGV4aXQgdGhlIHJlYWRfZGV2aWNlIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgV2l0aCBjb25zdGFudCByZWFkIGZhaWx1cmVzLCBtYWtlIHN1cmUgd2UgZXhpdCB0aGUgcmVhZF9kZXZpY2UKCSAgbWV0aG9kLgoKMjAwOC0xMi0yMyAxNToyNjozMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IFBvc3QgYnVzIG1lc3NhZ2Ugd2l0aCBkdmIgcmVhZCBmYWlsdXJlIHdoZW4gdW5hYmxlIHRvIHJlYWQgZnJvbSBkZXZpY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFBvc3QgYnVzIG1lc3NhZ2Ugd2l0aCBkdmIgcmVhZCBmYWlsdXJlIHdoZW4gdW5hYmxlIHRvIHJlYWQgZnJvbQoJICBkZXZpY2UuCgoyMDA4LTEyLTIzIDEyOjI1OjQ3ICswMDAwICBMdW90YW8gRnUgPGwuZnVAcGVuZ3V0cm9uaXguZGU+CgoJICBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6IEZpeCB0aGUgRGVwdGggY2FsY3VsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHVvdGFvIEZ1IDxsIGRvdCBmdSBhdCBwZW5ndXRyb25peCBkb3QgZGU+CgkgICogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOiAoZ3N0X2ZiZGV2c2lua19nZXRjYXBzKToKCSAgRml4IHRoZSBEZXB0aCBjYWxjdWxhdGlvbi4KCSAgRml4ZXMgIzU2NDExNC4KCjIwMDgtMTItMjMgMTE6Mzk6NTkgKzAwMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci4qOiBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IG91dGdvaW5nIHRpbWVzdGFtcCBhbmQgb2YgdGhlIGxhc3Qgc2VuZGVyLXNpZGUgdGltZS4gIFRpbWVzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXQgYXQgbWluZCBkb3QgYmU+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBvdXRnb2luZyB0aW1lc3RhbXAgYW5kIG9mIHRoZSBsYXN0IHNlbmRlci1zaWRlCgkgIHRpbWUuICBUaW1lc3RhbXBzIGNhbiBvbmx5IGdvIGZvcndhcmQgaWYgdGhleSBkbyBhdCB0aGUgc2VuZGVyCgkgIHNpZGUsIGNhbiBvbmx5IGdvIGJhY2sgaWYgdGhleSBkbyBhdCB0aGUgc2VuZGVyIHNpZGUsIGFuZCByZW1haW4gdGhlCgkgIHNhbWUgaWYgdGhleSByZW1haW4gdGhlIHNhbWUgYXQgdGhlIHNlbmRlciBzaWRlLiBGaXhlcyAjNTY1MzE5LgoKMjAwOC0xMi0yMiAyMDo1NjoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZtcGVnLmM6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGguMjY0IHZpZGVvIChTTVBURSBSUDIwMDgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKToKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgaC4yNjQgdmlkZW8gKFNNUFRFIFJQMjAwOCkuCgoyMDA4LTEyLTIyIDIwOjM3OjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214Zm1ldGFkYXRhLio6IElmIHJlc29sdmluZyBhIG1ldGFkYXRhIG9iamVjdCBmYWlsZWQgdGhlIGZpcnN0IHRpbWUgcmV0dXJuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9iYXNlX3Jlc29sdmUpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgSWYgcmVzb2x2aW5nIGEgbWV0YWRhdGEgb2JqZWN0IGZhaWxlZCB0aGUgZmlyc3QgdGltZSByZXR1cm4KCSAgRkFMU0UgZm9yIGEgc2Vjb25kIG14Zl9tZXRhZGF0YV9iYXNlX3Jlc29sdmUoKSBjYWxsIGluc3RlYWQKCSAgb2YgVFJVRS4KCjIwMDgtMTItMjIgMTA6MTQ6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBDbGVhbnVwIG9mIHRoZSBpbmNsdWRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGYuYzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmQxMC5jOgoJICAqIGdzdC9teGYvbXhmZG1zMS5jOgoJICAqIGdzdC9teGYvbXhmZG1zMS5oOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgQ2xlYW51cCBvZiB0aGUgaW5jbHVkZXMuCgoyMDA4LTEyLTE5IDE4OjUzOjQ3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC9nc3RxdG11eC5jOiBEbyBub3QgdGVtcHQgb3Igc3VnZ2VzdCB0byB2aW9sYXRlIGdzdF9jb2xsZWN0X3BhZHMgQVBJIHNwZWNpZmljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOiAoZ3N0X3F0X211eF9jaGFuZ2Vfc3RhdGUpOgoJICBEbyBub3QgdGVtcHQgb3Igc3VnZ2VzdCB0byB2aW9sYXRlIGdzdF9jb2xsZWN0X3BhZHMgQVBJIHNwZWNpZmljYXRpb24uCgoyMDA4LTEyLTE5IDE4OjMzOjQ3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC86IER1YWwgbGljZW5zZSBxdG11eCBMR1BML01JVC4gIEZpeGVzICM1NjQyMzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9hdG9tcy5jOgoJICAqIGdzdC9xdG11eC9hdG9tcy5oOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSAgKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5oOgoJICBEdWFsIGxpY2Vuc2UgcXRtdXggTEdQTC9NSVQuICBGaXhlcyAjNTY0MjMyLgoKMjAwOC0xMi0xOSAxMDowNjoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMoKSB0byBzZXQgcmF0ZSBhbmQgY2hhbm5lbHMgYW5kIHVzZSB0aGlzIGZvciBhbGwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOiAobXhmX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzM19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfYWxhd19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9kMTBfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2FwcyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKToKCSAgQWRkIG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2FwcygpIHRvCgkgIHNldCByYXRlIGFuZCBjaGFubmVscyBhbmQgdXNlIHRoaXMgZm9yIGFsbCBzb3VuZCBlc3NlbmNlLgoJICBHaXZlIHNvbWUgZGVidWcgb3V0cHV0IHdoZW4gc2V0dGluZyBwaWN0dXJlIGVzc2VuY2UgY2FwcyB3aXRoCgkgIGludmFsaWQgZGVzY3JpcHRvciB2YWx1ZXMuCgkgIEZpeCBoZWlnaHQgY2FsY3VsYXRpb24gZnJvbSB0aGUgZnJhbWUgbGF5b3V0IGEgYml0IG1vcmUgYW5kCgkgIGFkZCBhIFRPRE8gdG8gY2hlY2sgaWYgaXQncyByZWFsbHkgY29ycmVjdCBub3cgb3IgaWYgaXQgbmVlZHMKCSAgbW9yZSBmaXhpbmcgKGVzcGVjaWFsbHksIGRvZXMgdGhlIGZyYW1lcmF0ZSBuZWVkIGFkanVzdG1lbnRzPykuCgoyMDA4LTEyLTE4IDE3OjQ5OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIHN1cHBvcnQgZm9yIFZDLTMgKGFrYSBETnhIRCBlc3NlbmNlLCBzZWUgU01QVEUgMjAxOS00KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214Zi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9teGYvbXhmdmMzLmM6IChteGZfaXNfdmMzX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX3ZjM19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl92YzNfY3JlYXRlX2NhcHMpLAoJICAobXhmX3ZjM19pbml0KToKCSAgKiBnc3QvbXhmL214ZnZjMy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgVkMtMyAoYWthIEROeEhEIGVzc2VuY2UsIHNlZSBTTVBURSAyMDE5LTQpLgoJICBUaGlzIGlzIHVudGVzdGVkIGJlY2F1c2Ugb2YgbGFjayBvZiBzYW1wbGUgZmlsZXMgYnV0IHNob3VsZAoJICB3b3JrIGZpbmUuCgoyMDA4LTEyLTE3IDEzOjUxOjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkIGFwcHNyYyBhbmQgYXBwc2luayBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KToKCSAgQWRkIGFwcHNyYyBhbmQgYXBwc2luayBkb2N1bWVudGF0aW9uLgoKMjAwOC0xMi0xNyAxMjowNjo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBJbiBwdXNoIG1vZGUgc2tpcCB0aGUgcnVuIGluIGFnYWluIGlmIHdlIGdldCBidWZmZXJzIHdpdGggYW4gb2Zmc2V0IGJlZm9yZSB0aGUgcnVuIGluLiBUaGlzIGNhbiBoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfY2hhaW4pOgoJICBJbiBwdXNoIG1vZGUgc2tpcCB0aGUgcnVuIGluIGFnYWluIGlmIHdlIGdldCBidWZmZXJzIHdpdGgKCSAgYW4gb2Zmc2V0IGJlZm9yZSB0aGUgcnVuIGluLiBUaGlzIGNhbiBoYXBwZW4gb24gc2Vla3MgZm9yIGV4YW1wbGUuCgoyMDA4LTEyLTE2IDE2OjI2OjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBUb3RhbGx5IHJlbW92ZSB0aGUgaW50ZXJuYWwgdGFnbGlzdHMgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIuIEZpeGVzIHZhcmlvdXMgdGFnIG11eGluZyBpc3N1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIFRvdGFsbHkgcmVtb3ZlIHRoZSBpbnRlcm5hbCB0YWdsaXN0cyBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlci4gRml4ZXMKCSAgdmFyaW91cyB0YWcgbXV4aW5nIGlzc3Vlcy4KCjIwMDgtMTItMTYgMTI6NDY6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6IEluY3JlYXNlIHRoZSB0aW1lb3V0IHRvIDMgbWludXRlcyB0byBwcmV2ZW50IHRpbWVvdXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOiAobXhmZGVtdXhfc3VpdGUpOgoJICBJbmNyZWFzZSB0aGUgdGltZW91dCB0byAzIG1pbnV0ZXMgdG8gcHJldmVudCB0aW1lb3V0cy4KCjIwMDgtMTItMTYgMTI6Mzc6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4Lio6IE1ha2Ugc3VyZSB0aGUgbWFpbiBsb29wIGlzIGFscmVhZHkgcnVubmluZyB3aGVuIGhhbmRsaW5nIHRoZSBFT1MgZXZlbnQgaW4gcHVsbCBtb2RlLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOiAoX3NpbmtfZXZlbnQpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4Lmg6CgkgIE1ha2Ugc3VyZSB0aGUgbWFpbiBsb29wIGlzIGFscmVhZHkgcnVubmluZyB3aGVuIGhhbmRsaW5nIHRoZSBFT1MKCSAgZXZlbnQgaW4gcHVsbCBtb2RlLiBUaGlzIHdvcmtzIGFyb3VuZCBhIHJhY2UgY29uZGl0aW9uIHRoYXQgY2FuCgkgIGhhcHBlbiBpZiB0aGUgZWxlbWVudCBnb2VzIGludG8gUExBWUlORywgaGFuZGxlcyBldmVyeXRoaW5nIGFuZAoJICBzZW5kcyBFT1MgYmVmb3JlIHRoZSBtYWluIGxvb3AgaXMgc3RhcnRlZC4KCjIwMDgtMTItMTYgMTI6MzA6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBJbXBsZW1lbnQgYW4gZXNzZW5jZSBlbGVtZW50IGhhbmRsaW5nIHJlZ2lzdHJ5IGFuZCB1c2UgdGhpcyBpbnN0ZWFkIG9mIGFuIGhhcmRjb2RlZCwgbGFyZ2UgaWYtdGhlbi1lbHNlIGJsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9pc19hZXNfYndmX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2J3Zl9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9hZXMzX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzM19jcmVhdGVfY2FwcyksIChteGZfYWVzX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzX2J3Zl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9pc19hbGF3X2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2FsYXdfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfYWxhd19jcmVhdGVfY2FwcyksCgkgIChteGZfYWxhd19pbml0KToKCSAgKiBnc3QvbXhmL214ZmFsYXcuaDoKCSAgKiBnc3QvbXhmL214ZmQxMC5jOiAobXhmX2lzX2QxMF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kMTBfcGljdHVyZV9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9kMTBfc291bmRfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfZDEwX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9kMTBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkMTAuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfaXNfZHZfZGlmX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2R2X2RpZl9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2R2X2RpZl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5oOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9pc19qcGVnMjAwMF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9qcGVnMjAwMF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2FwcyksCgkgIChteGZfanBlZzIwMDBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX2lzX21wZWdfZXNzZW5jZV90cmFjayksCgkgIChteGZfbXBlZ192aWRlb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9tcGVnX2F1ZGlvX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpLAoJICAobXhmX21wZWdfY3JlYXRlX2NhcHMpLCAobXhmX21wZWdfaW5pdCk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX2Vzc2VuY2VfZWxlbWVudF9oYW5kbGVyX3JlZ2lzdGVyKSwKCSAgKG14Zl9lc3NlbmNlX2VsZW1lbnRfaGFuZGxlcl9maW5kKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX2lzX3VwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX3VwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX3VwX3JnYmFfY3JlYXRlX2NhcHMpLAoJICAobXhmX3VwX2NyZWF0ZV9jYXBzKSwgKG14Zl91cF9pbml0KToKCSAgKiBnc3QvbXhmL214ZnVwLmg6CgkgIEltcGxlbWVudCBhbiBlc3NlbmNlIGVsZW1lbnQgaGFuZGxpbmcgcmVnaXN0cnkgYW5kIHVzZSB0aGlzIGluc3RlYWQKCSAgb2YgYW4gaGFyZGNvZGVkLCBsYXJnZSBpZi10aGVuLWVsc2UgYmxvY2suCgoyMDA4LTEyLTE2IDEwOjUwOjQwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEJsYWNrbGlzdCByZmJzcmMgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBCbGFja2xpc3QgcmZic3JjIGZyb20gdGhlIHN0YXRlIGNoYW5nZSB0ZXN0LgoKMjAwOC0xMi0xNiAwOTo1OTozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgcHVzaCBhbmQgcHVsbCBtb2RlIHVuaXQgdGVzdCBmb3IgbXhmZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6IChfcGFkX2FkZGVkKSwgKF9zaW5rX2NoYWluKSwKCSAgKF9zaW5rX2V2ZW50KSwgKF9jcmVhdGVfc2lua19wYWQpLCAoX2NyZWF0ZV9zcmNfcGFkX3B1c2gpLAoJICAoX3NyY19nZXRyYW5nZSksIChfc3JjX3F1ZXJ5KSwgKF9jcmVhdGVfc3JjX3BhZF9wdWxsKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKG14ZmRlbXV4X3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5oOgoJICBBZGQgcHVzaCBhbmQgcHVsbCBtb2RlIHVuaXQgdGVzdCBmb3IgbXhmZGVtdXguCgoyMDA4LTEyLTE2IDA4OjM1OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgaW5pdGlhbCBkb2N1bWVudGF0aW9uIGZvciB0aGUgTVhGIHBsdWdpbiBhbmQgbXhmZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEFkZCBpbml0aWFsIGRvY3VtZW50YXRpb24gZm9yIHRoZSBNWEYgcGx1Z2luIGFuZCBteGZkZW11eC4KCjIwMDgtMTItMTYgMDg6MjE6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBSZW5hbWUgTVhGTWV0YWRhdGFCYXNlIG1ldGhvZHMgdG8gcmVmbGVjdCB0aGF0IHRoZXkgYmVsb25nIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9iYXNlX3Jlc29sdmVfZGVmYXVsdCksCgkgIChteGZfbWV0YWRhdGFfYmFzZV9jbGFzc19pbml0KSwgKG14Zl9tZXRhZGF0YV9iYXNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9iYXNlX3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX25ldyksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9yZXNvbHZlKToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgIFJlbmFtZSBNWEZNZXRhZGF0YUJhc2UgbWV0aG9kcyB0byByZWZsZWN0IHRoYXQgdGhleSBiZWxvbmcgdG8KCSAgTVhGTWV0YWRhdGFCYXNlIGFuZCBub3QgTVhGTWV0YWRhdGEuCgoyMDA4LTEyLTE1IDE4OjEyOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogUmV0dXJuIEZBTFNFIHdoZW4gcGFyc2luZyBhIG1ldGFkYXRhIHRhZyBmYWlsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpOgoJICBSZXR1cm4gRkFMU0Ugd2hlbiBwYXJzaW5nIGEgbWV0YWRhdGEgdGFnIGZhaWxlZC4KCSAgUmVtb3ZlIHNvbWUgdXNlbGVzcyByZXR1cm4gdmFsdWUgYXNzaWdubWVudHMuCgoyMDA4LTEyLTE1IDE3OjI3OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQ29udmVydCB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YSB0byBHc3RNaW5pT2JqZWN0cyB0byBtYWtlIGEgbG90IG9mIGNvZGUgZWFzaWVyIGFuZCB0byBtYWtlIGV2ZXJ5dGhpbmcgYmV0dGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214Zi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9pc19hZXNfYndmX2Vzc2VuY2VfdHJhY2spLCAobXhmX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzM19jcmVhdGVfY2FwcyksIChteGZfYWVzX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzX2J3Zl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9pc19hbGF3X2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2FsYXdfY3JlYXRlX2NhcHMpLCAobXhmX2FsYXdfaW5pdCk6CgkgICogZ3N0L214Zi9teGZhbGF3Lmg6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9pc19kMTBfZXNzZW5jZV90cmFjayksCgkgIChteGZfZDEwX2NyZWF0ZV9jYXBzKSwgKG14Zl9kMTBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkMTAuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9maW5kX3BhY2thZ2UpLCAoZ3N0X214Zl9kZW11eF9jaG9vc2VfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9zcmNfcXVlcnkpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2lzX2R2X2RpZl9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpLCAobXhmX2R2X2RpZl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5oOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9pc19qcGVnMjAwMF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2FwcyksIChteGZfanBlZzIwMDBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9iYXNlX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9iYXNlX2hhbmRsZV90YWcpLCAobXhmX21ldGFkYXRhX2Jhc2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfYmFzZV9pbml0KSwgKG14Zl9tZXRhZGF0YV9iYXNlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9oYW5kbGVfdGFnKSwgKG14Zl9tZXRhZGF0YV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9pbml0KSwgKG14Zl9tZXRhZGF0YV9pbml0X3R5cGVzKSwKCSAgKG14Zl9tZXRhZGF0YV9yZWdpc3RlciksIChteGZfbWV0YWRhdGFfbmV3KSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX2ZpbmFsaXplKSwgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfcHJlZmFjZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX21hdGVyaWFsX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfbWF0ZXJpYWxfcGFja2FnZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9tYXRlcmlhbF9wYWNrYWdlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19maW5hbGl6ZSksIChteGZfbWV0YWRhdGFfdHJhY2tfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfdHJhY2tfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfaWRlbnRpZmllcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfdGltZWxpbmVfdHJhY2tfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdGltZWxpbmVfdHJhY2tfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdGltZWxpbmVfdHJhY2tfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZXZlbnRfdHJhY2tfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZXZlbnRfdHJhY2tfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZXZlbnRfdHJhY2tfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc3RhdGljX3RyYWNrX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3N0YXRpY190cmFja19jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdGltZWNvZGVfY29tcG9uZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RpbWVjb2RlX2NvbXBvbmVudF9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90aW1lY29kZV9jb21wb25lbnRfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX2NsaXBfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX2NsaXBfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX2NsaXBfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX2NsaXBfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZG1fc291cmNlX2NsaXBfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2RtX3NvdXJjZV9jbGlwX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2RtX3NvdXJjZV9jbGlwX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2RtX3NvdXJjZV9jbGlwX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9yZXNvbHZlKSwgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X2luaXQpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2FwcyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX2luaXQpLCAobXhmX21ldGFkYXRhX2xvY2F0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdGV4dF9sb2NhdG9yX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV90ZXh0X2xvY2F0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdGV4dF9sb2NhdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RleHRfbG9jYXRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9uZXR3b3JrX2xvY2F0b3JfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX25ldHdvcmtfbG9jYXRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9uZXR3b3JrX2xvY2F0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbmV0d29ya19sb2NhdG9yX2NsYXNzX2luaXQpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9pc19tcGVnX2Vzc2VuY2VfdHJhY2spLCAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpLAoJICAobXhmX21wZWdfY3JlYXRlX2NhcHMpLCAobXhmX21wZWdfaW5pdCk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX2luZGV4X3RhYmxlX3NlZ21lbnRfcGFyc2UpLAoJICAobXhmX2xvY2FsX3RhZ19hZGRfdG9faGFzaF90YWJsZSk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgKiBnc3QvbXhmL214ZnVwLmM6IChteGZfaXNfdXBfZXNzZW5jZV90cmFjayksIChteGZfdXBfY3JlYXRlX2NhcHMpLAoJICAobXhmX3VwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmdXAuaDoKCSAgQ29udmVydCB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YSB0byBHc3RNaW5pT2JqZWN0cyB0byBtYWtlIGEgbG90IG9mCgkgIGNvZGUgZWFzaWVyIGFuZCB0byBtYWtlIGV2ZXJ5dGhpbmcgYmV0dGVyIGV4dGVuc2libGUuCgkgIEFkZCBhICJyZWdpc3RyeSIgZm9yIG1ldGFkYXRhIGhhbmRsZXJzIHRvIGltcHJvdmUgZXh0ZW5zaWJpbGl0eSBldmVuCgkgIG1vcmUgYW5kIHRvIHJlbW92ZSBtZXRhZGF0YSB0eXBlIHNwZWNpZmljcyBmcm9tIG14ZmRlbXV4LgoJICBDbGVhbiB1cCBhIGxvdCBvZiBwYXJ0cyBhbmQgYWRkIHNvbWUgbW9yZSBOVUxMIGNoZWNrcy4KCjIwMDgtMTItMTUgMTU6NTY6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogRml4IGRlZmF1bHQgZm9yIG91dHB1dGZvcm1hdCBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBGaXggZGVmYXVsdCBmb3Igb3V0cHV0Zm9ybWF0IHByb3BlcnR5LgoKMjAwOC0xMi0xNSAxMjowMjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC86IEZpeCBleGFtcGxlIHRvIHVucmVmIGFmdGVyIGVtaXRpbmcgdGhlIHB1c2gtYnVmZmVyIGFjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOiAoZmVlZF9kYXRhKToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6IChmZWVkX2RhdGEpOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6IChyZWFkX2RhdGEpOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOiAoZmVlZF9kYXRhKToKCSAgRml4IGV4YW1wbGUgdG8gdW5yZWYgYWZ0ZXIgZW1pdGluZyB0aGUgcHVzaC1idWZmZXIgYWN0aW9uLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyX2Z1bGwpLCAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXJfYWN0aW9uKToKCSAgRG9uJ3QgdGFrZSB0aGUgcmVmIG9uIHRoZSBidWZmZXIgaW4gcHVzaC1idWZmZXIgYWN0aW9uIGJlY2F1c2UgaXQncyB0b28KCSAgYXdrd2FyZCBmb3IgYmluZGluZ3MuIEZpeGVzICM1NjQ0ODIuCgoyMDA4LTEyLTEzIDE2OjI2OjM5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgbTQvTWFrZWZpbGUuYW06IE1vcmUgLm00IHRoYXQgYXJlbid0IHNoaXBwZWQgd2l0aCBnZXR0ZXh0IDAuMTcgYW55bW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbTQvTWFrZWZpbGUuYW06CgkgIE1vcmUgLm00IHRoYXQgYXJlbid0IHNoaXBwZWQgd2l0aCBnZXR0ZXh0IDAuMTcgYW55bW9yZS4KCjIwMDgtMTItMTMgMTM6MDA6MTAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBtNC9NYWtlZmlsZS5hbTogaW50dHlwZXMubTQgaGFzbid0IGJlZW4gYXZhaWxhYmxlIHNpbmNlIGdldHRleHQtMC4xNSwgYW5kIHNpbmNlIHdlIG5vdyByZXF1aXJlIGdldHRleHQgPj0gMC4xNyAuLi4gd2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbTQvTWFrZWZpbGUuYW06CgkgIGludHR5cGVzLm00IGhhc24ndCBiZWVuIGF2YWlsYWJsZSBzaW5jZSBnZXR0ZXh0LTAuMTUsIGFuZCBzaW5jZSB3ZSBub3cKCSAgcmVxdWlyZSBnZXR0ZXh0ID49IDAuMTcgLi4uIHdlIGNhbiByZW1vdmUgaXQgZnJvbSB0aGUgbGlzdCBvZiBmaWxlcyB0bwoJICBkaXN0LgoKMjAwOC0xMi0xMyAwODowNjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBBZGQgYSBnZW5lcmljIGhhbmRsZXIgZm9yIGRlc2NyaXB0aXZlIG1ldGFkYXRhIHNvIHdlIGNhbiBnZXQgc29tZSBkZWJ1ZyBvdXRwdXQgYW5kIGxldCB1c2VycyBmaWxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfaGFuZGxlX2Rlc2NyaXB0aXZlX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpOgoJICBBZGQgYSBnZW5lcmljIGhhbmRsZXIgZm9yIGRlc2NyaXB0aXZlIG1ldGFkYXRhIHNvIHdlIGNhbiBnZXQgc29tZQoJICBkZWJ1ZyBvdXRwdXQgYW5kIGxldCB1c2VycyBmaWxlIGJ1Z3MgZm9yIHVuc3VwcG9ydCBkZXNjcmlwdGl2ZQoJICBtZXRhZGF0YSBzY2hlbWVzLgoKMjAwOC0xMi0xMiAxMDoyOTozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IE1ham9yIHVwZGF0ZSBvZiB0aGUgVE9ETyBsaXN0cy4gVGhlcmUncyBzdGlsbCBtdWNoIHRvIGRvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9hbGF3X2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgKiBnc3QvbXhmL214ZnVwLmM6CgkgIE1ham9yIHVwZGF0ZSBvZiB0aGUgVE9ETyBsaXN0cy4gVGhlcmUncyBzdGlsbCBtdWNoIHRvIGRvLgoKMjAwOC0xMi0xMSAxNDozNTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEltcGxlbWVudCBwYXJzaW5nIG9mIEV2ZW50IFRyYWNrcywgU3RhdGljIFRyYWNrcywgRE0gU2VnbWVudHMgYW5kIERNIFNvdXJjZSBDbGlwcyBhcyBhIHByZXBhcmF0aW9uIGZvciBkZXNjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3RyYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9tZXRhZGF0YV90cmFja19wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBJbXBsZW1lbnQgcGFyc2luZyBvZiBFdmVudCBUcmFja3MsIFN0YXRpYyBUcmFja3MsIERNIFNlZ21lbnRzCgkgIGFuZCBETSBTb3VyY2UgQ2xpcHMgYXMgYSBwcmVwYXJhdGlvbiBmb3IgZGVzY3JpcHRpdmUgbWV0YWRhdGEKCSAgc3VwcG9ydC4gTmV4dCBzdGVwIGlzIHRvIGltcGxlbWVudCBTTVBURSBTMzgwTSwgIkRlc2NyaXB0aXZlCgkgIE1ldGFkYXRhIFNjaGVtZS0xIi4KCjIwMDgtMTItMDkgMTM6NDQ6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmanBlZzIwMDAuYzogSW1wbGVtZW50IGRldGVjdGlvbiBvZiB0aGUgY29sb3JzcGFjZSB1c2VkIGJ5IHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICBJbXBsZW1lbnQgZGV0ZWN0aW9uIG9mIHRoZSBjb2xvcnNwYWNlIHVzZWQgYnkgdGhlCgkgIEpQRUcyMDAwIGNvZGVzdHJlYW0uIFhZWiBjb2xvcnNwYWNlIGlzbid0IHN1cHBvcnRlZCBieQoJICBvdXIgZGVjb2RlcnMgeWV0IHVuZm9ydHVuYXRlbHkuCgoyMDA4LTEyLTA4IDE1OjQ2OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZnBhcnNlLmM6IEFsbCBmcmFtZSBsYXlvdXQgdmFsdWVzIGV4Y2VwdCAwIGFyZSBmb3IgaW50ZXJsYWNlZCB2aWRlbywgbm90IG9ubHkgMSBhbmQgMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICBBbGwgZnJhbWUgbGF5b3V0IHZhbHVlcyBleGNlcHQgMCBhcmUgZm9yIGludGVybGFjZWQgdmlkZW8sCgkgIG5vdCBvbmx5IDEgYW5kIDIuCgoyMDA4LTEyLTA4IDE1OjI4OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogUmVtb3ZlIHRoZSBjb25jZXB0IG9mICJmaW5hbCIgbWV0YWRhdGEsIGJyb2tlbiBmaWxlcyBoYXZlIHVwZGF0ZWQgbWV0YWRhdGEgaW4gZm9sbG93aW5nIHBhcnRpdGlvbnMgZXZlbiBpZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9wcmltZXJfcGFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9wcmVmYWNlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9jaG9vc2VfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9wYXJzZV9mb290ZXJfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgUmVtb3ZlIHRoZSBjb25jZXB0IG9mICJmaW5hbCIgbWV0YWRhdGEsIGJyb2tlbiBmaWxlcyBoYXZlIHVwZGF0ZWQKCSAgbWV0YWRhdGEgaW4gZm9sbG93aW5nIHBhcnRpdGlvbnMgZXZlbiBpZiB0aGUgY3VycmVudCBwYXJ0aXRpb24KCSAgaXMgY2xvc2VkIGFuZCBjb21wbGV0ZS4KCSAgSWYgdGhlcmUncyBhIHNlY29uZCBwcmltZXIgcGFjayBpbnNpZGUgYSBwYXJ0aXRpb24gaWdub3JlIHRoZSBzZWNvbmQKCSAgb25lIGluc3RlYWQgb2YgdGhyb3dpbmcgYW4gZXJyb3IuCgkgIFN0b3JlIHRoZSB0eXBlIG9mIGEgdHJhY2sgKGF1ZGlvLCB2aWRlbywgdGltZXN0YW1wLCAuLi4pIGluc2lkZSB0aGUKCSAgdHJhY2sgc3RydWN0LgoJICBQb3N0IG5vLW1vcmUtcGFkcyBvbmx5IG9uY2UgZm9yIGEgc3RyZWFtIGFuZCBub3QgYSBzZWNvbmQgdGltZQoJICB3aGVuIHN3aXRjaGluZyB0aGUgY3VycmVudGx5IHBsYXlpbmcgcGFja2FnZS4KCSAgV2hlbiB1cGRhdGluZyBhbGwgc3RyZWFtcyBtYWtlIHN1cmUgdGhhdCB3ZSBjb3VsZCBzZWxlY3QgYW5kIGZpbmQKCSAgYSBwYWNrYWdlIGluc3RlYWQgb2YgZGVyZWZlcmVuY2luZyBOVUxMLgoJICBBbGxvdyBkZXNjcmlwdGl2ZSBtZXRhZGF0YSBpbnNpZGUgbWV0YWRhdGEgcGFydHMgb2YgYSBmaWxlIHdoZW4KCSAgcHVsbGluZyB0aGUgZm9vdGVyIG1ldGFkYXRhIHRvby4KCSAgT25seSBzd2l0Y2ggdGhlIGN1cnJlbnRseSBwbGF5aW5nIHBhY2thZ2UgaWYgYSBuZXcgb25lIHdhcyBjaG9zZW4KCSAgYW5kIHRoZSBtZXRhZGF0YSBpcyBpbiBhIHJlc29sdmVkIHN0YXRlLiBJZiB0aGUgbGF0dGVyIGlzbid0IHRydWUKCSAgcG9zdHBvbmUgdGhlIHN3aXRjaCB1bnRpbCB0aGUgbWV0YWRhdGEgaXMgcmVzb2x2ZWQuCgkgIFB1bGwgdGhlIGZvb3RlciBtZXRhZGF0YSBkaXJlY3RseSBhZnRlciBwYXJzaW5nIHRoZSBoZWFkZXIgcGFydGl0aW9uCgkgIHBhY2sgaWYgaXQncyBub3QgY2xvc2VkIG9yIG5vdCBjb21wbGV0ZSBpbnN0ZWFkIG9mIHdhaXRpbmcgdW50aWwKCSAgdGhlIG5leHQgS0xWIHBhY2tldC4KCjIwMDgtMTItMDggMTM6NDg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmdXAuYzogRG9uJ3QgY3JlYXRlIGEgc3ViYnVmZmVyLCBpbnN0ZWFkIGp1c3QgY2hhbmdlIHRoZSBidWZmZXIgbWV0YWRhdGEgb2YgdGhlIGlucHV0IGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX3VwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICBEb24ndCBjcmVhdGUgYSBzdWJidWZmZXIsIGluc3RlYWQganVzdCBjaGFuZ2UgdGhlIGJ1ZmZlciBtZXRhZGF0YQoJICBvZiB0aGUgaW5wdXQgYnVmZmVyLgoKMjAwOC0xMi0wNyAyMDoxMjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBSZW5hbWUgR3N0TVhGUGFkIHRvIEdzdE1YRkRlbXV4UGFkIHRvIHByZXZlbnQgbmFtZSBjbGFzaGVzIHdpdGggdGhlIEdzdE1YRk11eFBhZCBpbiB0aGUgbXV4ZXIgKGxhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcGFkX2ZpbmFsaXplKSwKCSAgKGdzdF9teGZfZGVtdXhfcGFkX2NsYXNzX2luaXQpLCAoZ3N0X214Zl9kZW11eF9wYWRfaW5pdCksCgkgIChnc3RfbXhmX2RlbXV4X3JlbW92ZV9wYWQpLCAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2NvbWJpbmVfZmxvd3MpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5kb21faW5kZXhfcGFjayksIChnc3RfbXhmX2RlbXV4X2xvb3ApLAoJICAoZ3N0X214Zl9kZW11eF9zcmNfcXVlcnkpOgoJICBSZW5hbWUgR3N0TVhGUGFkIHRvIEdzdE1YRkRlbXV4UGFkIHRvIHByZXZlbnQgbmFtZSBjbGFzaGVzCgkgIHdpdGggdGhlIEdzdE1YRk11eFBhZCBpbiB0aGUgbXV4ZXIgKGxhdGVyKS4KCSAgUHVsbCB0aGUgcmFuZG9tIGluZGV4IHBhY2sgb25seSBkaXJlY3RseSBhZnRlciBza2lwcGluZyB0aGUgcnVuCgkgIGluIGFuZCBkb24ndCBhbGxvY2F0ZSBhbiBhcnJheSBmb3IgaXQgaWYgcGFyc2luZyBpdCBmYWlsZWQuCgoyMDA4LTEyLTA3IDE4OjUyOjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmQxMC5jOiBVc2UgdGhlIG1hcHBpbmcgZGF0YSBmb3Igc3RvcmluZyB0aGUgY2hhbm5lbCBjb3VudCBhbmQgdGhlIHdpZHRoIGluc3RlYWQgb2YgcGFyc2luZyBjYXBzIGZvciBldmVyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9kMTBfc291bmRfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfZDEwX2NyZWF0ZV9jYXBzKToKCSAgVXNlIHRoZSBtYXBwaW5nIGRhdGEgZm9yIHN0b3JpbmcgdGhlIGNoYW5uZWwgY291bnQgYW5kIHRoZQoJICB3aWR0aCBpbnN0ZWFkIG9mIHBhcnNpbmcgY2FwcyBmb3IgZXZlcnkgYnVmZmVyLgoKMjAwOC0xMi0wNyAxODozOTo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZ1cC5jOiBIYW5kbGUgdGhlIGltYWdlIHN0YXJ0IGFuZCBlbmQgb2Zmc2V0cywgb3RoZXJ3aXNlIHdlIG91dHB1dCB0b28gbGFyZ2UgaW1hZ2UgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX3VwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX3VwX3JnYmFfY3JlYXRlX2NhcHMpOgoJICBIYW5kbGUgdGhlIGltYWdlIHN0YXJ0IGFuZCBlbmQgb2Zmc2V0cywgb3RoZXJ3aXNlIHdlIG91dHB1dAoJICB0b28gbGFyZ2UgaW1hZ2UgYnVmZmVycy4KCjIwMDgtMTItMDcgMTc6NTc6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmbXBlZy5jOiBTZXQgY29kZWMgbmFtZSB0YWdzIGZvciB0aGUgTVBFRyBhdWRpbyBlc3NlbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKToKCSAgU2V0IGNvZGVjIG5hbWUgdGFncyBmb3IgdGhlIE1QRUcgYXVkaW8gZXNzZW5jZS4KCjIwMDgtMTItMDcgMTc6MTY6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciB1bmNvbXByZXNzZWQgdmlkZW8gZXNzZW5jZSAoU01QVEUgUzM4NE0pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyk6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl9pc191cF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl91cF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl91cF9yZ2JhX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl91cF9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZ1cC5oOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciB1bmNvbXByZXNzZWQgdmlkZW8gZXNzZW5jZSAoU01QVEUgUzM4NE0pLgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpOgoJICBGaXggcGFyc2luZyBvZiB0aGUgUkdCQSBkZXNjcmlwdG9yIGFuZCBhZGQgc3VwcG9ydCBmb3IgcGFyc2luZwoJICB0aGUgcGl4ZWwgbGF5b3V0LgoKMjAwOC0xMi0wNiAyMDo0Njo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBUaGUgcHJldmlvdXMgcGFydGl0aW9uIGZpZWxkIG9mIHRoZSBwYXJ0aXRpb24gaXMgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgcGFydGl0aW9uIGFuZCBub3QgdG8gdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcGFyc2VfZm9vdGVyX21ldGFkYXRhKToKCSAgVGhlIHByZXZpb3VzIHBhcnRpdGlvbiBmaWVsZCBvZiB0aGUgcGFydGl0aW9uIGlzIHJlbGF0aXZlCgkgIHRvIHRoZSBjdXJyZW50IHBhcnRpdGlvbiBhbmQgbm90IHRvIHRoZSBvZmZzZXQgb2YgdGhlIGhlYWRlcgoJICBwYXJ0aXRpb24uCgoyMDA4LTEyLTA2IDE5OjQ2OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmQxMC5jOiBEb2N1bWVudCBkZWNvZGluZyBvZiB0aGUgQUVTMyBkYXRhIGFuZCBhbHNvIHNraXAgdGhlIDMyIGJpdCBoZWFkZXIgaW4gdGhlIGJlZ2lubmluZyBvZiBldmVyeSBidWZmZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9kMTBfc291bmRfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgIERvY3VtZW50IGRlY29kaW5nIG9mIHRoZSBBRVMzIGRhdGEgYW5kIGFsc28gc2tpcCB0aGUgMzIgYml0CgkgIGhlYWRlciBpbiB0aGUgYmVnaW5uaW5nIG9mIGV2ZXJ5IGJ1ZmZlciwgb3RoZXJ3aXNlIHdlIGdldAoJICBvbmUgYnJva2VuIGF1ZGlvIGNoYW5uZWwuCgoyMDA4LTEyLTA1IDEyOjI2OjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogSW1wbGVtZW50IHBhcnNpbmcgb2YgdGhlIGdlbmVyaWMgZGF0YSBlc3NlbmNlIGRlc2NyaXB0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgSW1wbGVtZW50IHBhcnNpbmcgb2YgdGhlIGdlbmVyaWMgZGF0YSBlc3NlbmNlIGRlc2NyaXB0b3IuCgoyMDA4LTEyLTA1IDEwOjMyOjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IEdlbmVyYWxpemUgc29tZSBsaW5lcyBvZiBjb2RlcyB0aGF0IGFyZSBtb3JlIG9yIGxlc3MgdGhlIHNhbWUgYnkgYSBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyk6CgkgIEdlbmVyYWxpemUgc29tZSBsaW5lcyBvZiBjb2RlcyB0aGF0IGFyZSBtb3JlIG9yIGxlc3MgdGhlIHNhbWUKCSAgYnkgYSBtYWNyby4KCjIwMDgtMTItMDQgMjA6MTE6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQXBwYXJlbnRseSBBQ19DT05GSUdfTUFDUk9fRElSIGJyZWFrcyB3aGVuIHVzaW5nIG1vcmUgdGhhbiBvbmUgbWFjcm8gZGlyZWN0b3J5LCByZXZlcnRpbmcgbGFzdCBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQXBwYXJlbnRseSBBQ19DT05GSUdfTUFDUk9fRElSIGJyZWFrcyB3aGVuIHVzaW5nIG1vcmUKCSAgdGhhbiBvbmUgbWFjcm8gZGlyZWN0b3J5LCByZXZlcnRpbmcgbGFzdCBjaGFuZ2UuCgoyMDA4LTEyLTA0IDE5OjUwOjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFNldCBBQ19DT05GSUdfTUFDUk9fRElSIHRvIGNvbW1vbi9tNCB0byBwb2ludCBhdXRvY29uZiB0byBvdXIgTTQgbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFNldCBBQ19DT05GSUdfTUFDUk9fRElSIHRvIGNvbW1vbi9tNCB0byBwb2ludCBhdXRvY29uZiB0bwoJICBvdXIgTTQgbWFjcm9zLgoKMjAwOC0xMi0wNCAxNzo1MTozNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogRW5zdXJlIHdlIGVtaXQgbm90aWZ5OjphY3RpdmUtcGFkIHdoZW4gYXV0by1zZWxlY3RpbmcgYSBwYWQgZHVlIHRvIGl0IGhhdmluZyBhY3Rpdml0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIEVuc3VyZSB3ZSBlbWl0IG5vdGlmeTo6YWN0aXZlLXBhZCB3aGVuIGF1dG8tc2VsZWN0aW5nIGEgcGFkCgkgIGR1ZSB0byBpdCBoYXZpbmcgYWN0aXZpdHkgYW5kIHVzIG5vdCBoYXZpbmcgYW4gZXhpc3RpbmcgYWN0aXZlCgkgIHBhZC4gRml4ZXMgIzU2MzE0NwoKMjAwOC0xMi0wNCAxMzoyODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IENvZGluZyBzdHlsZSBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgIENvZGluZyBzdHlsZSBmaXhlcy4KCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX2F1ZGlvX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpLCAobXhmX21wZWdfY3JlYXRlX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgTVBFRywgQUMzLCBEVFMgYXVkaW8uCgoyMDA4LTEyLTA0IDA5OjI2OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IElnbm9yZSB6ZXJvIHNpemVkIGVzc2VuY2UgZWxlbWVudHMuIFRoZXkncmUgb2Z0ZW4gaW5zZXJ0ZWQgdG8gZnVsZmlsbCB0aGUgc3RyZWFtaW5nIHJlcXVpcmVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgSWdub3JlIHplcm8gc2l6ZWQgZXNzZW5jZSBlbGVtZW50cy4gVGhleSdyZSBvZnRlbiBpbnNlcnRlZAoJICB0byBmdWxmaWxsIHRoZSBzdHJlYW1pbmcgcmVxdWlyZW1lbnRzLgoKMjAwOC0xMi0wNCAwODo1MDo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZwYXJzZS5jOiBGaXggc2V0dGluZyBvZiB0aGUgaGVpZ2h0L3dpZHRoIGFuZCBQQVIgb2YgdmlkZW8gc3RyZWFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICBGaXggc2V0dGluZyBvZiB0aGUgaGVpZ2h0L3dpZHRoIGFuZCBQQVIgb2YgdmlkZW8gc3RyZWFtcy4KCjIwMDgtMTItMDQgMDg6Mzc6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgc3VwcG9ydCBmb3IgU01QVEUgRDEwIGVzc2VuY2UgKFNNUFRFIDM4Nk0pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfaXNfZDEwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2QxMF9waWN0dXJlX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2QxMF9zb3VuZF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9kMTBfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZDEwLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKToKCSAgQWRkIHN1cHBvcnQgZm9yIFNNUFRFIEQxMCBlc3NlbmNlIChTTVBURSAzODZNKS4KCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2Fwcyk6CgkgIERvbid0IHNldCB3aWR0aC9oZWlnaHQgYW5kIFBBUiBvbiB0aGUgY2FwcyBhcyB0aG9zZSB2YWx1ZXMgYXJlCgkgIHdyb25nIGZvciBtb3N0IGZpbGVzIChoZWlnaHQgaXMgc29tZXRpbWVzIHRoZSBoZWlnaHQgb2YgYSBmaWVsZAoJICBhbmQgYXNwZWN0IHJhdGlvIGlzIHNvbWUgcmFuZG9tIHZhbHVlKS4KCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FlczNfY3JlYXRlX2NhcHMpOgoJICBGaXggY2FsY3VsYXRpb24gb2YgYmxvY2sgYWxpZ24gaWYgaXQgaXNuJ3Qgc2V0IGluIHRoZSBkZXNjcmlwdG9yLgoKMjAwOC0xMi0wMyAxNjowODoyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBzdXBwb3J0IGZvciBBRVMzIGF1ZGlvIChTTVBURSAzODJNKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX2FlczNfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfYndmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hZXMzX2NyZWF0ZV9jYXBzKSwgKG14Zl9hZXNfYndmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgQWRkIHN1cHBvcnQgZm9yIEFFUzMgYXVkaW8gKFNNUFRFIDM4Mk0pLgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICBGaXggY29kaW5nIHN0eWxlLgoKMjAwOC0xMi0wMyAxMzoxNzo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA4LTEyLTAzIDExOjQzOjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IENoZWNrIGlmIHN0cmluZ3MgYXJlIHZhbGlkIFVURjggYmVmb3JlIHVzaW5nIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKToKCSAgQ2hlY2sgaWYgc3RyaW5ncyBhcmUgdmFsaWQgVVRGOCBiZWZvcmUgdXNpbmcgdGhlbS4KCjIwMDgtMTItMDMgMTA6MTU6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmcGFyc2UuYzogUmVtb3ZlIEZJWE1FLCB6ZXJvLVVMcyBhbmQgVU1JRHMgYXJlIHJlYWxseSBpbnZhbGlkIGFuZCB3ZSBjYW4gdXNlIHRoZW0gYXMgInVuc2V0IiB2YWx1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICBSZW1vdmUgRklYTUUsIHplcm8tVUxzIGFuZCBVTUlEcyBhcmUgcmVhbGx5IGludmFsaWQgYW5kIHdlIGNhbgoJICB1c2UgdGhlbSBhcyAidW5zZXQiIHZhbHVlLgoKMjAwOC0xMi0wMyAwODowNDozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBVc2UgYSBzaW5nbGUgInRyYWNrXyV1IiBzcmMgcGFkIHRlbXBsYXRlIGFuZCB1c2UgdGhlIHRyYWNrIElEIG9mIHRoZSBwbGF5YmFjayBwYWNrYWdlIGZvciB0aGUgcGFkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2Jhc2VfaW5pdCk6CgkgIFVzZSBhIHNpbmdsZSAidHJhY2tfJXUiIHNyYyBwYWQgdGVtcGxhdGUgYW5kIHVzZSB0aGUgdHJhY2sgSUQKCSAgb2YgdGhlIHBsYXliYWNrIHBhY2thZ2UgZm9yIHRoZSBwYWQgbmFtZSBpbnN0ZWFkIG9mIHRoZSB0cmFjayBJRAoJICBvZiB0aGUgc291cmNlIHBhY2thZ2UsIGFzIHRoZSBsYXR0ZXIgY291bGQgYmUgdGhlIHNhbWUgZm9yCgkgIG1vcmUgdGhhbiBvbmUgdHJhY2sgaWYgdGhleSdyZSBpbiBkaWZmZXJlbnQgcGFja2FnZXMuCgoyMDA4LTEyLTAyIDA2OjIxOjIxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOiBTb21lIGNvbXBpbGVycyBjb21wbGFpbiBhYm91dCB1bmluaXRpYWxpemVkIHZhcmlhYmxlOyBhZGQgYSBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOiBTb21lIGNvbXBpbGVycyBjb21wbGFpbiBhYm91dAoJICB1bmluaXRpYWxpemVkIHZhcmlhYmxlOyBhZGQgYSBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpCgoyMDA4LTEyLTAxIDE5OjM2OjM1ICswMDAwICDsnbTrrLjtmJUgPGl3aW5nc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiBEb24ndCBmb3JnZXQgdG8gcmVsZWFzZSB0aGUgbG9jayBhZ2FpbiBpZiB3ZSBiYWlsIG91dCBiZWNhdXNlIHNvbWUgcGFkIGlzIGZsdXNoaW5nIG9yIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiDsnbTrrLjtmJUgPGl3aW5ncyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcik6CgkgIERvbid0IGZvcmdldCB0byByZWxlYXNlIHRoZSBsb2NrIGFnYWluIGlmIHdlIGJhaWwgb3V0IGJlY2F1c2Ugc29tZQoJICBwYWQgaXMgZmx1c2hpbmcgb3Igd2UndmUgcmVhY2hlZCBFT1MsIG90aGVyd2lzZSB0aGluZ3Mgd2lsbCBsb2NrIHVwCgkgIG5leHQgdGltZSBfcHVzaF9idWZmZXIoKSBpcyBjYWxsZWQgKCM1NjI4MDIpLgoKMjAwOC0xMi0wMSAxNjozNzo0NSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvYXRvbXMuYzogRml4IG1qMiBzYW1wbGUgZGVzY3JpcHRpb24gbWV0YWRhdGEgY29uc3RydWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzogKGJ1aWxkX2pwMmhfZXh0ZW5zaW9uKToKCSAgRml4IG1qMiBzYW1wbGUgZGVzY3JpcHRpb24gbWV0YWRhdGEgY29uc3RydWN0aW9uLgoKMjAwOC0xMi0wMSAxNTo1MDo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZqcGVnMjAwMC5jOiBVc2UgbmV3IGltYWdlL3gtanBjIGNhcHMgZm9yIHRoZSByYXcgSlBFRzIwMDAgY29kZXN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgVXNlIG5ldyBpbWFnZS94LWpwYyBjYXBzIGZvciB0aGUgcmF3IEpQRUcyMDAwIGNvZGVzdHJlYW0uCgkgIEZvciBub3cgYXNzdW1lIHNSR0IgYXMgY29sb3JzcGFjZSwgaGFzIHRvIGJlIHJlYWQgZnJvbSB0aGUgZGVzY3JpcHRvcgoJICBzb21laG93IGxhdGVyLgoKMjAwOC0xMi0wMSAxNTo0ODoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2pwMmsvOiBBZGQgaW1hZ2UveC1qcGMgY2FwcyBuYW1lIGZvciByZWFsLCByYXcgSlBFRzIwMDAgY29kZXN0cmVhbSBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogKGdzdF9qYXNwZXJfZGVjX3Npbmtfc2V0Y2Fwcyk6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6IChnc3RfamFzcGVyX2VuY19yZXNldCksCgkgIChnc3RfamFzcGVyX2VuY19zZXRfc3JjX2NhcHMpLCAoZ3N0X2phc3Blcl9lbmNfaW5pdF9lbmNvZGVyKSwKCSAgKGdzdF9qYXNwZXJfZW5jX3Npbmtfc2V0Y2FwcyksIChnc3RfamFzcGVyX2VuY19nZXRfZGF0YSk6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmg6CgkgIEFkZCBpbWFnZS94LWpwYyBjYXBzIG5hbWUgZm9yIHJlYWwsIHJhdyBKUEVHMjAwMCBjb2Rlc3RyZWFtIGRhdGEuCgkgIEluIDAuMTEgd2Ugc2hvdWxkIG1lcmdlIGltYWdlL3gtajJjIGFuZCBpbWFnZS94LWpwYyBhbmQgc2ltcGx5IGRyb3AKCSAgdGhlIG5vbi1zdGFuZGFyZCBib3hpbmcgaW4gdGhlIGphc3BlciBlbGVtZW50cyBhbmQgaGFuZGxlIGl0IGluCgkgIHF0bXV4L3F0ZGVtdXguCgkgIGltYWdlL3gtanBjIHdpbGwgYmUgdXNlZCBieSBteGZkZW11eCBsYXRlci4KCSAgQWxzbyBhZGQgc3VwcG9ydCBmb3IgSlAyIG91dHB1dCBpbiBqcDJrZW5jLgoKMjAwOC0xMi0wMSAxNToyNDozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCB0aGUgY29kZWMgbmFtZSwgYW5kIGlmIHBvc3NpYmxlIHRoZSBhdmcgYml0cmF0ZSwgdG8gdGhlIHBhZCdzIHRhZ2xpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOiAobXhmX2J3Zl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfYWxhd19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2R2X2RpZl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKToKCSAgQWRkIHRoZSBjb2RlYyBuYW1lLCBhbmQgaWYgcG9zc2libGUgdGhlIGF2ZyBiaXRyYXRlLCB0byB0aGUgcGFkJ3MgdGFnbGlzdC4KCjIwMDgtMTItMDEgMTQ6MjU6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogSWYgdGhlIHByZWZhY2UgcmVmZXJlbmNlcyBhIHByaW1hcnkgcGFja2FnZSB1c2UgdGhpcyBhcyB0aGUgZGVmYXVsdCBwbGF5YmFjayBwYWNrYWdlIHVubGVzcyBvbmUgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X2Nob29zZV9wYWNrYWdlKToKCSAgSWYgdGhlIHByZWZhY2UgcmVmZXJlbmNlcyBhIHByaW1hcnkgcGFja2FnZSB1c2UgdGhpcyBhcyB0aGUgZGVmYXVsdAoJICBwbGF5YmFjayBwYWNrYWdlIHVubGVzcyBvbmUgd2FzIHNwZWNpZmllZCBieSB0aGUgInBhY2thZ2UiIHByb3BlcnR5LgoJICBJZiB0aGVyZSdzIG5vIHByZWZhY2UgcHJpbWFyeSBwYWNrYWdlIHN0aWxsIHRyeSB0byB1c2UgdGhlIGZpcnN0CgkgIG1hdGVyaWFsIHBhY2thZ2UuCgoyMDA4LTExLTMwIDE3OjU4OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IElmIHRoZXJlJ3Mgbm8gZGVzY3JpcHRvciBmb3IgdGhlIHRyYWNrIGluIHRoZSB0cmFjaydzIHNvdXJjZSBwYWNrYWdlIGFuZCB0aGVyZSdzIGEgc2luZ2xlIGRlc2NyaXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyk6CgkgIElmIHRoZXJlJ3Mgbm8gZGVzY3JpcHRvciBmb3IgdGhlIHRyYWNrIGluIHRoZSB0cmFjaydzIHNvdXJjZQoJICBwYWNrYWdlIGFuZCB0aGVyZSdzIGEgc2luZ2xlIGRlc2NyaXB0b3Igd2l0aG91dCBhIGxpbmtlZCB0cmFjawoJICBhc3N1bWUgdGhhdCBpdCBiZWxvbmdzIHRvIHRoaXMgdHJhY2suCgoyMDA4LTExLTMwIDE3OjQyOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogU29tZSByYW5kb20gY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfaXNfYWxhd19lc3NlbmNlX3RyYWNrKToKCSAgKiBnc3QvbXhmL214ZmFsYXcuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9pc19qcGVnMjAwMF9lc3NlbmNlX3RyYWNrKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfaXNfbXBlZ19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgU29tZSByYW5kb20gY2xlYW51cC4KCjIwMDgtMTEtMzAgMTc6MjY6NTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSB0b3AtbGV2ZWwgc291cmNlIHBhY2thZ2Ugb3IgbWF0ZXJpYWwgcGFja2FnZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciBwbGF5YmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZW1vdmVfcGFkcyksCgkgIChnc3RfbXhmX2RlbXV4X3Jlc2V0KSwgKGdzdF9teGZfZGVtdXhfZmluZF9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfY2hvb3NlX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X214Zl9kZW11eF9nZXRfcHJvcGVydHkpLCAoZ3N0X214Zl9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfbXhmX2RlbXV4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfdW1pZF9mcm9tX3N0cmluZyk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBBZGQgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSB0b3AtbGV2ZWwgc291cmNlIHBhY2thZ2Ugb3IgbWF0ZXJpYWwKCSAgcGFja2FnZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciBwbGF5YmFjay4KCjIwMDgtMTEtMzAgMTY6MjE6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogTWFrZSBzdXJlIHRoYXQgZGVtdXgtPm9mZnNldCBoYXMgdGhlIGNvcnJlY3QgdmFsdWUgYmVmb3JlIGNhbGxpbmcgYW55IGdzdF9teGZfZGVtdXhfaGFuZGxlXyogZnVuYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZG9tX2luZGV4X3BhY2spOgoJICBNYWtlIHN1cmUgdGhhdCBkZW11eC0+b2Zmc2V0IGhhcyB0aGUgY29ycmVjdCB2YWx1ZSBiZWZvcmUKCSAgY2FsbGluZyBhbnkgZ3N0X214Zl9kZW11eF9oYW5kbGVfKiBmdW5jdGlvbnMuCgoyMDA4LTExLTMwIDE0OjEyOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogU2V0IHRoZSBjb3JyZWN0IE1QRUcgdmlkZW8gdmVyc2lvbiBpZiBwb3NzaWJsZSBhbmQgYWRkIHN1cHBvcnQgZm9yIE1QRUc0IHZpZGVvLCBpbmNsdWRpbmcgY29kZWNfZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX3ZpZGVvX2NyZWF0ZV9jYXBzKToKCSAgU2V0IHRoZSBjb3JyZWN0IE1QRUcgdmlkZW8gdmVyc2lvbiBpZiBwb3NzaWJsZSBhbmQgYWRkIHN1cHBvcnQKCSAgZm9yIE1QRUc0IHZpZGVvLCBpbmNsdWRpbmcgY29kZWNfZGF0YS4KCjIwMDgtMTEtMjkgMjA6MjU6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBKUEVHMjAwMCBlbmNvZGVkIHZpZGVvIGVzc2VuY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfaXNfanBlZzIwMDBfdmlkZW9fZXNzZW5jZV90cmFjayksCgkgIChteGZfanBlZzIwMDBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgSlBFRzIwMDAgZW5jb2RlZCB2aWRlbyBlc3NlbmNlLgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKToKCSAgU2V0IHRoZSBmcmFtZXJhdGUgaW4gdGhlIHZpZGVvIGNhcHMuCgoyMDA4LTExLTI5IDIwOjA3OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogRG9uJ3QgdW5yZWYgdGhlIGVsZW1lbnQgaW5zdGFuY2UgaWYgd2UgZG9uJ3Qgb3duIGEgcmVmZXJlbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogKGdzdF9qYXNwZXJfZGVjX3Npbmtfc2V0Y2Fwcyk6CgkgIERvbid0IHVucmVmIHRoZSBlbGVtZW50IGluc3RhbmNlIGlmIHdlIGRvbid0IG93biBhIHJlZmVyZW5jZS4KCjIwMDgtMTEtMjkgMTM6MzM6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlcXVpcmUgZ2V0dGV4dCAwLjE3IGJlY2F1c2Ugb2xkZXIgdmVyc2lvbnMgZG9uJ3QgbWl4IHdpdGggbGlidG9vbCAyLjIuIEF0IGJ1aWxkIHRpbWUgYW4gb2xkZXIgZ2V0dGV4dCB2ZXJzaW9uIHdpbGwgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEN5Z3dpbiBQb3J0cyBtYWludGFpbmVyCgkgIDx5c2Vsa293aXR6IGF0IHVzZXJzIGRvdCBzb3VyY2Vmb3JnZSBkb3QgbmV0PgoJICAqIGF1dG9nZW4uc2g6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGdldHRleHQgMC4xNyBiZWNhdXNlIG9sZGVyIHZlcnNpb25zIGRvbid0IG1peCB3aXRoIGxpYnRvb2wKCSAgMi4yLiBBdCBidWlsZCB0aW1lIGFuIG9sZGVyIGdldHRleHQgdmVyc2lvbiB3aWxsIHN0aWxsIHdvcmsuCgkgIEZpeGVzIGJ1ZyAjNTU2MDkxLgoKMjAwOC0xMS0yOCAxODo1NTowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBPbmx5IHRyeSB0byBwdWxsIHRoZSByYW5kb20gaW5kZXggcGFjayBhdCB0aGUgZW5kIG9mIGZpbGUgb25lIHRpbWUgYW5kIG5vdCBmb3IgZXZlcnkgc2luZ2xlIHBhY2tlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5kb21faW5kZXhfcGFjayk6CgkgIE9ubHkgdHJ5IHRvIHB1bGwgdGhlIHJhbmRvbSBpbmRleCBwYWNrIGF0IHRoZSBlbmQgb2YgZmlsZSBvbmUgdGltZQoJICBhbmQgbm90IGZvciBldmVyeSBzaW5nbGUgcGFja2V0IGlmIGl0IGZhaWxzLgoKMjAwOC0xMS0yOCAxODoxMzozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBzdXBwb3J0IGZvciBBLUxhdyBlbmNvZGVkIGF1ZGlvIGVzc2VuY2UgKFNNUFRFIDM4OE0gYW5kIDM4Mk0pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOiAobXhmX2J3Zl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfaXNfYWxhd19hdWRpb19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9hbGF3X2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2FsYXdfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBBLUxhdyBlbmNvZGVkIGF1ZGlvIGVzc2VuY2UgKFNNUFRFIDM4OE0gYW5kIDM4Mk0pLgoKMjAwOC0xMS0yOCAxNDoyMjo1MCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDA4LTExLTI4IDExOjI0OjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogSW1wbGVtZW50IHBhcnNpbmcgb2YgaW5kZXggdGFibGUgc2VnbWVudHMsIHdoaWNoIHdpbGwgbGF0ZXIgYmUgdXNlZCBmb3Igc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9pbmRleF90YWJsZV9zZWdtZW50KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX2luZGV4X3RhYmxlX3NlZ21lbnRfcGFyc2UpLAoJICAobXhmX2luZGV4X3RhYmxlX3NlZ21lbnRfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEltcGxlbWVudCBwYXJzaW5nIG9mIGluZGV4IHRhYmxlIHNlZ21lbnRzLCB3aGljaCB3aWxsIGxhdGVyIGJlCgkgIHVzZWQgZm9yIHNlZWtpbmcuCgoyMDA4LTExLTI4IDA5OjQ5OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVcGRhdGUgYXVkaW9yZXNhbXBsZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgbmV3IGVsZW1lbnQgbmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgVXBkYXRlIGF1ZGlvcmVzYW1wbGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIG5ldyBlbGVtZW50IG5hbWUuCgoyMDA4LTExLTI4IDA4OjM3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEFuZCBub3cgYWxzbyB1cGRhdGUgdGhlIGRlYnVnIGNhdGVnb3J5IGZyb20gYXVkaW9yZXNhbXBsZSB0byBsZWdhY3lyZXNhbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBBbmQgbm93IGFsc28gdXBkYXRlIHRoZSBkZWJ1ZyBjYXRlZ29yeSBmcm9tIGF1ZGlvcmVzYW1wbGUKCSAgdG8gbGVnYWN5cmVzYW1wbGUuCgoyMDA4LTExLTI3IDE5OjI3OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBzcGVleHJlc2FtcGxlIGZyb20gdGhlIGJ1aWxkIHN5c3RlbSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIHNwZWV4cmVzYW1wbGUgZnJvbSB0aGUgYnVpbGQgc3lzdGVtIHRvby4KCjIwMDgtMTEtMjcgMTk6MjI6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlbW92ZSBvbGQgc3BlZXhyZXNhbXBsZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2FyY2guaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9hcm00Lmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfYXJtNWUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9iZmluLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZGVidWcuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9nZW5lcmljLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlX3NzZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9kb3VibGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZmxvYXQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfaW50LmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6CgkgIFJlbW92ZSBvbGQgc3BlZXhyZXNhbXBsZSBmaWxlcy4KCjIwMDgtMTEtMjcgMTc6MDc6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDogUmVtb3ZlIG9sZCBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgIFJlbW92ZSBvbGQgZmlsZS4KCjIwMDgtMTEtMjcgMTc6MDY6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6IEFkZCBtaXNzaW5nIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkgIEFkZCBtaXNzaW5nIGZpbGUuCgoyMDA4LTExLTI3IDE2OjU4OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBJbnRlZ3JhdGUgdGhlIG1vdmVkIGF1ZGlvcmVzYW1wbGUgaW50byB0aGUgYnVpbGQgc3lzdGVtIGFuZCByZW5hbWUgaXQgdG8gbGVnYWN5cmVzYW1wbGUuIEZpeGVzIGJ1ZyAjNTU4MTI0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKHNldHVwX2F1ZGlvcmVzYW1wbGUpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICBJbnRlZ3JhdGUgdGhlIG1vdmVkIGF1ZGlvcmVzYW1wbGUgaW50byB0aGUgYnVpbGQgc3lzdGVtIGFuZAoJICByZW5hbWUgaXQgdG8gbGVnYWN5cmVzYW1wbGUuIEZpeGVzIGJ1ZyAjNTU4MTI0LgoKMjAwOC0xMS0yNyAxNjoyNjozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEltcGxlbWVudCBwYXJzaW5nIG9mIHRoZSByYW5kb20gaW5kZXggcGFjaywgd2hpY2ggcHJvdmlkZXMgYSBzZWVrIHRhYmxlIChpbmNsdWRpbmcgYm9keSBzaWQpIHRvIHRoZSBzdGFydCBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfcmFuZG9tX2luZGV4X3BhY2spLAoJICAoZ3N0X214Zl9kZW11eF9wdWxsX3JhbmRvbV9pbmRleF9wYWNrKSwgKGdzdF9teGZfZGVtdXhfbG9vcCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9yYW5kb21faW5kZXhfcGFja19wYXJzZSk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgSW1wbGVtZW50IHBhcnNpbmcgb2YgdGhlIHJhbmRvbSBpbmRleCBwYWNrLCB3aGljaCBwcm92aWRlcyBhIHNlZWsKCSAgdGFibGUgKGluY2x1ZGluZyBib2R5IHNpZCkgdG8gdGhlIHN0YXJ0IG9mIHBhcnRpdGlvbiBwYWNrcy4KCSAgTGF0ZXIgdGhpcyB3aWxsIGJlIHVzZWQgZm9yIHJlYWRpbmcgYWxsIGluZGV4IHRhYmxlIHNlZ21lbnRzIG9mCgkgIHRoZSBjb21wbGV0ZSBmaWxlIGVmZmljaWVudGx5LgoKMjAwOC0xMS0yNyAxMDowOTo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBmdW5kYW1lbnRhbCBzdXBwb3J0IGZvciBEVi1ESUYgZXNzZW5jZSBzdHJlYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2lzX2R2X2RpZl9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kdl9kaWZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9pc19kZXNjcmlwdGl2ZV9tZXRhZGF0YSk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBBZGQgZnVuZGFtZW50YWwgc3VwcG9ydCBmb3IgRFYtRElGIGVzc2VuY2Ugc3RyZWFtcy4KCSAgSGFuZGxlIGRlc2NyaXB0aXZlIG1ldGFkYXRhIHBhY2tldHMgYXMgbWV0YWRhdGEgcGFja2V0cy4KCjIwMDgtMTEtMjcgMDg6NDk6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguKjogT25seSB0cnkgdG8gcHVsbCB0aGUgZm9vdGVyIG1ldGFkYXRhIG9uY2UgYW5kIG5vdCBvbiBldmVyeSBLTFYgcGFja2V0IGlmIGl0IGZhaWxlZCBiZWZvcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICBPbmx5IHRyeSB0byBwdWxsIHRoZSBmb290ZXIgbWV0YWRhdGEgb25jZSBhbmQgbm90IG9uIGV2ZXJ5IEtMViBwYWNrZXQKCSAgaWYgaXQgZmFpbGVkIGJlZm9yZS4KCjIwMDgtMTEtMjYgMTI6NDA6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IE1ha2Ugb2J0YWluX3NvdXJjZSByZXR1cm4gYW4gYWRpdGlvbmFsIHJlZiBzbyB0aGF0IHdlIGRvbid0IGxvc2Ugb3VyIHJlZiB0byBpdCB3aGVuIGEgc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob2J0YWluX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpOgoJICBNYWtlIG9idGFpbl9zb3VyY2UgcmV0dXJuIGFuIGFkaXRpb25hbCByZWYgc28gdGhhdCB3ZSBkb24ndCBsb3NlIG91ciByZWYKCSAgdG8gaXQgd2hlbiBhIHNlc3Npb24gY2xlYW51cCBvY2N1cnMgd2hlbiB3ZSBhcmUgZW1pdGluZyBhIHNpZ25hbC4KCSAgRW1pdCB0aGUgb25fbmV3X3NzcmMgc2lnbmFsIGZvciB0aGUgQ1NSQywgbm90IHRoZSBTU1JDLgoJICBGaXhlcyAjNTYyMzE5LgoKMjAwOC0xMS0yNiAxMjowMjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZXNldCB0aGUgc3luYyBwYXJhbWV0ZXJzIHdoZW4gY2xlYXJpbmcgdGhlIHBheWxvYWQgdHlwZSBtYXAgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3Jlc2V0X3N5bmMpLAoJICAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKToKCSAgUmVzZXQgdGhlIHN5bmMgcGFyYW1ldGVycyB3aGVuIGNsZWFyaW5nIHRoZSBwYXlsb2FkIHR5cGUgbWFwIHRvby4KCSAgRml4ZXMgIzU2MjMxMi4KCjIwMDgtMTEtMjYgMTE6NDQ6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogUmVtb3ZlIGEgbG90IG9mIHBlciBzdHJlYW0gc3RhdGUgdGhhdCBpcyBub3QgbmVlZGVkIGFuZCBwYXNzIG5ldyBpbmZvIGluIHRoZSBtZXRob2QgY2FsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfY2xpZW50KSwKCSAgKGdzdF9ydHBfYmluX3Jlc2V0X3N5bmMpLCAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9zeW5jKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBSZW1vdmUgYSBsb3Qgb2YgcGVyIHN0cmVhbSBzdGF0ZSB0aGF0IGlzIG5vdCBuZWVkZWQgYW5kIHBhc3MgbmV3IGluZm8gaW4KCSAgdGhlIG1ldGhvZCBjYWxsLgoJICBBZGQgc2lnbmFsIHRvIHJlc2V0IHN5bmMgcGFyYW1ldGVycy4KCSAgQXZvaWQgcGFyc2luZyB0aGUgY2FwcyB0byBnZXQgYSBjbG9ja19iYXNlLCB3ZSBnZXQgdGhpcyBmcm9tIHRoZSBzeW5jCgkgIHNpZ25hbCBub3cuCgoyMDA4LTExLTI2IDExOjMwOjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IFByb3Blcmx5IGNvbWJpbmUgZmxvdyByZXR1cm5zIG9mIHRoZSBzb3VyY2UgcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9wYWRfaW5pdCksCgkgIChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwgKGdzdF9teGZfZGVtdXhfY29tYmluZV9mbG93cyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpOgoJICBQcm9wZXJseSBjb21iaW5lIGZsb3cgcmV0dXJucyBvZiB0aGUgc291cmNlIHBhZHMuCgkgIEltcHJvdmUgZGVidWdnaW5nIGFuZCByZXNldCBwYWQgZmllbGRzIHRvZ2V0aGVyIHdpdGggdGhlCgkgIG1ldGFkYXRhIHRvIHByZXZlbnQgaW52YWxpZCBtZW1vcnkgcmVmZXJlbmNlcy4KCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfbWV0YWRhdGFfcHJlZmFjZV9wYXJzZSk6CgkgIEZpeCB0eXBvLgoKMjAwOC0xMS0yNiAxMDozNzozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFdoZW4gbWVtc2V0J2luZyB0aGUgZGVzY3JpcHRvcnMgdG8gemVyb2VzIG9ubHkgdG91Y2ggdGhlIHBhcnQgb2YgdGhpcyBkZXNjcmlwdG9yLCBub3QgaXQncyBwYXJlbnQgdHlwZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFdoZW4gbWVtc2V0J2luZyB0aGUgZGVzY3JpcHRvcnMgdG8gemVyb2VzIG9ubHkgdG91Y2ggdGhlIHBhcnQKCSAgb2YgdGhpcyBkZXNjcmlwdG9yLCBub3QgaXQncyBwYXJlbnQgdHlwZS4KCSAgU2V0IGNvcnJlY3QgZGVmYXVsdCB2YWx1ZXMgZm9yIGFsbCBtZXRhZGF0YSBmaWVsZHMuCgoyMDA4LTExLTI2IDA0OjU3OjIyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguKjogRW5hYmxlIGxhdGVuY3kgY29kZSwgc2luY2Ugd2UncmUgZGVmaW5pdGVseSBhZnRlciAwLjEwLjEyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIEVuYWJsZSBsYXRlbmN5IGNvZGUsIHNpbmNlIHdlJ3JlIGRlZmluaXRlbHkgYWZ0ZXIgMC4xMC4xMgoKMjAwOC0xMS0yNSAxODoyODoxOCArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0QGdtYWlsLmNvbT4KCgkgIGV4dC9zcGMvZ3N0c3BjLmM6IFBvc3QgYW4gZXJyb3IgYW5kIHB1c2ggRU9TIHdoZW4gd2UgY2FuJ3Qgc3RhcnQgcGxheWJhY2sgZm9yIHNvbWUgcmVhc29uLiBhbHNvIGF2b2lkIGEgY3Jhc2ggd2hlbiBmZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChnc3Rfc3BjX2RlY19zaW5rX2V2ZW50KSwgKHNwY19zZXR1cCk6CgkgIFBvc3QgYW4gZXJyb3IgYW5kIHB1c2ggRU9TIHdoZW4gd2UgY2FuJ3Qgc3RhcnQgcGxheWJhY2sgZm9yIHNvbWUgcmVhc29uLgoJICBhbHNvIGF2b2lkIGEgY3Jhc2ggd2hlbiBmZWQgYW4gZW1wdHkgZmlsZS4gRml4ZXMgIzQ4MDU0My4KCjIwMDgtMTEtMjUgMTY6Mzc6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogTWFrZSB1bml0IHRlc3QgYWdhaW4gZmFzdGVyIHRvIHByZXZlbnQgdGltZW91dHMgd2l0aCB2YWxncmluZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiAodGVzdF9waXBlbGluZSk6CgkgIE1ha2UgdW5pdCB0ZXN0IGFnYWluIGZhc3RlciB0byBwcmV2ZW50IHRpbWVvdXRzIHdpdGggdmFsZ3JpbmQuCgoyMDA4LTExLTI1IDE1OjEyOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBGaXggZXZlbnQgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRjcF9zcmMpOgoJICBGaXggZXZlbnQgbGVhay4KCjIwMDgtMTEtMjUgMTQ6NDk6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBTZXQgdmlkZW8gZGltZW5zaW9ucyBhbmQgcGl4ZWwgYXNwZWN0IHJhdGlvIG9uIHRoZSBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX3ZpZGVvX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBTZXQgdmlkZW8gZGltZW5zaW9ucyBhbmQgcGl4ZWwgYXNwZWN0IHJhdGlvIG9uIHRoZSBjYXBzLgoKMjAwOC0xMS0yNSAxMDoyNjoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBpbml0aWFsIHBhcnNpbmcgb2YgUkdCQSBkZXNjcmlwdG9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBBZGQgaW5pdGlhbCBwYXJzaW5nIG9mIFJHQkEgZGVzY3JpcHRvcnMuCgkgIERvbid0IGluaXRpYWxpemUgZGVzY3JpcHRvciBHQXJyYXkgd2l0aCB6ZXJvZXMuCgoyMDA4LTExLTI1IDA5OjM4OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogUmV3cml0ZSBwYXJzaW5nIG9mIGRlc2NyaXB0b3JzIHRvIGdvIHRvcC1kb3duIGluc3RlYWQgb2YgYm90dG9tLXVwIHdoaWNoIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGhhdmUgdGhlIGJ1ZmYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSk6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6CgkgIChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX2hhbmRsZV90YWcpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9wYXJ0aXRpb25fcGFja19wYXJzZSksCgkgIChteGZfcHJpbWVyX3BhY2tfcGFyc2UpLCAobXhmX21ldGFkYXRhX3ByZWZhY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9wYXJzZSksIChteGZfbWV0YWRhdGFfdHJhY2tfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfcGFyc2UpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgUmV3cml0ZSBwYXJzaW5nIG9mIGRlc2NyaXB0b3JzIHRvIGdvIHRvcC1kb3duIGluc3RlYWQgb2YgYm90dG9tLXVwCgkgIHdoaWNoIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGhhdmUgdGhlIGJ1ZmZlciBkYXRhIG5vbi13cml0YWJsZS4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA4LTExLTI1IDAwOjIwOjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgbmV3IGRpcmVjdG9yeSBmb3IgbmV3IGFjbW1wM2RlYyBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgQWRkIG5ldyBkaXJlY3RvcnkgZm9yIG5ldyBhY21tcDNkZWMgcGx1Z2luCgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL2FjbW1wM2RlYy5jOgoJICBBZGQgbmV3IGFjbW1wM2RlYyBwbHVnaW4sIHdoaWNoIHVzZXMgQUNNIGZvciBkZWNvZGluZyBtcDMgb24gd2luZG93cy4KCjIwMDgtMTEtMjQgMTE6MzE6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogTWFrZSBzdXJlIHRvIG9ubHkgb3V0cHV0IGdlbmVyaWMgY29udGFpbmVyIGVzc2VuY2UgZWxlbWVudHMgZm9yIGEgdHJhY2sgaWYgdGhlIGJvZHkgU0lEIG9mIHRoZSBzdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpOgoJICBNYWtlIHN1cmUgdG8gb25seSBvdXRwdXQgZ2VuZXJpYyBjb250YWluZXIgZXNzZW5jZSBlbGVtZW50cwoJICBmb3IgYSB0cmFjayBpZiB0aGUgYm9keSBTSUQgb2YgdGhlIHN1cnJvdW5kaW5nIHBhcnRpdGlvbiBpcwoJICB0aGUgc2FtZSBhcyB0aGUgYm9keSBTSUQgb2YgdGhlIHRyYWNrJ3Mgc291cmNlIHBhY2thZ2UuCgoyMDA4LTExLTI0IDExOjE3OjE5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRml4IG5vbiBrZXkgdW5pdCBzZWVraW5nIGJ5IGFsd2F5cyBnb2luZyB0byB0aGUgcHJldmlvdXMga2V5ZnJhbWUuIE1hcmsgdGhlIGRpc2NvbnQgZmxhZyB3aGVuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0xMS0yNCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpOgoJICBGaXggbm9uIGtleSB1bml0IHNlZWtpbmcgYnkgYWx3YXlzIGdvaW5nIHRvIHRoZSBwcmV2aW91cwoJICBrZXlmcmFtZS4gTWFyawoJICB0aGUgZGlzY29udCBmbGFnIHdoZW4gd2UndmUgbW92ZWQgaW4gdGhlIGZpbGUuCgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpOiBNUDMKCSAgc3RyZWFtcwoJICBhcmUgcGFyc2VkIGFscmVhZHksIG1ha2VzIGF1dG9wbHVnZ2VkIHBpcGVsaW5lcyBzaG9ydGVyLgoKMjAwOC0xMS0yNCAxMDo0NjowMSArMDAwMCAgdmFuaXN0YSA8dmFuaXN0YUBnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3RzbXV4LzogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgbXV4aW5nIEFDMy9EVFMvTFBDTSBpbnRvIE1QRUcgVFMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogdmFuaXN0YSA8dmFuaXN0YSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChtcGVndHNtdXhfY3JlYXRlX3N0cmVhbSk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOiAodHNtdXhfc3RyZWFtX25ldyk6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11eGluZyBBQzMvRFRTL0xQQ00gaW50byBNUEVHIFRTLgoJICBGaXhlcyBidWcgIzU1MDYxMy4KCjIwMDgtMTEtMjQgMTA6NDE6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBbGxvdyBub24tTVhGIEtMViBwYWNrZXRzIGFuZCBqdXN0IGRyb3AgdGhlbSBpbnN0ZWFkIG9mIHRocm93aW5nIGFuIGVycm9yIGFuZCBoYW5kbGUgOSBieXRlIHByb2R1Y3QgdmVyc2lvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3B1bGxfa2x2X3BhY2tldCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwgKGdzdF9teGZfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9wcm9kdWN0X3ZlcnNpb25fcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcGFyc2UpOgoJICBBbGxvdyBub24tTVhGIEtMViBwYWNrZXRzIGFuZCBqdXN0IGRyb3AgdGhlbSBpbnN0ZWFkIG9mIHRocm93aW5nCgkgIGFuIGVycm9yIGFuZCBoYW5kbGUgOSBieXRlIHByb2R1Y3QgdmVyc2lvbnMgYXMgd3JpdHRlbiBieSBBdmlkLgoJICBUaGlzIGRvZXNuJ3QgYWRkIHN1cHBvcnQgZm9yIHRoZSBub24tc3RhbmRhcmQgQXZpZCBNWEYgZmlsZXMKCSAgYnV0IGF0IGxlYXN0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIHBhcnNlIHRoZWlyIGhlYWRlciBtZXRhZGF0YS4KCSAgRml4IGEgY29weSZwYXN0ZSBlcnJvciBpbiBkZWJ1ZyBvdXRwdXQuCgoyMDA4LTExLTIzIDE3OjUwOjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay86IFF1ZXJ5IHBvcnQgbGF0ZW5jaWVzIGZvciBzaW5rL3NyYyBkZWxheXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgUXVlcnkgcG9ydCBsYXRlbmNpZXMgZm9yIHNpbmsvc3JjIGRlbGF5cy4KCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIE5vIHByaW50ZiBwbGVhc2UuCgoyMDA4LTExLTIzIDExOjI1OjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IEFjdHVhbGx5IHdlIHN1cHBvcnQgYSBsZW5ndGggc3RvcmVkIGluc2lkZSA4IGJ5dGVzIGJ1dCBpdCBtdXN0IGJlIHNtYWxsZXIgdGhhbiBHX01BWFVJTlQgZm9yIEdzdEIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wdWxsX2tsdl9wYWNrZXQpLAoJICAoZ3N0X214Zl9kZW11eF9jaGFpbik6CgkgIEFjdHVhbGx5IHdlIHN1cHBvcnQgYSBsZW5ndGggc3RvcmVkIGluc2lkZSA4IGJ5dGVzIGJ1dCBpdCBtdXN0CgkgIGJlIHNtYWxsZXIgdGhhbiBHX01BWFVJTlQgZm9yIEdzdEJ1ZmZlci4KCjIwMDgtMTEtMjMgMTE6MTY6MzYgKzAwMDAgIFRhbCBTaGFsaWYgPHRzaGFsaWZAbmFyZ2lsYS5vcmc+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzogRml4IGZvcm1hdCBzdHJpbmcuIEZpeGVzIGJ1ZyAjNTYxOTkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRhbCBTaGFsaWYgPHRzaGFsaWYgYXQgbmFyZ2lsYSBkb3Qgb3JnPgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAocnNuX2R2ZHNyY19wcmVwYXJlX3N0cmVhbXNpbmZvX2V2ZW50KToKCSAgRml4IGZvcm1hdCBzdHJpbmcuIEZpeGVzIGJ1ZyAjNTYxOTkyLgoKMjAwOC0xMS0yMiAxNTozMTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB0aGUgUlRDUCBNVFUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB0aGUgUlRDUCBNVFUuCgoyMDA4LTExLTIyIDE1OjI0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChjb3B5X3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgQWRkIHByb3BlcnR5IHRvIHJldHVybiBhIEdWYWx1ZUFycmF5IG9mIGFsbCBrbm93biBSVFBTb3VyY2VzIGluIHRoZQoJICBzZXNzaW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfY3JlYXRlX3NkZXMpLCAocnRwX3NvdXJjZV9zZXRfcHJvcGVydHkpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpOgoJICBSZW1vdmUgcHJvcGVydGllcyB0byBzZXQgdGhlIHZhcmlvdXMgU0RFUyBpdGVtcywgYW4gYXBwbGljYXRpb24gaXMgbmV2ZXIKCSAgc3VwcG9zZWQgdG8gY2hhbmdlIHRoZSBSVFBTb3VyY2UgZGF0YS4KCSAgQ2hhbmdlIHRoZSBTREVTIGdldHRlciBwcm9wZXJ0aWVzIHRvIG9uZSBTREVTIHByb3BlcnR5IHRoYXQgcmV0dXJucyBhbGwKCSAgU0RFUyBpdGVtcyBpbiBhIEdzdFN0cnVjdHVyZS4KCjIwMDgtMTEtMjIgMTU6MDI6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogTWFrZSB0aGUgdW5pdCB0ZXN0IGEgYml0IGZhc3RlciB0byBwcmV2ZW50IHRpbWVvdXRzLCBlc3BlY2lhbGx5IHdpdGggdmFsZ3JpbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgTWFrZSB0aGUgdW5pdCB0ZXN0IGEgYml0IGZhc3RlciB0byBwcmV2ZW50IHRpbWVvdXRzLCBlc3BlY2lhbGx5CgkgIHdpdGggdmFsZ3JpbmQuCgoyMDA4LTExLTIyIDE0OjUxOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogU29tZSBtb3JlIGZvcm1hdCBzdHJpbmcgZml4ZXMgYW5kIHVzYWdlIG9mIGd1aW50IGluc3RlYWQgb2YgZ2ludCB3aGVyZSBuZWdhdGl2ZSB2YWx1ZXMgZG9uJ3QgbWFrZSBzZW5zZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wdXNoX3NyY19ldmVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKGdzdF9teGZfdWxfaGFzaCksCgkgIChteGZfcGFydGl0aW9uX3BhY2tfcGFyc2UpLCAobXhmX3ByaW1lcl9wYWNrX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9wYXJzZSk6CgkgIFNvbWUgbW9yZSBmb3JtYXQgc3RyaW5nIGZpeGVzIGFuZCB1c2FnZSBvZiBndWludCBpbnN0ZWFkIG9mIGdpbnQKCSAgd2hlcmUgbmVnYXRpdmUgdmFsdWVzIGRvbid0IG1ha2Ugc2Vuc2UuCgoyMDA4LTExLTIyIDE0OjQyOjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogVXNlIGd1aW50IGluc3RlYWQgb2YgZ3VpbnQ2NCBvciBnc2l6ZSBmb3IgYWxsIGJ1ZmZlciBzaXplcyBhbmQgdXNlIGNvcnJlY3QgZm9ybWF0IHN0cmluZ3MgZm9yIHRoZW0uIE9ubHkgbG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5nZSksCgkgIChnc3RfbXhmX2RlbXV4X3B1bGxfa2x2X3BhY2tldCksCgkgIChnc3RfbXhmX2RlbXV4X3BhcnNlX2Zvb3Rlcl9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9hbmRfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9jaGFpbik6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX3BhcnNlKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfdGltZXN0YW1wX3BhcnNlKSwgKG14Zl9mcmFjdGlvbl9wYXJzZSksCgkgIChteGZfdXRmMTZfdG9fdXRmOCksIChteGZfcHJvZHVjdF92ZXJzaW9uX3BhcnNlKSwKCSAgKG14Zl9wYXJ0aXRpb25fcGFja19wYXJzZSksIChteGZfcHJpbWVyX3BhY2tfcGFyc2UpLAoJICAobXhmX2xvY2FsX3RhZ19wYXJzZSksIChteGZfbWV0YWRhdGFfcHJlZmFjZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV90cmFja19wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfcGFyc2UpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgVXNlIGd1aW50IGluc3RlYWQgb2YgZ3VpbnQ2NCBvciBnc2l6ZSBmb3IgYWxsIGJ1ZmZlciBzaXplcyBhbmQKCSAgdXNlIGNvcnJlY3QgZm9ybWF0IHN0cmluZ3MgZm9yIHRoZW0uIE9ubHkgbG9jYWwgdGFnIHNldCBzaXplcwoJICBhcmUgc3RpbGwgZ3VpbnQxNiBhcyB0aGV5IGNhbid0IGJlIGxhcmdlci4KCSAgT25seSBhbGxvdyBLTFYgcGFja2V0cyBvZiBzaXplcyBiZWxvdyAxPDwzMiBhcyBHU3RyZWFtZXIgb25seSB1c2VzCgkgIGd1aW50IGZvciBidWZmZXIgc2l6ZXMuIFRoZSBNWEYgc3RhbmRhcmQgYWxsb3dzIHBhY2tldCBzaXplcyB1cAoJICB0byAxPDw2NC4KCjIwMDgtMTEtMjIgMTM6MTc6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxzbyB1bnJlZiB0aGUgdGFyZ2V0IHBhZCBmb3IgdW5rbm93biBwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgQWxzbyB1bnJlZiB0aGUgdGFyZ2V0IHBhZCBmb3IgdW5rbm93biBwYWRzLgoKMjAwOC0xMS0yMiAwODoyMzoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RjY3AvZ3N0ZGNjcC5jOiBVc2UgR19HU0laRV9GT1JNQVQgaW5zdGVhZCBvZiAiJXUiIGZvciBhIHNpemVfdCB2YXJpYWJsZSBpbiB0aGUgZm9ybWF0IHN0cmluZyB0byBwcmV2ZW50IGEgY29tcGlsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzogKGdzdF9kY2NwX3NvY2tldF93cml0ZSk6CgkgIFVzZSBHX0dTSVpFX0ZPUk1BVCBpbnN0ZWFkIG9mICIldSIgZm9yIGEgc2l6ZV90IHZhcmlhYmxlIGluCgkgIHRoZSBmb3JtYXQgc3RyaW5nIHRvIHByZXZlbnQgYSBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0xMS0yMSAxNjoxNzoyMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIHRoZSByaWdodCBwYWRzIG9uIHJ0cGJpbi4gRml4ZXMgIzU2MTc1Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgUmVsZWFzZSB0aGUgcmlnaHQgcGFkcyBvbiBydHBiaW4uIEZpeGVzICM1NjE3NTIuCgoyMDA4LTExLTIxIDE1OjQ1OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IEFkZCBhICJmaWx0ZXItbGVuZ3RoIiBwcm9wZXJ0eSB0aGF0IG1hcHMgdG8gdGhlIHF1YWxpdHkgdmFsdWVzIGZvciBjb21wYXRpYmlsdHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X3Byb3BlcnR5KToKCSAgQWRkIGEgImZpbHRlci1sZW5ndGgiIHByb3BlcnR5IHRoYXQgbWFwcyB0byB0aGUgcXVhbGl0eSB2YWx1ZXMKCSAgZm9yIGNvbXBhdGliaWx0eSB3aXRoIGF1ZGlvcmVzYW1wbGUuCgoyMDA4LTExLTIxIDEwOjM3OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSB0aGUgImV4cGVyaW1lbnRhbCIgZmxhZyBmcm9tIHRoZSBkZWludGVybGFjZTIgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSB0aGUgImV4cGVyaW1lbnRhbCIgZmxhZyBmcm9tIHRoZSBkZWludGVybGFjZTIgcGx1Z2luLgoKMjAwOC0xMS0yMSAxMDoyNzoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGZpcnN0IHZlcnNpb24gb2YgYW4gTVhGIGRlbXV4ZXIuIEN1cnJlbnRseSBpdCBzdXBwb3J0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214Zi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfaXNfYWVzX2J3Zl9lc3NlbmNlX3RyYWNrKSwgKG14Zl9id2ZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfYndmX2NyZWF0ZV9jYXBzKSwgKG14Zl9hZXNfYndmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX3BhZF9maW5hbGl6ZSksCgkgIChnc3RfbXhmX3BhZF9jbGFzc19pbml0KSwgKGdzdF9teGZfcGFkX2luaXQpLAoJICAoZ3N0X214Zl9kZW11eF9mbHVzaCksIChnc3RfbXhmX2RlbXV4X3JlbW92ZV9wYWQpLAoJICAoZ3N0X214Zl9kZW11eF9yZXNldF9teGZfc3RhdGUpLCAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X3Jlc2V0KSwgKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5nZSksCgkgIChnc3RfbXhmX2RlbXV4X3B1c2hfc3JjX2V2ZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX3BhcnRpdGlvbl9wYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX3ByaW1lcl9wYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3ByZWZhY2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfaWRlbnRpZmljYXRpb24pLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbWF0ZXJpYWxfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV90cmFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9zZXF1ZW5jZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9sb2NhdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX3N5c3RlbV9pdGVtKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9yYW5kb21faW5kZXhfcGFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9pbmRleF90YWJsZV9zZWdtZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9rbHZfcGFja2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfcGFyc2VfZm9vdGVyX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpLAoJICAoZ3N0X214Zl9kZW11eF9wdWxsX2FuZF9oYW5kbGVfa2x2X3BhY2tldCksIChnc3RfbXhmX2RlbXV4X2xvb3ApLAoJICAoZ3N0X214Zl9kZW11eF9jaGFpbiksIChnc3RfbXhmX2RlbXV4X3NyY19ldmVudCksCgkgIChnc3RfbXhmX2RlbXV4X3NyY19xdWVyeV90eXBlKSwgKGdzdF9teGZfZGVtdXhfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9teGZfZGVtdXhfc2lua19hY3RpdmF0ZSksIChnc3RfbXhmX2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfbXhmX2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfbXhmX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X214Zl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X214Zl9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfbXhmX2RlbXV4X2Jhc2VfaW5pdCksIChnc3RfbXhmX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X214Zl9kZW11eF9pbml0KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX2lzX21wZWdfdmlkZW9fZXNzZW5jZV90cmFjayksCgkgIChteGZfbXBlZ192aWRlb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9tcGVnX3ZpZGVvX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfaXNfbXhmX3BhY2tldCksIChteGZfaXNfcGFydGl0aW9uX3BhY2spLAoJICAobXhmX2lzX2hlYWRlcl9wYXJ0aXRpb25fcGFjayksIChteGZfaXNfYm9keV9wYXJ0aXRpb25fcGFjayksCgkgIChteGZfaXNfZm9vdGVyX3BhcnRpdGlvbl9wYWNrKSwgKG14Zl9pc19maWxsKSwKCSAgKG14Zl9pc19wcmltZXJfcGFjayksIChteGZfaXNfbWV0YWRhdGEpLAoJICAobXhmX2lzX3JhbmRvbV9pbmRleF9wYWNrKSwgKG14Zl9pc19pbmRleF90YWJsZV9zZWdtZW50KSwKCSAgKG14Zl9pc19nZW5lcmljX2NvbnRhaW5lcl9zeXN0ZW1faXRlbSksCgkgIChteGZfaXNfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9pc19nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2NvbnRhaW5lcl9sYWJlbCksCgkgIChteGZfdWxfaXNfZXF1YWwpLCAobXhmX3VsX2lzX3plcm8pLCAobXhmX3VsX3RvX3N0cmluZyksCgkgIChteGZfdW1pZF9pc19lcXVhbCksIChteGZfdW1pZF9pc196ZXJvKSwgKG14Zl91bWlkX3RvX3N0cmluZyksCgkgIChnc3RfbXhmX3VsX2hhc2gpLCAoZ3N0X214Zl91bF9lcXVhbCksIChteGZfdGltZXN0YW1wX3BhcnNlKSwKCSAgKG14Zl90aW1lc3RhbXBfaXNfdW5rbm93biksIChteGZfdGltZXN0YW1wX2NvbXBhcmUpLAoJICAobXhmX2ZyYWN0aW9uX3BhcnNlKSwgKG14Zl91dGYxNl90b191dGY4KSwKCSAgKG14Zl9wcm9kdWN0X3ZlcnNpb25fcGFyc2UpLCAobXhmX3BhcnRpdGlvbl9wYWNrX3BhcnNlKSwKCSAgKG14Zl9wYXJ0aXRpb25fcGFja19yZXNldCksIChfbXhmX21hcHBpbmdfdWxfZnJlZSksCgkgIChteGZfcHJpbWVyX3BhY2tfcGFyc2UpLCAobXhmX3ByaW1lcl9wYWNrX3Jlc2V0KSwKCSAgKG14Zl9sb2NhbF90YWdfcGFyc2UpLCAoZ3N0X214Zl9sb2NhbF90YWdfZnJlZSksCgkgIChnc3RfbWV0YWRhdGFfYWRkX2N1c3RvbV90YWcpLCAobXhmX21ldGFkYXRhX3ByZWZhY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfcmVzZXQpLCAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3Jlc2V0KSwgKG14Zl9tZXRhZGF0YV90cmFja19wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfcmVzZXQpLCAobXhmX21ldGFkYXRhX3RyYWNrX2lkZW50aWZpZXJfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfbG9jYXRvcl9wYXJzZSksIChteGZfbWV0YWRhdGFfbG9jYXRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgQWRkIGZpcnN0IHZlcnNpb24gb2YgYW4gTVhGIGRlbXV4ZXIuIEN1cnJlbnRseSBpdCBzdXBwb3J0cwoJICBNUEVHIHZpZGVvIGFuZCByYXcgYXVkaW8gYW5kIE9QIDFhL2IvYy4KCjIwMDgtMTEtMjEgMDA6NDc6MzcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6IEZpeCBmbHVzaGluZy9zZWVraW5nIHByb2JsZW1zIHJldHVybmluZyBlcnJvciBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICBGaXggZmx1c2hpbmcvc2Vla2luZyBwcm9ibGVtcyByZXR1cm5pbmcgZXJyb3IgY29kZS4KCSAgRml4IG1wMyBkZWNvZGluZyB3aXRoIHdpblhQIChjcmFzaGVkIHJhbmRvbWx5LCBvY2Nhc2lvbmFsbHkpLgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIEZpeCBwcm9ibGVtcyB3aGVuIGZyYW1lcmF0ZSBpcyBtaXNzaW5nIGZyb20gdmlkZW8uCgoyMDA4LTExLTIwIDE4OjQxOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBQYXNzIHRoZSBydW5uaW5nIHRpbWUgdG8gdGhlIHNlc3Npb24gd2hlbiBwcm9jZXNzaW5nIFJUUCBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnZXRfY3VycmVudF90aW1lcyksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApOgoJICBQYXNzIHRoZSBydW5uaW5nIHRpbWUgdG8gdGhlIHNlc3Npb24gd2hlbiBwcm9jZXNzaW5nIFJUUCBwYWNrZXRzLgoJICBJbXByb3ZlIHRoZSB0aW1lIGZ1bmN0aW9uIHRvIHByb3ZpZGUgbW9yZSBpbmZvLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHNlc3Npb25fc3RhcnRfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1hcmsgdGhlIGludGVybmFsIHNvdXJjZSB3aXRoIGEgZmxhZy4KCSAgVXNlIHJ1bm5pbmdfdGltZSBpbnN0ZWFkIG9mIHRoZSBtb3JlIHVzZWxlc3MgdGltZXN0YW1wLgoJICBWYWxpZGF0ZSBhIHNvdXJjZSB3aGVuIGEgdmFsaWQgU0RFUyBoYXMgYmVlbiByZWNlaXZlZC4KCSAgUGFzcyB0aGUgY3VycmVudCBzeXN0ZW0gdGltZSB3aGVuIHByb2Nlc3NpbmcgU1IgcGFja2V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2luaXQpLCAocnRwX3NvdXJjZV9jcmVhdGVfc3RhdHMpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpLCAocnRwX3NvdXJjZV9nZXRfbmV3X3JiKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgcHJvcGVydHkgdG8gZ2V0IHNvdXJjZSBzdGF0cy4KCSAgTWFyayBwYXJhbXMgYXMgU1RBVElDX1NUUklOR1MuCgkgIENhbGN1bGF0ZSB0aGUgYml0cmF0ZSBhdCB0aGUgc2VuZGVyIFNTUkMuCgkgIEF2b2lkIG5lZ2F0aXZlIHZhbHVlcyBpbiB0aGUgcm91bmQgdHJpcCB0aW1lIGNhbGN1bGF0aW9ucy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBVcGRhdGUgc29tZSBkb2NzIGFuZCBjaGFuZ2Ugc29tZSB2YXJpYWJsZSBuYW1lIHRvIG1vcmUgY2xvc2VseSByZWZsZWN0CgkgIHdoYXQgaXQgY29udGFpbnMuCgoyMDA4LTExLTIwIDE2OjAxOjI3ICswMDAwICBMZWFuZHJvIE1lbG8gZGUgU2FsZXMgPGxlYW5kcm9hbEBnbWFpbC5jb20+CgoJICBnc3QvZGNjcC86IENvZGVTdHlsZSBpbXByb3ZlbWVudHMgYW5kIG1pbm9yIGZpeGVzIHRvIHRoZSBEQ0NQIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBMZWFuZHJvIE1lbG8gZGUgU2FsZXMgPGxlYW5kcm9hbEBnbWFpbC5jb20+CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuaDoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuaDoKCSAgQ29kZVN0eWxlIGltcHJvdmVtZW50cyBhbmQgbWlub3IgZml4ZXMgdG8gdGhlIERDQ1AgcGx1Z2luLgoJICBGaXhlcyAjNTUzODIzLgoKMjAwOC0xMS0yMCAwODoxOToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEluaXRpYWxpemUgcmV0dXJuIHZhbHVlIHRvIGZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluX3J0Y3ApOgoJICBJbml0aWFsaXplIHJldHVybiB2YWx1ZSB0byBmaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bmluaXRpYWxpemVkCgkgIHZhcmlhYmxlLgoKMjAwOC0xMS0xOSAxNjo0ODozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBNYXJrIHNpZ25hbCBhcmcgYXMgc3RhdGljIHNjb3BlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KToKCSAgTWFyayBzaWduYWwgYXJnIGFzIHN0YXRpYyBzY29wZS4KCjIwMDgtMTEtMTkgMDk6MDY6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVtb3ZlIGludGVybmFsIHN5bmMgcGFkLCB1c2Ugc2lnbmFscyBpbnN0ZWFkIHRvIGdldCBsaXAtc3luYyBub3RpZmljYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfc3luYyksIChjcmVhdGVfc3RyZWFtKSwgKGZyZWVfc3RyZWFtKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFJlbW92ZSBpbnRlcm5hbCBzeW5jIHBhZCwgdXNlIHNpZ25hbHMgaW5zdGVhZCB0byBnZXQgbGlwLXN5bmMKCSAgbm90aWZpY2F0aW9ucy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ludGVybmFsX2xpbmtzKSwgKGNyZWF0ZV9ydGNwX3NpbmspLAoJICAocmVtb3ZlX3J0Y3Bfc2luayksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9yZWxlYXNlX3BhZCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ydGNwX2V2ZW50KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbl9ydGNwKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHNlbmQgU1IgcGFja2V0cyB0byB0aGUgaml0dGVyYnVmZmVyLgoJICBDaGVjayBpZiB0aGUgU1IgdGltZXN0YW1wcyBhcmUgdmFsaWQgYnkgY29tcGFyaW5nIHRoZW0gdG8gdGhlIFJUUAoJICB0aW1lc3RhbXBzLgoJICBTaWduYWwgdGhlIFNSIHBhY2tldCBhbmQgdGhlIHRpbWluZyBpbmZvcm1hdGlvbiB0byBsaXN0ZW5lcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfcXVlcnkpOgoJICBSZW1vdmUgc29tZSB1bnVzZWQgY29kZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IHNlZW4gUlRQIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiBmaWx0ZXIgb3V0CgkgIGludmFsaWQgU1IgcGFja2V0cy4KCjIwMDgtMTEtMTggMTY6NTI6MTEgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSAgZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOiBBdm9pZCBkZWFkbG9jayBkdXJpbmcgcGFkIGFjdGl2YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSAgQXZvaWQgZGVhZGxvY2sgZHVyaW5nIHBhZCBhY3RpdmF0aW9uLgoJICBGaXhlcyAjNTYxMjQxLgoKMjAwOC0xMS0xOCAwMTowOTowOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXRtdXgvZ3N0cXRtdXguYzogUXVpZXQgYSBkZWJ1Z2dpbmcgbWVzc2FnZSB0aGF0IEkgcmVjZW50bHkgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOiBRdWlldCBhIGRlYnVnZ2luZyBtZXNzYWdlIHRoYXQgSSByZWNlbnRseQoJICBhZGRlZC4KCjIwMDgtMTEtMTcgMTk6NDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBGaXggR1NUX0RFQlVHIGNhbGwgdG8gb25seSBoYXZlIGFzIG1hbnkgYXJndW1lbnRzIGFzIHJlcXVpcmVkIGJ5IHRoZSBmb3JtYXQgc3RyaW5nLiBGaXhlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGdldF9jbG9ja19yYXRlKToKCSAgRml4IEdTVF9ERUJVRyBjYWxsIHRvIG9ubHkgaGF2ZSBhcyBtYW55IGFyZ3VtZW50cyBhcyByZXF1aXJlZAoJICBieSB0aGUgZm9ybWF0IHN0cmluZy4gRml4ZXMgYSBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0xMS0xNyAxNToxNzo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBEbyBub3QgdHJ5IHRvIGtlZXAgdHJhY2sgb2YgdGhlIGNsb2NrLXJhdGUgb3Vyc2VsdmVzIGJ1dCBzaW1wbHkgZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSBqaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKGNyZWF0ZV9zdHJlYW0pLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgRG8gbm90IHRyeSB0byBrZWVwIHRyYWNrIG9mIHRoZSBjbG9jay1yYXRlIG91cnNlbHZlcyBidXQgc2ltcGx5IGdldCB0aGUKCSAgdmFsdWUgZnJvbSB0aGUgaml0dGVyYnVmZmVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICBQYXNzIHRoZSBjbG9jay1yYXRlIHRvIHRoZSBqaXR0ZXJidWZmZXIuCgkgIEFsc28gcGFzcyB0aGUgY2xvY2stcmF0ZSBhbG9uZyB3aXRoIHRoZSBydHAgdGltZXN0YW1wIHdoZW4gZ2V0dGluZyB0aGUKCSAgc3luYyBwYXJhbWV0ZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBGaXggc29tZSBkZWJ1Zy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBLZWVwIHRyYWNrIG9mIGNsb2NrLXJhdGUgY2hhbmdlcyBhbmQgcmV0dXJuIHRoZSBjbG9jay1yYXRlIHRvZ2V0aGVyIHdpdGgKCSAgdGhlIHJ0cCB0aW1lc3RhbXBzIHVzZWQgZm9yIHN5bmMuCgkgIERvbid0IHRyeSB0byBjb25zdHJ1Y3QgdGltZXN0YW1wcyB3aGVuIHdlIGhhdmUgbm8gYmFzZV90aW1lLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoZ2V0X2Nsb2NrX3JhdGUpOgoJICBSZXF1ZXN0IGEgbmV3IGNsb2NrLXJhdGUgd2hlbiB0aGUgcGF5bG9hZCB0eXBlIGNoYW5nZXMuCgkgIFJlc2V0IHRoZSBqaXR0ZXIgY2FsY3VsYXRpb24gd2hlbiB0aGUgY2xvY2stcmF0ZSBjaGFuZ2VzLgoKMjAwOC0xMS0xNyAwOTozMzo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBBZGQgbWlzc2luZyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2VfZGF0YS5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlX2RhdGEuaDoKCSAgQWRkIG1pc3NpbmcgZmlsZXMuCgoyMDA4LTExLTE1IDAyOjU2OjMxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdG11eC9nc3RxdG11eC4qOiBVc2UgZHRzIGZyb20gR1NUX0JVRkZFUl9PRkZTRVRfRU5EKCkgZm9yIHZpZGVvL3gtcXQtcGFydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIFVzZSBkdHMgZnJvbSBHU1RfQlVGRkVSX09GRlNFVF9FTkQoKSBmb3IgdmlkZW8veC1xdC1wYXJ0LgoKMjAwOC0xMS0xNCAyMzowMTo1NiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5jOiBBZGQgc29tZSBvZiBvdXIgZmF2b3JpdGUgY29kZWNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5jOiBBZGQgc29tZSBvZiBvdXIgZmF2b3JpdGUgY29kZWNzLgoKMjAwOC0xMS0xNCAyMTo0NDozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEd1YXJkIGFnYWluc3QgYSBOVUxMIGRlcmVmZXJlbmNlIEkgc29tZWhvdyBlbmNvdW50ZXJlZCAtIHdpdGggYSBGTFVTSF9TVE9QIGFycmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBHdWFyZCBhZ2FpbnN0IGEgTlVMTCBkZXJlZmVyZW5jZSBJIHNvbWVob3cgZW5jb3VudGVyZWQgLQoJICB3aXRoIGEgRkxVU0hfU1RPUCBhcnJpdmluZyBlaXRoZXIgYmVmb3JlIGJhc2V0cmFuc2Zvcm0gX3N0YXJ0KCksCgkgIG9yIGFmdGVyIF9zdG9wKCkuCgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6CgkgIE1ha2Ugc3VyZSB3ZSBuZXZlciBqdW1wIGJhY2t3YXJkcyB3aGVuIHR5cGVmaW5kaW5nIGNvcnJ1cHQgbW92IGZpbGVzLgoKMjAwOC0xMS0xNCAyMToyNDo1MSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvOiBSZXZlcnQgcHJldmlvdXMgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgICogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuaDoKCSAgUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdC4KCjIwMDgtMTEtMTQgMjA6Mzg6MTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4LzogRHVhbCBsaWNlbnNlIExHUEwvTUlULCBhcyBhcHBhcmVudGx5IHN1cHBvc2VkIHRvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgICogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuaDoKCSAgRHVhbCBsaWNlbnNlIExHUEwvTUlULCBhcyBhcHBhcmVudGx5IHN1cHBvc2VkIHRvLgoKMjAwOC0xMS0xNCAyMDoxNzoxMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvOiBDdXQgZGV0b3VyIGluIHNhbXBsZSBkZXNjcmlwdGlvbiBleHRlbnNpb24gY29uc3RydWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzogKGJ1aWxkX2VzZHNfZXh0ZW5zaW9uKSwKCSAgKGJ1aWxkX21vdl9hYWNfZXh0ZW5zaW9uKSwgKGJ1aWxkX2pwMmhfZXh0ZW5zaW9uKSwKCSAgKGJ1aWxkX2NvZGVjX2RhdGFfZXh0ZW5zaW9uKToKCSAgKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IChnc3RfcXRfbXV4X2F1ZGlvX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3F0X211eF92aWRlb19zaW5rX3NldF9jYXBzKToKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzogKGdzdF9xdF9tdXhfbWFwX2Zvcm1hdF90b19oZWFkZXIpOgoJICBDdXQgZGV0b3VyIGluIHNhbXBsZSBkZXNjcmlwdGlvbiBleHRlbnNpb24gY29uc3RydWN0aW9uLgoJICBBbHNvIGFjdHVhbGx5IGltcGxlbWVudCBJU08gSlBFRzIwMDAgbWoyIGZvcm1hdC4KCjIwMDgtMTEtMTQgMTk6NTI6MjQgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBDb25zdHJ1Y3Qgc291cmNlIGNhcHMgaW4gbW9yZSBjb252ZW50aW9uYWwgKGFuZCBjb3JyZWN0KSBtYW5uZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19zZXRfc3JjX2NhcHMpOgoJICBDb25zdHJ1Y3Qgc291cmNlIGNhcHMgaW4gbW9yZSBjb252ZW50aW9uYWwgKGFuZCBjb3JyZWN0KSBtYW5uZXIuCgoyMDA4LTExLTE0IDE2OjE1OjQzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIG5vIG1vcmUgZWdnaW5nIHRoZSBwdWRkaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBubyBtb3JlIGVnZ2luZyB0aGUgcHVkZGluZwoKMjAwOC0xMS0xNCAxNDoyMzowMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LWxpYnMvZ3N0L3BsYXkvOiBSZW1vdmUgY3J1ZnQuIFRoaXMgaXMgbm90IGVudGVyZWQgYnkgbWFrZSBhbmQgaXRzIG5vdCBldmVuIGNvbXBpbGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9wbGF5Ly5jdnNpZ25vcmU6CgkgICogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS5oOgoJICAqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkudmNwcm9qOgoJICBSZW1vdmUgY3J1ZnQuIFRoaXMgaXMgbm90IGVudGVyZWQgYnkgbWFrZSBhbmQgaXRzIG5vdCBldmVuIGNvbXBpbGFibGUuCgoyMDA4LTExLTEzIDIyOjMwOjU0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogU2V0IHBpeGVsLWFzcGVjdC1yYXRpbyBjb3JyZWN0bHkgaW4gdGhlIGVuY29kZXIgQVBJLCBhcyB3ZWxsIGFzIHNvbWUgZGVmYXVsdCBnc3RyZWFtZXJpc2ggYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIFNldCBwaXhlbC1hc3BlY3QtcmF0aW8gY29ycmVjdGx5IGluIHRoZSBlbmNvZGVyIEFQSSwgYXMgd2VsbAoJICBhcyBzb21lIGRlZmF1bHQgZ3N0cmVhbWVyaXNoIGNvbG9yc3BhY2UgcHJvcGVydGllcy4gIEFsc28sCgkgIGFwcGFyZW50bHksIGNoYW5nZSBhIGJ1bmNoIG9mIGluZGVudGF0aW9uLgoKMjAwOC0xMS0xMyAyMTo0NDoxNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvanAyay86IEFkZCBqcDJrZW5jIHRvIGpwMmsgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogKGdzdF9qYXNwZXJfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2phc3Blcl9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzogKGdzdF9qYXNwZXJfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfamFzcGVyX2VuY19jbGFzc19pbml0KSwgKGdzdF9qYXNwZXJfZW5jX2luaXQpLAoJICAoZ3N0X2phc3Blcl9lbmNfcmVzZXQpLCAoZ3N0X2phc3Blcl9lbmNfc2V0X3NyY19jYXBzKSwKCSAgKGdzdF9qYXNwZXJfZW5jX2luaXRfZW5jb2RlciksIChnc3RfamFzcGVyX2VuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2phc3Blcl9lbmNfZ2V0X2RhdGEpLCAoZ3N0X2phc3Blcl9lbmNfY2hhaW4pLAoJICAoZ3N0X2phc3Blcl9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9qYXNwZXJfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfamFzcGVyX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5oOgoJICAqIGV4dC9qcDJrL2dzdGpwMmsuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIGpwMmtlbmMgdG8ganAyayBwbHVnaW4uCgoyMDA4LTExLTEzIDIxOjMxOjE0ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC9qcDJrL2dzdGphc3BlcmRlYy4qOiBNYWtlIHBhZCB0ZW1wbGF0ZSBjYXBzIHJlZmxlY3QgdGhlIHN1cHBvcnRlZCBmb3JtYXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogKGdzdF9qYXNwZXJfZGVjX2luaXQpLAoJICAoZ3N0X2phc3Blcl9kZWNfcmVzZXQpLCAoZ3N0X2phc3Blcl9kZWNfbmVnb3RpYXRlKSwKCSAgKGdzdF9qYXNwZXJfZGVjX2dldF9waWN0dXJlKToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuaDoKCSAgTWFrZSBwYWQgdGVtcGxhdGUgY2FwcyByZWZsZWN0IHRoZSBzdXBwb3J0ZWQgZm9ybWF0cy4KCSAgQWRkIG9yIG1vZGlmeSBzb21lIGRlYnVnIHN0YXRlbWVudHMsIGFuZCBzbGlnaHRseSBzaW1wbGlmeSBpbWFnZQoJICBwYXNzaW5nIHRvIGVuY29kaW5nIGxpYnJhcnkuCgoyMDA4LTExLTEzIDE3OjI0OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6IERvbid0IGF1dG9wbHVnIGFhY3BhcnNlIHVudGlsIGl0IHdvcmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzogKHBsdWdpbl9pbml0KToKCSAgRG9uJ3QgYXV0b3BsdWcgYWFjcGFyc2UgdW50aWwgaXQgd29ya3MuCgoyMDA4LTExLTEzIDE1OjQ4OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBTbWFsbCBjbGVhbnVwcyBhbmQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KToKCSAgU21hbGwgY2xlYW51cHMgYW5kIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoKMjAwOC0xMS0xMyAxNToyMDoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgbmV3IHBhcnNlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIG5ldyBwYXJzZXJzLgoKMjAwOC0xMS0xMyAxNDozMTo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkgIFVwZGF0ZSBkb2NzLgoKMjAwOC0xMS0xMyAxNDoyMTozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogRml4IGJhc2VwYXJzZSB0eXBlIG5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIEZpeCBiYXNlcGFyc2UgdHlwZSBuYW1lLgoKMjAwOC0xMS0xMyAxMjo1OTozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHR3byBuZXcgYmFzZXBhcnNlIGJhc2VkIHBhcnNlcnMgKGFhYyBhbmQgYW1yKSBmcm9tIEJ1ZyAjNTE4ODU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2FhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5oOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgICogZ3N0L2FtcnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5jOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5oOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIEFkZCB0d28gbmV3IGJhc2VwYXJzZSBiYXNlZCBwYXJzZXJzIChhYWMgYW5kIGFtcikgZnJvbSBCdWcgIzUxODg1Ny4KCjIwMDgtMTEtMTIgMTA6MzI6MjQgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogRml4IHVuaW5pdGlhbGl6ZWQgd2FybmluZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEZpeCB1bmluaXRpYWxpemVkIHdhcm5pbmdzCgoyMDA4LTExLTExIDE5OjMxOjM1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdCBmb3IgcXRtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6IChzZXR1cF9zcmNfcGFkKSwKCSAgKHRlYXJkb3duX3NyY19wYWQpLCAoc2V0dXBfcXRtdXgpLCAoY2xlYW51cF9xdG11eCksCgkgIChjaGVja19xdG11eF9wYWQpLCAoR1NUX1NUQVJUX1RFU1QpLCAocXRtdXhfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHF0bXV4LgoKMjAwOC0xMS0xMSAxOToyNDoxMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvZ3N0cXRtdXguYzogQWRkIHNvbWUgbW9yZSBzYWZldHkvc2FuaXR5IGNoZWNrcyBpbiB0YWcgbWFuaXB1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfYWRkX21ldGFkYXRhX3RhZ3MpOgoJICBBZGQgc29tZSBtb3JlIHNhZmV0eS9zYW5pdHkgY2hlY2tzIGluIHRhZyBtYW5pcHVsYXRpb24uCgoyMDA4LTExLTEwIDE1OjI2OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEFsc28gY29uZmlndXJlIHRoZSBuZXh0IGV4cGVjdGVkIG91dHB1dCBzZXFudW0gd2hlbiB3ZSBnZXQgYSBzZXFudW0tYmFzZSBvbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIEFsc28gY29uZmlndXJlIHRoZSBuZXh0IGV4cGVjdGVkIG91dHB1dCBzZXFudW0gd2hlbiB3ZSBnZXQgYSBzZXFudW0tYmFzZQoJICBvbiB0aGUgY2Fwcy4KCjIwMDgtMTEtMTAgMTQ6NTM6NDUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvOiBXaW0sIHlvdSdyZSBhIGJhZCBib3kuIFlvdSBkb24ndCB3YW50IHBlb3BsZSB0byBjb250YWN0IHlvdSBvciB3aGF0PwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIFdpbSwgeW91J3JlIGEgYmFkIGJveS4gWW91IGRvbid0IHdhbnQgcGVvcGxlIHRvIGNvbnRhY3QgeW91IG9yIHdoYXQ/CgoyMDA4LTExLTEwIDE0OjAxOjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IEZpeCBuYW1lIHRhZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgRml4IG5hbWUgdGFnLgoKMjAwOC0xMS0wOCAwMjowMDo1OCArMDAwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJICBDb3B5IHF0bXV4IGZyb20gcmV2aXNpb24gMTQ4IG9mIHRoZSBnc3QtcXRtdXggcmVwb3NpdG9yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3F0bXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdG11eC9hdG9tcy5jOgoJICAqIGdzdC9xdG11eC9hdG9tcy5oOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSAgKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5oOgoJICBDb3B5IHF0bXV4IGZyb20gcmV2aXNpb24gMTQ4IG9mIHRoZSBnc3QtcXRtdXggcmVwb3NpdG9yeS4KCSAgRml4ZXMgIzU1MDI4MC4KCjIwMDgtMTEtMDcgMTc6MzU6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy4qOiBBZGQgaXMtbGl2ZSBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfaW5pdCksIChnc3RfYXBwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBBZGQgaXMtbGl2ZSBwcm9wZXJ0eS4KCSAgQWRkIHNvbWUgbW9yZSBkb2NzLgoKMjAwOC0xMS0wNiAyMjo1NDozOSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIEZpeCBiYXNpYyBuYXZpZ2F0aW9uIGV2ZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBGaXggYmFzaWMgbmF2aWdhdGlvbiBldmVudHMKCjIwMDgtMTEtMDYgMTQ6MDU6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBCcmluZyBwcm9wZXJ0aWVzIGludG8gdGhpcyBjZW50dXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSk6CgkgIEJyaW5nIHByb3BlcnRpZXMgaW50byB0aGlzIGNlbnR1cnkuCgoyMDA4LTExLTA2IDEzOjAwOjU0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogU2V0IGZpbHRlcnMgaW4gUEFVU0VEIG9yIFBMQVlJTkcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFNldCBmaWx0ZXJzIGluIFBBVVNFRCBvciBQTEFZSU5HLgoKMjAwOC0xMS0wNiAxMjoxNzowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogTWFrZSBwcml2YXRlIHNlY3Rpb24gcGFkcyBoYXZlIGEgY2FwcyBzZXQgc28gdGhleSBhcmUgbm90IHRyaWVkIHRvIGJlIGxpbmtlZCBpbiBwYXJzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIE1ha2UgcHJpdmF0ZSBzZWN0aW9uIHBhZHMgaGF2ZSBhIGNhcHMgc2V0IHNvIHRoZXkgYXJlIG5vdCB0cmllZAoJICB0byBiZSBsaW5rZWQgaW4gcGFyc2VfbGF1bmNoIGZvciBleGFtcGxlLgoKMjAwOC0xMS0wNiAxMTozMTowMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogTm8gbmVlZCB0byByZWNsYWN1bGF0ZSBmbHVzaCBpbiB0aGlzIGNhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIE5vIG5lZWQgdG8gcmVjbGFjdWxhdGUgZmx1c2ggaW4gdGhpcyBjYXNlLgoJICBGaXhlcyBzb21lIGJhZCBkZWNvZGUgZXJyb3JzIGludHJvZHVjZWQuCgoyMDA4LTExLTA2IDEwOjQyOjU5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC4qOiBGaXggdHlwby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgRml4IHR5cG8uCgoyMDA4LTExLTA1IDIzOjMxOjQxICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogRml4IFJHQiBtYXNrIGluIGNhcHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgRml4IFJHQiBtYXNrIGluIGNhcHMKCjIwMDgtMTEtMDUgMjI6MjU6MjUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogQWRkIEhleHRpbGUgZW5jb2RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgQWRkIEhleHRpbGUgZW5jb2RpbmcKCjIwMDgtMTEtMDUgMTg6NTI6MzggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IEhldXJpc3RpYyBhcHByb2FjaCB3aGVuIHJlc3luY2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBKb3NlcCBUb3JyYQoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgSGV1cmlzdGljIGFwcHJvYWNoIHdoZW4gcmVzeW5jaW5nLgoKMjAwOC0xMS0wNSAxODoxMTo1NSArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzogTGVuZ3RoIHNob3VsZCBiZSBhIGd1aW50OCBub3QgYSBnaW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkgIExlbmd0aCBzaG91bGQgYmUgYSBndWludDggbm90IGEgZ2ludC4KCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgQ29udmVydCB0ZXh0IHRvIHV0ZjggZm9yIGVhY2ggZGVzY3JpcHRvciBzZXBhcmF0ZWx5IGFuZCBub3QKCSAgY29uY2F0ZW5hdGUgdGhlbSBmaXJzdCBhbmQgY29udmVydCBhZnRlci4KCjIwMDgtMTEtMDQgMjA6MjY6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IFNlbmQgdGFnIGV2ZW50LiBGaXhlcyAjNTU5Mjg2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBTZW5kIHRhZyBldmVudC4gRml4ZXMgIzU1OTI4Ni4KCjIwMDgtMTEtMDQgMTg6MDM6NTUgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6IEZpeCBhbm90aGVyIG1lbWxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgRml4IGFub3RoZXIgbWVtbGVhay4KCjIwMDgtMTEtMDQgMTc6MjU6MDkgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBGaXggbWVtbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEZpeCBtZW1sZWFrcy4KCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgoyMDA4LTExLTA0IDA4OjI0OjEwICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOiBGaXggbWVtbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBGaXggbWVtbGVhay4KCjIwMDgtMTEtMDMgMjI6MDA6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXhhbXBsZXMvc2NhbGV0ZW1wby8uY3ZzaWdub3JlOiBBZGQgZXhhbXBsZSB0byBjdnMgaWdub3Jlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby8uY3ZzaWdub3JlOgoJICBBZGQgZXhhbXBsZSB0byBjdnMgaWdub3Jlcy4KCjIwMDgtMTEtMDMgMjE6Mjc6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6IEZpeCBtaXNtYXRjaGVkIHNpZ25lZG5lc3MgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIChvcGVuX2RlY29kZXIpOgoJICBGaXggbWlzbWF0Y2hlZCBzaWduZWRuZXNzIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTExLTAzIDA4OjU1OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IEFkZCBUT0RPIGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUgZm9yIGVuYWJsaW5nIFNTRS9BUk0gc3BlY2lmaWMgb3B0aW1pemF0aW9ucyBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NvbnZlcnRfYnVmZmVyKToKCSAgQWRkIFRPRE8gYXQgdGhlIHRvcCBvZiB0aGUgZmlsZSBmb3IgZW5hYmxpbmcgU1NFL0FSTSBzcGVjaWZpYwoJICBvcHRpbWl6YXRpb25zIGFuZCBjaG9vc2luZyB0aGUgZmFzdGVzdCBpbXBsZW1lbnRhdGlvbiBhdCBydW50aW1lLgoJICBBZGQgZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBhdCB0d28gcGxhY2VzIHRoYXQgc2hvdWxkIHJlYWxseSBuZXZlcgoJICBiZSByZWFjaGVkLgoKMjAwOC0xMS0wMiAwOToxOToyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBGaXggZm9ybWF0IHN0cmluZyBhbmQgYXJndW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2hlY2tfZGlzY29udCk6CgkgIEZpeCBmb3JtYXQgc3RyaW5nIGFuZCBhcmd1bWVudHMuCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGVfc3NlLmg6CgkgIEFkZCBtaXNzaW5nIGZpbGUuCgoyMDA4LTExLTAxIDIxOjM3OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06IERpc3QgdGhlIHBsYXkgc2NyaXB0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICBEaXN0IHRoZSBwbGF5IHNjcmlwdHMuCgoyMDA4LTExLTAxIDE5OjM4OjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS86IEFkZCBtaXNzaW5nIGhlYWRlcnMgdG8gTWFrZWZpbGUuYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9iYXNlX2luaXQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF9mdW5jcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY29udmVydF9idWZmZXIpLCAoX2JlbmNobWFya19pbnRfZmxvYXQpLAoJICAoX2JlbmNobWFya19pbnRfaW50KSwgKF9iZW5jaG1hcmtfaW50ZWdlcl9yZXNhbXBsaW5nKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZG91YmxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2Zsb2F0LmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2ludC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIEFkZCBtaXNzaW5nIGhlYWRlcnMgdG8gTWFrZWZpbGUuYW0uCgkgIFVwZGF0ZSBjb3B5cmlnaHQsIHllYXJzIGFuZCBteSBtYWlsIGFkZHJlc3MuCgkgIEJlbmNobWFyayB0aGUgaW50ZWdlciByZXNhbXBsaW5nIGltcGxlbWVudGF0aW9uIGFnYWluc3QgdGhlCgkgIGZsb2F0IGltcGxlbWVudGF0aW9uIGFuZCB1c2UgdGhlIGZhc3RlciBvbmUgZm9yIDgvMTYgYml0IGludGVnZXIKCSAgaW5wdXQuIE9uIG1vc3QgcmVjZW50IHN5c3RlbXMgdGhlIGZsb2F0aW5nIHBvaW50IHZlcnNpb24gaXMgZmFzdGVyLgoKMjAwOC0xMC0zMSAxODozOTozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBVc2UgQUNfVFJZX0NPTVBJTEUgaW5zdGVhZCBvZiBBQ19UUllfUlVOIGFzIHRoZSByZXN1bHQgb2YgdGhlIGxpbmtpbmcgaXMgd2hhdCBpcyBpbnRlcmVzdGluZywgbm90IHRoYXQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFDX1RSWV9DT01QSUxFIGluc3RlYWQgb2YgQUNfVFJZX1JVTiBhcyB0aGUgcmVzdWx0IG9mIHRoZSBsaW5raW5nCgkgIGlzIHdoYXQgaXMgaW50ZXJlc3RpbmcsIG5vdCB0aGF0IGl0IGFjdHVhbGx5IHJ1bnMuCgkgIEZpeGVzIGNyb3NzLWNvbXBpbGF0aW9uIGFuZCBmaXhlcyBidWcgIzU1ODYzOS4KCjIwMDgtMTAtMzAgMTk6NTQ6MzggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOiBBZGQgQUxBQyBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgQWRkIEFMQUMgc3VwcG9ydC4KCSAgRml4IGRlY29kZSBvZiBtb25vIEFBQyBmaWxlcyBjcmVhdGVkIGJ5IGl0dW5lcy4KCSAgU2V0IG91dHB1dCBmb3JtYXQgY29ycmVjdGx5IChkb24ndCBhc2sgcXVpY2t0aW1lIHRvCgkgIHJlc2FtcGxlIGZvciB1cykuCgkgIFVzZSBhIGxhcmdlciBkZWNvZGUgYnVmZmVyIHRvIGF2b2lkIHByb2JsZW1zIHdpdGggbGFyZ2UKCSAgQUxBQyBwYWNrZXRzLgoJICBGaXggZGVjb2RlIHRvIGxvb3AgdW50aWwgd2UgaGF2ZSBhbGwgb3V0cHV0IGRhdGEuCgkgICogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6CgkgIEZpeCBpbmNsdWRlcyBzbyB3ZSBjb21waWxlIG9uIG1vcmUgT1Nlcy4KCjIwMDgtMTAtMzAgMTU6MzE6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgYXQgbGVhc3QgR3RrIDIuOC4wIGZvciB0aGUgZGVtb3MgKHRoYXQncyB0aGUgb2xkZXN0IEkgY2FuIHRlc3Qgd2l0aDsgSSdtIGZhaXJseSBjZXJ0YWluIEd0ayAyLjAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGF0IGxlYXN0IEd0ayAyLjguMCBmb3IgdGhlIGRlbW9zICh0aGF0J3MgdGhlIG9sZGVzdCBJIGNhbgoJICB0ZXN0IHdpdGg7IEknbSBmYWlybHkgY2VydGFpbiBHdGsgMi4wLjAgaXMgbm90IGdvb2QgZW5vdWdoIGFueQoJICBsb25nZXIpOyBjbGVhbiB1cCBzb21lIHVudXNlZCBHdGstcmVsYXRlZCBjb25maWd1cmUgY3J1ZnQuCgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJICBEZWZpbmUgR3RrIDIuMTIgZnVuY3Rpb24gdG8gbm9vcCB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0IG9sZGVyIEd0ay4KCjIwMDgtMTAtMzAgMTQ6NTU6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogVGhlIGxlbmd0aCBmb3IgdGhlIGJ1ZmZlciBjb252ZXJzaW9uIGZ1bmN0aW9uIGlzIHRoZSBudW1iZXIgb2YgYXVkaW8gZnJhbWVzLCBpLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY29udmVydF9idWZmZXIpOgoJICBUaGUgbGVuZ3RoIGZvciB0aGUgYnVmZmVyIGNvbnZlcnNpb24gZnVuY3Rpb24gaXMgdGhlIG51bWJlciBvZgoJICBhdWRpbyBmcmFtZXMsIGkuZS4gd2UgbmVlZCB0byBtdWx0aXBseSBpdCBieSB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzCgkgIHRvIGdldCB0aGUgbnVtYmVyIG9mIHZhbHVlcy4gQWxzbyBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QgYWZ0ZXIKCSAgcnVubmluZyBpbiB2YWxncmluZC4KCjIwMDgtMTAtMzAgMTQ6NDY6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogQWRkIHBpcGVsaW5lIHVuaXQgdGVzdHMgZm9yIHRlc3RpbmcgYWxsIHN1cHBvcnRlZCBmb3JtYXRzIHdpdGggdXAvZG93bnNhbXBsaW5nIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IChlbGVtZW50X21lc3NhZ2VfY2IpLAoJICAoZW9zX21lc3NhZ2VfY2IpLCAodGVzdF9waXBlbGluZSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzcGVleHJlc2FtcGxlX3N1aXRlKToKCSAgQWRkIHBpcGVsaW5lIHVuaXQgdGVzdHMgZm9yIHRlc3RpbmcgYWxsIHN1cHBvcnRlZCBmb3JtYXRzIHdpdGgKCSAgdXAvZG93bnNhbXBsaW5nIGFuZCBkaWZmZXJlbnQgaW4vb3V0cmF0ZXMuCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIEZpeCBidWdzIGlkZW50aWZpZWQgYnkgdGhlIHRlc3RzdWl0ZS4KCjIwMDgtMTAtMzAgMTM6NDQ6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlLzogQWRkIHN1cHBvcnQgZm9yIGludDgsIGludDI0IGFuZCBpbnQzMiBpbnB1dCBieSBjb252ZXJ0aW5nIGludGVybmFsbHkgdG8vZnJvbSBpbnQxNiBvciBkb3VibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogKGdzdF9zcGVleF9yZXNhbXBsZV9zdG9wKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfZnVuY3MpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jb252ZXJ0X2J1ZmZlciksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2Vzcyk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBpbnQ4LCBpbnQyNCBhbmQgaW50MzIgaW5wdXQgYnkgY29udmVydGluZyBpbnRlcm5hbGx5CgkgIHRvL2Zyb20gaW50MTYgb3IgZG91YmxlLgoKMjAwOC0xMC0zMCAxMzozODoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuKjogQmV0dGVyIGZpeCBmb3IgIzU0NjMxOSBhbmQgc2ltaWxhciBjYXNlcyBieSBleHBsaWNpdGx5IHJlZ2lzdGVyaW5nIHdoZW4gd2UncmUgaW4gcGxheWluZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIEJldHRlciBmaXggZm9yICM1NDYzMTkgYW5kIHNpbWlsYXIgY2FzZXMgYnkgZXhwbGljaXRseQoJICByZWdpc3RlcmluZyB3aGVuIHdlJ3JlIGluIHBsYXlpbmcgc3RhdGUgb3Igbm90LgoKMjAwOC0xMC0zMCAxMzowMjoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogV2hpdGVzcGFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgV2hpdGVzcGFjZS4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBBZGQgYSBGSVhNRTouIG5vdCBzdXJlIGlmIHRoaXMgY29kZSBkb2VzIHRoZSBmb3J3YXJkaW5nIGNvcnJlY3RseS4KCjIwMDgtMTAtMzAgMTI6NDM6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBzdXBwb3J0IGZvciBkb3VibGUgc2FtcGxlcyBhcyBpbnB1dCBhbmQgcmVmYWN0b3IgdGhlIHVzYWdlIG9mIHRoZSBkaWZmZXJlbnQgY29tcGlsYXRpb24gZmxhdm9ycyBvZiB0aGUgc3BlZXggcmVzYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3N0b3ApLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF91bml0X3NpemUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF9mdW5jcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfaW5pdF9zdGF0ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdXBkYXRlX3N0YXRlKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9yZXNldF9zdGF0ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcGFyc2VfY2FwcyksCgkgIChfZ2NkKSwgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X2NhcHMpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcXVlcnkpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2RvdWJsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiAoc2V0dXBfc3BlZXhyZXNhbXBsZSksCgkgICh0ZXN0X3BlcmZlY3Rfc3RyZWFtX2luc3RhbmNlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHRlc3RfZGlzY29udF9zdHJlYW1faW5zdGFuY2UpOgoJICBBZGQgc3VwcG9ydCBmb3IgZG91YmxlIHNhbXBsZXMgYXMgaW5wdXQgYW5kIHJlZmFjdG9yIHRoZSB1c2FnZQoJICBvZiB0aGUgZGlmZmVyZW50IGNvbXBpbGF0aW9uIGZsYXZvcnMgb2YgdGhlIHNwZWV4IHJlc2FtcGxlci4KCjIwMDgtMTAtMzAgMTI6MTM6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzogUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIFJldHVybiB0aGUgcmVzdWx0IG9mIHBhcmVudF9jbGFzcy0+ZXZlbnQoKS4KCjIwMDgtMTAtMzAgMTE6NTA6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXVkaW9idWZmZXIvOiBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhbiBhdWRpb3JpbmdidWZmZXIgZWxlbWVudCB0aGF0IGNhbiBiZSBpbnNlcnRlZCBpbiB0aGUgcGlwZWxpbmUgdG8gY29udmVydCBwdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSAgKGdzdF9pbnRfcmluZ19idWZmZXJfYWNxdWlyZSksIChnc3RfaW50X3JpbmdfYnVmZmVyX3JlbGVhc2UpLAoJICAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9zdGFydCksIChnc3RfaW50X3JpbmdfYnVmZmVyX2Jhc2VfaW5pdCksCgkgIChnc3RfaW50X3JpbmdfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9pbnRfcmluZ19idWZmZXJfbmV3KSwgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfaW5pdCksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9maW5hbGl6ZSksIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9nZXRjYXBzKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NldGNhcHMpLCAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfYnVmZmVyYWxsb2MpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfcmVuZGVyKSwgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9nZXRfcmFuZ2UpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfc3JjX2NoZWNrZ2V0cmFuZ2VfZnVuY3Rpb24pLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NyY19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NyY19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfZ2V0X3Byb3BlcnR5KSwgKHBsdWdpbl9pbml0KToKCSAgQWRkIGZpcnN0IHZlcnNpb24gb2YgYW4gYXVkaW9yaW5nYnVmZmVyIGVsZW1lbnQgdGhhdCBjYW4gYmUgaW5zZXJ0ZWQgaW4KCSAgdGhlIHBpcGVsaW5lIHRvIGNvbnZlcnQgcHVzaC1iYXNlZCB1cHN0cmVhbSBpbnRvIGEgcHVsbC1iYXNlZAoJICBkb3duc3RyZWFtLgoKMjAwOC0xMC0zMCAxMTo0MzoxMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwYXJlbnRfY2xhc3MtPmV2ZW50KCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpLgoKMjAwOC0xMC0zMCAwMDoxNzoxMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzogQUlGRiBpcyBhbHdheXMgc2lnbmVkLCBldmVuIGZvciA4IGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSAgQUlGRiBpcyBhbHdheXMgc2lnbmVkLCBldmVuIGZvciA4IGJpdC4KCjIwMDgtMTAtMjkgMTc6MDI6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogRml4IHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19jbGFzc19pbml0KToKCSAgRml4IHRoZSBkb2NzLgoKMjAwOC0xMC0yOSAxNjo1Mzo1NCArMDAwMCAgUm9iaW4gU3RvY2tlciA8cm9iaW5Abmlib3Iub3JnPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IEEgUmVhbFZpZGVvIHZpZGVvIGluc2lkZSBhIGNvbnRhaW5lciAoZm9yIGV4YW1wbGUgTUtWKSBzaG91bGQgdXNlIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvYmluIFN0b2NrZXIgPHJvYmluIGF0IG5pYm9yIGRvdCBvcmc+CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfc2V0Y2Fwcyk6CgkgIEEgUmVhbFZpZGVvIHZpZGVvIGluc2lkZSBhIGNvbnRhaW5lciAoZm9yIGV4YW1wbGUgTUtWKSBzaG91bGQgdXNlIHRoZQoJICBQQVIgd2hpY2ggaXMgc3BlY2lmaWVkIG9uIHRoZSBzaW5rcGFkIGNhcHMuIEZpeGVzICM1NTg0MTYuCgoyMDA4LTEwLTI5IDEyOjExOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLio6IFJld3JpdGUgdGltZXN0YW1wIHRyYWNraW5nIHRvIG1ha2UgaXQgbW9yZSByb2J1c3QgYW5kIGd1YXJhbnRlZSBhIGNvbnRpbm91cyBzdHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3N0YXJ0KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9ldmVudCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2hlY2tfZGlzY29udCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2VzcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtKToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgIFJld3JpdGUgdGltZXN0YW1wIHRyYWNraW5nIHRvIG1ha2UgaXQgbW9yZSByb2J1c3QgYW5kIGd1YXJhbnRlZQoJICBhIGNvbnRpbm91cyBzdHJlYW0uCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiAoc2V0dXBfc3BlZXhyZXNhbXBsZSksCgkgIChjbGVhbnVwX3NwZWV4cmVzYW1wbGUpLCAoZmFpbF91bmxlc3NfcGVyZmVjdF9zdHJlYW0pLAoJICAodGVzdF9wZXJmZWN0X3N0cmVhbV9pbnN0YW5jZSksIChHU1RfU1RBUlRfVEVTVCksCgkgICh0ZXN0X2Rpc2NvbnRfc3RyZWFtX2luc3RhbmNlKSwgKGxpdmVfc3dpdGNoX2FsbG9jX29ubHlfNDgwMDApLAoJICAobGl2ZV9zd2l0Y2hfZ2V0X3NpbmtfY2FwcyksIChsaXZlX3N3aXRjaF9wdXNoKSwKCSAgKHNwZWV4cmVzYW1wbGVfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3Igc3BlZXhyZXNhbXBsZSBiYXNlZCBvbiB0aGUgYXVkaW9yZXNhbXBsZSB1bml0IHRlc3RzLgoKMjAwOC0xMC0yOSAwMTowMDoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzogTWFrZSBzdXJlIHRvIHN0YXJ0IHRoZSBOQVYgcGFja2V0IHByb2Nlc3Npbmcgd2hlbiBjaGFuZ2luZyBzdGF0ZSB0byBQTEFZSU5HICBieSBwYXNzaW5nIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIE1ha2Ugc3VyZSB0byBzdGFydCB0aGUgTkFWIHBhY2tldCBwcm9jZXNzaW5nIHdoZW4gY2hhbmdpbmcKCSAgc3RhdGUgdG8gUExBWUlORyAgYnkgcGFzc2luZyBhIGZsYWcgdGhhdCBpbmRpY2F0ZXMgdGhlIHN0YXRlCgkgIGNoYW5nZSBpcyBpbiBwcm9ncmVzcy4KCSAgRml4ZXM6ICM1NDYzMTkKCjIwMDgtMTAtMjggMjA6MDY6MjcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OiBSZW1vdmUgJEAgdG8gZml4IHBhcnNlX2xhdW5jaCB3YXJuaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OgoJICBSZW1vdmUgJEAgdG8gZml4IHBhcnNlX2xhdW5jaCB3YXJuaW5nCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXkyOgoJICBBZGQgYSB2ZXJzaW9uIHRoYXQgdXNlcyBkZWludGVybGFjZSBhbmQgeHZpbWFnZXNpbmsuCgoyMDA4LTEwLTI4IDE5OjMwOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLio6IFNvbWUgcmFuZG9tIGNsZWFudXAsIGFkZCBHX0xJS0VMWSBhbmQgZnJpZW5kcywgdXNlIEdTVF9ERUJVR19PQkpFQ1QgaW5zdGVhZCBvZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF91bml0X3NpemUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2ZpeGF0ZV9jYXBzKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9pbml0X3N0YXRlKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV91cGRhdGVfc3RhdGUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZXZlbnQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpLCAoZ3N0X3NwZWV4X2ZpeF9vdXRwdXRfYnVmZmVyKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKSwgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm0pLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3F1ZXJ5KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgU29tZSByYW5kb20gY2xlYW51cCwgYWRkIEdfTElLRUxZIGFuZCBmcmllbmRzLCB1c2UgR1NUX0RFQlVHX09CSkVDVAoJICBpbnN0ZWFkIG9mIEdTVF9ERUJVRywgLi4uCgoyMDA4LTEwLTI4IDE4OjQ0OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEltcGxlbWVudCBwb3NpdGlvbiBxdWVyeSBpbiB0aW1lIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9xdWVyeSk6CgkgIEltcGxlbWVudCBwb3NpdGlvbiBxdWVyeSBpbiB0aW1lIGZvcm1hdC4KCjIwMDgtMTAtMjggMTg6NDE6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBQdXQgdGhlIEdzdFNlZ21lbnQgZGlyZWN0bHkgaW50byB0aGUgaW5zdGFuY2Ugc3RydWN0IGluc3RlYWQgb2YgYWxsb2NhdGluZyBhbmQgZnJlZSdpbmcgaXQgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgIFB1dCB0aGUgR3N0U2VnbWVudCBkaXJlY3RseSBpbnRvIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgaW5zdGVhZCBvZgoJICBhbGxvY2F0aW5nIGFuZCBmcmVlJ2luZyBpdCBhZ2Fpbi4KCSAgUHVzaCB0YWdzIGFscmVhZHkgaWYgb25seSBvbmUgcGFkIHdhcyBhZGRlZCwgbm8gbmVlZCB0byB3YWl0IGZvcgoJICB0aGUgc2Vjb25kIG9uZS4KCSAgV2hlbiBnZW5lcmF0aW5nIG91ciBpbmRleCBzZXQgaGFzX3ZpZGVvIGFuZCBoYXNfYXVkaW8gaWYgd2UgZmluZAoJICB2aWRlbyBvciBhdWRpbyBpbiBjYXNlIHRoZSBGTFYgaGVhZGVyIGhhcyBpbmNvcnJlY3QgZGF0YS4KCjIwMDgtMTAtMjggMTY6Mjg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogRml4YXRlIHRvIHRoZSBuZWFyZXN0IHN1cHBvcnRlZCByYXRlIGluc3RlYWQgb2YgdGhlIGZpcnN0IG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2ZpeGF0ZV9jYXBzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKToKCSAgRml4YXRlIHRvIHRoZSBuZWFyZXN0IHN1cHBvcnRlZCByYXRlIGluc3RlYWQgb2YgdGhlIGZpcnN0IG9uZS4KCjIwMDgtMTAtMjggMTY6MjU6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogRml4YXRlIHRoZSByYXRlIHRvIHRoZSBuZWFyZXN0IHN1cHBvcnRlZCByYXRlIGluc3RlYWQgb2YgdGhlIGZpcnN0IG9uZS4gRml4ZXMgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KSwgKGF1ZGlvcmVzYW1wbGVfZml4YXRlX2NhcHMpOgoJICBGaXhhdGUgdGhlIHJhdGUgdG8gdGhlIG5lYXJlc3Qgc3VwcG9ydGVkIHJhdGUgaW5zdGVhZCBvZgoJICB0aGUgZmlyc3Qgb25lLiBGaXhlcyBidWcgIzU0OTUxMC4KCjIwMDgtMTAtMjggMTE6NDY6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlLzogVXBkYXRlIFNwZWV4IHJlc2FtcGxlciB3aXRoIGxhdGVzdCB2ZXJzaW9uIGZyb20gU3BlZXggR0lULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9SRUFETUU6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvYXJjaC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2FybTQuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9hcm01ZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2JmaW4uaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9kZWJ1Zy5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2dlbmVyaWMuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOiAoY29tcHV0ZV9mdW5jKSwgKG1haW4pLCAoc2luYyksCgkgIChjdWJpY19jb2VmKSwgKHJlc2FtcGxlcl9iYXNpY19kaXJlY3Rfc2luZ2xlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19kaXJlY3RfZG91YmxlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9zaW5nbGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2ludGVycG9sYXRlX2RvdWJsZSksICh1cGRhdGVfZmlsdGVyKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9pbml0X2ZyYWMpLCAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfbmF0aXZlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9tYWdpYyksIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19mbG9hdCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfcmF0ZV9mcmFjKSwgKHNwZWV4X3Jlc2FtcGxlcl9za2lwX3plcm9zKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9yZXNldF9tZW0pOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICBVcGRhdGUgU3BlZXggcmVzYW1wbGVyIHdpdGggbGF0ZXN0IHZlcnNpb24gZnJvbSBTcGVleCBHSVQuCgoyMDA4LTEwLTI4IDAxOjUzOjQ5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS4qOiBDYWxjdWxhdGUgd2lkdGggZnJvbSBkZXB0aCBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuaDoKCSAgQ2FsY3VsYXRlIHdpZHRoIGZyb20gZGVwdGggY29ycmVjdGx5LgoJICBSZWFkIFNTTkQgaGVhZGVyIHByb3Blcmx5IChmaXhlcyAyNCBiaXQgQUlGRiByZWFkaW5nKS4KCjIwMDgtMTAtMjcgMTc6MDE6MjIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBBZGFwdCB0byBzbGlnaHRseSBtb2RpZmllZCB4MjY0IEFQSS4gIEZpeGVzICM1NTUyMzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpOgoJICBBZGFwdCB0byBzbGlnaHRseSBtb2RpZmllZCB4MjY0IEFQSS4gIEZpeGVzICM1NTUyMzguCgoyMDA4LTEwLTI3IDE2OjMyOjQ5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogUHJldmVudCBlbmRsZXNzIGxvb3AgaWYgYnVmZmVyIGFsbG9jIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KToKCSAgUHJldmVudCBlbmRsZXNzIGxvb3AgaWYgYnVmZmVyIGFsbG9jIGVycm9yLgoKMjAwOC0xMC0yNyAwOTo0NTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IERvbid0IG1lbWNweSgpIGFsbCBkYXRhIHdlIHdhbnQgdG8gcHVzaCBkb3duc3RyZWFtLCBpbnN0ZWFkIGp1c3QgY3JlYXRlIHN1YmJ1ZmZlcnMgYW5kIHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlciksCgkgIChnc3RfZmx2X2RlbXV4X2NyZWF0ZV9pbmRleCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCksIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKSwKCSAgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIERvbid0IG1lbWNweSgpIGFsbCBkYXRhIHdlIHdhbnQgdG8gcHVzaCBkb3duc3RyZWFtLCBpbnN0ZWFkIGp1c3QKCSAgY3JlYXRlIHN1YmJ1ZmZlcnMgYW5kIHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBGaXggc29tZSBtaW5vciBtZW1vcnkgbGVha3MuCgoyMDA4LTEwLTI3IDA5OjQyOjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgQ1ZTIG9mIGNvcmUgZm9yIHRoZSBsYXN0IGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIENWUyBvZiBjb3JlIGZvciB0aGUgbGFzdCBjaGFuZ2UuCgoyMDA4LTEwLTI3IDA5OjQxOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L01ha2VmaWxlLmFtOiBGaXggKG5vbi1jcml0aWNhbCkgc3ludGF4IGVycm9yIGFuZCBhZGQgYWxsIHJlcXVpcmVkIENGTEFHUyBhbmQgTElCUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgRml4IChub24tY3JpdGljYWwpIHN5bnRheCBlcnJvciBhbmQgYWRkIGFsbCByZXF1aXJlZCBDRkxBR1MgYW5kIExJQlMuCgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSk6CgkgIFJld3JpdGUgdGhlIHNjcmlwdCB0YWcgcGFyc2luZyB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgdHJ5IHRvIHJlYWQKCSAgbW9yZSBkYXRhIHRoYW4gd2UgaGF2ZS4gQWxzbyB1c2UgR1NUX1JFQURfVUlOVDI0X0JFIGRpcmVjdGx5IGFuZAoJICBmaXggc29tZSBtaW5vciBtZW1vcnkgbGVha3MuCgkgIFRoaXMgc2hvdWxkIG1ha2UgYWxsIGNyYXNoZXMgb24gZnV6emVkIEZMViBmaWxlcyBkaXNhcHBlYXIuCgoyMDA4LTEwLTI3IDA5OjM3OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IFByb3Blcmx5IGNoZWNrIGV2ZXJ5d2hlcmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBkYXRhIHRvIHBhcnNlIGFuZCBkb24ndCByZWFkIG91dHNpZGUgdGhlIGFsbG9jYXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSksIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgIFByb3Blcmx5IGNoZWNrIGV2ZXJ5d2hlcmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBkYXRhIHRvIHBhcnNlIGFuZAoJICBkb24ndCByZWFkIG91dHNpZGUgdGhlIGFsbG9jYXRlZCBtZW1vcnkgcmVnaW9uLgoKMjAwOC0xMC0yNyAwOTozNTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBJZiB0aGUgY2FwcyBjaGFuZ2UgZHVyaW5nIHBsYXliYWNrIGFuZCBuZWdvdGlhdGlvbiBmYWlscyBlcnJvciBvdXQgaW5zdGVhZCBvZiB0cnlpbmcgdG8gY29udGludWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgSWYgdGhlIGNhcHMgY2hhbmdlIGR1cmluZyBwbGF5YmFjayBhbmQgbmVnb3RpYXRpb24gZmFpbHMgZXJyb3Igb3V0CgkgIGluc3RlYWQgb2YgdHJ5aW5nIHRvIGNvbnRpbnVlLgoKMjAwOC0xMC0yNyAwOTozMzo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IEFkZCBzdXBwb3J0IGZvciBTcGVleCBhdWRpbyBhbmQgYWxsb3cgYnVmZmVycyB3aXRob3V0IHZhbGlkIHRpbWVzdGFtcCBpbiB0aGUgbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IChnc3RfZmx2X211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfZmx2X211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2Zsdl9tdXhfd3JpdGVfYnVmZmVyKSwKCSAgKGdzdF9mbHZfbXV4X2NvbGxlY3RlZCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSk6CgkgIEFkZCBzdXBwb3J0IGZvciBTcGVleCBhdWRpbyBhbmQgYWxsb3cgYnVmZmVycyB3aXRob3V0IHZhbGlkCgkgIHRpbWVzdGFtcCBpbiB0aGUgbXV4ZXIuCgoyMDA4LTEwLTI3IDA5OjMyOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHNlbmRpbmcgRU9TIGRvd25zdHJlYW0gZGlkbid0IHdvcmsuIEZpeGVzIGJ1ZyAjNTUwNDU0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2xvb3ApLAoJICAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgc2VuZGluZyBFT1MgZG93bnN0cmVhbQoJICBkaWRuJ3Qgd29yay4gRml4ZXMgYnVnICM1NTA0NTQuCgkgIEZpeCBzZWVrIGV2ZW50IGhhbmRsaW5nIHRvIGxvb2sgYXQgdGhlIGZsYWdzIG9mIHRoZSBzZWVrIGV2ZW50CgkgIGluc3RlYWQgb2YgYXNzdW1pbmcgc29tZSByYW5kb20gZmxhZ3MsIGRvbid0IHNlbmQgc2VnbWVudC1zdGFydAoJICBtZXNzYWdlcyB3aGVuIG9wZXJhdGluZyBpbiBwdXNoIG1vZGUgYW5kIHB1c2ggc2VlayBldmVudHMgdXBzdHJlYW0KCSAgaWYgd2UgY291bGRuJ3QgaGFuZGxlIHRoZW0uCgoyMDA4LTEwLTI3IDA5OjI3OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEVycm9yIG91dCBlYXJseSBpZiBwdWxsaW5nIGEgdGFnIGZhaWxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgIEVycm9yIG91dCBlYXJseSBpZiBwdWxsaW5nIGEgdGFnIGZhaWxlZC4KCjIwMDgtMTAtMjcgMDk6MjU6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBJbiBwdWxsIG1vZGUgd2UgY3JlYXRlIG91ciBvd24gaW5kZXggYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UgYW5kIGRvbid0IHVzZSB0aGUgaW5kZXggcHJvdmlkZWQgYnkgc29tZSBmaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NyZWF0ZV9pbmRleCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgSW4gcHVsbCBtb2RlIHdlIGNyZWF0ZSBvdXIgb3duIGluZGV4IGJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlCgkgIGFuZCBkb24ndCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHNvbWUgZmlsZXMgKHdoaWNoIGFyZSBtb3JlIHRoYW4KCSAgb2Z0ZW4gaW5jb3JyZWN0IGFuZCBjYXVzZSBmYWlsZWQgc2Vla3MpLgoJICBGb3IgcHVzaCBtb2RlIHdlIHN0aWxsIHVzZSB0aGUgaW5kZXggcHJvdmlkZWQgYnkgdGhlIGZpbGUgYW5kIGV4dGVuZCBpdAoJICB3aGlsZSBkb2luZyB0aGUgcGxheWJhY2suCgoyMDA4LTEwLTI3IDA5OjIwOjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEluc3RlYWQgb2YgdXNpbmcgZ3N0X3BhZF9ldmVudF9kZWZhdWx0KCkgdXNlIGEgc21hbGwgZ3N0X3BhZF9wdXNoX2V2ZW50KCkgd3JhcHBlciB0aGF0IG9ubHkgZG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdXNoX3NyY19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCk6CgkgIEluc3RlYWQgb2YgdXNpbmcgZ3N0X3BhZF9ldmVudF9kZWZhdWx0KCkgdXNlIGEgc21hbGwKCSAgZ3N0X3BhZF9wdXNoX2V2ZW50KCkgd3JhcHBlciB0aGF0IG9ubHkgZG9lcyB3aGF0IHdlIHdhbnQgYW5kIGlzIG11Y2gKCSAgbW9yZSBzaW1wbGUuCgoyMDA4LTEwLTI3IDA5OjE0OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4Lio6IElmIG91ciBpbmRleCB3YXMgY3JlYXRlZCBieSB0aGUgZWxlbWVudCBhbmQgbm90IHByb3ZpZGVkIGZyb20gdGhlIG91dHNpZGUgd2Ugc2hvdWxkIGRlc3Ryb3kgaXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLCAoZ3N0X2Zsdl9kZW11eF9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIElmIG91ciBpbmRleCB3YXMgY3JlYXRlZCBieSB0aGUgZWxlbWVudCBhbmQgbm90IHByb3ZpZGVkIGZyb20gdGhlCgkgIG91dHNpZGUgd2Ugc2hvdWxkIGRlc3Ryb3kgaXQgd2hlbiBzdGFydGluZyBhIG5ldyBzdHJlYW0gdG8gZ2V0CgkgIGFsbCBvbGQgZW50cmllcyByZW1vdmVkLgoKMjAwOC0xMC0yNyAwOToxMjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCB3aGVuIHB1bGxpbmcgYSBidWZmZXIgZnJvbSB1cHN0cmVhbSBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3JhbmdlKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgd2hlbiBwdWxsaW5nIGEgYnVmZmVyIGZyb20gdXBzdHJlYW0gZmFpbHMuCgoyMDA4LTEwLTI3IDA5OjEwOjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogQ2xvc2UgdGhlIGN1cnJlbnRseSBwbGF5aW5nIHNlZ21lbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZCBpbnN0ZWFkIG9mIHRoZSB0aHJlYWQgd2hlcmUgdGhlIHNlZWsgZXZlbnQgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIENsb3NlIHRoZSBjdXJyZW50bHkgcGxheWluZyBzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCSAgaW5zdGVhZCBvZiB0aGUgdGhyZWFkIHdoZXJlIHRoZSBzZWVrIGV2ZW50IGlzIGhhbmRsZWQuCgoyMDA4LTEwLTI3IDA4OjU3OjI3ICswMDAwICBEYXZpZCBIw6RyZGVtYW4gPGRhdmlkQGhhcmRlbWFuLm51PgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IEFkZCBzdXBwb3J0IGZvciB0aGUgZnJlcXVlbmN5IGxpc3QgZGVzY3JpcHRvciwgd2hpY2ggcHJvdmlkZXMgYWRkaXRpb25hbCBmcmVxdWVuY2llLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGF2aWQgSMOkcmRlbWFuIDxkYXZpZCBhdCBoYXJkZW1hbiBkb3QgbnU+CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9uaXQpOgoJICBBZGQgc3VwcG9ydCBmb3IgdGhlIGZyZXF1ZW5jeSBsaXN0IGRlc2NyaXB0b3IsIHdoaWNoIHByb3ZpZGVzCgkgIGFkZGl0aW9uYWwgZnJlcXVlbmNpZXMgdGhhdCBzaG91bGQgYmUgc2Nhbm5lZCBieSBhIERWQiBhcHBsaWNhdGlvbi4KCSAgRml4ZXMgYnVnICM1NTc4MTQuCgoyMDA4LTEwLTI3IDA4OjUyOjUwICswMDAwICB2YW5pc3RhIDx2YW5pc3RhQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IEZpeCBFT1MgbG9naWMgYnkgY29ycmVjdGx5IHBvcHBpbmcgdGhlIGNvbGxlY3QgcGFkIGJ1ZmZlcnMgb25seSB3aGVuIHdlJ3ZlIGNob3NlbiB0byB1c2UgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IHZhbmlzdGEgPHZhbmlzdGEgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiAobXBlZ3RzbXV4X2Nob29zZV9iZXN0X3N0cmVhbSk6CgkgIEZpeCBFT1MgbG9naWMgYnkgY29ycmVjdGx5IHBvcHBpbmcgdGhlIGNvbGxlY3QgcGFkIGJ1ZmZlcnMgb25seQoJICB3aGVuIHdlJ3ZlIGNob3NlbiB0byB1c2UgdGhlbSBpbnN0ZWFkIG9mIHBvcHBpbmcgdGhlbSBhbHdheXMgYW5kCgkgIHN0b3JpbmcgdGhlbSBpbiBhIHByaXZhdGUgcXVldWUuCgkgIEJlZm9yZSB0aGUgcGlwZWxpbmUgd291bGQgZGVhZGxvY2sgaWYgYWxsIHBhZHMgZ28gRU9TIGF0IHRoZSBzYW1lCgkgIHRpbWUuIEZpeGVzIGJ1ZyAjNTU3NzYzLgoKMjAwOC0xMC0yNiAyMDowNzo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC45LjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOS4xCgo9PT0gcmVsZWFzZSAwLjEwLjkgPT09CgoyMDA4LTEwLTI0IDIyOjQ1OjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuOQoKMjAwOC0xMC0yNCAyMTo0MzoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMTAtMjQgMTY6NDE6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDb21taXQgMC4xMC44LjQgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb21taXQgMC4xMC44LjQgcHJlLXJlbGVhc2UKCjIwMDgtMTAtMjAgMTQ6MTk6MTcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBGaXggcmV2ZXJzZSBwbGF5YmFjayByZWdyZXNzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3NlbmRfZGF0YSk6CgkgIEZpeCByZXZlcnNlIHBsYXliYWNrIHJlZ3Jlc3Npb24uCgkgIEZpeGVzICM1NTcwODAKCjIwMDgtMTAtMTkgMTI6Mzk6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOiBTZXQgYXBleHNpbmsncyByYW5rIHRvIE5PTkUgc28gaXQgZG9lc24ndCBnZXQgdXNlZCBieSBhdXRvYXVkaW9zaW5rICh0aGVyZSdzIG5vIHBvaW50IHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgU2V0IGFwZXhzaW5rJ3MgcmFuayB0byBOT05FIHNvIGl0IGRvZXNuJ3QgZ2V0IHVzZWQgYnkKCSAgYXV0b2F1ZGlvc2luayAodGhlcmUncyBubyBwb2ludCByZWFsbHkpLiAoIzU1NjU4OCkKCjIwMDgtMTAtMTYgMTc6MTI6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjguMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuOC4zIHByZS1yZWxlYXNlCgoyMDA4LTEwLTE2IDE2OjM3OjMzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC4qOiBQcm9wZXJseSBoYW5kbGUgc29tZSByZXN5bmMgY2FzZXMgaW4gdGhlIG9wdGltaXNlZCBidWZmZXJpbmcgc3RyYXRlZ3kuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBQcm9wZXJseSBoYW5kbGUgc29tZSByZXN5bmMgY2FzZXMgaW4gdGhlIG9wdGltaXNlZAoJICBidWZmZXJpbmcgc3RyYXRlZ3kuCgoyMDA4LTEwLTE2IDE2OjE4OjMxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOiBSZW1vdmUgaW5jb3JyZWN0IHVzZSBvZiBESVJFQ1RTT1VORF9MREZMQUdTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTEwLTE2ICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgaW5jb3JyZWN0IHVzZSBvZiBESVJFQ1RTT1VORF9MREZMQUdTCgoyMDA4LTEwLTE2IDE1OjIxOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdm11eC5jOiBEb24ndCBzZXQgdmlkZW9fY29kZWMgdG8gdGhlIHZhbHVlIHRoYXQgYWN0dWFsbHkgc2hvdWxkIGdvIGludG8gYXVkaW8gY29kZWMsIG90aGVyd2lzZSB3ZSBjcmVhdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlcik6CgkgIERvbid0IHNldCB2aWRlb19jb2RlYyB0byB0aGUgdmFsdWUgdGhhdCBhY3R1YWxseSBzaG91bGQgZ28KCSAgaW50byBhdWRpbyBjb2RlYywgb3RoZXJ3aXNlIHdlIGNyZWF0ZSBpbnZhbGlkIGZpbGVzLgoJICBGaXhlcyBidWcgIzU1NjU2NC4KCjIwMDgtMTAtMTYgMTU6MDY6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIGJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZHBhcmFub2lhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2dub21ldmZzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJ2aXN1YWwvTWFrZWZpbGUuYW06CgkgICogZXh0L29nZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvcGFuZ28vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hZGRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3JhdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5YmFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3VicGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3RjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHlwZWZpbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvcmF0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zY2FsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92b2x1bWUvTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bC9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94dmltYWdlL01ha2VmaWxlLmFtOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciBiYXNlLgoKMjAwOC0xMC0xNiAxNDo1NDozNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogTGVhdmUgYXBleHNpbmsgb3V0IG9mIHRoZSBzdGF0ZXMgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIExlYXZlIGFwZXhzaW5rIG91dCBvZiB0aGUgc3RhdGVzIHRlc3QuCgoyMDA4LTEwLTE2IDEzOjA1OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEZpeCBwcm9ibGVtIHdpdGggdXNpbmcgdGhlIG91dHB1dCBzZXFudW0gY291bnRlciB0byBjaGVjayBmb3IgaW5wdXQgc2VxbnVtIGRpc2NvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBGaXggcHJvYmxlbSB3aXRoIHVzaW5nIHRoZSBvdXRwdXQgc2VxbnVtIGNvdW50ZXIgdG8gY2hlY2sgZm9yIGlucHV0CgkgIHNlcW51bSBkaXNjb250aW51aXRpZXMuCgkgIEltcHJvdmUgZ2FwIGRldGVjdGlvbiBhbmQgcmVjb3ZlcnksIHJlc2V0IGFuZCBmbHVzaCB0aGUgaml0dGVyYnVmZmVyIG9uCgkgIHNlcW51bSByZXN0YXJ0LiBGaXhlcyAjNTU2NTIwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgRml4IHdyb25nIEdfTElLRUxZLgoKMjAwOC0xMC0xNiAxMTo1NToxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENvbW1pdCAwLjEwLjguMiBwcmUtcmVsZWFzZSBidW1wLCB0aGF0IGFjdHVhbGx5IHdlbnQgb3V0IGluIGEgdGFyYmFsbCBvbiAyMDA4LTEwLTExCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29tbWl0IDAuMTAuOC4yIHByZS1yZWxlYXNlIGJ1bXAsIHRoYXQgYWN0dWFsbHkgd2VudCBvdXQgaW4gYQoJICB0YXJiYWxsIG9uIDIwMDgtMTAtMTEKCjIwMDgtMTAtMTYgMDk6NTE6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEluc3RhbGwgZXZlbnQgaGFuZGxlciBvbiB0aGUgcnRjcF9zcmMgcGFkLCBtYWtlIExBVEVOQ1kgZXZlbnQgcmV0dXJuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0Y3Bfc3JjKSwgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgSW5zdGFsbCBldmVudCBoYW5kbGVyIG9uIHRoZSBydGNwX3NyYyBwYWQsIG1ha2UgTEFURU5DWSBldmVudCByZXR1cm4KCSAgVFJVRS4KCjIwMDgtMTAtMTYgMDk6MTg6MzEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBNYWtlIHN1cmUgdGhlIG1wZWdwc2RlbXV4IGVsZW1lbnQgY3JlYXRlcyB2YWxpZCBuZXdzZWdtZW50IGV2ZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zZW5kX2RhdGEpOgoJICBNYWtlIHN1cmUgdGhlIG1wZWdwc2RlbXV4IGVsZW1lbnQgY3JlYXRlcyB2YWxpZCBuZXdzZWdtZW50IGV2ZW50cy4KCSAgRml4ZXMgIzU1NjQyOAoKMjAwOC0xMC0xNiAwODoxNzo1OSArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiBGaXhlcyBzZWdmYXVsdCBpbiBnZXRfZW5jb2RpbmdfYW5kX2NvbnZlcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBGaXhlcyBzZWdmYXVsdCBpbiBnZXRfZW5jb2RpbmdfYW5kX2NvbnZlcnQuCgkgIEZpeGVzICM1NTY0ODIKCjIwMDgtMTAtMTYgMDg6MTM6NDkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IEZpeGVzIGEgc2VnZmF1bHQgaW4gdGhlIGFkYXB0YXRpb24gYnVmZmVyIHNpemUgc3RyYXRlZ3kuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIEZpeGVzIGEgc2VnZmF1bHQgaW4gdGhlIGFkYXB0YXRpb24gYnVmZmVyIHNpemUgc3RyYXRlZ3kuCgkgIEZpeGVzICM1NTY0NDAKCjIwMDgtMTAtMTUgMTc6NDU6MzcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBHcmFjZWZ1bGx5IGhhbmRsZSB0aGUgY2FzZXMgd2hlbiB3ZSBkb250JyBoYXZlIG90aGVycGFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X2lucHV0X3NlbGVjdG9yX2V2ZW50KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9xdWVyeSk6CgkgIEdyYWNlZnVsbHkgaGFuZGxlIHRoZSBjYXNlcyB3aGVuIHdlIGRvbnQnIGhhdmUgb3RoZXJwYWQuCgkgIEZpeGVzICM1NTY0MzAKCjIwMDgtMTAtMTQgMTU6MTM6MDUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiBGaXggZGVidWdnaW5nIGNhdGVnb3J5IGluaXRpYWxpemF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiAocGx1Z2luX2luaXQpOgoJICBGaXggZGVidWdnaW5nIGNhdGVnb3J5IGluaXRpYWxpemF0aW9uLgoJICBGaXhlcyAjNTU2Mjc0CgoyMDA4LTEwLTE0IDE0OjUzOjQxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOiBGaXggc29tZSBtb3JlIGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZ3MgKGZyb20gT1MvWCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkgIEZpeCBzb21lIG1vcmUgZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5ncyAoZnJvbSBPUy9YKQoKMjAwOC0xMC0xMyAxMjoyNzowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZvciBsYXRlc3QgcGx1Z2lucyBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmb3IgbGF0ZXN0IHBsdWdpbnMgY2hhbmdlcwoKMjAwOC0xMC0xMyAwNzozNToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6IEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzogKGdzdF9hcGV4cmFvcF9jb25uZWN0KSwKCSAgKGdzdF9hcGV4cmFvcF9zZXRfdm9sdW1lKToKCSAgRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZ3MuCgoyMDA4LTEwLTEyIDIxOjUyOjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9vc3M0LzogQWRkIHNvbWUgc3BhY2VzIGluIHRyYW5zbGF0ZWFibGUgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIEFkZCBzb21lIHNwYWNlcyBpbiB0cmFuc2xhdGVhYmxlIHN0cmluZ3MuCgkgIEZpeGVzOiAjNTU1OTY5ICM1NTU5NjggIzU1NTk2NQoKMjAwOC0xMC0xMiAxNzowODoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXggcmVncmVzc2lvbiBvZiBoYW5kbGluZyBmbG93IHJldHVybnMgaW4gcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpOgoJICBGaXggcmVncmVzc2lvbiBvZiBoYW5kbGluZyBmbG93IHJldHVybnMgaW4gcHVsbCBtb2RlLgoJICBGaXhlcyBidWcgIzU1NjAwMy4KCjIwMDgtMTAtMTIgMTc6MDQ6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9NYWtlZmlsZS5hbTogQWRkIGFwZXhzaW5rIHRvIFNVQkRJUlMuIEZpeGVzIGJ1ZyAjNTU1OTEyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEFkZCBhcGV4c2luayB0byBTVUJESVJTLiBGaXhlcyBidWcgIzU1NTkxMi4KCjIwMDgtMTAtMTEgMTE6MDI6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6IE1ha2UgdGhlIG1ldGFkYXRhIHRlc3Qgbm90IGZhaWwgd2hlbiBqcGVnZW5jIGlzbid0IGF2YWlsYWJsZS4uLi4gYXMgaXQgaXNuJ3QgaGVyZSwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBNYWtlIHRoZSBtZXRhZGF0YSB0ZXN0IG5vdCBmYWlsIHdoZW4ganBlZ2VuYyBpc24ndCBhdmFpbGFibGUuLi4uCgkgIGFzIGl0IGlzbid0IGhlcmUsIGJlY2F1c2UgaXQncyBub3QgaW4gdGhpcyBtb2R1bGUsIGFuZAoJICB0aGVyZWZvcmUgbm90IGluIHRoZSBwbHVnaW4gcGF0aCB3aGVuIHRoZSBjaGVjayBydW5zLgoKMjAwOC0xMC0xMCAxNjozMzozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBVc2UgZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzKCkgdG8gbWFrZSBzdXJlIHdlIGdldCBhIGJ1ZmZlciB3aXRoIGNhcHMgdGhhdCB3ZSBjYW4gd29yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgVXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2FwcygpIHRvIG1ha2Ugc3VyZSB3ZSBnZXQKCSAgYSBidWZmZXIgd2l0aCBjYXBzIHRoYXQgd2UgY2FuIHdvcmsgd2l0aCAoaS5lLiB0aGUgcGFkJ3MgY2FwcykuCgkgIEFkZCBub24ta2V5ZnJhbWUgdmlkZW8gZnJhbWVzIHRvIHRoZSBpbmRleCB0b28gYnV0IHdpdGhvdXQgdGhlCgkgIGtleWZyYW1lIGZsYWcuCgkgIEFkZCBhdWRpbyBmcmFtZXMgdG8gdGhlIGluZGV4IG9ubHkgaWYgd2UgaGF2ZSBubyB2aWRlbyBzdHJlYW0uCgoyMDA4LTEwLTEwIDE2OjE1OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IENyZWF0ZSBwYWRzIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZXMsIHVzZSBmaXhlZCBjYXBzIG9uIHRoZW0gYW5kIG9ubHkgYWN0aXZhdGUgdGhlbSBhZnRlciB0aGUgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBDcmVhdGUgcGFkcyBmcm9tIHRoZSBwYWQgdGVtcGxhdGVzLCB1c2UgZml4ZWQgY2FwcyBvbiB0aGVtCgkgIGFuZCBvbmx5IGFjdGl2YXRlIHRoZW0gYWZ0ZXIgdGhlIGNhcHMgYXJlIHNldC4KCjIwMDgtMTAtMTAgMTU6NTE6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRGlzYWJsZSBmbGFjcGFyc2UgZm9yIHRoaXMgcmVsZWFzZSBhcyBpdCdzIHRvbyBidWdneS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIGZsYWNwYXJzZSBmb3IgdGhpcyByZWxlYXNlIGFzIGl0J3MgdG9vIGJ1Z2d5LgoKMjAwOC0xMC0xMCAxMToxNzowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBvbiBPUy9YIGFib3V0IHBhcmFtZXRlcnMgbm90IG1hdGNoaW5nIHRoZSBkZWJ1ZyBmb3JtYXQgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0xMC0xMCAgSmFuIFNjaG1pZHQgIDxqYW4uc2NobWlkdEBzdW4uY29tPgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmMgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3VwZGF0ZV91cHN0cmVhbV9kdXJhdGlvbnMpOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBvbiBPUy9YIGFib3V0IHBhcmFtZXRlcnMgbm90IG1hdGNoaW5nCgkgIHRoZSBkZWJ1ZyBmb3JtYXQgc3RyaW5nLgoKMjAwOC0xMC0xMCAxMTowMTozNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIG9uIE9TL1ggYWJvdXQgcGFyYW1ldGVycyBub3QgbWF0Y2hpbmcgdGhlIGRlYnVnIGZvcm1hdCBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmMgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3VwZGF0ZV91cHN0cmVhbV9kdXJhdGlvbnMpOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBvbiBPUy9YIGFib3V0IHBhcmFtZXRlcnMgbm90IG1hdGNoaW5nCgkgIHRoZSBkZWJ1ZyBmb3JtYXQgc3RyaW5nLgoKMjAwOC0xMC0wOSAxOTozODo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiBGaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBub3QgYnVpbGRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpOgoJICBGaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBub3QgYnVpbGRpbmcKCSAgWDg2IGFzc2VtYmx5LgoKMjAwOC0xMC0wOSAxNjo1MTozNSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGZpeCB2YXJpb3VzIGJ1aWxkIGZpbGVzIHRvIGFsbG93IGZvciBkaXN0aW5nIGFuZCB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdmFyaW91cyBidWlsZCBmaWxlcyB0byBhbGxvdyBmb3IgZGlzdGluZyBhbmQgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzLgoKMjAwOC0xMC0wOSAxNjoyMDoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IEdldCBhbiBhcHByb3hpbWF0ZSBkdXJhdGlvbiBvZiB0aGUgZmlsZSBieSBsb29raW5nIGF0IHRoZSB0aW1lc3RhbXAgb2YgdGhlIGxhc3QgdGFnIGluIHB1bGwgbW9kZS4gSWYgd2UgZ2V0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIEdldCBhbiBhcHByb3hpbWF0ZSBkdXJhdGlvbiBvZiB0aGUgZmlsZSBieSBsb29raW5nIGF0IHRoZSB0aW1lc3RhbXAKCSAgb2YgdGhlIGxhc3QgdGFnIGluIHB1bGwgbW9kZS4gSWYgd2UgZ2V0IChtYXliZSBiZXR0ZXIpIGR1cmF0aW9uIGZyb20KCSAgbWV0YWRhdGEgbGF0ZXIgd2UnbGwgdXNlIHRoYXQgaW5zdGVhZC4KCjIwMDgtMTAtMDkgMTU6NDM6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogUmVmYWN0b3IgX3B1bGxfcmFuZ2UoKSBsb2dpYyB3aXRoIGNoZWNrcyBpbnRvIGEgc2VwZXJhdGUgZnVuY3Rpb24gdG8gbWFrZSB0aGluZ3MgYSBiaXQgbW9yZSByZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfcmFuZ2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKToKCSAgUmVmYWN0b3IgX3B1bGxfcmFuZ2UoKSBsb2dpYyB3aXRoIGNoZWNrcyBpbnRvIGEgc2VwZXJhdGUgZnVuY3Rpb24KCSAgdG8gbWFrZSB0aGluZ3MgYSBiaXQgbW9yZSByZWFkYWJsZS4KCjIwMDgtMTAtMDkgMTU6MjY6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfYmFzZV9pbml0KToKCSAgVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoJICBJZiB3ZSBnZXQgR1NUX0ZMT1dfTk9UX0xJTktFRCBpbiB0aGUgcGFyc2UgbG9vcCBidXQgYXQgbGVhc3QKCSAgb25lIG9mIHRoZSBwYWRzIGlzIGxpbmtlZCBjb250aW51ZSB0aGUgbG9vcC4KCjIwMDgtMTAtMDkgMTA6MDE6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy4qOiBQYXNzIHRoZSBkaXNjb250IGZsYWcgZnJvbSB0aGUgaW5wdXQgYnVmZmVyIG9uIHRvIHRoZSBvdXRwdXQgYnVmZmVyIGluIHRoZSBBTVIgZW5jb2Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgIFBhc3MgdGhlIGRpc2NvbnQgZmxhZyBmcm9tIHRoZSBpbnB1dCBidWZmZXIgb24gdG8gdGhlIG91dHB1dCBidWZmZXIgaW4KCSAgdGhlIEFNUiBlbmNvZGVyLgoKMjAwOC0xMC0wOSAxMDowMDo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDb3JyZWN0IGNhcHMgZm9yIHZpZGVvIGNvZGVjIGlkIDU6IEl0J3MgT24yIFZQNiB3aXRoIGFscGhhIGNoYW5uZWwgd2hpY2ggbmVlZHMgYSBkaWZmZXJlbnQgZGVjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdmlkZW9fbmVnb3RpYXRlKToKCSAgQ29ycmVjdCBjYXBzIGZvciB2aWRlbyBjb2RlYyBpZCA1OiBJdCdzIE9uMiBWUDYgd2l0aCBhbHBoYSBjaGFubmVsCgkgIHdoaWNoIG5lZWRzIGEgZGlmZmVyZW50IGRlY29kZXIgYW5kIGhhcyBkaWZmZXJlbnQgY2Fwcy4KCSAgQWRkIHN1cHBvcnQgZm9yIGF1ZGlvIGNvZGVjIGlkIDE0LCB3aGljaCBpcyBNUDMgd2l0aCA4a0h6IHNhbXBsaW5nCgkgIHJhdGUuCgkgIEZpeCBlbmRpYW5uZXNzIGFuZCBzaWduZWRuZXNzIGZvciByYXcgYXVkaW8gY29kZWMgaWRzLgoJICBBZGQgc3VwcG9ydCBmb3IgYWxhdyBhbmQgbXVsYXcgYXVkaW8uCgoyMDA4LTEwLTA5IDA5OjQ4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEdvIG91dCBvZiB0aGUgcGFyc2UgbG9vcCBhcyBzb29uIGFzIHdlIGdldCBhbiBlcnJvciBpbnN0ZWFkIG9mIHBhcnNpbmcgdW50aWwgdGhlIEdzdEFkYXB0ZXIgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFpbik6CgkgIEdvIG91dCBvZiB0aGUgcGFyc2UgbG9vcCBhcyBzb29uIGFzIHdlIGdldCBhbiBlcnJvciBpbnN0ZWFkCgkgIG9mIHBhcnNpbmcgdW50aWwgdGhlIEdzdEFkYXB0ZXIgaXMgZW1wdHkuCgkgIEFkZCBzb21lIGV4cGxhbmF0aW9ucyBhYm91dCB0aGUgaGVhZGVyIGFuZCB0YWcgc2l6ZS4KCSAgRG9uJ3QgcHJpbnQgc3luY2hyb25pemluZyBtZXNzYWdlIGlmIGV2ZXJ5dGhpbmcgaXMgZmluZS4KCjIwMDgtMTAtMDkgMDk6MjY6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhIEZMViBtdXhlci4gVGhlIG9ubHkgbWlzc2luZyBmZWF0dXJlIGlzIHdyaXRpbmcgb2Ygc3RyZWFtIG1ldGFkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9mbHZfbXV4X2NsYXNzX2luaXQpLCAoZ3N0X2Zsdl9tdXhfaW5pdCksCgkgIChnc3RfZmx2X211eF9maW5hbGl6ZSksIChnc3RfZmx2X211eF9yZXNldCksCgkgIChnc3RfZmx2X211eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9mbHZfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwgKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfZmx2X211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfZmx2X211eF93cml0ZV9oZWFkZXIpLCAoZ3N0X2Zsdl9tdXhfd3JpdGVfYnVmZmVyKSwKCSAgKGdzdF9mbHZfbXV4X2NvbGxlY3RlZCksIChnc3RfZmx2X211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGEgRkxWIG11eGVyLiBUaGUgb25seSBtaXNzaW5nIGZlYXR1cmUgaXMgd3JpdGluZwoJICBvZiBzdHJlYW0gbWV0YWRhdGEuCgoyMDA4LTEwLTA5IDA5OjIxOjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS4qOiBBZGQgZmx1c2ggc2VlayBoYW5kbGVyLiBUYWtlbiBmcm9tIHJlY2VudCBhcm1uYnBhcnNlIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgQWRkIGZsdXNoIHNlZWsgaGFuZGxlci4gVGFrZW4gZnJvbSByZWNlbnQgYXJtbmJwYXJzZSBjaGFuZ2VzLgoJICBTeW5jIHRoZSBjb2RlIG1vcmUgYW5kIHVzZSAjZGVmaW5lcyBmb3IgSEVBREVSLgoKMjAwOC0xMC0wOSAwODo0Mzo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2FtcndiL2dzdGFtcndicGFyc2UuKjogRml4IHRoZSBkdXJhdGlvbiBxdWVyeS4gQWxzbyBzZXQgY2FwcyBvbiB0aGUgcGFkcyBhbmQgYnVmZmVycyBtb3JlIGNvcnJlY3RseS4gVGFrZW4gZnJvbSByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgRml4IHRoZSBkdXJhdGlvbiBxdWVyeS4gQWxzbyBzZXQgY2FwcyBvbiB0aGUgcGFkcyBhbmQgYnVmZmVycyBtb3JlCgkgIGNvcnJlY3RseS4gVGFrZW4gZnJvbSByZWNlbnQgYXJtbmJwYXJzZSBjaGFuZ2VzLgoKMjAwOC0xMC0wOCAxNjoyMDoyNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvOiBBZGQgRmx1ZW5kbyB0byB0aGUgTG9uZyBOYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgQWRkIEZsdWVuZG8gdG8gdGhlIExvbmcgTmFtZS4KCjIwMDgtMTAtMDggMTU6MjU6MjQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBNb3ZlIG9mIG1wZWd0c3BhcnNlIHRvIG1wZWdkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIE1vdmUgb2YgbXBlZ3RzcGFyc2UgdG8gbXBlZ2RlbXV4LgoJICBGaXhlcyAjNTU1MTkzLgoKMjAwOC0xMC0wOCAxNToyMjoxMiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBNb3ZlIG9mIG1wZWd0c3BhcnNlIHRvIG1wZWdkZW11eAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTW92ZSBvZiBtcGVndHNwYXJzZSB0byBtcGVnZGVtdXgKCjIwMDgtMTAtMDggMTA6MjE6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IFByZXZlbnQgYSBkaXZpc2lvbiBieSB6ZXJvIGlmIGxhc3QgbXV4IHJhdGUgd2FzIHplcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc2VuZF9kYXRhKSwKCSAgKGdzdF9mbHVwc19kZW11eF9wYXJzZV9wYWNrX3N0YXJ0KToKCSAgUHJldmVudCBhIGRpdmlzaW9uIGJ5IHplcm8gaWYgbGFzdCBtdXggcmF0ZSB3YXMgemVyby4KCSAgSWYgd2UncmUgZ29pbmcgdG8gc2VuZCBhIE5FV1NFR01FTlQgZXZlbnQgYnV0IHRoZSBzZWdtZW50IHN0YXJ0CgkgIGFuZCB0aGUgY3VycmVudCBidWZmZXIgdGltZXN0YW1wIGRpZmZlciBieSBtb3JlIHRoYW4gYSBzZWNvbmQgd2UKCSAgd2lsbCBzdGFydCB0aGUgTkVXU0VHTUVOVCBhdCB0aGUgYnVmZmVyIHRpbWVzdGFtcC4KCSAgVGhpcyBmaXhlcyBwbGF5YmFjayBvZiB0aGUgdHYyLTFfMjUubXBnIGZpbGUsIHdoaWNoIGhhcyAwIGFzIGZpcnN0IFNDUgoJICBidXQgdGhlIGZpcnN0IFBUUyBhcmUgYXJvdW5kIDEgaG91ciBhbmQgNDAgbWludXRlcy4KCSAgRml4ZXMgYnVnICM1NTM3NTUuCgoyMDA4LTEwLTA3IDIxOjI5OjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOiBGaXggbmV4dC9wcmV2IGNoYXB0ZXIgc2Vla2luZyBhdCB0aGUgYmVnaW5uaW5nIG9yIGVuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIEZpeCBuZXh0L3ByZXYgY2hhcHRlciBzZWVraW5nIGF0IHRoZSBiZWdpbm5pbmcgb3IgZW5kLgoJICBVc2UgNjQtYml0IHNjYWxpbmcgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNvbnZlcnRpbmcgTVBFRwoJICB0aW1lc3RhbXBzLgoKMjAwOC0xMC0wNyAxODo1NDo0MSArMDAwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6IEFkZCBtYXJzaGFsbGVyIGZvciBuZXcgYWN0aW9uIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIw6V2YXJkIEdyYWZmIDxoYXZhcmQgZG90IGdyYWZmIGF0IHRhbmRiZXJnIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgQWRkIG1hcnNoYWxsZXIgZm9yIG5ldyBhY3Rpb24gc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZ2V0X2ludGVybmFsX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBhY3Rpb24gc2lnbmFsIHRvIHJldHJpZXZlIHRoZSBpbnRlcm5hbCBSVFBTZXNzaW9uIG9iamVjdC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWxlYXNlX3BhZCk6CgkgIEFkZCBwcm9wZXJ0eSB0byBhY2Nlc3MgdGhlIGludGVybmFsIFJUUFNlc3Npb24gb2JqZWN0LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoY2hlY2tfY29sbGlzaW9uKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBhY3Rpb24gc2lnbmFsIHRvIHJldHJpZXZlIGFuIFJUUFNvdXJjZSBvYmplY3QgYnkgU1NSQy4KCSAgU2VlICM1NTUzOTYuCgoyMDA4LTEwLTA3IDEzOjE0OjQwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzogQ2hvb3NlIHJpZ2h0IHBhZCBmb3Igc2VuZGluZyBldmVudHMuIEZpeGVzICM1NTUyNDQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIENob29zZSByaWdodCBwYWQgZm9yIHNlbmRpbmcgZXZlbnRzLiBGaXhlcyAjNTU1MjQ0CgoyMDA4LTEwLTA3IDExOjMzOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbGVhc2UgcGFkcyBvZiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZpbmRfc2Vzc2lvbl9ieV9wYWQpLAoJICAoZnJlZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2Rpc3Bvc2UpLCAocmVtb3ZlX3JlY3ZfcnRwKSwKCSAgKHJlbW92ZV9yZWN2X3J0Y3ApLCAocmVtb3ZlX3NlbmRfcnRwKSwgKHJlbW92ZV9ydGNwKSwKCSAgKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgUmVsZWFzZSBwYWRzIG9mIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIFN0YXJ0IGltcGxlbWVudGluZyByZWxlYXNpbmcgcGFkcyBvZiBnc3RydHBiaW4uCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocmVtb3ZlX3JlY3ZfcnRwX3NpbmspLAoJICAocmVtb3ZlX3JlY3ZfcnRjcF9zaW5rKSwgKHJlbW92ZV9zZW5kX3J0cF9zaW5rKSwKCSAgKHJlbW92ZV9zZW5kX3J0Y3Bfc3JjKSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWxlYXNlX3BhZCk6CgkgIEltcGxlbWVudCByZWxlYXNpbmcgcGFkcyBpbiBnc3RydHBzZXNzaW9uLgoKMjAwOC0xMC0wNyAxMDowMjoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBPbmx5IHVwZGF0ZSB0aGUgc2VxbnVtLWJhc2Ugd2hlbiBpdCB3YXMgbm90IGFscmVhZHkgY29uZmlndXJlZCBmb3IgdGhlIHN0cmVhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKToKCSAgT25seSB1cGRhdGUgdGhlIHNlcW51bS1iYXNlIHdoZW4gaXQgd2FzIG5vdCBhbHJlYWR5IGNvbmZpZ3VyZWQgZm9yIHRoZQoJICBzdHJlYW1zLgoKMjAwOC0xMC0wNiAxNjowMTo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYwoJICAqIGV4dC9tZXRhZGF0YS9SRUFETUU6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkgIFN0YXJ0IHVzaW5nIGNvcmUgZ2VvIHRhZ3MgKGJ1bXAgcmVxKS4gRml4IGhhbmRsaW5nIG9mIGxvY2F0aW9uCgkgIHJlZmVyZW5jZXMuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFNvcnQgYmxhY2tsaXN0ZWQgZWxlbWVudHMgYW5kIHJlbW92ZSBtb3ZlZCBvbmVzLiBBZGQgbmV3IHRlc3QuCgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIEFkZCBmaXJzdCB0ZXN0cyBmb3IgbWV0YWRhdGEgZWxlbWVudC4KCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgTW92ZSBmcmVlIHRvIGNvcnJlY3QgcGxhY2UuCgoyMDA4LTEwLTA2IDE1OjUzOjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOiBTdG9wIHRlc3Qgb24gc3RhdGUtY2hhbmdlIGVycm9yLiBTaG91bGQgYmUgYXBwbGllZCBvbiBvdGhlciBtb2R1bGVzIGlmIHdlIGFncmVlIHRoYXQgaXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgU3RvcCB0ZXN0IG9uIHN0YXRlLWNoYW5nZSBlcnJvci4gU2hvdWxkIGJlIGFwcGxpZWQgb24gb3RoZXIgbW9kdWxlcyBpZgoJICB3ZSBhZ3JlZSB0aGF0IGl0IG1ha2VzIHNlbnNlLgoKMjAwOC0xMC0wNiAxMjowMToxNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBBY3R1YWxseSBjb3B5IHRoZSBzdHJ1Y3R1cmUgcGFzc2VkIGluIHdoZW4gYXNzaWduaW5nIGl0IGJlY2F1c2UgaXQgZ2V0cyBmcmVlZCBzdHJhaWdodC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgQWN0dWFsbHkgY29weSB0aGUgc3RydWN0dXJlIHBhc3NlZCBpbiB3aGVuIGFzc2lnbmluZyBpdCBiZWNhdXNlCgkgIGl0IGdldHMgZnJlZWQgc3RyYWlnaHQgYWZ0ZXIgdGhlIGZ1bmN0aW9uIGNhbGwuCgkgIFJlOiBwYXRfaW5mbyBhbmQgcG10X2luZm8gR3N0U3RydWN0dXJlcy4KCjIwMDgtMTAtMDYgMDg6MzI6NDEgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IEZpeCB3cm9uZyBmaXJpbmcgb2YgY3JpdGljYWwgaW50cm9kdWNlZCBieSBwcmV2aW91cyBvcHRpbWlzYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIEZpeCB3cm9uZyBmaXJpbmcgb2YgY3JpdGljYWwgaW50cm9kdWNlZCBieSBwcmV2aW91cyBvcHRpbWlzYXRpb24uCgoyMDA4LTEwLTAzIDE3OjExOjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBXYXJuIGFuZCBjbGFtcCB0byBtYXggYml0cmF0ZSBmb3Igc2FtcGxlcmF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfY29uZmlndXJlX3NvdXJjZV9wYWQpOgoJICBXYXJuIGFuZCBjbGFtcCB0byBtYXggYml0cmF0ZSBmb3Igc2FtcGxlcmF0ZS4KCSAgRml4ZXMgIzU1MDQ4Ni4KCjIwMDgtMTAtMDMgMDk6MTE6MTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogRml4IHBvc3NpYmxlIGNyYXNoIHdoZXJlIHBhdCBpcyBwb2ludGluZyB0byBhIGZyZWVkIHN0cnVjdHVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEZpeCBwb3NzaWJsZSBjcmFzaCB3aGVyZSBwYXQgaXMgcG9pbnRpbmcgdG8gYSBmcmVlZCBzdHJ1Y3R1cmUuCgoyMDA4LTEwLTAzIDA1OjU3OjU4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbWV0YWRhdGEvOiBBZGQgbWFwcGluZyBvZiBmb3JtYXQgYW5kIG1pbWUgdHlwZSB0byB4bXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgIEFkZCBtYXBwaW5nIG9mIGZvcm1hdCBhbmQgbWltZSB0eXBlIHRvIHhtcC4KCjIwMDgtMTAtMDIgMTQ6NDI6MjUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS86IFJldmVydGluZy4gV2lsbCBuZWVkIHRvIHdhaXQgZm9yIGNvcmUgMC4xMC4yMSByZWxlYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvUkVBRE1FOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJICBSZXZlcnRpbmcuIFdpbGwgbmVlZCB0byB3YWl0IGZvciBjb3JlIDAuMTAuMjEgcmVsZWFzZS4KCjIwMDgtMTAtMDIgMTM6NTI6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS86IFVzZSBjb3JlIGdzcCB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvUkVBRE1FOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJICBVc2UgY29yZSBnc3AgdGFncy4KCjIwMDgtMDktMzAgMTc6MDM6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IEFkZCBzdXBwb3J0IGZvciBHc3RJbmRleC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzogKGdzdF9iYXNlX3BhcnNlX2ZpbmFsaXplKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfY2hhbmdlX3N0YXRlKSwgKGdzdF9iYXNlX3BhcnNlX3NldF9pbmRleCksCgkgIChnc3RfYmFzZV9wYXJzZV9nZXRfaW5kZXgpOgoJICBBZGQgc3VwcG9ydCBmb3IgR3N0SW5kZXguCgoyMDA4LTA5LTMwIDE2OjQxOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS4qOiBQcm92aWRlIGEgdmZ1bmMgZm9yIHRoZSBzdWJjbGFzcyB0byBkZWNpZGUgd2hldGhlciBhIGZyYW1lIGlzIGluc2lkZSB0aGUgc2VnbWVudCBvciBub3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzogKGdzdF9iYXNlX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfdXBkYXRlX3Vwc3RyZWFtX2R1cmF0aW9ucyksCgkgIChnc3RfYmFzZV9wYXJzZV9jb252ZXJ0KSwgKGdzdF9iYXNlX3BhcnNlX2ZyYW1lX2luX3NlZ21lbnQpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIFByb3ZpZGUgYSB2ZnVuYyBmb3IgdGhlIHN1YmNsYXNzIHRvIGRlY2lkZSB3aGV0aGVyIGEgZnJhbWUgaXMgaW5zaWRlCgkgIHRoZSBzZWdtZW50IG9yIG5vdCBhbmQgYWRkIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbi4KCSAgRml4IGFwcHJveGltYXRlIGJpdHJhdGUgY2FsY3VsYXRpb25zLgoKMjAwOC0wOS0zMCAxNjoyMjowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzogQXBwcm94aW1hdGUgdGhlIGF2ZXJhZ2UgYml0cmF0ZSwgZHVyYXRpb24gYW5kIHNpemUgaWYgcG9zc2libGUgYW5kIGFkZCBhIGRlZmF1bHQgY29udmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IChnc3RfYmFzZV9wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9iYXNlX3BhcnNlX2luaXQpLCAoZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfdXBkYXRlX3Vwc3RyZWFtX2R1cmF0aW9ucyksIChnc3RfYmFzZV9wYXJzZV9jaGFpbiksCgkgIChnc3RfYmFzZV9wYXJzZV9sb29wKSwgKGdzdF9iYXNlX3BhcnNlX2FjdGl2YXRlKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2NvbnZlcnQpLCAoZ3N0X2Jhc2VfcGFyc2VfcXVlcnkpOgoJICBBcHByb3hpbWF0ZSB0aGUgYXZlcmFnZSBiaXRyYXRlLCBkdXJhdGlvbiBhbmQgc2l6ZSBpZiBwb3NzaWJsZQoJICBhbmQgYWRkIGEgZGVmYXVsdCBjb252ZXJzaW9uIGZ1bmN0aW9uIHdoaWNoIHVzZXMgdGhpcyBmb3IKCSAgdGltZTwtPmJ5dGUgY29udmVyc2lvbnMuCgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjcGFyc2UuYzogKGdzdF9mbGFjX3BhcnNlX2dldF9mcmFtZV9zaXplKToKCSAgRml4IHBhcnNpbmcgaWYgdXBzdHJlYW0gZ2l2ZXMgLTEgYXMgZHVyYXRpb24uCgoyMDA4LTA5LTMwIDE1OjA4OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBSZWYgdGhlIHJ0cHNvdXJjZSBvYmplY3QgYmVmb3JlIHdlIHJlbGVhc2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIHdlIGVtaXQgdGhlIHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwKCSAgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX3NzcmNfYWN0aXZlKSwgKG9uX3NzcmNfc2RlcyksCgkgIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwgKG9uX3NlbmRlcl90aW1lb3V0KToKCSAgUmVmIHRoZSBydHBzb3VyY2Ugb2JqZWN0IGJlZm9yZSB3ZSByZWxlYXNlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiB3ZSBlbWl0CgkgIHRoZSBzaWduYWxzLgoKMjAwOC0wOS0zMCAxMToxOToxMCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy86IE5ldyBwbHVnaW4gZm9yIGF1ZGlvIGNhcHR1cmUgYW5kIHBsYXliYWNrIHVzaW5nIFdpbmRvd3MgQXVkaW8gU2Vzc2lvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5oOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuaDoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuaDoKCSAgTmV3IHBsdWdpbiBmb3IgYXVkaW8gY2FwdHVyZSBhbmQgcGxheWJhY2sgdXNpbmcgV2luZG93cyBBdWRpbyBTZXNzaW9uCgkgIEFQSSAoV0FTQVBJKSBhdmFpbGFibGUgd2l0aCBWaXN0YSBhbmQgbmV3ZXIgKCM1MjA5MDEpLgoJICBDb21lcyB3aXRoIGhhcmRjb2RlZCBjYXBzIGFuZCBvYnZpb3VzbHkgbmVlZHMgbG90cyBvZiBsb3ZlLiBIYXZlbid0CgkgIGhhZCB0aW1lIHRvIHdvcmsgb24gdGhpcyBjb2RlIHNpbmNlIGl0IHdhcyB3cml0dGVuLCB3YXMgaW5pdGlhbGx5IGp1c3QKCSAgYSBxdWljayBleHBlcmltZW50IHRvIHBsYXkgYXJvdW5kIHdpdGggdGhpcyBuZXcgQVBJLgoKMjAwOC0wOS0zMCAxMDo0Mzo1NCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwCgkgIChBdWRpb0Zha2VTaW5rLkRvUmVuZGVyU2FtcGxlKToKCSAgRml4IGEgY291cGxlIG9mIHNpZ25lZC91bnNpZ25lZCBjb21wYXJpc29uIHdhcm5pbmdzLgoKMjAwOC0wOS0zMCAxMDoyMjoxMCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvOiBVc2UgdGhlIF9UKCkgbWFjcm8gdG8gc3VwcG9ydCBib3RoIFVuaWNvZGUgYW5kIE1CQ1MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oIChBdWRpb0Zha2VTaW5rLkF1ZGlvRmFrZVNpbmspOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oIChWaWRlb0Zha2VTaW5rLlZpZGVvRmFrZVNpbmspOgoJICBVc2UgdGhlIF9UKCkgbWFjcm8gdG8gc3VwcG9ydCBib3RoIFVuaWNvZGUgYW5kIE1CQ1MuCgoyMDA4LTA5LTMwIDEwOjE3OjQxICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuYyAocGx1Z2luX2luaXQpOiBGaXggcmV0dXJuIHR5cGUgb2YgdGhlIEdzdFVSSUhhbmRsZXI6OmdldF90eXBlKCkgaW1wbGVtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmMgKHBsdWdpbl9pbml0KToKCSAgRml4IHJldHVybiB0eXBlIG9mIHRoZSBHc3RVUklIYW5kbGVyOjpnZXRfdHlwZSgpIGltcGxlbWVudGF0aW9uLgoKMjAwOC0wOS0yOSAwODoyNjo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIEZMQUMgcGFyc2VyLCBiYXNlZCBvbiBHc3RCYXNlUGFyc2UuIEFsc28gYWRkIHRoZSBiaXQgYW5kIGJ5dGUgcmVhZGVyIHRoYXQgd2lsbCBiZSBhZGRlZCB0byBsaWJnc3RiYXNlIGxhdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOiAoZ3N0X2Jhc2VfcGFyc2VfZ2V0X3R5cGUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfYmFzZV9pbml0KSwgKGdzdF9iYXNlX3BhcnNlX2Jhc2VfZmluYWxpemUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfZmluYWxpemUpLCAoZ3N0X2Jhc2VfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfYmFzZV9wYXJzZV9pbml0KSwgKGdzdF9iYXNlX3BhcnNlX2NoZWNrX2ZyYW1lKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3BhcnNlX2ZyYW1lKSwgKGdzdF9iYXNlX3BhcnNlX2J5dGVwb3NfdG9fdGltZSksCgkgIChnc3RfYmFzZV9wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9iYXNlX3BhcnNlX3NpbmtfZXZlbnRmdW5jKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3NyY19ldmVudCksIChnc3RfYmFzZV9wYXJzZV9zcmNfZXZlbnRmdW5jKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2lzX3NlZWthYmxlKSwgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2hhbmRsZV9hbmRfcHVzaF9idWZmZXIpLCAoZ3N0X2Jhc2VfcGFyc2VfZHJhaW4pLAoJICAoZ3N0X2Jhc2VfcGFyc2VfY2hhaW4pLCAoZ3N0X2Jhc2VfcGFyc2VfcHVsbF9yYW5nZSksCgkgIChnc3RfYmFzZV9wYXJzZV9sb29wKSwgKGdzdF9iYXNlX3BhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfYWN0aXZhdGUpLCAoZ3N0X2Jhc2VfcGFyc2Vfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfYmFzZV9wYXJzZV9zZXRfZHVyYXRpb24pLAoJICAoZ3N0X2Jhc2VfcGFyc2Vfc2V0X21pbl9mcmFtZV9zaXplKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2dldF9xdWVyeXR5cGVzKSwgKGdzdF9iYXNlX3BhcnNlX3F1ZXJ5KSwKCSAgKGdzdF9iYXNlX3BhcnNlX2hhbmRsZV9zZWVrKSwgKGdzdF9iYXNlX3BhcnNlX3Npbmtfc2V0Y2Fwcyk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJpdHJlYWRlci5jOiAoZ3N0X2JpdF9yZWFkZXJfbmV3KSwKCSAgKGdzdF9iaXRfcmVhZGVyX25ld19mcm9tX2J1ZmZlciksIChnc3RfYml0X3JlYWRlcl9mcmVlKSwKCSAgKGdzdF9iaXRfcmVhZGVyX2luaXQpLCAoZ3N0X2JpdF9yZWFkZXJfaW5pdF9mcm9tX2J1ZmZlciksCgkgIChnc3RfYml0X3JlYWRlcl9zZXRfcG9zKSwgKGdzdF9iaXRfcmVhZGVyX2dldF9wb3MpLAoJICAoZ3N0X2JpdF9yZWFkZXJfZ2V0X3JlbWFpbmluZyksIChnc3RfYml0X3JlYWRlcl9za2lwKSwKCSAgKGdzdF9iaXRfcmVhZGVyX3NraXBfdG9fYnl0ZSk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiaXRyZWFkZXIuaDoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJ5dGVyZWFkZXIuYzogKEdET1VCTEVfU1dBUF9MRV9CRSksCgkgIChHRkxPQVRfU1dBUF9MRV9CRSksIChnc3RfYnl0ZV9yZWFkZXJfbmV3KSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9uZXdfZnJvbV9idWZmZXIpLCAoZ3N0X2J5dGVfcmVhZGVyX2ZyZWUpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX2luaXQpLCAoZ3N0X2J5dGVfcmVhZGVyX2luaXRfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX3NldF9wb3MpLCAoZ3N0X2J5dGVfcmVhZGVyX2dldF9wb3MpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX2dldF9yZW1haW5pbmcpLCAoZ3N0X2J5dGVfcmVhZGVyX3NraXApLAoJICAoZ3N0X2J5dGVfcmVhZGVyX2dldF91aW50OCksIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X2ludDgpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfdWludDgpLCAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfaW50OCksCgkgIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X3VpbnQyNF9sZSksIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X3VpbnQyNF9iZSksCgkgIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X2ludDI0X2xlKSwgKGdzdF9ieXRlX3JlYWRlcl9nZXRfaW50MjRfYmUpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfdWludDI0X2xlKSwgKGdzdF9ieXRlX3JlYWRlcl9wZWVrX3VpbnQyNF9iZSksCgkgIChnc3RfYnl0ZV9yZWFkZXJfcGVla19pbnQyNF9sZSksIChnc3RfYnl0ZV9yZWFkZXJfcGVla19pbnQyNF9iZSk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RieXRlcmVhZGVyLmg6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjcGFyc2UuYzogKGdzdF9mbGFjX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfZmxhY19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF9mbGFjX3BhcnNlX2luaXQpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfZmluYWxpemUpLCAoZ3N0X2ZsYWNfcGFyc2Vfc3RhcnQpLAoJICAoZ3N0X2ZsYWNfcGFyc2Vfc3RvcCksIChnc3RfZmxhY19wYXJzZV9nZXRfZnJhbWVfc2l6ZSksCgkgIChnc3RfZmxhY19wYXJzZV9jaGVja192YWxpZF9mcmFtZSksCgkgIChnc3RfZmxhY19wYXJzZV9oYW5kbGVfc3RyZWFtaW5mbyksCgkgIChnc3RfZmxhY19wYXJzZV9oYW5kbGVfdm9yYmlzY29tbWVudCksCgkgIChnc3RfZmxhY19wYXJzZV9oYW5kbGVfcGljdHVyZSksIChfdmFsdWVfYXJyYXlfYXBwZW5kX2J1ZmZlciksCgkgIChnc3RfZmxhY19wYXJzZV9oYW5kbGVfaGVhZGVycyksIChnc3RfZmxhY19wYXJzZV9nZW5lcmF0ZV9oZWFkZXJzKSwKCSAgKGdzdF9mbGFjX3BhcnNlX3BhcnNlX2ZyYW1lKToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGZsYWNwYXJzZS5oOgoJICBBZGQgRkxBQyBwYXJzZXIsIGJhc2VkIG9uIEdzdEJhc2VQYXJzZS4gQWxzbyBhZGQgdGhlIGJpdCBhbmQgYnl0ZSByZWFkZXIKCSAgdGhhdCB3aWxsIGJlIGFkZGVkIHRvIGxpYmdzdGJhc2UgbGF0ZXIuCgkgIFRoZSBGTEFDIHBhcnNlciBpcyBjdXJyZW50bHkgbm90IDEwMCUgYnVnIGZyZWUgYW5kIGZhaWxzIHRvIGdldCB0aGUKCSAgY29ycmVjdCBmcmFtZSBzaXplIGZvciBzb21lIGZyYW1lcyBpbiBzb21lIHN0cmVhbXMuCgoyMDA4LTA5LTI3IDAxOjEyOjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC86IEFkZCBpbiBUaXRsZS9DaGFwdGVyIHNlZWtpbmcsIGFuZCBzaW1wbGUgYnV0IGJ1Z2d5IGF1ZGlvIGFuZCBzdWJ0aXRsZSBzdHJlYW0gc2VsZWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJICBBZGQgaW4gVGl0bGUvQ2hhcHRlciBzZWVraW5nLCBhbmQgc2ltcGxlIGJ1dCBidWdneSBhdWRpbwoJICBhbmQgc3VidGl0bGUgc3RyZWFtIHNlbGVjdGlvbi4KCjIwMDgtMDktMjQgMTc6MjE6NDEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvOiBQcmVmZXIga25vd24tZ29vZCBmaWx0ZXJzLCBjcmVhdGUgZGlyZWN0bHkgYnkgR1VJRCBpZiBwb3NzaWJsZSwgZmFsbCBiYWNrIHRvIGNyZWF0aW5nIGhpZ2hlc3QtbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICBQcmVmZXIga25vd24tZ29vZCBmaWx0ZXJzLCBjcmVhdGUgZGlyZWN0bHkgYnkgR1VJRCBpZiBwb3NzaWJsZSwKCSAgZmFsbCBiYWNrIHRvIGNyZWF0aW5nIGhpZ2hlc3QtbWVyaXQgZmlsdGVyIG90aGVyd2lzZS4KCSAgRml4ZXMgcGxheWJhY2sgd2l0aCByYW5kb20gZHNob3cgZmlsdGVycyBpbnN0YWxsZWQgaW4gc29tZQoJICBjYXNlcy4KCjIwMDgtMDktMjMgMTg6MTM6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEZpeCBzb21lIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9zZW5kZXJfdGltZW91dCksCgkgIChzZXNzaW9uX2NsZWFudXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBGaXggc29tZSBkb2NzLgoKMjAwOC0wOS0yMyAxNzozNDo0NCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIFBhdGNoIGZyb206IEpvc2VwIFRvcnJhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBmcm9tOiBKb3NlcCBUb3JyYQoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIFVzZSBhIHByZWFsbG9jYXRlZCBidWZmZXIgcGVyIHN0cmVhbSBmb3IgUEVTIHBhY2tldHMgc2VudCBvbiBzcmMgcGFkcy4KCSAgQWRhcHRpdmVseSBhZGp1c3QgYnVmZmVyIHNpemUgYXBwcm9wcmlhdGVseS4KCjIwMDgtMDktMTcgMTQ6NDc6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBDbGVhbiB1cCB0aGUgZGVidWcgbG9nZ2luZyBjb2RlIGFuZCAjaWZkZWYgbWVzcyBhIGJpdDogd2hldGhlciBvciBub3QgZ3N0cmVhbWVyIGRlYnVnIG1lc3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgQ2xlYW4gdXAgdGhlIGRlYnVnIGxvZ2dpbmcgY29kZSBhbmQgI2lmZGVmIG1lc3MgYSBiaXQ6IHdoZXRoZXIgb3Igbm90CgkgIGdzdHJlYW1lciBkZWJ1ZyBtZXNzYWdlcyBzaG91bGQgYmUgb3V0cHV0IHNob3VsZCBub3QgZGVwZW5kIG9uIGFuCgkgIGVsZW1lbnQgcHJvcGVydHk7IGFsc28sIEdTVF9FTEVNRU5UX0VSUk9SIHdpbGwgbGVhdmUgYSBsaW5lIGluIHRoZSBsb2cKCSAgYWxyZWFkeSwgc28gbWVyZ2UgdGhlIG1vcmUgdXNlZnVsIGRlYnVnIGxvZyBtZXNzYWdlcyB3aXRoIHRoZSBsZXNzIHVzZWZ1bAoJICBlcnJvciBkZWJ1ZyBzdHJpbmdzLgoKMjAwOC0wOS0xNyAxNDoyMjozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IERvbid0IHBvc3QgTElCUkFSWV9JTklUIGVycm9ycyB3aGVyZSB3ZSBzaG91bGQgYmUgcG9zdGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19zdGFydCk6CgkgIERvbid0IHBvc3QgTElCUkFSWV9JTklUIGVycm9ycyB3aGVyZSB3ZSBzaG91bGQgYmUgcG9zdGluZwoJICBSRVNPVVJDRSBPUEVOX1JFQUQgZXJyb3JzLiBGaXhlcyAjNTUyNTA2LgoKMjAwOC0wOS0xNyAxMzo1OToyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3Byb2Nlc3NfY2IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoKMjAwOC0wOS0xNyAwOTowNjo1NyArMDAwMCAgTWljaGFlbCBLcnVma3kgPG1rcnVma3lAbGludXh0di5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBBZGQgYWRhcHRlcl9uYW1lIGZvciBidXMgbWVzc2FnZSBpbiBBVFNDIGNhc2UuIEZpeGVzICM1NTI1MzYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTWljaGFlbCBLcnVma3kKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBZGQgYWRhcHRlcl9uYW1lIGZvciBidXMgbWVzc2FnZSBpbiBBVFNDIGNhc2UuIEZpeGVzICM1NTI1MzYuCgoyMDA4LTA5LTE1IDA5OjM5OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6IEhlbHAgZ3RrLWRvYyB0byBwYXJzZSB0aGlzIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBIZWxwIGd0ay1kb2MgdG8gcGFyc2UgdGhpcyBjb3JyZWN0bHkuCgkgICogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgQWRkIG1pc3NpbmcgaW5jbHVkZS4KCjIwMDgtMDktMTUgMDk6MzQ6MTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBPbmx5IGJ1aWx0IHNjYWxldGVtcG8gZXhhbXBsZSBpZiB3ZSBoYXZlIGd0ay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIE9ubHkgYnVpbHQgc2NhbGV0ZW1wbyBleGFtcGxlIGlmIHdlIGhhdmUgZ3RrLgoKMjAwOC0wOS0xMyAwMTozNzo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBEbyBub3QgdHJ5IHRvIGFkanVzdCB0aGUgb2Zmc2V0IG9mIHN0cmVhbXMgZm9yIHdoaWNoIHdlIGhhdmUgbm90IHlldCBzZWVuIGFuIFNSIHBhY2tldC4gQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKToKCSAgRG8gbm90IHRyeSB0byBhZGp1c3QgdGhlIG9mZnNldCBvZiBzdHJlYW1zIGZvciB3aGljaCB3ZSBoYXZlIG5vdCB5ZXQKCSAgc2VlbiBhbiBTUiBwYWNrZXQuIEF2b2lkcyBsYXJnZSB0cy1vZmZzZXRzIGluIHNvbWUgY2FzZXMuCgoyMDA4LTA5LTEwIDIzOjE1OjExICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyLzogTWFqb3IgcmV3cml0ZSBvZiBkc2hvd2RlY3dyYXBwZXIuIENvbnZlcnRzIGNvZGUgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgTWFqb3IgcmV3cml0ZSBvZiBkc2hvd2RlY3dyYXBwZXIuIENvbnZlcnRzIGNvZGUgdG8KCSAgQysrLCBtb3ZlcyB0byBkaXJlY3QgdXNlIG9mIERpcmVjdFNob3cgYmFzZSBjbGFzc2VzLAoJICBtYWtlIGEgbG90IG9mIGNvZGUgY2xlYXJlciwgc2ltcGxpZnksIGV0Yy4KCSAgRml4IGRlY29kZSBvZiBNUDMgb24gVmlzdGEgYnkgd29ya2luZyBhcm91bmQgYW4gYXBwYXJlbnQKCSAgYnVnIGluIHRoZSBkZWNvZGVyLgoKMjAwOC0wOS0xMCAxMjowNTozOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmMgKGdzdF9rc19jbG9ja193b3JrZXJfdGhyZWFkX2Z1bmMsIGdzdF9rc19jbG9ja19zdGFydCk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmMgKGdzdF9rc19jbG9ja193b3JrZXJfdGhyZWFkX2Z1bmMsCgkgIGdzdF9rc19jbG9ja19zdGFydCk6CgkgIFN5bmNocm9uaXplIEtTIGNsb2NrIGFzIGEgc2luZ2xlLXNob3Qgb3BlcmF0aW9uIGZvciBub3csIHRoZXJlJ3Mgbm90CgkgIG11Y2ggcG9pbnQgaW4gZG9pbmcgaXQgcGVyaW9kaWNhbGx5IHVudGlsIHdlJ3JlIGFjdHVhbGx5IHVzaW5nIHRoZQoJICBLUyB0aW1lc3RhbXBzIGZvciBhbnl0aGluZyBlbHNlIHRoYW4ganVzdCBkaXNjYXJkaW5nIG9sZCBmcmFtZXMuCgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYyAoZ3N0X2tzX3ZpZGVvX3NyY19vcGVuX2RldmljZSk6CgkgIFByb3ZpZGUgdGhlIEdzdENsb2NrIHdoZW4gb3BlbmluZyB0aGUgZGV2aWNlIGlmIHdlIGFscmVhZHkgaGF2ZSBvbmUuCgoyMDA4LTA5LTA5IDIzOjU4OjAyICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYyAoR1NUX0RFQlVHX0lTX0VOQUJMRUQsIGxhc3RfdGltZXN0YW1wLCBnc3Rfa3NfdmlkZW9fZGV2aWNlX3ByZXBhcmVfYnVmZmVycywgZ3N0X2tzX3ZpZGVvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmMgKEdTVF9ERUJVR19JU19FTkFCTEVELCBsYXN0X3RpbWVzdGFtcCwKCSAgZ3N0X2tzX3ZpZGVvX2RldmljZV9wcmVwYXJlX2J1ZmZlcnMsIGdzdF9rc192aWRlb19kZXZpY2VfY3JlYXRlX3BpbiwKCSAgZ3N0X2tzX3ZpZGVvX2RldmljZV9zZXRfc3RhdGUsIGdzdF9rc192aWRlb19kZXZpY2VfcmVxdWVzdF9mcmFtZSwKCSAgZ3N0X2tzX3ZpZGVvX2RldmljZV9yZWFkX2ZyYW1lKToKCSAgR3VhcmQgYWdhaW5zdCBjYXB0dXJpbmcgb2xkIGZyYW1lcyBieSBrZWVwaW5nIHRyYWNrIG9mIHRoZSBsYXN0CgkgIHRpbWVzdGFtcCBhbmQgYWxzbyB6ZXJvLWZpbGwgdGhlIGJ1ZmZlcnMgYmVmb3JlIGVhY2ggY2FwdHVyZS4KCSAgT25seSBhc3NpZ24gYSBtYXN0ZXIgY2xvY2sgaWYgdGhlIHBpbiBoYXNuJ3QgYWxyZWFkeSBnb3Qgb25lLgoJICBBY3R1YWxseSBmcmVlIGJ1ZmZlcnMgb24gdGhlIHdheSBkb3duIHRvIGF2b2lkIGEgaHVnZSBtZW1vcnkgbGVhaywKCSAgYXMgdGhpcyB3YXMgcHJldmlvdXNseSBkb25lIHdoZW4gY2hhbmdpbmcgc3RhdGUgdG8gQUNRVUlSRSBkb3dud2FyZHMKCSAgYW5kIHdlIG5vdyBza2lwIHRoYXQgc3RhdGUgb24gdGhlIHdheSBkb3duLgoJICBBZGQgc29tZSBkZWJ1Zy4KCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jIChERUZBVUxUX0RFVklDRV9QQVRILCBERUZBVUxUX0RFVklDRV9OQU1FLAoJICBERUZBVUxUX0RFVklDRV9JTkRFWCwgS1NfV09SS0VSX0xPQ0ssIEtTX1dPUktFUl9VTkxPQ0ssCgkgIEtTX1dPUktFUl9XQUlULCBLU19XT1JLRVJfTk9USUZZLCBLU19XT1JLRVJfV0FJVF9GT1JfUkVTVUxULAoJICBLU19XT1JLRVJfTk9USUZZX1JFU1VMVCwgS1NfV09SS0VSX1NUQVRFX1NUQVJUSU5HLAoJICBLU19XT1JLRVJfU1RBVEVfUkVBRFksIEtTX1dPUktFUl9TVEFURV9TVE9QUElORywKCSAgS1NfV09SS0VSX1NUQVRFX0VSUk9SLCBLc1dvcmtlclN0YXRlLCBkZXZpY2VfcGF0aCwgZGV2aWNlX25hbWUsCgkgIGRldmljZV9pbmRleCwgcnVubmluZywgd29ya2VyX3RocmVhZCwgd29ya2VyX2xvY2ssCgkgIHdvcmtlcl9ub3RpZnlfY29uZCwgd29ya2VyX3Jlc3VsdF9jb25kLCB3b3JrZXJfc3RhdGUsCgkgIHdvcmtlcl9wZW5kaW5nX2NhcHMsIHdvcmtlcl9zZXRjYXBzX3Jlc3VsdCwgd29ya2VyX3BlbmRpbmdfcnVuLAoJICB3b3JrZXJfcnVuX3Jlc3VsdCwgZ3N0X2tzX3ZpZGVvX3NyY19yZXNldCwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19hcHBseV9kcml2ZXJfcXVpcmtzLCBnc3Rfa3NfdmlkZW9fc3JjX29wZW5fZGV2aWNlLAoJICBnc3Rfa3NfdmlkZW9fc3JjX2Nsb3NlX2RldmljZSwgZ3N0X2tzX3ZpZGVvX3NyY193b3JrZXJfZnVuYywKCSAgZ3N0X2tzX3ZpZGVvX3NyY19zdGFydF93b3JrZXIsIGdzdF9rc192aWRlb19zcmNfc3RvcF93b3JrZXIsCgkgIGdzdF9rc192aWRlb19zcmNfY2hhbmdlX3N0YXRlLCBnc3Rfa3NfdmlkZW9fc3JjX3NldF9jbG9jaywKCSAgZ3N0X2tzX3ZpZGVvX3NyY19zZXRfY2FwcywgZ3N0X2tzX3ZpZGVvX3NyY190aW1lc3RhbXBfYnVmZmVyLAoJICBnc3Rfa3NfdmlkZW9fc3JjX2NyZWF0ZSk6CgkgIFJlbW92ZSBFTkFCTEVfQ0xPQ0tfREVCVUcgZGVmaW5lLCBpdCdzIEdTVF9MRVZFTF9ERUJVRyBhZnRlciBhbGwuCgkgIEdldCByaWQgb2YgUFJPUF9FTlNMQVZFX0tTQ0xPQ0sgYW5kIGFsd2F5cyBzbGF2ZSB0aGUga3MgY2xvY2sgdG8gdGhlCgkgIEdTdHJlYW1lciBjbG9jaywgaXQgZG9lc24ndCBzZWVtIHRvIGh1cnQgYW5kIG1hdGNoZXMgRGlyZWN0U2hvdydzCgkgIGJlaGF2aW9yLiBBcyBhbiBhZGRlZCBib251cyB3ZSB1c3VhbGx5IGdldCBQcmVzZW50YXRpb25UaW1lIHNldCBmb3IKCSAgZWFjaCBmcmFtZSwgc28gd2UgY2FuIGV4cGFuZCBvbiB0aGlzIGxhdGVyIGZvciBzbWFydGVyIGxhdGVuY3kKCSAgcmVwb3J0aW5nIChieSBsb29raW5nIGF0IHRoZSBkaWZmIGJldHdlZW4gdGhlIHRpbWVzdGFtcCBmcm9tIHRoZQoJICBkcml2ZXIgYW5kIHRoZSB0aW1lIGFjY29yZGluZyB0byB0aGUgR1N0cmVhbWVyIGNsb2NrKS4KCSAgVXNlIGFuIGludGVybmFsIHdvcmtlciB0aHJlYWQgZm9yIG9wZW5pbmcgdGhlIGRldmljZSwgc2V0dGluZyBjYXBzLAoJICBjaGFuZ2luZyBpdHMgc3RhdGUgYW5kIGNsb3NpbmcgaXQuIFRoaXMgd2F5IHdlJ3JlIGEgbG90IG1vcmUKCSAgY29tcGF0aWJsZSB3aXRoIGRyaXZlcnMgdGhhdCByZWx5IG9uIGhhY2tzIHRvIGRvIHZpZGVvLWVmZmVjdHMKCSAgYmV0d2VlbiB0aGUgbG93LWxldmVsIE5UIEFQSSBhbmQgdGhlIGFwcGxpY2F0aW9uLiBJY2suCgkgIFN0YXJ0IHRoZSBrcyBjbG9jayBhbmQgc2V0IHRoZSBwaW4gdG8gS1NTVEFURV9SVU4gb24gdGhlIGZpcnN0CgkgIGNyZWF0ZSgpIHNvIHRoYXQgd2UnbGwgaG9wZWZ1bGx5IGdldCBob2xkIG9mIHRoZSBHU3RyZWFtZXIgY2xvY2sKCSAgZnJvbSB0aGUgdmVyeSBiZWdpbm5pbmcuIFRoaXMgd2F5IHRoZXJlJ3Mgbm8gY2hhbmNlIHRoYXQgdGhlCgkgIHRpbWVzdGFtcHMgd2lsbCBtYWtlIGEgc3VkZGVuIGp1bXAgaW4gdGhlIGJlZ2lubmluZyBvZiB0aGUgc3RyZWFtCgkgIHdoZW4gd2UncmUgcnVubmluZyB3aXRoIGEgY2xvY2suCgkgICogc3lzL3dpbmtzL2tzaGVscGVycy5jIChDSEVDS19PUFRJT05TX0ZMQUcsCgkgIGtzX29wdGlvbnNfZmxhZ3NfdG9fc3RyaW5nKToKCSAgUmVvcmRlciB0aGUgZmxhZ3MgdG8gbWF0Y2ggdGhlIGhlYWRlcmZpbGUgb3JkZXIsIGFuZCBtYWtlIHRoZSBzdHJpbmcKCSAgYSBiaXQgbW9yZSBjb21wYWN0LgoJICAqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jIChrc192aWRlb19wcm9iZV9maWx0ZXJfZm9yX2NhcHMpOgoJICBBdm9pZCBsZWFraW5nIEtTUFJPUEVSVFlfUElOX0RBVEFSQU5HRVMuCgoyMDA4LTA5LTA5IDE3OjU2OjEwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIEFkZCBqcDJrIHBsdWdpbi4gIEZpeGVzICM1NTA2NTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IChnc3RfamFzcGVyX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X2phc3Blcl9kZWNfY2xhc3NfaW5pdCksIChnc3RfamFzcGVyX2RlY19pbml0KSwKCSAgKGdzdF9qYXNwZXJfZGVjX3Jlc2V0KSwgKGdzdF9qYXNwZXJfZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfamFzcGVyX2RlY19uZWdvdGlhdGUpLCAoZ3N0X2phc3Blcl9kZWNfZ2V0X3BpY3R1cmUpLAoJICAoZ3N0X2phc3Blcl9kZWNfY2hhaW4pLCAoZ3N0X2phc3Blcl9kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9qYXNwZXJfZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfamFzcGVyX2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5oOgoJICBBZGQganAyayBwbHVnaW4uICBGaXhlcyAjNTUwNjU3LgoKMjAwOC0wOS0wOSAxMTo0Nzo0MiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvOiBGaXggY29uZmxpY3RpbmcgcHVibGljIG5hbWVzIGluIG5ldyBtcGVnIGRlbXV4ZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc3luY19nZXRfdHlwZSksCgkgIChnc3RfZmx1cHNfZGVtdXhfZ2V0X3R5cGUpLCAoZ3N0X2ZsdXBzX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IChnc3RfZmx1dHNfZGVtdXhfZ2V0X3R5cGUpLAoJICAoZ3N0X2ZsdXRzX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgRml4IGNvbmZsaWN0aW5nIHB1YmxpYyBuYW1lcyBpbiBuZXcgbXBlZyBkZW11eGVycy4KCSAgRml4ZXMgIzU1MDQ2OAoKMjAwOC0wOS0wOSAwMToxNDoxMCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzogU3VwcG9ydCBjaHVua3MgaW4gQUlGRiBpbiBhbnkgb3JkZXIgaW4gcHVsbCBtb2RlLCBhbmQgYW55IG9yZGVyIHNvIGxvbmcgYXMgd2UgZ2V0IENPTU0gYmVmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgIFN1cHBvcnQgY2h1bmtzIGluIEFJRkYgaW4gYW55IG9yZGVyIGluIHB1bGwgbW9kZSwgYW5kIGFueSBvcmRlciBzbwoJICBsb25nIGFzIHdlIGdldCBDT01NIGJlZm9yZSB0aGUgYWN0dWFsIGRhdGEgKFNTTkQpIGluIHB1c2ggbW9kZS4KCSAgRml4ZXMgcGxheWJhY2sgb2YgQUlGQyBmaWxlcy4KCjIwMDgtMDktMDggMjA6Mjc6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBSZXNldCB0aGUgc2VsZWN0b3Igc3RhdGUgd2hlbiBnb2luZyB0byBSRUFEWS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfcmVzZXQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3Jlc2V0KSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9jaGFuZ2Vfc3RhdGUpOgoJICBSZXNldCB0aGUgc2VsZWN0b3Igc3RhdGUgd2hlbiBnb2luZyB0byBSRUFEWS4KCjIwMDgtMDktMDUgMTM6NTI6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogQWRkIHNpZ25hbCB0byBub3RpZnkgbGlzdGVuZXJzIHdoZW4gYSBzZW5kZXIgYmVjb21lcyBhIHJlY2VpdmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX3NlbmRlcl90aW1lb3V0KSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIHNpZ25hbCB0byBub3RpZnkgbGlzdGVuZXJzIHdoZW4gYSBzZW5kZXIgYmVjb21lcyBhIHJlY2VpdmVyLgoJICBUd2VhayBsaXAtc3luYyBjb2RlLCBkb24ndCBzdG9yZSBvdXIgb3duIGNvcHkgb2YgdGhlIHRzLW9mZnNldCBvZiB0aGUKCSAgaml0dGVyYnVmZmVyLCBkb24ndCBhZGp1c3Qgc3luYyBpZiB0aGUgY2hhbmdlIGlzIGxlc3MgdGhhbiA0bXNlYy4KCSAgR2V0IHRoZSBSVFAgdGltZXN0YW1wIDwtPiBHU3RyZWFtZXIgdGltZXN0YW1wIHJlbGF0aW9uIGRpcmVjdGx5IGZyb20KCSAgdGhlIGppdHRlcmJ1ZmZlciBpbnN0ZWFkIG9mIG91ciBpbmFjY3VyYXRlIHZlcnNpb24gZnJvbSB0aGUgc291cmNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCBHX0xJS0VMWSBtYWNyb3MsIHVzZSBnbG9iYWwgZGVmaW5lcyBmb3IgbWF4IHBhY2tldCByZW9yZGVyIGFuZAoJICBkcm9wb3V0cy4KCSAgUmVzZXQgdGhlIGppdHRlcmJ1ZmZlciBjbG9jayBza2V3IGRldGVjdGlvbiB3aGVuIHBhY2tldHMgc2VxbnVtcyBhcmUKCSAgY2hhbmdlZCB1bmV4cGVjdGVkbHkuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fc2VuZGVyX3RpbWVvdXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIHNlbmRlciB0aW1lb3V0IHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIHNvbWUgR19MSUtFTFkgbWFjcm9zLgoJICBLZWVwIHRyYWNrIG9mIHRoZSBleHRlbmRlZCBSVFAgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIHJlcG9ydCB0aGUgUlRQCgkgIHRpbWVzdGFtcCA8LT4gR1N0cmVhbWVyIHRpbWVzdGFtcCByZWxhdGlvbiBmb3IgbGlwLXN5bmMuCgkgIFJlbW92ZSBzZXJ2ZXIgdGltZXN0YW1wIGdhcCBkZXRlY3Rpb24gY29kZSwgdGhlIHNlcnZlciBjYW4gc29tZXRpbWVzCgkgIG1ha2UgYSBodWdlIGdhcCBpbiB0aW1lc3RhbXBzICh0YWxrIHNwdXJ0cywuLi4pIHNlZSAjNTQ5Nzc0LgoJICBEZXRlY3QgdGltZXRhbXAgd2VpcmRuZXNzIGluc3RlYWQgYnkgb2JzZXJ2aW5nIHRoZSBzZW5kZXIvcmVjZWl2ZXIKCSAgdGltZXN0YW1wIHJlbGF0aW9uIGFuZCByZXN5bmMgaWYgaXQgY2hhbmdlcyBtb3JlIHRoYW4gMSBzZWNvbmQuCgkgIEFkZCBtZXRob2QgdG8gcmVwb3J0IGFib3V0IHRoZSBjdXJyZW50IHJ0cCA8LT4gZ3N0IHRpbWVzdGFtcCByZWxhdGlvbgoJICB3aGljaCBpcyBuZWVkZWQgZm9yIGxpcC1zeW5jLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAob25fc2VuZGVyX3RpbWVvdXQpLCAoY2hlY2tfY29sbGlzaW9uKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAoc2Vzc2lvbl9jbGVhbnVwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBzZW5kZXIgdGltZW91dCBzaWduYWwuCgkgIFJlbW92ZSBpbmFjY3VyYXRlIHJ0cCA8LT4gZ3N0IHRpbWVzdGFtcCByZWxhdGlvbiBjb2RlLCB0aGUKCSAgaml0dGVyYnVmZmVyIGNhbiBub3cgZG8gYW4gYWNjdXJhdGUgcmVwb3J0aW5nIGFib3V0IHRoaXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAocnRwX3NvdXJjZV91cGRhdGVfY2FwcyksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBSZW1vdmUgaW5hY2N1cmF0ZSBydHAgPC0+IGdzdCB0aW1lc3RhbXAgcmVsYXRpb24gY29kZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBEZWZpbmUgZ2xvYmFsIG1heC1yZW9yZGVyIGFuZCBtYXgtZHJvcG91dCBjb25zdGFudHMgZm9yIHVzZSBpbiB2YXJpb3VzCgkgIHN1YnN5c3RlbXMuCgoyMDA4LTA5LTA1IDExOjA3OjMyICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogQWRkIERWQiBBZGFwdGVyIG5hbWUgdG8gc3RydWN0dXJlIHNlbnQgb3ZlciBidXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFkZCBEVkIgQWRhcHRlciBuYW1lIHRvIHN0cnVjdHVyZSBzZW50IG92ZXIgYnVzLgoKMjAwOC0wOS0wMyAxNDowMjoyOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBtcGVnIGRlbXV4ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtcGVnIGRlbXV4ZXIKCjIwMDgtMDktMDIgMTc6NDM6NDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4LzogRml4IGJ1aWxkIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9wYXJzZV9wYWNrX3N0YXJ0KToKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IChnc3RfZmx1dHNfZGVtdXhfZGF0YV9jYik6CgkgIEZpeCBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA5LTAyIDEyOjA0OjMyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgQWRkIEZsdWVuZG8gTVBFRyBQUyBhbmQgVFMgZGVtdXhlcnMgdG8gZ3N0LXBsdWdpbnMtYmFkLiBUaGlzIGlzIG5vdyBkdWFsIGxpY2Vuc2VkIE1QTCBhbmQgTEdQTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmg6CgkgICogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkgICogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmg6CgkgIEFkZCBGbHVlbmRvIE1QRUcgUFMgYW5kIFRTIGRlbXV4ZXJzIHRvIGdzdC1wbHVnaW5zLWJhZC4gVGhpcwoJICBpcyBub3cgZHVhbCBsaWNlbnNlZCBNUEwgYW5kIExHUEwuCgoyMDA4LTA5LTAyIDExOjIzOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogKG5ld19wYWNrZXRfY2IpOgoJICBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoKMjAwOC0wOS0wMiAwOTo1Njo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEVuYWJsZS9maXggdXAgdHJhbnNsYXRpb25zIGZvciB0aGVzZSBwbHVnaW5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IChwbHVnaW5faW5pdCk6CgkgIEVuYWJsZS9maXggdXAgdHJhbnNsYXRpb25zIGZvciB0aGVzZSBwbHVnaW5zLgoJICAqIHBvL0xJTkdVQVM6CgkgIEFkZCAnY2EnIHRvIExJTkdVQVMuCgkgICogcG8vUE9URklMRVMuaW46CgkgICogcG8vUE9URklMRVMuc2tpcDoKCSAgQWRkIG1vcmUgZmlsZXMgZm9yIHRyYW5zbGF0aW9uIGFuZCBtb3JlIGZpbGVzIHdoaWNoIHRvb2xzCgkgIHNob3VsZCBza2lwLgoKMjAwOC0wOS0wMiAwOTo0NjowNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzogRml4IGJ1aWxkIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOiAodHNtdXhfd3JpdGVfdHNfaGVhZGVyKToKCSAgRml4IGJ1aWxkIG9uIG1hY29zeC4KCjIwMDgtMDktMDEgMTc6NTQ6MDAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSBhbmQgYWRkIG1pc3Npbmcgc3ViZGlycyBpbiBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSBhbmQgYWRkIG1pc3Npbmcgc3ViZGlycyBpbiBNYWtlZmlsZS5hbQoKMjAwOC0wOS0wMSAxNzo0OTo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6IEFsbG9jYXRlIGEgZml4ZWQgc2l6ZSBidWZmZXIgb24gdGhlIHN0YWNrIGluc3RlYWQgb2YgdXNpbmcgbWFsbG9jKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOiAobXBlZ3RzbXV4X3ByZXBhcmVfYWFjKToKCSAgQWxsb2NhdGUgYSBmaXhlZCBzaXplIGJ1ZmZlciBvbiB0aGUgc3RhY2sgaW5zdGVhZCBvZiB1c2luZyBtYWxsb2MoKS4KCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6ICh0c211eF9uZXcpLCAodHNtdXhfZnJlZSksCgkgICh0c211eF9wcm9ncmFtX25ldyksICh0c211eF9wcm9ncmFtX2ZyZWUpOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzogKHRzbXV4X3N0cmVhbV9uZXcpLAoJICAodHNtdXhfc3RyZWFtX2ZyZWUpLCAodHNtdXhfc3RyZWFtX2NvbnN1bWUpLAoJICAodHNtdXhfc3RyZWFtX2FkZF9kYXRhKToKCSAgVXNlIEdTbGljZS4KCjIwMDgtMDktMDEgMTc6NDc6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgTVBFRzQgdmlkZW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChtcGVndHNtdXhfY3JlYXRlX3N0cmVhbSk6CgkgIEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgTVBFRzQgdmlkZW8uCgoyMDA4LTA5LTAxIDE3OjQxOjM5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21wZWd0c211eC90c211eC86IEZpeCBidWlsZCBvZiBtcGVndHNtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIEZpeCBidWlsZCBvZiBtcGVndHNtdXguCgoyMDA4LTA5LTAxIDE2OjM4OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgRmx1ZW5kbyBNUEVHLVRTIG11eGVyIGFuZCBsaWJ0c211eCB0byBnc3QtcGx1Z2lucy1iYWQuIFRoaXMgaXMgcmVuYW1lZCB0byBtcGVndHNtdXggdG8gcHJldmVudCBjb25mbGljdHMuIEFsc28gYWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogKG1wZWd0c211eF9iYXNlX2luaXQpLAoJICAobXBlZ3RzbXV4X2NsYXNzX2luaXQpLCAobXBlZ3RzbXV4X2luaXQpLCAobXBlZ3RzbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X21wZWd0c211eF9zZXRfcHJvcGVydHkpLCAoZ3N0X21wZWd0c211eF9nZXRfcHJvcGVydHkpLAoJICAocmVsZWFzZV9idWZmZXJfY2IpLCAobXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW0pLAoJICAobXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW1zKSwgKG1wZWd0c211eF9jaG9vc2VfYmVzdF9zdHJlYW0pLAoJICAobXBlZ3RzbXV4X2NvbGxlY3RlZCksIChtcGVndHNtdXhfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKG1wZWd0c211eF9yZWxlYXNlX3BhZCksIChuZXdfcGFja2V0X2NiKSwKCSAgKG1wZWd0c2RlbXV4X3ByZXBhcmVfc3JjcGFkKSwgKG1wZWd0c211eF9jaGFuZ2Vfc3RhdGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6IChtcGVndHNtdXhfcHJlcGFyZV9hYWMpOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5oOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzogKG1wZWd0c211eF9wcmVwYXJlX2gyNjQpOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvY3JjLmg6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOiAodHNtdXhfbmV3KSwgKHRzbXV4X3NldF93cml0ZV9mdW5jKSwKCSAgKHRzbXV4X3NldF9wYXRfZnJlcXVlbmN5KSwgKHRzbXV4X2dldF9wYXRfZnJlcXVlbmN5KSwgKHRzbXV4X2ZyZWUpLAoJICAodHNtdXhfcHJvZ3JhbV9uZXcpLCAodHNtdXhfc2V0X3BtdF9mcmVxdWVuY3kpLAoJICAodHNtdXhfZ2V0X3BtdF9mcmVxdWVuY3kpLCAodHNtdXhfcHJvZ3JhbV9hZGRfc3RyZWFtKSwKCSAgKHRzbXV4X3Byb2dyYW1fc2V0X3Bjcl9zdHJlYW0pLCAodHNtdXhfZ2V0X25ld19waWQpLAoJICAodHNtdXhfY3JlYXRlX3N0cmVhbSksICh0c211eF9maW5kX3N0cmVhbSksICh0c211eF9wYWNrZXRfb3V0KSwKCSAgKHRzbXV4X3dyaXRlX2FkYXB0YXRpb25fZmllbGQpLCAodHNtdXhfd3JpdGVfdHNfaGVhZGVyKSwKCSAgKHRzbXV4X3dyaXRlX3N0cmVhbV9wYWNrZXQpLCAodHNtdXhfcHJvZ3JhbV9mcmVlKSwKCSAgKHRzbXV4X3dyaXRlX3NlY3Rpb24pLCAodHNtdXhfd3JpdGVfc2VjdGlvbl9oZHIpLAoJICAodHNtdXhfd3JpdGVfcGF0KSwgKHRzbXV4X3dyaXRlX3BtdCk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6ICh0c211eF9zdHJlYW1fbmV3KSwKCSAgKHRzbXV4X3N0cmVhbV9nZXRfcGlkKSwgKHRzbXV4X3N0cmVhbV9mcmVlKSwKCSAgKHRzbXV4X3N0cmVhbV9zZXRfYnVmZmVyX3JlbGVhc2VfZnVuYyksICh0c211eF9zdHJlYW1fY29uc3VtZSksCgkgICh0c211eF9zdHJlYW1fYXRfcGVzX3N0YXJ0KSwgKHRzbXV4X3N0cmVhbV9ieXRlc19hdmFpbCksCgkgICh0c211eF9zdHJlYW1fYnl0ZXNfaW5fYnVmZmVyKSwgKHRzbXV4X3N0cmVhbV9nZXRfZGF0YSksCgkgICh0c211eF9zdHJlYW1fcGVzX2hlYWRlcl9sZW5ndGgpLAoJICAodHNtdXhfc3RyZWFtX2ZpbmRfcHRzX2R0c193aXRoaW4pLAoJICAodHNtdXhfc3RyZWFtX3dyaXRlX3Blc19oZWFkZXIpLCAodHNtdXhfc3RyZWFtX2FkZF9kYXRhKSwKCSAgKHRzbXV4X3N0cmVhbV9nZXRfZXNfZGVzY3JzKSwgKHRzbXV4X3N0cmVhbV9wY3JfcmVmKSwKCSAgKHRzbXV4X3N0cmVhbV9wY3JfdW5yZWYpLCAodHNtdXhfc3RyZWFtX2lzX3BjciksCgkgICh0c211eF9zdHJlYW1fZ2V0X3B0cyk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBBZGQgRmx1ZW5kbyBNUEVHLVRTIG11eGVyIGFuZCBsaWJ0c211eCB0byBnc3QtcGx1Z2lucy1iYWQuIFRoaXMKCSAgaXMgcmVuYW1lZCB0byBtcGVndHNtdXggdG8gcHJldmVudCBjb25mbGljdHMuIEFsc28gYWxsIHJlbGV2YW50CgkgIGluZm9ybWF0aW9ucyBhYm91dCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgYXJlIGFkZGVkIHRvIHRoZSB0b3Agb2YKCSAgZXZlcnkgZmlsZSBidXQgYXBhcnQgZnJvbSB0aGF0IG5vIGNoYW5nZXMgY29tcGFyZWQgdG8gdGhlIGxhdGVzdAoJICBTVk4gdmVyc2lvbnMgaGFwcGVuZWQuCgoyMDA4LTA5LTAxIDE2OjA1OjQ1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiBOb3cgdGhhdCBHc3RCYXNlVHJhbnNmb3JtIGlzICdmaXhlZCcgLi4uIHJlbW92ZSBjcnVmdCBmcm9tIHRlc3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChzZXR1cF9hdWRpb3Jlc2FtcGxlKSwKCSAgKGZhaWxfdW5sZXNzX3BlcmZlY3Rfc3RyZWFtKSwgKHRlc3RfcGVyZmVjdF9zdHJlYW1faW5zdGFuY2UpLAoJICAodGVzdF9kaXNjb250X3N0cmVhbV9pbnN0YW5jZSk6CgkgIE5vdyB0aGF0IEdzdEJhc2VUcmFuc2Zvcm0gaXMgJ2ZpeGVkJyAuLi4gcmVtb3ZlIGNydWZ0IGZyb20gdGVzdHMuCgkgIEFkZCBkZWJ1Z2dpbmcgZm9yIGNvaGVyZW5jZS4KCjIwMDgtMDktMDEgMTM6MjM6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBSZXVzZSB0aGUgZ2V0X2xpbmtlZF9wYWRzIGZvciBib3RoIHNvdXJjZSBhbmQgc2lua3BhZHMgYmVjYXVzZSB0aGV5IGFyZSB0aGUgc2FtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9pbnB1dF9zZWxlY3Rvcl9pbml0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9ldmVudCksIChnc3RfaW5wdXRfc2VsZWN0b3JfcXVlcnkpOgoJICBSZXVzZSB0aGUgZ2V0X2xpbmtlZF9wYWRzIGZvciBib3RoIHNvdXJjZSBhbmQgc2lua3BhZHMgYmVjYXVzZSB0aGV5IGFyZQoJICB0aGUgc2FtZS4KCSAgSW1wbGVtZW50IGEgY3VzdHVtIGV2ZW50IGhhbmRsZXIgYW5kIGdldCB0aGUgaW50ZXJuYWxseSBsaW5rZWQgcGFkCgkgIGRpcmVjdGx5IGluc3RlYWQgb2YgcmVseWluZyBvbiB0aGUgZGVmYXVsdCAoc2xvd2VyKSBpbXBsZW1lbnRhdGlvbi4KCjIwMDgtMDgtMzEgMTU6MDE6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzogQ29ycmVjdGx5IHRha2UgdGhlIGdyYW51bGVwb3MgZnJvbSB1cHN0cmVhbSBpZiBwb3NzaWJsZSBhbmQgY29ycmVjdGx5IGhhbmRsZSB0aGUgZ3JhbnVsZXBvcyBpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6IChjZWx0X2RlY19jaGFpbl9wYXJzZV9kYXRhKToKCSAgQ29ycmVjdGx5IHRha2UgdGhlIGdyYW51bGVwb3MgZnJvbSB1cHN0cmVhbSBpZiBwb3NzaWJsZSBhbmQKCSAgY29ycmVjdGx5IGhhbmRsZSB0aGUgZ3JhbnVsZXBvcyBpbiB2YXJpb3VzIGNhbGN1bGF0aW9uczogdGhlCgkgIGdyYW51bGVwb3MgaXMgdGhlIHNhbXBsZSBudW1iZXIgb2YgdGhlIF9sYXN0XyBzYW1wbGUgaW4gYSBmcmFtZSwgbm90CgkgIHRoZSBmaXJzdC4KCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6IChnc3RfY2VsdF9lbmNfc2lua2V2ZW50KSwKCSAgKGdzdF9jZWx0X2VuY19lbmNvZGUpLCAoZ3N0X2NlbHRfZW5jX2NoYWluKSwKCSAgKGdzdF9jZWx0X2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgSGFuZGxlIG5vbi16ZXJvIHN0YXJ0IHRpbWVzdGFtcHMgaW4gdGhlIGVuY29kZXIgYW5kIGRldGVjdC9oYW5kbGUKCSAgc3RyZWFtIGRpc2NvbnRpbnVpdGllcy4gRml4ZXMgYnVnICM1NDcwNzUuCgoyMDA4LTA4LTMxIDEyOjIwOjMzICswMDAwICBSb3YgSnV2YW5vIDxyb3ZqdXZhbm9AdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHNjYWxldGVtcG8gcGx1Z2luLCB3aGljaCBhbGxvd3MgdG8gc2NhbGUgdGhlIHNwZWVkIG9mIGF1ZGlvIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBpdGNoIGJ5IGhhbmRsaW5nIHNlZWtzIHdpdGggYSByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm92IEp1dmFubyA8cm92anV2YW5vIGF0IHVzZXJzIGRvdCBzb3VyY2Vmb3JnZSBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzogKHBvcF9zdGF0dXNfYmFyKSwKCSAgKHN0YXR1c19iYXJfcHJpbnRmKSwgKGRlbW9fZ3VpX3NlZWtfYmFyX2Zvcm1hdCksICh1cGRhdGVfcG9zaXRpb24pLAoJICAoZGVtb19ndWlfc2Vla19iYXJfY2hhbmdlKSwgKGRlbW9fZ3VpX2RvX2NoYW5nZV9yYXRlKSwKCSAgKGRlbW9fZ3VpX2RvX3NldF9yYXRlKSwgKGRlbW9fZ3VpX2RvX3JhdGVfZW50ZXJlZCksCgkgIChkZW1vX2d1aV9kb190b2dnbGVfYWR2YW5jZWQpLCAoZGVtb19ndWlfZG9fdG9nZ2xlX2Rpc2FibGVkKSwKCSAgKGRlbW9fZ3VpX2RvX3NlZWspLCAoZGVtb19ndWlfZG9fcGxheSksIChkZW1vX2d1aV9kb19wYXVzZSksCgkgIChkZW1vX2d1aV9kb19wbGF5X3BhdXNlKSwgKGRlbW9fZ3VpX2RvX29wZW5fZmlsZSksCgkgIChkZW1vX2d1aV9kb19wbGF5bGlzdF9wcmV2KSwgKGRlbW9fZ3VpX2RvX3BsYXlsaXN0X25leHQpLAoJICAoZGVtb19ndWlfZG9fYWJvdXRfZGlhbG9nKSwgKGRlbW9fZ3VpX2RvX3F1aXQpLAoJICAoZGVtb19ndWlfcmVxdWVzdF9zZXRfc3RyaWRlKSwgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X292ZXJsYXApLAoJICAoZGVtb19ndWlfcmVxdWVzdF9zZXRfc2VhcmNoKSwgKGRlbW9fZ3VpX3JhdGVfY2hhbmdlZCksCgkgIChkZW1vX2d1aV9wbGF5aW5nX3N0YXJ0ZWQpLCAoZGVtb19ndWlfcGxheWluZ19wYXVzZWQpLAoJICAoZGVtb19ndWlfcGxheWluZ19lbmRlZCksIChkZW1vX2d1aV9wbGF5ZXJfZXJyb3JlZCksCgkgIChkZW1vX2d1aV9zdHJpZGVfY2hhbmdlZCksIChkZW1vX2d1aV9vdmVybGFwX2NoYW5nZWQpLAoJICAoZGVtb19ndWlfc2VhcmNoX2NoYW5nZWQpLCAoZGVtb19ndWlfc2V0X3BsYXllcl9mdW5jKSwKCSAgKGRlbW9fZ3VpX3NldF9wbGF5bGlzdF9mdW5jKSwgKGJ1aWxkX2d2YWx1ZV9hcnJheSksCgkgIChjcmVhdGVfYWN0aW9uKSwgKGRlbW9fZ3VpX3Nob3dfZnVuYyksIChkZW1vX2d1aV9zZXRfcGxheWVyKSwKCSAgKGRlbW9fZ3VpX3NldF9wbGF5bGlzdCksIChkZW1vX2d1aV9zaG93KSwgKGRlbW9fZ3VpX2dldF9wcm9wZXJ0eSksCgkgIChkZW1vX2d1aV9zZXRfcHJvcGVydHkpLCAoZGVtb19ndWlfaW5pdCksIChkZW1vX2d1aV9jbGFzc19pbml0KSwKCSAgKGRlbW9fZ3VpX2dldF90eXBlKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmg6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzogKGhhbmRsZV9lcnJvcl9tZXNzYWdlKSwKCSAgKGhhbmRsZV9xdWl0KSwgKG1haW4pOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzogKG5vX3BpcGVsaW5lKSwKCSAgKGRlbW9fcGxheWVyX2V2ZW50X2xpc3RlbmVyKSwgKGRlbW9fcGxheWVyX3N0YXRlX2NoYW5nZWRfY2IpLAoJICAoZGVtb19wbGF5ZXJfZW9zX2NiKSwgKGRlbW9fcGxheWVyX2J1aWxkX3BpcGVsaW5lKSwgKF9zZXRfcmF0ZSksCgkgIChkZW1vX3BsYXllcl9zY2FsZV9yYXRlX2Z1bmMpLCAoZGVtb19wbGF5ZXJfc2V0X3JhdGVfZnVuYyksCgkgIChfc2V0X3N0YXRlX2FuZF93YWl0KSwgKGRlbW9fcGxheWVyX2xvYWRfdXJpX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfcGxheV9mdW5jKSwgKGRlbW9fcGxheWVyX3BhdXNlX2Z1bmMpLCAoX3NlZWtfdG8pLAoJICAoZGVtb19wbGF5ZXJfc2Vla19ieV9mdW5jKSwgKGRlbW9fcGxheWVyX3NlZWtfdG9fZnVuYyksCgkgIChkZW1vX3BsYXllcl9nZXRfcG9zaXRpb25fZnVuYyksIChkZW1vX3BsYXllcl9nZXRfZHVyYXRpb25fZnVuYyksCgkgIChkZW1vX3BsYXllcl9zY2FsZV9yYXRlKSwgKGRlbW9fcGxheWVyX3NldF9yYXRlKSwKCSAgKGRlbW9fcGxheWVyX2xvYWRfdXJpKSwgKGRlbW9fcGxheWVyX3BsYXkpLCAoZGVtb19wbGF5ZXJfcGF1c2UpLAoJICAoZGVtb19wbGF5ZXJfc2Vla19ieSksIChkZW1vX3BsYXllcl9zZWVrX3RvKSwKCSAgKGRlbW9fcGxheWVyX2dldF9wb3NpdGlvbiksIChkZW1vX3BsYXllcl9nZXRfZHVyYXRpb24pLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3Byb3BlcnR5KSwgKGRlbW9fcGxheWVyX3NldF9wcm9wZXJ0eSksCgkgIChkZW1vX3BsYXllcl9pbml0KSwgKGRlbW9fcGxheWVyX2NsYXNzX2luaXQpLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3R5cGUpOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuaDoKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6IChiZXN0X292ZXJsYXBfb2Zmc2V0X2Zsb2F0KSwKCSAgKGJlc3Rfb3ZlcmxhcF9vZmZzZXRfczE2KSwgKG91dHB1dF9vdmVybGFwX2Zsb2F0KSwKCSAgKG91dHB1dF9vdmVybGFwX3MxNiksIChmaWxsX3F1ZXVlKSwgKHJlaW5pdF9idWZmZXJzKSwKCSAgKGdzdF9zY2FsZXRlbXBvX3RyYW5zZm9ybSksIChnc3Rfc2NhbGV0ZW1wb190cmFuc2Zvcm1fc2l6ZSksCgkgIChnc3Rfc2NhbGV0ZW1wb19zaW5rX2V2ZW50KSwgKGdzdF9zY2FsZXRlbXBvX3NldF9jYXBzKSwKCSAgKGdzdF9zY2FsZXRlbXBvX2dldF9wcm9wZXJ0eSksIChnc3Rfc2NhbGV0ZW1wb19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NjYWxldGVtcG9fYmFzZV9pbml0KSwgKGdzdF9zY2FsZXRlbXBvX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NjYWxldGVtcG9faW5pdCk6CgkgICogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5oOgoJICAqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIHNjYWxldGVtcG8gcGx1Z2luLCB3aGljaCBhbGxvd3MgdG8gc2NhbGUgdGhlIHNwZWVkIG9mIGF1ZGlvIHdpdGhvdXQKCSAgY2hhbmdpbmcgdGhlIHBpdGNoIGJ5IGhhbmRsaW5nIHNlZWtzIHdpdGggYSByYXRlIT0xLjAuCgkgIEludGVncmF0ZSBpdCBpbnRvIHRoZSBkb2NzIGFuZCBhZGQgdGhlIGV4YW1wbGUgYXBwbGljYXRpb24gZm9yIGl0LgoJICBGaXhlcyBidWcgIzUzNzcwMC4KCjIwMDgtMDgtMzAgMjA6MjI6MDEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBGaXggc29tZSBtZW1sZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBGaXggc29tZSBtZW1sZWFrcy4KCjIwMDgtMDgtMzAgMDY6MzA6NDIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBGaXggRU9TIGhhbmRsaW5nLiAgQ2xlYW4gdXAgYXQgb2JqZWN0IGRpc3Bvc2FsLiAgSGFuZGxlIDQ6MjoyIGFuZCA0OjQ6NCB2aWRlby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBGaXggRU9TIGhhbmRsaW5nLiAgQ2xlYW4gdXAgYXQKCSAgb2JqZWN0IGRpc3Bvc2FsLiAgSGFuZGxlIDQ6MjoyIGFuZCA0OjQ6NCB2aWRlby4KCjIwMDgtMDgtMjkgMTQ6MDU6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6IEZpeCBjb21waWxlciB3YXJuaW5nIG9uIEZvcnRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gRm9ydGUuCgoyMDA4LTA4LTI5IDEzOjU3OjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ29tbWl0IEZJT05SRUFECWNoZWNrLCBuZWVkZWQgZm9yIHRoZSBkY2NwIHNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb21taXQgRklPTlJFQUQJY2hlY2ssIG5lZWRlZCBmb3IgdGhlIGRjY3Agc3JjLgoKMjAwOC0wOC0yOSAxMjoxNjoyNyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSB0byBpbmNsdWRlIGxhdGVzdCBwbHVnaW5zLCBhZGQgYXBleHNyYyBkaXJldG9yeSB0byBkaXN0ZWQgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgdG8gaW5jbHVkZSBsYXRlc3QgcGx1Z2lucywgYWRkIGFwZXhzcmMgZGlyZXRvcnkgdG8gZGlzdGVkIGZpbGVzCgoyMDA4LTA4LTI5IDExOjM2OjQxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy4qOiBBZGQgY29kZSBmb3IgY2FsY3VsYXRpbmcgcHJvcGVyIHRpbWVzdGFtcC9kdXJhdGlvbiBmb3IgdGhlIHRyYWlsaW5nIGVuY29kZWQgYnVmZmVycyB0aGF0IGZhYWMgd2lsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2luaXQpLCAoZ3N0X2ZhYWNfc2lua19ldmVudCksCgkgIChnc3RfZmFhY19jaGFpbiksIChnc3RfZmFhY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgQWRkIGNvZGUgZm9yIGNhbGN1bGF0aW5nIHByb3BlciB0aW1lc3RhbXAvZHVyYXRpb24gZm9yIHRoZSB0cmFpbGluZwoJICBlbmNvZGVkIGJ1ZmZlcnMgdGhhdCBmYWFjIHdpbGwgb3V0cHV0IHdoZW4gcmVjZWl2aW5nIEVPUy4KCjIwMDgtMDgtMjkgMDg6NTc6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IENGTEFHUyBhbmQgTElCUyBmb3IgdGhlIGFwZXhzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBDRkxBR1MgYW5kIExJQlMgZm9yIHRoZSBhcGV4c2luay4KCjIwMDgtMDgtMjggMjI6MDI6MjggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYyAoa3NfdmlkZW9fbWVkaWFfdHlwZV9mcmVlKTogQXZvaWQgbGVha2luZyB0aGUgS1NEQVRBUkFOR0UgbWVtYmVyIG9mIGVhY2ggS3NWaWRlb01lZGlhVHlwZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmMgKGtzX3ZpZGVvX21lZGlhX3R5cGVfZnJlZSk6CgkgIEF2b2lkIGxlYWtpbmcgdGhlIEtTREFUQVJBTkdFIG1lbWJlciBvZiBlYWNoIEtzVmlkZW9NZWRpYVR5cGUuCgoyMDA4LTA4LTI4IDE3OjE2OjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9kY2NwLzogRml4IGNvbXBpbGF0aW9uIG9uIFNvbGFyaXMgYnkgaW5jbHVkaW5nIGZpbGlvLmggYXMgbmVlZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJICBGaXggY29tcGlsYXRpb24gb24gU29sYXJpcyBieSBpbmNsdWRpbmcgZmlsaW8uaCBhcyBuZWVkZWQuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggRm9ydGUgLSBhcHBhcmVudGx5IGl0IGhhdGVzIGNvbmNhdGVuYXRpbmcgYQoJICBtYWNybyBhcmd1bWVudCB0aGF0IHN0YXJ0cyB3aXRoIGFuIHVuZGVyc2NvcmU/PwoKMjAwOC0wOC0yOCAxNzowMTozMCArMDAwMCAgSsOpcsOpbWllIEJlcm5hcmQgPGdyZW1pbWFpbEBnbWFpbC5jb20+CgoJICBBZGQgYXBleHNpbmsgZm9yIGF1ZGlvIG91dHB1dCB0byBBcHBsZSBBaXJQb3J0IEV4cHJlc3MgV2lyZWxlc3MgZGV2aWNlcy4gRml4ZXMgYnVnICM1NDI1MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSsOpcsOpbWllIEJlcm5hcmQgPGdyZW1pbWFpbCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYXBleHNpbmsvTEdQTC0zLjAudHh0OgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOiAoZ19zdHJkZWwpLCAoZ3N0X2FwZXhyYW9wX3NlbmQpLAoJICAoZ3N0X2FwZXhyYW9wX3JlY3YpLCAoZ3N0X2FwZXhyYW9wX25ldyksIChnc3RfYXBleHJhb3BfZnJlZSksCgkgIChnc3RfYXBleHJhb3Bfc2V0X2hvc3QpLCAoZ3N0X2FwZXhyYW9wX2dldF9ob3N0KSwKCSAgKGdzdF9hcGV4cmFvcF9zZXRfcG9ydCksIChnc3RfYXBleHJhb3BfZ2V0X3BvcnQpLAoJICAoZ3N0X2FwZXhyYW9wX3NldF91c2VyYWdlbnQpLCAoZ3N0X2FwZXhyYW9wX2dldF91c2VyYWdlbnQpLAoJICAoZ3N0X2FwZXhyYW9wX2Nvbm5lY3QpLCAoZ3N0X2FwZXhyYW9wX2dldF9qYWNrdHlwZSksCgkgIChnc3RfYXBleHJhb3BfZ2V0X2phY2tzdGF0dXMpLCAoZ3N0X2FwZXhyYW9wX2Nsb3NlKSwKCSAgKGdzdF9hcGV4cmFvcF9zZXRfdm9sdW1lKSwgKGdzdF9hcGV4cmFvcF93cml0ZV9iaXRzKSwKCSAgKGdzdF9hcGV4cmFvcF93cml0ZSksIChnc3RfYXBleHJhb3BfZmx1c2gpOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5oOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOiAoZ3N0X2FwZXhzaW5rX2phY2tzdGF0dXNfZ2V0X3R5cGUpLAoJICAoZ3N0X2FwZXhzaW5rX2phY2t0eXBlX2dldF90eXBlKSwgKGdzdF9hcGV4c2lua19pbnRlcmZhY2VzX2luaXQpLAoJICAoZ3N0X2FwZXhzaW5rX2ltcGxlbWVudHNfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2FwZXhzaW5rX21peGVyX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9hcGV4c2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9hcGV4c2lua19taXhlcl9saXN0X3RyYWNrcyksIChnc3RfYXBleHNpbmtfbWl4ZXJfc2V0X3ZvbHVtZSksCgkgIChnc3RfYXBleHNpbmtfbWl4ZXJfZ2V0X3ZvbHVtZSksIChnc3RfYXBleHNpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9hcGV4c2lua19jbGFzc19pbml0KSwgKGdzdF9hcGV4c2lua19pbml0KSwKCSAgKGdzdF9hcGV4c2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X2FwZXhzaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBleHNpbmtfZmluYWxpc2UpLCAoZ3N0X2FwZXhzaW5rX29wZW4pLAoJICAoZ3N0X2FwZXhzaW5rX3ByZXBhcmUpLCAoZ3N0X2FwZXhzaW5rX3dyaXRlKSwKCSAgKGdzdF9hcGV4c2lua191bnByZXBhcmUpLCAoZ3N0X2FwZXhzaW5rX2RlbGF5KSwKCSAgKGdzdF9hcGV4c2lua19yZXNldCksIChnc3RfYXBleHNpbmtfY2xvc2UpOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5oOgoJICBBZGQgYXBleHNpbmsgZm9yIGF1ZGlvIG91dHB1dCB0byBBcHBsZSBBaXJQb3J0IEV4cHJlc3MgV2lyZWxlc3MKCSAgZGV2aWNlcy4gRml4ZXMgYnVnICM1NDI1MTAuCgoyMDA4LTA4LTI4IDE1OjIxOjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBTZW5kIEVPUyB3aGVuIHRoZSBzZXNzaW9uIG9iamVjdCBpbnN0cnVjdHMgdXMgdG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICBTZW5kIEVPUyB3aGVuIHRoZSBzZXNzaW9uIG9iamVjdCBpbnN0cnVjdHMgdXMgdG8uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIGZvciB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHRvIGluc3RydWN0IHVzIHRvIHNlbmQgRU9TLiBXZQoJICBjdXJyZW50bHkgd2lsbCBFT1Mgd2hlbiB0aGUgc2Vzc2lvbiBpcyBhIHNlbmRlciBhbmQgd2hlbiB0aGUgc2VuZGVyIHBhcnQKCSAgZ29lcyBFT1MuIFRoaXMgaXMgbm90IGVudGlyZWx5IGNvcnJlY3QgYmVoYXZpb3VyIGJlY2F1c2UgdGhlIHNlc3Npb24KCSAgY291bGQgc3RpbGwgcGFydGljaXBhdGUgYXMgYSByZWNlaXZlci4KCSAgRml4ZXMgIzU0OTQwOS4KCjIwMDgtMDgtMjggMDE6MDM6MjQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IFJlYWQgc2l6ZSBvZiBjaHVua3MgcHJlY2VlZGluZyB0aGUgYXVkaW8gZGF0YSB3aXRoIHRoZSBjb3JyZWN0IGVuZGlhbm5lc3MuIEZpeGVzIHBsYXliYWNrIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJICBSZWFkIHNpemUgb2YgY2h1bmtzIHByZWNlZWRpbmcgdGhlIGF1ZGlvIGRhdGEgd2l0aCB0aGUKCSAgY29ycmVjdCBlbmRpYW5uZXNzLiBGaXhlcyBwbGF5YmFjayBvZiBzb21lIGZpbGVzLgoJICBGaXhlcyAjNTM4NTAwCgoyMDA4LTA4LTI4IDAwOjI1OjI4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgYW4gQUlGRiBwYXJzaW5nIGVsZW1lbnQsIGhlYXZpbHkgYmFzZWQgb24gd2F2cGFyc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuaDoKCSAgQWRkIGFuIEFJRkYgcGFyc2luZyBlbGVtZW50LCBoZWF2aWx5IGJhc2VkIG9uIHdhdnBhcnNlLgoKMjAwOC0wOC0yNyAyMTozMzowNyArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYyAoZ3N0X2tzX3ZpZGVvX2RldmljZV9jbGFzc19pbml0LCBnc3Rfa3NfdmlkZW9fZGV2aWNlX3NldF9zdGF0ZSk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmMgKGdzdF9rc192aWRlb19kZXZpY2VfY2xhc3NfaW5pdCwKCSAgZ3N0X2tzX3ZpZGVvX2RldmljZV9zZXRfc3RhdGUpOgoJICBEb24ndCBzZXQgdGhlIHBpbiBzdGF0ZSB0byBLU1NUQVRFX1JVTiBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBTa2lwIEtTU1RBVEVfQUNRVUlSRSB3aGVuIGNoYW5naW5nIHBpbiBzdGF0ZSBkb3dud2FyZHMuCgkgIEJlIG5pY2UgYW5kIHNwZWNpZnkgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgUmVtb3ZlIHVudXNlZCBmaW5hbGl6ZSBtZXRob2QuCgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYyAoREVGQVVMVF9FTkFCTEVfUVVJUktTLCBQUk9QX0VOQUJMRV9RVUlSS1MsCgkgIGVuYWJsZV9xdWlya3MsIGdzdF9rc192aWRlb19zcmNfY2xhc3NfaW5pdCwgZ3N0X2tzX3ZpZGVvX3NyY19pbml0LAoJICBnc3Rfa3NfdmlkZW9fc3JjX2ZpbmFsaXplLCBnc3Rfa3NfdmlkZW9fc3JjX2dldF9wcm9wZXJ0eSwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19zZXRfcHJvcGVydHksIGdzdF9rc192aWRlb19zcmNfcmVzZXQsCgkgIGdzdF9rc192aWRlb19zcmNfYXBwbHlfZHJpdmVyX3F1aXJrcywgZ3N0X2tzX3ZpZGVvX3NyY19jaGFuZ2Vfc3RhdGUsCgkgIGdzdF9rc192aWRlb19zcmNfc2V0X2NhcHMpOgoJICBGaXJzdCBkcml2ZXIgcXVpcms6IHdvcmsgYXJvdW5kIExvZ2l0ZWNoJ3MgaG9zdGlsZSBkcml2ZXIgc29mdHdhcmUgdG8KCSAgaW1wcm92ZSBzdGFiaWxpdHkgYW5kIHBlcmZvcm1hbmNlLiBTZWUgY29tbWVudHMgZm9yIGRldGFpbHMuCgkgIFByb3ZpZGUgYSBwcm9wZXJ0eSB0byBkaXNhYmxlIGRyaXZlciBxdWlya3MgKGVuYWJsZWQgYnkgZGVmYXVsdCkuCgkgIEJlIG5pY2UgYW5kIHNwZWNpZnkgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgUmVtb3ZlIHVudXNlZCBkaXNwb3NlIG1ldGhvZC4KCSAgVHdlYWsgaW5jbHVkZSBvcmRlci4KCjIwMDgtMDgtMjcgMTU6NDU6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBJbXBsZW1lbnQgdGhlIExBVEVOQ1kgcXVlcnkgaW4gYSBiZXR0ZXIgd2F5IGJ5IHRha2luZyB0aGUgbGF0ZW5jeSBvZiBhbGwgc2lua3BhZHMgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9pbnB1dF9zZWxlY3Rvcl9pbml0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9xdWVyeSk6CgkgIEltcGxlbWVudCB0aGUgTEFURU5DWSBxdWVyeSBpbiBhIGJldHRlciB3YXkgYnkgdGFraW5nIHRoZSBsYXRlbmN5IG9mIGFsbAoJICBzaW5rcGFkcyBhbmQgdGFraW5nIHRoZSBtaW4vbWF4IGluc3RlYWQgb2YganVzdCB0YWtpbmcgYSByYW5kb20gcGFkLgoKMjAwOC0wOC0yNiAxMjozMzoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC86IFVucm9sbCB0aGUgbG9vcCB0byBoYW5kbGUgdHdvIGJ5dGVzIGF0IG9uY2UuIFRoaXMgc2hvdWxkIGdpdmUgYSBzbWFsbCBzcGVlZHVwIGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICBVbnJvbGwgdGhlIGxvb3AgdG8gaGFuZGxlIHR3byBieXRlcyBhdCBvbmNlLiBUaGlzIHNob3VsZCBnaXZlCgkgIGEgc21hbGwgc3BlZWR1cCBhbmQgbWFrZXMgaXQgcG9zc2libGUgdG8gaGFuZGxlIGNocm9tYSBhbmQgbHVtYQoJICBkaWZmZXJlbnQgd2hpY2ggaXMgbmVlZGVkIGxhdGVyLgoKMjAwOC0wOC0yNiAxMToxODozOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLio6IERvbid0IHB1dCBnbG9iYWxzIG9ubHkgdXNlZCBieSBvbmUgJy5jJyBmaWxlIGluIGEgaGVhZGVyICEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5oOgoJICBEb24ndCBwdXQgZ2xvYmFscyBvbmx5IHVzZWQgYnkgb25lICcuYycgZmlsZSBpbiBhIGhlYWRlciAhCgkgIERlY2xhcmUgaXQgYXMgc3RhdGljLCBmaXhlcyBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA4LTI2IDExOjEzOjI0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RjY3AvZ3N0ZGNjcC5jOiBXaG9vcHMsIHRoYXQgd2FzIG9uZSBmaXggdG9vIG11Y2ggOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOiAoZ3N0X2RjY3Bfc2VuZF9idWZmZXIpOgoJICBXaG9vcHMsIHRoYXQgd2FzIG9uZSBmaXggdG9vIG11Y2ggOikKCjIwMDgtMDgtMjYgMTE6MDg6MzQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGNjcC9nc3RkY2NwLmM6IHNpemVfdCdzIHNpemUgdmFyaWVzIGJ5IHBsYXRmb3JtL2FyY2hpdGVjdHVyZS4gVXNlIGdsaWIgY29udmVuaWVuY2UgbWFjcm8gaW5zdGVhZC4gRml4ZXMgYnVpbGQgb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOiAoZ3N0X2RjY3BfcmVhZF9idWZmZXIpLAoJICAoZ3N0X2RjY3Bfc2VuZF9idWZmZXIpLCAoZ3N0X2RjY3Bfc2V0X3NvY2tfd2luZG93c2l6ZSk6CgkgIHNpemVfdCdzIHNpemUgdmFyaWVzIGJ5IHBsYXRmb3JtL2FyY2hpdGVjdHVyZS4gVXNlIGdsaWIgY29udmVuaWVuY2UKCSAgbWFjcm8gaW5zdGVhZC4gRml4ZXMgYnVpbGQgb24gbWFjb3N4LgoJICBSZW1vdmUgZW5kaW5nICdcbicgaW4gZGVidWcgc3RhdGVtZW50cy4KCjIwMDgtMDgtMjYgMTE6MDE6NDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOiBSZW1vdmUgdW51c2VkIGNvZGUgYW5kIGZpeCBpbmNsdWRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzogKGdzdF9wY2FwX3BhcnNlX2NsYXNzX2luaXQpOgoJICBSZW1vdmUgdW51c2VkIGNvZGUgYW5kIGZpeCBpbmNsdWRlcy4KCjIwMDgtMDgtMjUgMTQ6Mzc6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBGaXJzdCBwYXJ0IG9mIHRoZSBDIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtLiBUaGlzIG9ubHkgc3VwcG9ydHMgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBGaXJzdCBwYXJ0IG9mIHRoZSBDIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcKCSAgYWxnb3JpdGhtLiBUaGlzIG9ubHkgc3VwcG9ydHMgc2VhcmNoLWVmZm9ydD0wIGN1cnJlbnRseSwgaXMgcGFpbmZ1bGx5CgkgIHNsb3cgYW5kIG5lZWRzIHNvbWUgY2xlYW51cCBsYXRlciB3aGVuIGFsbCBzZWFyY2gtZWZmb3J0IHNldHRpbmdzCgkgIGFyZSBpbXBsZW1lbnRlZCBpbiBDLgoKMjAwOC0wOC0yNCAyMjowNTo0OCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIE5ldyBwbHVnaW4gZm9yIGxvdy1sYXRlbmN5IHZpZGVvIGNhcHR1cmUgb24gV2luZG93cyAoIzUxOTkzNSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkgICogc3lzL3dpbmtzL2dzdGtzY2xvY2suaDoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5oOgoJICAqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSAgKiBzeXMvd2lua3Mva3NoZWxwZXJzLmg6CgkgICogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgICogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmg6CgkgIE5ldyBwbHVnaW4gZm9yIGxvdy1sYXRlbmN5IHZpZGVvIGNhcHR1cmUgb24gV2luZG93cyAoIzUxOTkzNSkuCgkgIFVzZXMgS2VybmVsIFN0cmVhbWluZywgdGhlIGxvd2VzdCBsZXZlbCBBUEkgZm9yIGRvaW5nIHZpZGVvIGNhcHR1cmUKCSAgb24gV2luZG93cyAobW9yZSBvciBsZXNzIGp1c3QgcmF3IGlvY3RscykuCgoyMDA4LTA4LTI0IDE2OjU1OjQ4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgQWRkZWQgZG9jdW1lbnRhdGlvbiBibG9icy4gVGhhbmtzIHRvIFN0ZWZhbiBmb3Igbm90aWNpbmchCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJICBBZGRlZCBkb2N1bWVudGF0aW9uIGJsb2JzLiBUaGFua3MgdG8gU3RlZmFuIGZvciBub3RpY2luZyEKCjIwMDgtMDgtMjQgMTM6NTM6MjkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBOZXcgcGx1Z2luOiBwY2FwcGFyc2UgKCM1MjA4OTkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIE5ldyBwbHVnaW46IHBjYXBwYXJzZSAoIzUyMDg5OSkuCgoyMDA4LTA4LTI0IDEzOjIzOjQ0ICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgTmV3IHBsdWdpbjogd2luc2NyZWVuY2FwICgjNDYzOTQxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbnNjcmVlbmNhcC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmg6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5oOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0d2luc2NyZWVuY2FwLmM6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuaDoKCSAgTmV3IHBsdWdpbjogd2luc2NyZWVuY2FwICgjNDYzOTQxKS4KCjIwMDgtMDgtMjMgMDA6MDE6MzkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOiBGbGlwIG1wZWcxL21wZWcyIGFycmF5cyBmb3IgbXBlZyBhdWRpby4gRGV0ZWN0IHdoaWNoIHR5cGUgdGhlIGF1ZGlvIGlzIGNvcnJlYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgRmxpcCBtcGVnMS9tcGVnMiBhcnJheXMgZm9yIG1wZWcgYXVkaW8uIERldGVjdCB3aGljaCB0eXBlIHRoZSBhdWRpbwoJICBpcyBjb3JyZWN0bHksIGluc3RlYWQgb2YgYmFja3dhcmRzLiBObyBmdW5jdGlvbmFsIGNoYW5nZXMsIHNpbmNlIHRoaXMKCSAgbWlzdGFrZSB3YXMgY29tcGxldGVseSBzZWxmLWNvbnNpc3RlbnQuCgoyMDA4LTA4LTIyIDA2OjI3OjU3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOiBBZGQsIGJ1dCBjb21tZW50ZWQgb3V0IHhtbC9lbGVtZW50LWRjMTM5NC54bWwuIEl0cyBkb2N1bWVudGVkLCBidXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgQWRkLCBidXQgY29tbWVudGVkIG91dCB4bWwvZWxlbWVudC1kYzEzOTQueG1sLiBJdHMgZG9jdW1lbnRlZCwgYnV0CgkgIEkgY2FuJ3QgZ2V0IGl0IHRvIGJlIGJ1aWxkLgoJICAqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIEZpeCBkb2Mgd2FybmluZ3MgYW5kIHJlZm9ybWF0IHRoZSBkb2MgYmxvY2suCgoyMDA4LTA4LTIxIDEzOjIyOjM4ICswMDAwICBMZWFuZHJvIE1lbG8gZGUgU2FsZXMgPGxlYW5kcm9hbEBnbWFpbC5jb20+CgoJICBBZGQgZGNjcCBwbHVnaW4uIEZpeGVzICM1NDIzOTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTGVhbmRybyBNZWxvIGRlIFNhbGVzIDxsZWFuZHJvYWxAZ21haWwuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5oOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuaDoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5oOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvUkVBRE1FOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9SRUFETUU6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL0RDQ1BDbGllbnQuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL2NhbGwvRENDUFNlcnZlci5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvZmlsZS9EQ0NQQ2xpZW50U2F2ZUZpbGUuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL2ZpbGUvRENDUFNlcnZlclNlbmRGaWxlLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9taWMvRENDUENsaWVudFBsYXlNaWMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21pYy9EQ0NQU2VydmVyTWljLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9tcDMvRENDUENsaWVudFBsYXlNUDMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21wMy9EQ0NQU2VydmVyU2VuZE1QMy5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3BlZXgvRENDUENsaWVudFBsYXlTcGVleE1QMy5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3BlZXgvRENDUFNlcnZlclNlbmRTcGVleE1QMy5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3RyZWFtL0RDQ1BDbGllbnRQbGF5TVAzU3RyZWFtLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9tcDNTdHJlYW0vRENDUFNlcnZlclNlbmRNUDNTdHJlYW0uYzoKCSAgQWRkIGRjY3AgcGx1Z2luLiBGaXhlcyAjNTQyMzkwLgoKMjAwOC0wOC0yMCAyMjoyNDoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIGJpdHMgdGhhdCBwcmVzdW1hYmx5IHdlcmVuJ3Qgc3VwcG9zZWQgdG8gYmUgY29tbWl0dGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSBiaXRzIHRoYXQgcHJlc3VtYWJseSB3ZXJlbid0IHN1cHBvc2VkIHRvIGJlIGNvbW1pdHRlZC4KCjIwMDgtMDgtMjAgMjE6NDQ6MjIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBuZXcgd2luZG93cyBBQ00gZW5jb2RlciB3cmFwcGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSAgQWRkIG5ldyB3aW5kb3dzIEFDTSBlbmNvZGVyIHdyYXBwZXIuCgoyMDA4LTA4LTE4IDExOjEzOjA3ICswMDAwICBNaWNoYWVsIEtydWZreSA8bWtydWZreUBsaW51eHR2Lm9yZz4KCgkgIHN5cy9kdmIvOiBBZGQgQVRTQyB0dW5uaW5nIGFuZCBjaGFubmVscy5jb25mIHBhcnNpbmcgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBNaWNoYWVsIEtydWZreQoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIEFkZCBBVFNDIHR1bm5pbmcgYW5kIGNoYW5uZWxzLmNvbmYgcGFyc2luZyBzdXBwb3J0LgoJICBGaXhlcyAjNTM3NDU1CgoyMDA4LTA4LTEzIDIxOjU4OjA4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvOiBJbml0aWFsaXNlIENPTSB3aXRoIGRlZmF1bHQgZmxhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIEluaXRpYWxpc2UgQ09NIHdpdGggZGVmYXVsdCBmbGFncy4KCSAgT25seSBkZWluaXRpYWxpc2UgaWYgdGhlIGluaXRpYWxpc2F0aW9uIHdhcyBzdWNjZXNzZnVsLgoKMjAwOC0wOC0xMyAxNDozMTowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZXNldCBydHAgdGltZXN0YW1wIGludGVycG9sbGF0aW9uIHdoZW4gd2UgZGV0ZWN0IGEgZ2FwIHdoZW4gdGhlIGNsb2NrX2Jhc2UgY2hhbmdlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBSZXNldCBydHAgdGltZXN0YW1wIGludGVycG9sbGF0aW9uIHdoZW4gd2UgZGV0ZWN0IGEgZ2FwIHdoZW4gdGhlCgkgIGNsb2NrX2Jhc2UgY2hhbmdlZC4KCSAgRG9uJ3QgdHJ5IHRvIGFkanVzdCB0aGUgdHMtb2Zmc2V0IHdoZW4gaXQncyB0b28gYmlnICg+IDNzZWNvbmRzKQoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9zZXRfc3NyYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgbWV0aG9kIHRvIHNldCBzZXNzaW9uIFNTUkMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9pbnRlcm5hbF9zc3JjKSwgKHJ0cF9zZXNzaW9uX2dldF9pbnRlcm5hbF9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkZWQgZGVidWdnaW5nIGZvciB0aGUgY29sbGlzaW9uIGNoZWNrcy4KCSAgQWRkIG1ldGhvZCB0byBjaGFuZ2UgdGhlIGludGVybmFsIFNTUkMgb2YgdGhlIHNlc3Npb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgUmVzZXQgdGhlIGNsb2NrIGJhc2Ugd2hlbiB3ZSBkZXRlY3QgbGFyZ2UganVtcHMgaW4gdGhlIHNlcW51bXMuCgoyMDA4LTA4LTEyIDE2OjEzOjE1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuKjogRG8gbm90IGRlYWwgd2l0aCBkdXBsaWNhdGVkIGlucHV0ICh0aW1lc3RhbXBzKS4gIElmIG5lZWRlZCwgYSBnZW5lcmljIGVsZW1lbnQgY2FuIGRvIHNvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfcmVzZXQpLAoJICAoZ3N0X3gyNjRfZW5jX2NoYWluKSwgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgRG8gbm90IGRlYWwgd2l0aCBkdXBsaWNhdGVkIGlucHV0ICh0aW1lc3RhbXBzKS4gIElmIG5lZWRlZCwKCSAgYSBnZW5lcmljIGVsZW1lbnQgY2FuIGRvIHNvLgoJICBEbyBub3QgbWFuaXB1bGF0ZSBpbnB1dCB0aW1lc3RhbXBzIG9uIHRoZSB3YXkgb3V0LAoJICBzaW5jZSB0aGF0IHNoaWZ0cyB0aGUgdGltZWxpbmUgYW5kIEEvViBzeW5jLgoKMjAwOC0wOC0xMiAxNTo0MTo0OCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczogSW50ZWdyYXRlIG5ldyBwcm9wZXJ0aWVzIGludG8gZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIEludGVncmF0ZSBuZXcgcHJvcGVydGllcyBpbnRvIGRvY3VtZW50YXRpb24uCgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2RlciksCgkgIChnc3RfeDI2NF9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94MjY0X2VuY19nZXRfcHJvcGVydHkpOgoJICBGaXggdXAgQVBJIHByaW9yIHRvIGV2ZW50dWFsIHBsdWdpbiBtb3ZlLgoJICBBUEk6IEdzdFgyNjRFbmM6cGFzcyAocHJvdmlkZXMgbW9yZSBvcHRpb25zLCBhbmQgY2hhbmdlZCB0byBlbnVtKQoKMjAwOC0wOC0xMiAxNDozMTo1NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBVcGRhdGUgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvciBtcGxleC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBVcGRhdGUgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvciBtcGxleC4KCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIERvY3VtZW50YXRpb24gdXBkYXRlLgoKMjAwOC0wOC0xMiAxMzowODozOSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgdW5pdCB0ZXN0IGZvciB4MjY0ZW5jLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94MjY0ZW5jLmM6IChzZXR1cF94MjY0ZW5jKSwKCSAgKGNsZWFudXBfeDI2NGVuYyksIChHU1RfU1RBUlRfVEVTVCksICh4MjY0ZW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgdW5pdCB0ZXN0IGZvciB4MjY0ZW5jLgoKMjAwOC0wOC0xMSAxNzoyNDo1OCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IEFsbG9jYXRlIHNvbWUgYnVmZmVycyBpbiBtb3JlIGFkYXB0aXZlIGFuZCBlY29ub21pY2FsIGZhc2hpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19pbml0KSwKCSAgKGdzdF94MjY0X2VuY19oZWFkZXJfYnVmKSwgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpOgoJICBBbGxvY2F0ZSBzb21lIGJ1ZmZlcnMgaW4gbW9yZSBhZGFwdGl2ZSBhbmQgZWNvbm9taWNhbCBmYXNoaW9uLgoKMjAwOC0wOC0xMSAxNToxNjoxNCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBzdWZmaWNpZW50bHkgdXAtdG8tZGF0ZSB4MjY0IEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3Igc3VmZmljaWVudGx5IHVwLXRvLWRhdGUgeDI2NCBBUEkuCgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX3Bhc3NfZ2V0X3R5cGUpLAoJICAoZ3N0X3gyNjRfZW5jX2Jhc2VfaW5pdCksIChnc3RfeDI2NF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfaW5pdCksIChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKSwKCSAgKGdzdF94MjY0X2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3gyNjRfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICBFeHBvc2Ugc29tZSBtb3JlIHBhcmFtZXRlcnMgb2YgdGhlIHgyNjQgZW5jb2RlciBhcyBwcm9wZXJ0aWVzLgoKMjAwOC0wOC0xMSAwNzoyMDoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFByaW50IHRoZSBwYWQtbmFtZSBpbiBkZWJ1ZyBsb2cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBQcmludCB0aGUgcGFkLW5hbWUgaW4gZGVidWcgbG9nLgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICBVc2UgIi0iIGluc3RlYWQgb2YgIl8iIGluIHByb3BlcnR5IG5hbWVzLiBDYW4gd2UgY2FsbCB0aGVtIGp1c3QKCSAgImRldmljZSIgbGlrZSBldmVyeXdoZXJlIGVsc2U/CgoyMDA4LTA4LTA4IDE1OjA3OjEyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogQ29kaW5nIHN0eWxlIGFuZCBsYXlvdXQ7IHJlLW9yZGVyIHNvbWUgZnVuY3Rpb25zIGluIG1vcmUgdHlwaWNhbCBhbmQgbmF0dXJhbCBmbG93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfbG9nX2NhbGxiYWNrKSwKCSAgKGdzdF94MjY0X2VuY19maW5hbGl6ZSksIChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksCgkgIChnc3RfeDI2NF9lbmNfc2V0X3NyY19jYXBzKSwgKGdzdF94MjY0X2VuY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF94MjY0X2VuY19mbHVzaF9mcmFtZXMpOgoJICBDb2Rpbmcgc3R5bGUgYW5kIGxheW91dDsgcmUtb3JkZXIgc29tZSBmdW5jdGlvbnMgaW4gbW9yZQoJICB0eXBpY2FsIGFuZCBuYXR1cmFsIGZsb3cuCgoyMDA4LTA4LTA4IDE0OjE5OjE2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0LzogVXNlIEdRdWV1ZSBpbiBzdGVhZCBvZiBjdXN0b20gcXVldWUgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX3NldF9zcmNfY2FwcyksCgkgIChnc3RfeDI2NF9lbmNfc2lua19zZXRfY2FwcyksIChnc3RfeDI2NF9lbmNfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfcmVzZXQpLCAoZ3N0X3gyNjRfZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF94MjY0X2VuY19mbHVzaF9mcmFtZXMpLCAoZ3N0X3gyNjRfZW5jX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3gyNjRfZW5jX2NoYWluKSwgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpLAoJICAoZ3N0X3gyNjRfZW5jX2NoYW5nZV9zdGF0ZSksIChnc3RfeDI2NF9lbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgIFVzZSBHUXVldWUgaW4gc3RlYWQgb2YgY3VzdG9tIHF1ZXVlIGNvZGUuCgkgIEZhY3Rvcml6ZSBmbHVzaGluZyBvdXQgZW5jb2RlciBkZWxheWVkIGZyYW1lcy4KCSAgRmFjdG9yaXplIGluaXRpYWxpemF0aW9uIGFuZCBzdGF0ZSBjaGFuZ2UgcmVzZXQuCgoyMDA4LTA4LTA4IDEwOjU2OjAyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIFVzZSBjb25maWd1cmUtZ2VuZXJhdGVkIF9zdGRpbnQuaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSAgVXNlIGNvbmZpZ3VyZS1nZW5lcmF0ZWQgX3N0ZGludC5oLgoKMjAwOC0wOC0wOCAxMDoxMzozNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC86IFVzZSB2aWRlbyBmb3JtYXQgbGlicmFyeSBhbmQgR1NUX1dSSVRFXypfQkUgbWFjcm9zIHdoZXJlIGFwcGxpY2FibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19oZWFkZXJfYnVmKSwKCSAgKGdzdF94MjY0X2VuY19zaW5rX3NldF9jYXBzKSwgKGdzdF94MjY0X2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2xvZ19jYWxsYmFjayksCgkgIChnc3RfeDI2NF9lbmNfaW5pdCksIChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKSwKCSAgKGdzdF94MjY0X2VuY19maW5hbGl6ZSksIChnc3RfeDI2NF9lbmNfY2hhaW4pLAoJICAoZ3N0X3gyNjRfZW5jX2VuY29kZV9mcmFtZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICBVc2UgdmlkZW8gZm9ybWF0IGxpYnJhcnkgYW5kIEdTVF9XUklURV8qX0JFIG1hY3JvcyB3aGVyZSBhcHBsaWNhYmxlLgoJICBVc2UgZmluYWxpemUgaW4gc3RlYWQgb2YgZGlzcG9zZS4KCSAgU2V0IHVwIGRlYnVnIGNhdGVnb3J5IGFuZCBsb2cgY2FsbGJhY2suCgoyMDA4LTA4LTA3IDE2OjIwOjMwICswMDAwICBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfcGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3M0L29zczQtYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyCgkgIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCjIwMDgtMDgtMDcgMTQ6MzQ6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuKjogQWxsb3cgcmF3IGZsb2F0IHNhbXBsZXMgYXMgaW5wdXQgZm9yIGVuY29kaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmM6IChnc3RfdHdvX2xhbWVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF90d29fbGFtZV9jaGFpbik6CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5oOgoJICBBbGxvdyByYXcgZmxvYXQgc2FtcGxlcyBhcyBpbnB1dCBmb3IgZW5jb2RpbmcuCgoyMDA4LTA4LTA3IDEzOjE1OjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzogVHJ5IGNvbW1pdHRpbmcgdGhpcyBvbmNlIGFnYWluLiBOb3cgcHJvcGVybHkgcmVuYW1lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIFRyeSBjb21taXR0aW5nIHRoaXMgb25jZSBhZ2Fpbi4gTm93IHByb3Blcmx5IHJlbmFtZWQuCgoyMDA4LTA4LTA3IDA5OjA5OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbAoJICBBZGQgbmV3IGVsZW1lbnQgdG8gZG9jcy4KCSAgKiBleHQvamFjay9nc3RqYWNrLmgKCSAgQWRkIG1pc3NpbmcgZmlsZS4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgUmVuYW1lIGphY2thdWRpb3NyYyB0byBqYWNrX2F1ZGlvX3NyYy4KCjIwMDgtMDgtMDcgMDg6NDc6NDAgKzAwMDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSAgZXh0L2phY2svOiBBZGQgYSBqYWNrYXVkaW9zcmMuIFJlZmFjdG9yIHNpbmsgc2xpZ2h0bHkgZm9yIGJldHRlciBjb2RlIHJldXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkgIEFkZCBhIGphY2thdWRpb3NyYy4gUmVmYWN0b3Igc2luayBzbGlnaHRseSBmb3IgYmV0dGVyIGNvZGUgcmV1c2UuCgkgIEZpeGVzICM1NDUxOTcuCgoyMDA4LTA4LTA2IDE1OjQ5OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdHdvbGFtZSBhbmQgY2VsdCBwbHVnaW5zIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSAgQWRkIHR3b2xhbWUgYW5kIGNlbHQgcGx1Z2lucyB0byB0aGUgZG9jcy4KCjIwMDgtMDgtMDUgMDk6NDI6NTMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogTWFrZSB0aGUgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBpbnNlcnRpbmcgaXQgaW4gdGhlIGppdHRlcmJ1ZmZlciBiZWNhdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIE1ha2UgdGhlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgaW5zZXJ0aW5nIGl0IGluIHRoZQoJICBqaXR0ZXJidWZmZXIgYmVjYXVzZSB0aGUgaml0dGVyYnVmZmVyIHdpbGwgbW9kaWZ5IHRoZSB0aW1lc3RhbXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBVcGRhdGUgbWV0aG9kIGNvbW1lbnQgYWJvdXQgcmVxdWlyaW5nIHdyaXRhYmxlIG1ldGFkYXRhIG9uIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApOgoJICBNYWtlIHRoZSBSVENQIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWNhdXNlIHdlIHdhbnQgdG8gbW9kaWZ5IHRoZQoJICBtZXRhZGF0YS4KCSAgRml4ZXMgIzU0NjMxMi4KCjIwMDgtMDgtMDUgMDk6MDU6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBNb3ZlIHRoZSBzZWxlY3QtYWxsIGxvZ2ljIGludG8gdGhlIGFjdGl2YXRpb24gb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBwYWQuIFdlIHdhbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfYnVmZmVyYWxsb2MpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiksIChnc3RfaW5wdXRfc2VsZWN0b3JfZ2V0Y2FwcyksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfYWN0aXZhdGVfc2lua3BhZCk6CgkgIE1vdmUgdGhlIHNlbGVjdC1hbGwgbG9naWMgaW50byB0aGUgYWN0aXZhdGlvbiBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkCgkgIHBhZC4gV2Ugd2FudCB0byByZW1lbWJlciB0aGUgbGFzdCBwYWQgd2l0aCBhY3Rpdml0eSBpbiBzZWxlY3QtYWxsIG1vZGUuCgkgIEZpeCB0aGUgZ2V0Y2FwcyBmdW5jdGlvbiwgd2UgY2FuIHByb2R1Y2UgdGhlIHVuaW9uIG9mIHRoZSB1cHN0cmVhbSBjYXBzCgkgIGluIHNlbGVjdC1hbGwgbW9kZSwgbm90IHRoZSBpbnRlcnNlY3Rpb24gbGlrZSBwcm94eV9nZXRjYXBzKCkgZG9lcy4KCjIwMDgtMDgtMDUgMDk6MDA6NTAgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRml4IGRlYnVnIGJ5IGxvZ2dpbmcgdGhlIHJpZ2h0IHNlcW51bS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIw6V2YXJkIEdyYWZmIDxoYXZhcmQgZG90IGdyYWZmIGF0IHRhbmRiZXJnIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBGaXggZGVidWcgYnkgbG9nZ2luZyB0aGUgcmlnaHQgc2VxbnVtLgoKMjAwOC0wOC0wNSAwODo1ODoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIGxvY2sgYmVmb3JlIGVtaXR0aW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfcHRfbWFwKToKCSAgUmVsZWFzZSBsb2NrIGJlZm9yZSBlbWl0dGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoJICBGaXhlcyAjNTQzNDgwLgoKMjAwOC0wOC0wMiAxODo0ODoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IFVzZSBvaWxfbWVtY3B5KCkgaW5zdGVhZCBvZiBtZW1jcHkoKSBhcyBpdCdzIGZhc3RlciBmb3IgdGhlIHNpemVzIHRoYXQgYXJlIHVzdWFsbHkgdXNlZCBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfaW50ZXJwb2xhdGVfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfY29weV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfc2NhbGVyX2JvYik6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKToKCSAgVXNlIG9pbF9tZW1jcHkoKSBpbnN0ZWFkIG9mIG1lbWNweSgpIGFzIGl0J3MgZmFzdGVyIGZvciB0aGUgc2l6ZXMgdGhhdAoJICBhcmUgdXN1YWxseSB1c2VkIGhlcmUuCgoyMDA4LTA4LTAyIDE4OjM2OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIHRoZSByZW1haW5pbmcgdHZ0aW1lIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZml4IHRoZSBkZWludGVybGFjZV9mcmFtZSgpIGltcGxlbWVudGF0aW9uIG9mIEcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXIuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9jKSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9tbXgpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX21teGV4dCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmRfYyksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmQyX2MpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kX21teCksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmQyX21teCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9ibGVuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2JsZW5kX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3NjYWxlcl9ib2IpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9zY2FsZXJfYm9iX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9zY2FsZXJfYm9iX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfYmZmX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9iZmZfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV90ZmZfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX3RmZl9pbml0KToKCSAgQWRkIHRoZSByZW1haW5pbmcgdHZ0aW1lIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZml4IHRoZQoJICBkZWludGVybGFjZV9mcmFtZSgpIGltcGxlbWVudGF0aW9uIG9mIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kLgoKMjAwOC0wOC0wMiAxODozMDo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiBJbXBsZW1lbnQgdGhlIFZGSVIgZGVpbnRlcmxhY2luZyBtZXRob2QgYXMgc2ltcGxlIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfbW14KSwgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KToKCSAgSW1wbGVtZW50IHRoZSBWRklSIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFzIHNpbXBsZSBtZXRob2QuCgoyMDA4LTA4LTAyIDE4OjE4OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBBZGQgYSBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZCBzdWJjbGFzcyBvZiBHc3REZWludGVybGFjZU1ldGhvZCB0aGF0IGNhbiBiZSB1c2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2ludGVycG9sYXRlX3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NvcHlfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBBZGQgYSBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZCBzdWJjbGFzcyBvZiBHc3REZWludGVybGFjZU1ldGhvZCB0aGF0CgkgIGNhbiBiZSB1c2VkIGJ5IHNpbXBsZSBkZWludGVybGFjaW5nIG1ldGhvZHMuIFRoZXkgb25seSBoYXZlIHRvIHByb3ZpZGUKCSAgYSBmdW5jdGlvbiBmb3IgaW50ZXJwb2xhdGluZyBhIHNjYW5saW5lIG9yIGNvcHlpbmcgYSBzY2FubGluZS4KCjIwMDgtMDgtMDIgMTg6MTU6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IFJlc3BlY3QgdGhlIGxhdGVuY3kgb2YgdGhlIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtIGZvciB0aGUgdGltZXN0YW1wcyBvZiBldmVyeSBidS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbik6CgkgIFJlc3BlY3QgdGhlIGxhdGVuY3kgb2YgdGhlIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtIGZvciB0aGUgdGltZXN0YW1wcwoJICBvZiBldmVyeSBidWZmZXIuCgoyMDA4LTA4LTAyIDE4OjEzOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEFkZCB0aGUgTU1YIHJlZ2lzdGVycyB0byB0aGUgY2xvYmJlcmVkIHJlZ2lzdGVycyBvbmx5IGlmIF9fTU1YX18gaXMgZGVmaW5lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgQWRkIHRoZSBNTVggcmVnaXN0ZXJzIHRvIHRoZSBjbG9iYmVyZWQgcmVnaXN0ZXJzIG9ubHkgaWYgX19NTVhfXyBpcwoJICBkZWZpbmVkLgoKMjAwOC0wOC0wMiAxODowOTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IEVuYWJsZSB0b21zbW9jb21wIGFnYWluIGFzIHRoZSBDIHBvcnQgd2lsbCBiZSByZWFkeSBmb3IgdGhlIG5leHQgcmVsZWFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpOgoJICBFbmFibGUgdG9tc21vY29tcCBhZ2FpbiBhcyB0aGUgQyBwb3J0IHdpbGwgYmUgcmVhZHkgZm9yIHRoZSBuZXh0CgkgIHJlbGVhc2UuCgoyMDA4LTA4LTAyIDE4OjAyOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBEb24ndCB1c2UgcHJveHlfZ2V0Y2FwcygpIGJ1dCBpbXBsZW1lbnQgb3VyIG93biBnZXRjYXBzKCkgZnVuY3Rpb24gdGhhdCBkb3VibGVzL2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZ3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IpLCAoZ3N0X2ZyYWN0aW9uX2RvdWJsZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2dldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKToKCSAgRG9uJ3QgdXNlIHByb3h5X2dldGNhcHMoKSBidXQgaW1wbGVtZW50IG91ciBvd24gZ2V0Y2FwcygpIGZ1bmN0aW9uCgkgIHRoYXQgZG91Ymxlcy9oYWxmcyB0aGUgZnJhbWVyYXRlIGlmIGFsbCBmaWVsZHMgc2hvdWxkIGJlIHNlbnQgb3V0LgoKMjAwOC0wOC0wMiAxNzozOToxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIFR3b0xBTUUgTVAyIGVuY29kaW5nIGVsZW1lbnQsIGJhc2VkIG9uIHRoZSBMQU1FIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOiAoZ3N0X3R3b19sYW1lX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3R3b19sYW1lX3BhZGRpbmdfZ2V0X3R5cGUpLCAoZ3N0X3R3b19sYW1lX2VtcGhhc2lzX2dldF90eXBlKSwKCSAgKGdzdF90d29fbGFtZV9yZWxlYXNlX21lbW9yeSksIChnc3RfdHdvX2xhbWVfZmluYWxpemUpLAoJICAoZ3N0X3R3b19sYW1lX2Jhc2VfaW5pdCksIChnc3RfdHdvX2xhbWVfY2xhc3NfaW5pdCksCgkgIChnc3RfdHdvX2xhbWVfc3JjX3NldGNhcHMpLCAoZ3N0X3R3b19sYW1lX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdHdvX2xhbWVfaW5pdCksIChnc3RfdHdvX2xhbWVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF90d29fbGFtZV9nZXRfcHJvcGVydHkpLCAoZ3N0X3R3b19sYW1lX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3R3b19sYW1lX2NoYWluKSwgKGdzdF90d29fbGFtZV9zZXR1cCksCgkgIChnc3RfdHdvX2xhbWVfY2hhbmdlX3N0YXRlKSwgKGdzdF90d29fbGFtZV9nZXRfZGVmYXVsdF9zZXR0aW5ncyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5oOgoJICBBZGQgVHdvTEFNRSBNUDIgZW5jb2RpbmcgZWxlbWVudCwgYmFzZWQgb24gdGhlIExBTUUgZWxlbWVudC4KCjIwMDgtMDgtMDIgMTc6Mjk6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBDRUxUIGVuY29kZXIgYW5kIGRlY29kZXIgZWxlbWVudHMgYmFzZWQgb24gdGhlIFNwZWV4IGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L2dzdGNlbHQuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6IChnc3RfY2VsdF9kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9jZWx0X2RlY19jbGFzc19pbml0KSwgKGdzdF9jZWx0X2RlY19yZXNldCksCgkgIChnc3RfY2VsdF9kZWNfaW5pdCksIChjZWx0X2RlY19jb252ZXJ0KSwKCSAgKGNlbHRfZ2V0X3NpbmtfcXVlcnlfdHlwZXMpLCAoY2VsdF9kZWNfc2lua19xdWVyeSksCgkgIChjZWx0X2dldF9zcmNfcXVlcnlfdHlwZXMpLCAoY2VsdF9kZWNfc3JjX3F1ZXJ5KSwKCSAgKGNlbHRfZGVjX3NyY19ldmVudCksIChjZWx0X2RlY19zaW5rX2V2ZW50KSwKCSAgKGNlbHRfZGVjX2NoYWluX3BhcnNlX2hlYWRlciksIChjZWx0X2RlY19jaGFpbl9wYXJzZV9jb21tZW50cyksCgkgIChjZWx0X2RlY19jaGFpbl9wYXJzZV9kYXRhKSwgKGNlbHRfZGVjX2NoYWluKSwKCSAgKGNlbHRfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzogKGdzdF9jZWx0X2VuY19zZXR1cF9pbnRlcmZhY2VzKSwKCSAgKGdzdF9jZWx0X2VuY19iYXNlX2luaXQpLCAoZ3N0X2NlbHRfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2NlbHRfZW5jX2ZpbmFsaXplKSwgKGdzdF9jZWx0X2VuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2NlbHRfZW5jX3NpbmtfZ2V0Y2FwcyksIChnc3RfY2VsdF9lbmNfY29udmVydF9zcmMpLAoJICAoZ3N0X2NlbHRfZW5jX2NvbnZlcnRfc2luayksIChnc3RfY2VsdF9lbmNfZ2V0X2xhdGVuY3kpLAoJICAoZ3N0X2NlbHRfZW5jX2dldF9xdWVyeV90eXBlcyksIChnc3RfY2VsdF9lbmNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9jZWx0X2VuY19zaW5rX3F1ZXJ5KSwgKGdzdF9jZWx0X2VuY19pbml0KSwKCSAgKGdzdF9jZWx0X2VuY19jcmVhdGVfbWV0YWRhdGFfYnVmZmVyKSwgKGdzdF9jZWx0X2VuY19zZXR1cCksCgkgIChnc3RfY2VsdF9lbmNfYnVmZmVyX2Zyb21fZGF0YSksIChnc3RfY2VsdF9lbmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2NlbHRfZW5jX3NldF9oZWFkZXJfb25fY2FwcyksIChnc3RfY2VsdF9lbmNfc2lua2V2ZW50KSwKCSAgKGdzdF9jZWx0X2VuY19jaGFpbiksIChnc3RfY2VsdF9lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9jZWx0X2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X2NlbHRfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBBZGQgQ0VMVCBlbmNvZGVyIGFuZCBkZWNvZGVyIGVsZW1lbnRzIGJhc2VkIG9uIHRoZSBTcGVleCBlbGVtZW50cy4KCjIwMDgtMDgtMDIgMTc6MTY6MzkgKzAwMDAgIFRhbCBTaGFsaWYgPHRzaGFsaWZAbmFyZ2lsYS5vcmc+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay5jOiBVc2UgZ19zZXRlbnYoKSBhbmQgZ191bnNldGVudigpIGluc3RlYWQgb2Ygc2V0ZW52KCkgdG8gZml4IGNvbXBpbGF0aW9uIHdpdGggbWluZ3cuIEZpeGVzIGJ1ZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUYWwgU2hhbGlmIDx0c2hhbGlmIGF0IG5hcmdpbGEgZG90IG9yZz4KCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19pbml0c2RsKToKCSAgVXNlIGdfc2V0ZW52KCkgYW5kIGdfdW5zZXRlbnYoKSBpbnN0ZWFkIG9mIHNldGVudigpIHRvIGZpeCBjb21waWxhdGlvbgoJICB3aXRoIG1pbmd3LiBGaXhlcyBidWcgIzU0NTI0Ny4KCjIwMDgtMDgtMDEgMjM6MzA6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOC4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjguMQoKMjAwOC0wOC0wMSAxNTozOTo0NCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHJlbW92ZSBtb3ZlZCBwbHVnaW5zIGZyb20gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgbW92ZWQgcGx1Z2lucyBmcm9tIHNwZWMgZmlsZQoKPT09IHJlbGVhc2UgMC4xMC44ID09PQoKMjAwOC0wNy0zMSAyMjoxNToxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC44CgoyMDA4LTA3LTMxIDIyOjAzOjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGNvbW1vbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0wNy0yNCAyMzo1Mzo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuNy4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC43LjMgcHJlLXJlbGVhc2UKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL2lkLnBvOgoJICBBZGQgSW5kb25lc2lhbiB0cmFuc2xhdGlvbi4KCjIwMDgtMDctMjQgMDA6MzI6MzcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiBHdWFyZCB1bmlzdGQuaCB3aXRoIEhBVkVfVU5JU1REX0gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIEd1YXJkIHVuaXN0ZC5oIHdpdGggSEFWRV9VTklTVERfSAoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9pdC5jcHA6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuaDoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3N0ZGFmeC5oOgoJICBTdXBwb3J0IGZvciBjb21waWxpbmcgd2l0aCBNU1ZDOiB1c2UgX01TQ19WRVIgZm9yIGRldGVjdGluZyBNU1ZDIGluc3RlYWQKCSAgb2YgTVNDX1ZFUi4gTWFrZSBDYW5QYWNrU2FtcGxlcyB0YWtlIHRoZSB0eXBlIGl0J3MgcGFzc2VkLiBDaGFuZ2Ugc2NvcGUKCSAgb2YgYSB2YXJpYWJsZSBpbiBsb2FkX2l0LmNwcCB0byBNU1ZDJ3Mgc2NvcGluZyBydWxlcy4KCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIEd1YXJkIHVuaXN0ZC5oIHdpdGggSEFWRV9VTklTVERfSAoJICBGaXhlcyAjNTQ0NDU3LgoKMjAwOC0wNy0yMiAwNjoyNzo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IEZpeCBjb21waWxlciB3YXJuaW5nLiBGaXhlcyAjNTQ0MDUwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcuIEZpeGVzICM1NDQwNTAuCgoyMDA4LTA3LTIxIDIxOjEyOjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgY2hlY2sgZm9yIG5hdl9wcmludC5oIGFueSBtb3JlIC0gaXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBsaWJkdmRuYXYgZGV2ZWxvcG1lbnQgcGFja2FnZSBpZiBsaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGNoZWNrIGZvciBuYXZfcHJpbnQuaCBhbnkgbW9yZSAtIGl0IHNob3VsZCBiZSBpbmNsdWRlZCBpbgoJICB0aGUgbGliZHZkbmF2IGRldmVsb3BtZW50IHBhY2thZ2UgaWYgbGliZHZkbmF2IGhlYWRlcnMgZGVwZW5kIG9uIGl0LgoJICBGaXhlczogIzU0Mzg0NgoKMjAwOC0wNy0yMSAxNjowMzoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgTGluayB0aGUgbGFkc3BhIHBsdWdpbiB3aXRoIC1sZGwuIEl0J3MgbmVlZGVkIGZvciBkbG9wZW4oKSBhbmQgZnJpZW5kcyBmb3IgbG9hZGluZyB0aGUgbGFkc3BhIHBsdWdpbnMgYW5kIHByZXZpb3VzbHkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICBMaW5rIHRoZSBsYWRzcGEgcGx1Z2luIHdpdGggLWxkbC4gSXQncyBuZWVkZWQgZm9yIGRsb3BlbigpIGFuZCBmcmllbmRzCgkgIGZvciBsb2FkaW5nIHRoZSBsYWRzcGEgcGx1Z2lucyBhbmQgcHJldmlvdXNseSB3YXMgbGlua2VkIGluIGJ5CgkgIGdtb2R1bGUuIEZpeGVzIGJ1ZyAjNTQzODQ4LgoKMjAwOC0wNy0yMSAxMDoxNjo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9NYWtlZmlsZS5hbTogVXNlIEdTVF9DWFhGTEFHUyBpbnN0ZWFkIG9mIEdTVF9DRkxBR1MgZm9yIENYWEZMQUdTLiBHU1RfQ0ZMQUdTIGNhbiBjb250YWluIGNvbXBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvTWFrZWZpbGUuYW06CgkgIFVzZSBHU1RfQ1hYRkxBR1MgaW5zdGVhZCBvZiBHU1RfQ0ZMQUdTIGZvciBDWFhGTEFHUy4gR1NUX0NGTEFHUwoJICBjYW4gY29udGFpbiBjb21waWxlciBwYXJhbWV0ZXJzIHRoYXQgYXJlIGludmFsaWQgZm9yIEMrKy4KCSAgRml4ZXMgYnVnICM1NDM4NjAuCgoyMDA4LTA3LTIxIDEwOjE1OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06IERpc3QgbWlzc2luZyBoZWFkZXIgZmlsZXMuIEZpeGVzIGJ1ZyAjNTQzODYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgIERpc3QgbWlzc2luZyBoZWFkZXIgZmlsZXMuIEZpeGVzIGJ1ZyAjNTQzODYxLgoKMjAwOC0wNy0xOSAxNDoxMjo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuNy4yIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC43LjIgcHJlLXJlbGVhc2UKCjIwMDgtMDctMTkgMTQ6MDI6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBEaXN0IGFuZCByZWN1cnNlIGludG8gcmVzaW5kdmQgc3ViZGlyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRGlzdCBhbmQgcmVjdXJzZSBpbnRvIHJlc2luZHZkIHN1YmRpcgoKMjAwOC0wNy0xOSAxMzo0MzowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBpbnRlcmxlYXZlIGFuZCByZXBsYXlnYWluIGNvbmZpZ3VyZS5hYyBwaWVjZXMgdG9vCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIGludGVybGVhdmUgYW5kIHJlcGxheWdhaW4gY29uZmlndXJlLmFjIHBpZWNlcyB0b28KCjIwMDgtMDctMTkgMTM6Mjk6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgcG8vOiBBZGQgbmV3IGxpdGh1bmlhbiB0cmFuc2xhdGlvbiwgYW5kIGFkZCBmcmVuY2ggdG8gdGhlIExJTkdVQVMgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9sdC5wbzoKCSAgQWRkIG5ldyBsaXRodW5pYW4gdHJhbnNsYXRpb24sIGFuZCBhZGQgZnJlbmNoIHRvIHRoZSBMSU5HVUFTCgkgIGZpbGUuCgoyMDA4LTA3LTE5IDAwOjU4OjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBpbnRlcmxlYXZlIGFuZCByZXBsYXlnYWluIHBsdWdpbnMgdGhhdCBoYXZlIG1vdmVkIHRvIC1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5jOgoJICAqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgUmVtb3ZlIGludGVybGVhdmUgYW5kIHJlcGxheWdhaW4gcGx1Z2lucyB0aGF0IGhhdmUgbW92ZWQgdG8gLWdvb2QKCjIwMDgtMDctMTggMDg6MzQ6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIERpc2FibGUgdGhlIHRvbXNtb2NvbXAgYWxnb3JpdGhtIGZvciB0aGlzIHJlbGVhc2UgYXMgaXQncyBidWdneSBhbmQgaGFzIG5vIEMgaW1wbGVtZW50YXRpb24geWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KToKCSAgRGlzYWJsZSB0aGUgdG9tc21vY29tcCBhbGdvcml0aG0gZm9yIHRoaXMgcmVsZWFzZSBhcyBpdCdzIGJ1Z2d5CgkgIGFuZCBoYXMgbm8gQyBpbXBsZW1lbnRhdGlvbiB5ZXQuCgkgIEJ1aWxkIHRoZSBkZWludGVybGFjZTIgcGx1Z2luIG9uIGFsbCBhcmNoaXRlY3R1cmVzIGJ1dCBzdGlsbCBtYXJrIGl0CgkgIGFzIGV4cGVyaW1lbnRhbC4KCSAgQnVpbGQgdGhlIHg4NiBpbmxpbmUgYXNzZW1ibHkgb25seSBpZiBHQ0MgaW5saW5lIGFzc2VtYmx5IGlzIHN1cHBvcnRlZAoJICBhbmQgb25seSBvbiB4ODYgb3IgYW1kNjQuIEZpeGVzIGJ1ZyAjNTQzMjg2LgoKMjAwOC0wNy0xNiAxNDoxNTozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogQWRkIHNvbWUgY2FzdHMgdG8gZml4IHRoZSBidWlsZCBvbiBGb3J0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKG9wZW5fbGlicmFyeSk6CgkgIEFkZCBzb21lIGNhc3RzIHRvIGZpeCB0aGUgYnVpbGQgb24gRm9ydGUKCjIwMDgtMDctMTQgMTQ6MTM6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEZpeCBidWlsZCBvbiB4ODZfNjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpOgoJICBGaXggYnVpbGQgb24geDg2XzY0CgoyMDA4LTA3LTE0IDA3OjUwOjAxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzogUmVtb3ZlIHdoaXRlc3BhY2UgbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICBSZW1vdmUgd2hpdGVzcGFjZSBsaW5lLgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICBNYWtlIGl0IHNvIHRoYXQgYXVkaW8vdmlkZW8gcGFkcyBhcmVuJ3QgYWRkZWQgdG8gdGhlIGJpbgoJICB1bnRpbCBhZnRlciBkYXRhIGZsb3cgc3RhcnRzLgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OgoJICBNb3ZlIHZpZGVvIGJ1ZmZlciBxdWV1ZSBvdXRzaWRlIHJlc2luZHZkYmluCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIENoZWNrIHRoYXQgdGhlIG5hdl9jbG9ja19pZCBkaWRuJ3QgYWxyZWFkeSBnZXQgdW5zY2hlZHVsZWQuCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgUmVtb3ZlIGFzc2VydCB0aGF0IHNvbWV0aW1lcyB0cmlnZ2VycyBlcnJvbmVvdXNseS4KCjIwMDgtMDctMTMgMTA6NTY6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOiBBbHdheXMgdXNlIHRoZSBDIGltcGxlbWVudGF0aW9uIGlmIHdpZHRoIGlzIG5vdCBhIG11bHRpcGxlIG9mIDQuIFRoZSBhc3NlbWJseSBvcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgQWx3YXlzIHVzZSB0aGUgQyBpbXBsZW1lbnRhdGlvbiBpZiB3aWR0aCBpcyBub3QgYSBtdWx0aXBsZSBvZiA0LiBUaGUKCSAgYXNzZW1ibHkgb3B0aW1pemVkIHZlcnNpb24gb25seSBoYW5kbGUgdGhpcyBhbmQgY2FsbGluZyB0aGUgQwoJICBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIHJlbWFpbmluZyBwYXJ0IGRvZXNuJ3Qgd29yayBiZWNhdXNlIGl0IG5lZWRzCgkgIHByZXZpb3VzIGNhbGN1bGF0aW9ucy4KCjIwMDgtMDctMTMgMTA6NTI6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogU29tZSBjbGVhbnVwLCB1c2UgM0ROT1cgaW5zdGVhZCBvZiBURE5PVyBpbiBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgIFNvbWUgY2xlYW51cCwgdXNlIDNETk9XIGluc3RlYWQgb2YgVEROT1cgaW4gbWFjcm9zLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBUaGUgU1NFIG1ldGhvZCBpbiBmYWN0IG9ubHkgbmVlZHMgTU1YRVhULCBkZWNsYXJlIGl0IGFzIHN1Y2guCgoyMDA4LTA3LTExIDE0OjA2OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOiBJZ25vcmUgKi11bmRlY2xhcmVkLnR4dAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZToKCSAgSWdub3JlICotdW5kZWNsYXJlZC50eHQKCSAgKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICBUdXJuIGdfcHJpbnQncyBpbnRvIGRlYnVnIHN0YXRlbWVudHMuCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXk6CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5oOgoJICBBZGQgYSBibG9hdGVkIGltcGxlbWVudGF0aW9uIG9mIGEgcmVhbGx5IHNpbXBsZSBpZGVhOiBSZXBsYWNlIHRoZQoJICBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gdGhlIG91dHB1dCB2aWRlbyB3aXRoIGEgcHJlc2NyaWJlZCBvbmUgd2hlbgoJICBuZWNlc3NhcnkuIFRoZXJlIG11c3QgYmUgYW4gZWFzaWVyIHdheS4KCSAgU3BsaXQgdGhlIGR2ZHNwdSBvdXQgb2YgdGhlIHJlc2luZHZkYmluIGFuZCBwdXQgb3V0IHRoZSBzdWJwaWN0dXJlCgkgIHN0cmVhbSBvbiB0aGUgc3VicGljdHVyZSBwYWQuCgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICBTZW5kIHZpZGVvLWFzcGVjdCBldmVudHMgZG93biB0aGUgcGlwZSBmcm9tIHRoZSBkZW11eGVyLgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICBIYW5kbGUgdGltZWQtc3RpbGxzIHNvbWV3aGF0IHVzaW5nIGdfY29uZF90aW1lZF93YWl0LCB3aXRoIGEgRklYTUUKCSAgdG8gbWFrZSBpdCB1c2UgY2xvY2std2FpdGluZyBsYXRlci4KCSAgKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJICBEb24ndCBvdmVyd3JpdGUgdGhlIGxhc3Rfc3RvcCBpbiB0aGUgYmFzZXNyYyBzZWdtZW50IGFmdGVyIGEgc2VhbWxlc3MKCSAgc2Vlay4KCjIwMDgtMDctMTEgMTM6NTQ6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIENvbW1pdCBmaWxlIHRoYXQgbW9hcCBzZWVtcyB0byBoYXZlIG1pc3NlZDogSWdub3JlICotdW5kZWNsYXJlZC50eHQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENvbW1pdCBmaWxlIHRoYXQgbW9hcCBzZWVtcyB0byBoYXZlIG1pc3NlZDogSWdub3JlICotdW5kZWNsYXJlZC50eHQKCjIwMDgtMDctMTAgMjE6MDY6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENsZWFudXAgUGx1Z2luIGRvY3MuIExpbmsgdG8gc2lnbmFscyBhbmQgcHJvcGVydGllcy4gRml4IHN1Yi1zZWN0aW9uIHRpdGxlcy4gRHJvcCBtZW50aW5pbmcgdGhhdCBhbGwgb3VyIGV4YW1wbGUgcGlwZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLW92ZXJyaWRlcy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZGRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2NvbnZlcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Jlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RwYXJhbm9pYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZmbXBlZ2NvbG9yc3BhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbm9tZXZmcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpYnZpc3VhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9nZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhbmdvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGxheWJhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWV1ZTIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRjcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRoZW9yYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR5cGVmaW5kZnVuY3Rpb25zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXJpZGVjb2RlYmluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NjYWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9sdW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9yYmlzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aW1hZ2VzaW5rLnhtbDoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXIuYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOgoJICAqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOgoJICAqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFlbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYXBhcnNlLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzcGFyc2UuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc3RhZy5jOgoJICAqIGdzdC9hZGRlci9nc3RhZGRlci5jOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvZ3N0YXVkaW90ZXN0c3JjLmM6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvZ3N0ZmZtcGVnY29sb3JzcGFjZS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cXVldWUyLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzoKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzoKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzoKCSAgQ2xlYW51cCBQbHVnaW4gZG9jcy4gTGluayB0byBzaWduYWxzIGFuZCBwcm9wZXJ0aWVzLiBGaXggc3ViLXNlY3Rpb24KCSAgdGl0bGVzLiBEcm9wIG1lbnRpbmluZyB0aGF0IGFsbCBvdXIgZXhhbXBsZSBwaXBlbGluZXMgYXJlICJzaW1wbGUiCgkgIHBpcGVsaW5lcy4KCjIwMDgtMDctMTAgMjA6MjM6MDkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBDb252ZXJ0IGV4dGVuZGVkIGV2ZW50IHRleHQgdG8gVVRGLTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIENvbnZlcnQgZXh0ZW5kZWQgZXZlbnQgdGV4dCB0byBVVEYtOC4KCjIwMDgtMDctMTAgMTg6NTE6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvY3VtZW50IG9uZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgRG9jdW1lbnQgb25lIG1vcmUuCgoyMDA4LTA3LTEwIDA5OjIwOjIzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6IEZpeCBleHRlbmRlZCBldmVudCBkZXNjcmlwdG9yIHBhcnNpbmcsIG91dCBieSAxIGluIHBvc2l0aW9uIG9mIHRleHQgbGVuZ3RoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgRml4IGV4dGVuZGVkIGV2ZW50IGRlc2NyaXB0b3IgcGFyc2luZywgb3V0IGJ5IDEgaW4gcG9zaXRpb24gb2YKCSAgdGV4dCBsZW5ndGguCgoyMDA4LTA3LTA5IDEyOjEzOjA5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogQWRkIGEgbm90ZSB0byB0aGUgZG9jcywgdGhhdCBmZXN0aXZhbCBuZWVkIHRvIGJlIHJ1bm5pbmcuIEFsc28gbG9nIGFuIGVycm9yIGl0IGl0IGlzIG5vdC4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIEFkZCBhIG5vdGUgdG8gdGhlIGRvY3MsIHRoYXQgZmVzdGl2YWwgbmVlZCB0byBiZSBydW5uaW5nLiBBbHNvIGxvZyBhbgoJICBlcnJvciBpdCBpdCBpcyBub3QuIEZpeGVzICM1NDEzMjcKCjIwMDgtMDctMDggMjE6MjA6MjcgKzAwMDAgIElsamEgUGF2a292aWMgPGlsbHNlbkBndW1ibGZhcnouZGU+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy4qOiBBZGQgdmlldy1vbmx5IHByb3BlcnR5IHRvIGlnbm9yZSB0aGUgbmF2aWdhdGlvbiBldmVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSAgQWRkIHZpZXctb25seSBwcm9wZXJ0eSB0byBpZ25vcmUgdGhlIG5hdmlnYXRpb24gZXZlbnRzCgoyMDA4LTA3LTA4IDE4OjUzOjQxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzogUmV2ZXJ0IHByZXZpb3VzIHBhdGNoIGFwYXJ0IGZyb20gdHlwbyBmaXhlczsgdGhlIHBhdGNoIHdhcyBub3QgaW5kZXBlbmRlbnRseSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgIFJldmVydCBwcmV2aW91cyBwYXRjaCBhcGFydCBmcm9tIHR5cG8gZml4ZXM7IHRoZSBwYXRjaCB3YXMgbm90CgkgIGluZGVwZW5kZW50bHkgdXNlZnVsLgoKMjAwOC0wNy0wOCAxNzo0MTo1NSArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyLzogQWRkIEFBQywgQUMzIHRvIGhhbmRsZWQgY29kZWNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgIEFkZCBBQUMsIEFDMyB0byBoYW5kbGVkIGNvZGVjcy4KCSAgRml4IGhhbmRsaW5nIG9mIGZsdXNoIGV2ZW50cy4KCSAgSW1wcm92ZSBkZWJ1Zy9lcnJvciBvdXRwdXQuCgkgIEZpeCBhIG51bWJlciBvZiB0eXBvcyBpbiBjb21tZW50cyBhbmQgdmFyaWFibGUgbmFtZXMuCgoyMDA4LTA3LTA4IDE1OjI0OjQ0ICswMDAwICBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IEltcGxlbWVudCBTZXJ2ZXJDdXRUZXh0IG1lc3NhZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBJbXBsZW1lbnQgU2VydmVyQ3V0VGV4dCBtZXNzYWdlCgoyMDA4LTA3LTA4IDE0OjI4OjA4ICswMDAwICBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoKCSAgZ3N0L2xpYnJmYi86IEFkZCBwcm9wZXJ0eSBmb3Igc2hhcmVkIGRlc2t0b3AKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEFkZCBwcm9wZXJ0eSBmb3Igc2hhcmVkIGRlc2t0b3AKCjIwMDgtMDctMDggMTQ6MDE6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgaW5jbHVkZSBFUlJPUl9DRkxBR1MgaW4gR1NUX0NYWEZMQUdTIGFzIGl0IG1pZ2h0IGluY2x1ZGUgZmxhZ3MgdGhhdCBhcmUgaW52YWxpZCBmb3IgQysrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGluY2x1ZGUgRVJST1JfQ0ZMQUdTIGluIEdTVF9DWFhGTEFHUyBhcyBpdCBtaWdodCBpbmNsdWRlCgkgIGZsYWdzIHRoYXQgYXJlIGludmFsaWQgZm9yIEMrKy4KCjIwMDgtMDctMDggMTM6MzE6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cyBpbiB0aGUgcmVtYWluaW5nIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChzcGNfc2V0dXApOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cyBpbiB0aGUgcmVtYWluaW5nIGNvZGUuCgoyMDA4LTA3LTA4IDEzOjI4OjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvOiBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieToKCSAgSm9uYXRoYW4gUm9zc2VyIDxqb25hdGhhbiBkb3Qgcm9zc2VyIGF0IHJkIGRvdCBiYmMgZG90IGNvIGRvdCB1az4KCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6IChtZXRhZGF0YXBhcnNlX2hhbmRsZV91bml0X3RhZ3MpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICAobWV0YWRhdGFwYXJzZV94bXBfaXRlcl9hZGRfdG9fdGFnX2xpc3QpOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChnc3RfbXl0aHR2X3NyY19zdGFydCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IChnc3Rfd2lsZG1pZGlfbG9vcCk6CgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cy4KCjIwMDgtMDctMDcgMTM6MjI6MjYgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IEZpeCBtZW1vcnkgbGVhayBieSB1bnJlZmZpbmcgc3RydWN0dXJlcyB3aGVuIG5vdCBuZWVkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgRml4IG1lbW9yeSBsZWFrIGJ5IHVucmVmZmluZyBzdHJ1Y3R1cmVzIHdoZW4gbm90IG5lZWRlZC4KCSAgRml4ZXMgIzUzOTI5Mi4KCjIwMDgtMDctMDcgMTA6NDM6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogVXNlIGZsb2F0aW5nIHBvaW50IG1hdGggZm9yIGxhdGVuY2llcyA8IDAgc2VjIGluIGxvZyBvdXRwdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgVXNlIGZsb2F0aW5nIHBvaW50IG1hdGggZm9yIGxhdGVuY2llcyA8IDAgc2VjIGluIGxvZyBvdXRwdXQuCgoyMDA4LTA3LTA2IDIwOjQzOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzogTWFyayBpbnRlcm5hbCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBhcyBzdGF0aWMgaW5saW5lIGZvciBxdWl0ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgIE1hcmsgaW50ZXJuYWwgcHJvY2Vzc2luZyBmdW5jdGlvbnMgYXMgc3RhdGljIGlubGluZSBmb3IgcXVpdGUgc29tZQoJICBzcGVlZHVwIGFzIHRoZXkncmUgdXNlZCBvbmx5IG9uY2UgYW5kIG5lZWQgdG8gZ2V0IG1hbnkgbG9jYWwgdmFyaWFibGVzCgkgIHBhc3NlZCBhcyBwYXJhbWV0ZXIuCgoyMDA4LTA3LTA1IDE5OjIwOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBDYWxsIHRoZSBjdXJyZW50IGluc3RhbmNlICJzZWxmIiBpbnN0ZWFkIG9mICJvYmplY3QiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcmVzZXRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcG9wX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9oZWFkX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBDYWxsIHRoZSBjdXJyZW50IGluc3RhbmNlICJzZWxmIiBpbnN0ZWFkIG9mICJvYmplY3QiLgoKMjAwOC0wNy0wNSAxOToxMTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogSW5jbHVkZSBsYXRlbmN5IG9mIHRoZSBtZXRob2QgaW4gdGhlIHJldHVybmVkIGxhdGVuY3kuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dldF9sYXRlbmN5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIEluY2x1ZGUgbGF0ZW5jeSBvZiB0aGUgbWV0aG9kIGluIHRoZSByZXR1cm5lZCBsYXRlbmN5LgoJICBGaXggb3V0cHV0dGluZyBvZiBhbGwgZmllbGRzLCBpLmUuIGRvdWJsaW5nIG9mIHRoZSBmcmFtZXJhdGUuCgoyMDA4LTA3LTA1IDE2OjQ3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogVXNlIGEgR3N0T2JqZWN0IHN1YnR5cGUgZm9yIHRoZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGV4cG9ydCB0aGUgZGlmZmVyZW50IHNldHRpbmdzIGZvciBlYWNoIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZV9tZXRob2RfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ2V0X2ZpZWxkc19yZXF1aXJlZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoX2RvX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9mcmFtZV92ZmlyKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9pbml0KToKCSAgVXNlIGEgR3N0T2JqZWN0IHN1YnR5cGUgZm9yIHRoZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGV4cG9ydAoJICB0aGUgZGlmZmVyZW50IHNldHRpbmdzIGZvciBlYWNoIGRlaW50ZXJsYWNpbmcgbWV0aG9kIHZpYSBHT2JqZWN0CgkgIHByb3BlcnRpZXMuCgkgIEltcGxlbWVudCBHc3RDaGlsZFByb3h5IGludGVyZmFjZSB0byBhbGxvdyBhY2Nlc3MgdG8gdGhlIHVzZWQKCSAgZGVpbnRlcmxhY2luZyBtZXRob2QgYW5kIHRvIGFsbG93IGFkanVzdGluZyB0aGUgZGlmZmVyZW50IHNldHRpbmdzLgoJICBNb3ZlIGdsb2JhbCB2YXJpYWJsZXMgb2YgdGhlIHRvbXNtb2NvbXAgZGVpbnRlcmxhY2luZyBtZXRob2QgaW50bwoJICBmdW5jdGlvbiBsb2NhbCB2YXJpYWJsZXMgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgdGhpcyBkZWludGVybGFjaW5nCgkgIG1ldGhvZCBmcm9tIGRpZmZlcmVudCBpbnN0YW5jZXMuCgoyMDA4LTA3LTA1IDEyOjIyOjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbTogU3VwcG9ydCB3aWR0aHMgdGhhdCBhcmUgbm90IGEgbXVsdGlwbHkgb2YgNCB3aGVuIHVzaW5nIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgZ3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgIFN1cHBvcnQgd2lkdGhzIHRoYXQgYXJlIG5vdCBhIG11bHRpcGx5IG9mIDQgd2hlbiB1c2luZyB0aGUgYXNzZW1ibHkKCSAgb3B0aW1pemVkIGdyZWVkeWggaW1wbGVtZW50YXRpb25zLgoKMjAwOC0wNy0wNCAxODo1NDoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiBPbmx5IGJ1aWxkIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb25zIG9uIHg4Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCk6CgkgIE9ubHkgYnVpbGQgdGhlIGFzc2VtYmx5IG9wdGltaXplZCBpbXBsZW1lbnRhdGlvbnMgb24geDg2LgoKMjAwOC0wNy0wNCAxODo1MjozNyArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGNoZWNraW5nIG9mIGhlYWRlcnMgZm9yIHRoZSBPU1M0IHBsdWdpbiB0byBmYWlsIGlmIGEgc2luZ2xlIGhlYWRlciBkb2Vzbid0IGV4aXN0IGFscmVhZHkuIEFDX0NIRUNLXy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4gZG90IGxlc3BpYXUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBjaGVja2luZyBvZiBoZWFkZXJzIGZvciB0aGUgT1NTNCBwbHVnaW4gdG8gZmFpbCBpZiBhIHNpbmdsZQoJICBoZWFkZXIgZG9lc24ndCBleGlzdCBhbHJlYWR5LiBBQ19DSEVDS19IRUFERVJTIG9ubHkgZmFpbHMgaWYgbm9uZQoJICBvZiB0aGUgaGVhZGVycyBpcyBmb3VuZC4gRml4ZXMgYnVnICM1NDE1NDMuCgoyMDA4LTA3LTA0IDE2OjA2OjA5ICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgRml4IGJ1aWx0IG9mIHRoZSBmZXN0aXZhbCBwbHVnaW4gd2l0aCBtaW5ndzMyIGJ5IGxpbmtpbmcgdG8gd3MyXzMyLmRsbCBhbmQgaW5jbHVkaW5nIHdpbnNvY2sgaGVhZGVycy4gRml4ZXMgYnVnICM1NDE1MjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbiBkb3QgbGVzcGlhdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIEZpeCBidWlsdCBvZiB0aGUgZmVzdGl2YWwgcGx1Z2luIHdpdGggbWluZ3czMiBieSBsaW5raW5nIHRvIHdzMl8zMi5kbGwKCSAgYW5kIGluY2x1ZGluZyB3aW5zb2NrIGhlYWRlcnMuIEZpeGVzIGJ1ZyAjNTQxNTIyLgoKMjAwOC0wNy0wMyAxNDo0NDo1MSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IENvcnJlY3RlZCBhIHR5cG8gKGludGVycG9sbGF0ZSAtPiBpbnRlcnBvbGF0ZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZ2V0X25ld19zcik6CgkgIENvcnJlY3RlZCBhIHR5cG8gKGludGVycG9sbGF0ZSAtPiBpbnRlcnBvbGF0ZSkuCgoyMDA4LTA3LTAzIDE0OjMxOjEwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQ2hhbmdlZCBzb21lIEdTVF9ERUJVRygpIHRvIEdTVF9MT0coKSB0byByZWR1Y2UgdGhlIHNwYW0gd2hlbiBhIHBpcGVsaW5lIGlzIHJ1bm5pbmcgbm9ybWFsbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc3luY19ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHB1c2hfcGFja2V0KSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgQ2hhbmdlZCBzb21lIEdTVF9ERUJVRygpIHRvIEdTVF9MT0coKSB0byByZWR1Y2UgdGhlIHNwYW0gd2hlbiBhCgkgIHBpcGVsaW5lIGlzIHJ1bm5pbmcgbm9ybWFsbHkuCgoyMDA4LTA3LTAzIDEzOjQ3OjE5ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogRG8gbm90IG1peCB0aGUgdXNlIG9mIGdfZ2V0X2N1cnJlbnRfdGltZSgpIHdpdGggZ3N0X2Nsb2NrX2dldF90aW1lKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLCAoc2Vzc2lvbl9jbGVhbnVwKSwKCSAgKGlzX3J0Y3BfdGltZSksIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIERvIG5vdCBtaXggdGhlIHVzZSBvZiBnX2dldF9jdXJyZW50X3RpbWUoKSB3aXRoIGdzdF9jbG9ja19nZXRfdGltZSgpLgoKMjAwOC0wNy0wMSAyMTo0MDoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuKjogUXVldWUgbmV3LXNlZ21lbnQgZXZlbnRzIGFuZCBzZW5kIHRoZW0gYWZ0ZXIgY2FwcyBoYXZlIGJlZW4gZGV0ZXJtaW5lZCBhbmQgc2V0LCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgIFF1ZXVlIG5ldy1zZWdtZW50IGV2ZW50cyBhbmQgc2VuZCB0aGVtIGFmdGVyIGNhcHMgaGF2ZSBiZWVuCgkgIGRldGVybWluZWQgYW5kIHNldCwgc28gdGhhdCB0aGUgZGVjb2RlciB3aWxsIGhhdmUgYmVlbiBhdXRvLXBsdWdnZWQuCgoyMDA4LTA3LTAxIDExOjI4OjE3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvcXR3cmFwcGVyLzogTWFrZSBxdHdyYXBwZXIgY29tcGlsZS93b3JrIG9uIHdpbjMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnkgOiBNaWNoYWVsIFNtaXRoIDxtc21pdGggQCB4aXBoIGRvdCBvcmc+CgkgICogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6IChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9pbml0KSwKCSAgKGNsZWFyX0F1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksIChmaWxsX2luZGVzY19tcDMpLAoJICAoZmlsbF9pbmRlc2NfYWFjKSwgKG1ha2Vfc2Ftcl9tYWdpY19jb29raWUpLCAod3JpdGVfbGVuKSwKCSAgKG1ha2VfYWFjX21hZ2ljX2Nvb2tpZSksIChvcGVuX2RlY29kZXIpLCAocHJvY2Vzc19idWZmZXJfY2IpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfY2hhaW4pLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfc2lua19ldmVudCksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9iYXNlX2luaXQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfY2xhc3NfaW5pdCksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2RlcnNfcmVnaXN0ZXIpOgoJICAqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmg6CgkgICogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmM6IChpbWFnZV9kZXNjcmlwdGlvbl9mb3JfYXZjMSksCgkgIChpbWFnZV9kZXNjcmlwdGlvbl9mb3JfbXA0diksIChpbWFnZV9kZXNjcmlwdGlvbl9mcm9tX3N0c2RfYnVmZmVyKToKCSAgKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzogKGdldF9uYW1lX2luZm9fZnJvbV9jb21wb25lbnQpLAoJICAoZHVtcF9hdmNjX2F0b20pLCAoZHVtcF9pbWFnZV9kZXNjcmlwdGlvbiksCgkgIChBbGxvY2F0ZUF1ZGlvQnVmZmVyTGlzdCk6CgkgICogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmg6CgkgICogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5oOgoJICAqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfYmFzZV9pbml0KSwgKG9wZW5fZGVjb2RlciksCgkgIChkZWNvbXByZXNzQ2IpLCAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfY2hhaW4pLAoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJzX3JlZ2lzdGVyKToKCSAgTWFrZSBxdHdyYXBwZXIgY29tcGlsZS93b3JrIG9uIHdpbjMyLgoJICBMb3RzIG9mIGZpeGVzCgkgIEZpeGVzICM1MzE4NDAKCjIwMDgtMDYtMzAgMTk6MTk6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogRml4IHNpemUgY2FsY3VsYXRpb24gZm9yIFJHQiBidWZmZXJzIC0+IGJwcCBpcyBpbiBiaXRzLCBzbyBkaXZpZGUgYnkgOAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBGaXggc2l6ZSBjYWxjdWxhdGlvbiBmb3IgUkdCIGJ1ZmZlcnMgLT4gYnBwIGlzIGluIGJpdHMsIHNvIGRpdmlkZSBieSA4CgoyMDA4LTA2LTMwIDA3OjUxOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogUmVtb3ZlIHVzZWxlc3MgZmlsZSBhbmQgbWFyayBldmVyeXRoaW5nIHBvc3NpYmxlIGFzIHN0YXRpYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6ICh0b21zbW9jb21wX2luaXQpLAoJICAodG9tc21vY29tcF9maWx0ZXJfbW14KSwgKHRvbXNtb2NvbXBfZmlsdGVyXzNkbm93KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyX3NzZSksIChkZWludGVybGFjZV9mcmFtZV9kaV90b21zbW9jb21wKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgIFJlbW92ZSB1c2VsZXNzIGZpbGUgYW5kIG1hcmsgZXZlcnl0aGluZyBwb3NzaWJsZSBhcyBzdGF0aWMuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICBVc2UgIl9zdGRpbnQuaCIgaW5zdGVhZCBvZiA8c3RkaW50Lmg+LgoKMjAwOC0wNi0yOSAxMDo1Njo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IEdldCByaWQgb2Ygc3BlZWR5LltjaF0gYXMgd2UgZG9uJ3QgdXNlIG1vc3Qgb2YgaXQncyBjb2RlIGFueXdheSBhbmQgaXQgZG9lc24ndCBzZWVtIHRvIGJlIHJlbGljZW5zLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpcik6CgkgIEdldCByaWQgb2Ygc3BlZWR5LltjaF0gYXMgd2UgZG9uJ3QgdXNlIG1vc3Qgb2YgaXQncyBjb2RlIGFueXdheQoJICBhbmQgaXQgZG9lc24ndCBzZWVtIHRvIGJlIHJlbGljZW5zZWQgdG8gTEdQTC4gVXNlIG1lbWNweSgpIGluc3RlYWQKCSAgb2YgdGhlIHNwZWVkeSBtZW1jcHkgZXZlcnl3aGVyZSBpbnN0ZWFkLgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFJlbW92ZSBtYW55IHVudXNlZCBkZWNsYXJhdGlvbnMuCgoyMDA4LTA2LTI4IDIwOjUxOjM2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuKjogRXhwb3NlIHRoZSBhZGRpdGlvbmFsIE1QRUcgSERUViBmb3JtYXQgcHJvZmlsZXMgYXZhaWxhYmxlIGluIGxhdGVzdCBtanBlZ3Rvb2xzIHZlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuaGg6CgkgIEV4cG9zZSB0aGUgYWRkaXRpb25hbCBNUEVHIEhEVFYgZm9ybWF0IHByb2ZpbGVzIGF2YWlsYWJsZSBpbiBsYXRlc3QKCSAgbWpwZWd0b29scyB2ZXJzaW9uLgoKMjAwOC0wNi0yOCAxODoxMzowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogRGl2aWRlIGxhdGVuY3kgYmUgMiB0byBjb252ZXJ0IGZyb20gZmllbGRzIHRvIGZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgRGl2aWRlIGxhdGVuY3kgYmUgMiB0byBjb252ZXJ0IGZyb20gZmllbGRzIHRvIGZyYW1lcy4KCjIwMDgtMDYtMjggMTg6MTA6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBEb24ndCB1c2Ugc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3Mgbm90IGFwcHJvcGlhdGUgZm9yIHRoaXMgbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICBEb24ndCB1c2Ugc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3MKCSAgbm90IGFwcHJvcGlhdGUgZm9yIHRoaXMgbWV0aG9kLiBJbnN0ZWFkIGltcGxlbWVudCBkZWludGVybGFjZV9mcmFtZQoJICBmdW5jdGlvbiBieSB0YWtpbmcgdGhlIG9uZSBmcm9tIGdyZWVkeWguCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiAoZ3JlZWR5RFNjYWxlcl9DKToKCSAgU21hbGwgZml4IGZvciB0aGUgQyBpbXBsZW1lbnRhdGlvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9mcmFtZV92ZmlyKToKCSAgRG9uJ3QgdXNlIHRoZSBzY2FubGluZXMgZnVuY3Rpb24gZnJvbSBnc3RkZWludGVybGFjZTIgYXMgaXQncyBvbmx5CgkgIHVzZWQgZm9yIHRoaXMgbWV0aG9kIGFuZCB3aWxsIGJlIHJlbW92ZWQuIEluc3RlYWQgaW1wbGVtZW50CgkgIGRlaW50ZXJsYWNlX2ZyYW1lIGZ1bmN0aW9uIGFuZCBtYWtlIGl0IGEgYml0IG1vcmUgZWZmaWNpZW50LgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgIEZpeCBjb2Rpbmcgc3R5bGUgYW5kIHJlbW92ZSBzY2FubGluZXMgZnVuY3Rpb24gYXMgaXQncyB1bnVzZWQgbm93LgoKMjAwOC0wNi0yOCAxNzoyNTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBBZGQgYSBDIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5aCBkZWludGVybGFjaW5nIG1ldGhvZCwgY2xlYW4gdXAgdGhlIGNvZGUgYSBiaXQgYW5kIG1hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgIEFkZCBhIEMgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHloIGRlaW50ZXJsYWNpbmcgbWV0aG9kLCBjbGVhbgoJICB1cCB0aGUgY29kZSBhIGJpdCBhbmQgbWFyayB0aGUgU1NFIHZlcnNpb24gYXMgTU1YRVhUIGFzIGl0IGRvZXNuJ3QKCSAgcmVxdWlyZSBhbnkgU1NFIGluc3RydWN0aW9ucy4KCjIwMDgtMDYtMjcgMTM6MjI6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IElmIHdlJ3JlIG91dHB1dHRpbmcgYWxsIGZpZWxkcyB0aGUgZnJhbWVyYXRlIGhhcyB0byBiZSBkb3VibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpOgoJICBJZiB3ZSdyZSBvdXRwdXR0aW5nIGFsbCBmaWVsZHMgdGhlIGZyYW1lcmF0ZSBoYXMgdG8gYmUgZG91YmxlZC4KCSAgU2V0IGR1cmF0aW9uIG9uIHRoZSBvdXRnb2luZyBidWZmZXJzLgoKMjAwOC0wNi0yNiAxNTo1Mjo0MCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgWVVWNE1QRUcyIGVuY29kZXIgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgWVVWNE1QRUcyIGVuY29kZXIgZWxlbWVudC4KCjIwMDgtMDYtMjUgMTY6MDU6MDggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDogUmVtb3ZlIHVubmVlZGVkIG1hY3JvcyB0aGF0IGJyZWFrIGJ1aWxkIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIFJlbW92ZSB1bm5lZWRlZCBtYWNyb3MgdGhhdCBicmVhayBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA2LTI0IDE1OjQ4OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEZXBlbmQgb24gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGVwZW5kIG9uIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIC1iYXNlLgoKMjAwOC0wNi0yNCAxMjowODo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IE9wdGltaXplIE1NWC9NTVhFWFQgaW1wbGVtZW50YXRpb25zIGEgYml0IGJ5IHJlcXVpcmluZyB0d28gbGVzcyBtZW1vcnkgYWNjZXNzZXMgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpOgoJICBPcHRpbWl6ZSBNTVgvTU1YRVhUIGltcGxlbWVudGF0aW9ucyBhIGJpdCBieSByZXF1aXJpbmcgdHdvIGxlc3MKCSAgbWVtb3J5IGFjY2Vzc2VzIGFuZCBmaXggdGhlIHdvcmthcm91bmQgZm9yIHRoZSBtaXNzaW5nIHJpZ2h0IHNoaWZ0CgkgIG9uIGJ5dGVzIHRvIHVuc2V0IHRoZSBoaWdoZXN0IGJpdCBvZiBldmVyeSBieXRlLgoKMjAwOC0wNi0yNCAxMDoxNTo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IFJlbW92ZSBzZmVuY2UgaW5zdHJ1Y3Rpb24gYXMgaXQncyBub3QgbmVlZGVkIGFuZCBhY3R1YWxseSBpcyBhbiBTU0UgaW5zdHJ1Y3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpOgoJICBSZW1vdmUgc2ZlbmNlIGluc3RydWN0aW9uIGFzIGl0J3Mgbm90IG5lZWRlZCBhbmQgYWN0dWFsbHkgaXMgYW4gU1NFCgkgIGluc3RydWN0aW9uLgoKMjAwOC0wNi0yNCAxMDoxMjowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IEFkZCBwbGFpbiBNTVggaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHlsIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lKToKCSAgQWRkIHBsYWluIE1NWCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWwgbWV0aG9kLgoKMjAwOC0wNi0yNCAwOTo0MDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbTogTW92ZSB0aGUgYXNzZW1ibHkgaW5jbHVkZXMgdG8gbm9pbnN0X0hFQURFUlMgd2hlcmUgdGhleSBiZWxvbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgIE1vdmUgdGhlIGFzc2VtYmx5IGluY2x1ZGVzIHRvIG5vaW5zdF9IRUFERVJTIHdoZXJlIHRoZXkgYmVsb25nLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfYyksCgkgIChkZWludGVybGFjZV9saW5lX21teCk6CgkgIEZpeCBDIGFuZCBNTVggaW1wbGVtZW50YXRpb25zIGEgYml0IG1vcmUuCgoyMDA4LTA2LTI0IDA5OjEwOjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogRml4IHRoZSBDIGltcGxlbWVudGF0aW9uIHRvIHByb2R1Y2UgY29ycmVjdCByZXN1bHRzIGFuZCBvcHRpbWl6ZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEZpeCB0aGUgQyBpbXBsZW1lbnRhdGlvbiB0byBwcm9kdWNlIGNvcnJlY3QgcmVzdWx0cyBhbmQgb3B0aW1pemUgdGhlCgkgIE1NWEVYVCBpbXBsZW1lbnRhdGlvbi4KCSAgSGFuZGxlIG9kZCB3aWR0aHMgYW5kIGRvbid0IHJlYWQgb3ZlciBhcnJheSBib3VuZGFyaWVzIGluIHRoZSBNTVhFWFQKCSAgaW1wbGVtZW50YXRpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfbW14KSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpOgoJICBGaXggYSBzbWFsbCByb3VuZGluZyBidWcgaW4gdGhlIE1NWCBpbXBsZW1lbnRhdGlvbiwgdGhlIE1NWAoJICBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IGFjdHVhbGx5IG5lZWQgTU1YRVhUIGluc3RydWN0aW9ucyBzbyBkb24ndCBtYXJrCgkgIGl0IGFzIHN1Y2guCgkgIEhhbmRsZSBvZGQgd2lkdGhzIGluIGJvdGggaW1wbGVtZW50YXRpb25zLgoKMjAwOC0wNi0yMSAyMToyMDoyNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzogVXNlIHRoZSByaWdodCBpMThuIGhlYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgVXNlIHRoZSByaWdodCBpMThuIGhlYWRlci4KCjIwMDgtMDYtMjEgMDk6MDU6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBJbXBsZW1lbnQgYSBDIHZlcnNpb24gb2YgdGhlIGdyZWVkeSBsb3cgbW90aW9uIGFsZ29yaXRobSBhbmQgbWFyayB0aGUgYXNzZW1ibHkgb3B0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfc3NlKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lKToKCSAgSW1wbGVtZW50IGEgQyB2ZXJzaW9uIG9mIHRoZSBncmVlZHkgbG93IG1vdGlvbiBhbGdvcml0aG0gYW5kIG1hcmsgdGhlCgkgIGFzc2VtYmx5IG9wdGltaXplZCB2ZXJzaW9uIGFzIFNTRSBhcyBpdCB1c2VzIFNTRSBpbnN0cnVjdGlvbnMKCSAgYWRkaXRpb25hbCB0byBNTVggaW5zdHJ1Y3Rpb25zLgoKMjAwOC0wNi0yMCAxNjo1NDoyOCArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IEZpeCBwcm9ibGVtIHdoZW4gZW1wdHkgc3RyaW5nIGlzIHByb3ZpZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBGaXggcHJvYmxlbSB3aGVuIGVtcHR5IHN0cmluZyBpcyBwcm92aWRlZC4KCjIwMDgtMDYtMjAgMTQ6NDg6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgdGhlIHZmaXIgbWV0aG9kIG9uIFg4NiBDUFVzIHdpdGhvdXQgTU1YRVhUIHRvbyBidXQgdXNlIHRoZSBNTS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9saW5lX2MpLCAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpcik6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoZSB2ZmlyIG1ldGhvZCBvbiBYODYgQ1BVcyB3aXRob3V0IE1NWEVYVCB0b28KCSAgYnV0IHVzZSB0aGUgTU1YRVhUIG9wdGltaXplZCBjb2RlIHdoZW5ldmVyIHBvc3NpYmxlLgoKMjAwOC0wNi0yMCAxNDozNToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogUmVzZXQgZWxlbWVudCBzdGF0ZSBvbiBQQVVTRUQtPlJFQURZIHByb3Blcmx5LCBkb24ndCBsZWFrIGFueSBidWZmZXJzIHdoZW4gZmluYWxpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcmVzZXRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFJlc2V0IGVsZW1lbnQgc3RhdGUgb24gUEFVU0VELT5SRUFEWSBwcm9wZXJseSwgZG9uJ3QgbGVhayBhbnkgYnVmZmVycwoJICB3aGVuIGZpbmFsaXppbmcsIGFsbG9jYXRlIGJ1ZmZlcnMgd2l0aCBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFuZAoJICBwcm9wZXJseSByZXR1cm4gZmxvdyByZXR1cm5zIGZyb20gZ3N0X3BhZF9wdXNoKCkgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGVtLgoKMjAwOC0wNi0yMCAxMzo0NTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6IEFkZCBtaXNzaW5nIGhlYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIEFkZCBtaXNzaW5nIGhlYWRlci4KCjIwMDgtMDYtMjAgMTM6MjQ6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEZpeCBjb21waWxhdGlvbiBvbiBnZW5lcmljIHg4Ni9hbWQ2NCBhbmQgaW5jbHVkZSBkZWludGVybGFjZTIgaW4gdGhlIGJ1aWxkIHN5c3RlbS4gQmVjYXVzZSBvZiBzZXZlcmFsIGJ1Z3MgaXQncyBzdGlsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICBGaXggY29tcGlsYXRpb24gb24gZ2VuZXJpYyB4ODYvYW1kNjQgYW5kIGluY2x1ZGUgZGVpbnRlcmxhY2UyIGluIHRoZQoJICBidWlsZCBzeXN0ZW0uIEJlY2F1c2Ugb2Ygc2V2ZXJhbCBidWdzIGl0J3Mgc3RpbGwgZW5hYmxlZCBvbmx5CgkgIGJ5IC0tZW5hYmxlLWV4cGVyaW1lbnRhbC4KCjIwMDgtMDYtMjAgMTM6MDc6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLio6IFNjaGVkdWxlIE5BViBwYWNrZXRzIGFuZCBhY3RpdmF0ZSB0aGVtIHdpdGggYW4gYXN5bmMgY2xvY2sgY2FsbGJhY2sgYXQgdGhlIHJpZ2h0IG1vbWVudC4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICBTY2hlZHVsZSBOQVYgcGFja2V0cyBhbmQgYWN0aXZhdGUgdGhlbSB3aXRoIGFuIGFzeW5jIGNsb2NrIGNhbGxiYWNrCgkgIGF0IHRoZSByaWdodCBtb21lbnQuIFRoaXMgbWFrZXMgZGVsYXllZCBtZW51IGhpZ2hsaWdodHMgYXBwZWFyCgkgIGF0IHRoZSBjb3JyZWN0IHRpbWUgYW5kIGZpeGVzIEJhY2sgVG8gVGhlIEZ1dHVyZS4KCSAgV2hlbiBvdXRwdXR0aW5nIG5ldyBzZWdtZW50IGluIGRvX3NlZWsoKSwgY2FsY3VsYXRlIG91ciBwb3NpdGlvbgoJICB2YWx1ZSBwcm9wZXJseSwgc28gd2UgcmVwb3J0IHRoZSByaWdodCB0aW1lIHdoZW4gcG9wcGluZyBpbiBhbmQKCSAgb3V0IG9mIHRoZSBtZW51cy4KCSAgKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJICBXaGVuIGhhbmRsaW5nIGEgbm9uLWZsdXNoaW5nIHNlZWssIGFjY3VtdWxhdGUgdGhlIHNlZ21lbnQsCgkgIHJhdGhlciB0aGFuIGhhdmluZyBldmVyeSBzZWVrIHN0YXJ0IGZyb20gMCBhbmQgbWVzc2luZyB3aXRoIHN5bmMKCjIwMDgtMDYtMTkgMTM6MTg6MjQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFVzZSBCT0lMRVJQTEFURSBtYWNybyBhbmQgdXBkYXRlIHRlc3QgdG8gdGhlIGxhdGVzdCBhcGkgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgICogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgVXNlIEJPSUxFUlBMQVRFIG1hY3JvIGFuZCB1cGRhdGUgdGVzdCB0byB0aGUgbGF0ZXN0IGFwaSBjaGFuZ2VzLgoKMjAwOC0wNi0xOSAxMToyNTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOiBEb24ndCB1c2UgYSBidWZmZXIgYWZ0ZXIgdW5yZWZmaW5nIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzogKG9uX25ld19idWZmZXJfZnJvbV9zb3VyY2UpOgoJICBEb24ndCB1c2UgYSBidWZmZXIgYWZ0ZXIgdW5yZWZmaW5nIGl0LgoKMjAwOC0wNi0xOCAwNzowMjo1NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOiBBZGQgZGVzY3JpcHRpb24gdGFnIG1hcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgQWRkIGRlc2NyaXB0aW9uIHRhZyBtYXBwaW5nLgoKMjAwOC0wNi0xOCAwNjozMToxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGd0ay1kb2Mgd2FybmluZ3MuIEFsc28gZG9uJ3QgbWlzdXNlIGFwaS1kb2MgY29tbWVudHMgZm9yIG5vcm1hbCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkgIEZpeCBndGstZG9jIHdhcm5pbmdzLiBBbHNvIGRvbid0IG1pc3VzZSBhcGktZG9jIGNvbW1lbnRzIGZvciBub3JtYWwKCSAgY29tbWVudHMuCgoyMDA4LTA2LTE3IDE5OjUyOjAwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOiBQYXJzZSB0aGUgVVJJIGFyZ3VtZW50IGludG8gdGhlIGRldmljZSBuYW1lIHNvIGR2ZDovLy9wYXRoL3RvL2ltYWdlIHdvcmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgUGFyc2UgdGhlIFVSSSBhcmd1bWVudCBpbnRvIHRoZSBkZXZpY2UgbmFtZSBzbyBkdmQ6Ly8vcGF0aC90by9pbWFnZQoJICB3b3Jrcy4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgSW1wbGVtZW50IGEgdHJpdmlhbCBkdXJhdGlvbiBxdWVyeSByZXBvcnRpbmcgdGhlIGN1cnJlbnQgUEdDIGxlbmd0aC4KCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBSZW5hbWUgdHlwbyBpbiB0aGUgZnVuY3Rpb24gbmFtZS4KCjIwMDgtMDYtMTcgMTE6MDE6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRGlzYWJsZSBkZWludGVybGFjZTIgcGx1Z2luIGFnYWluIHdoaWNoIHdhcyBhY2NpZGVudGx5IGVuYWJsZWQgd2l0aCBsYXN0IGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIGRlaW50ZXJsYWNlMiBwbHVnaW4gYWdhaW4gd2hpY2ggd2FzIGFjY2lkZW50bHkgZW5hYmxlZAoJICB3aXRoIGxhc3QgY29tbWl0LgoKMjAwOC0wNi0xNyAxMDo1MzozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgTWFrZSByZXNpbmR2ZCB3b3JrIHdpdGggbGliZHZkbmF2ID49IDQuMC4wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIE1ha2UgcmVzaW5kdmQgd29yayB3aXRoIGxpYmR2ZG5hdiA+PSA0LjAuMC4KCjIwMDgtMDYtMTcgMDE6MDg6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgbGliZHZkbmF2IHRvIGJ1aWxkIHJlc2luZHZkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBsaWJkdmRuYXYgdG8gYnVpbGQgcmVzaW5kdmQuCgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlZnMuaDoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVzYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVzYy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuYzoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmg6CgkgICogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbnB1c2hzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNucHVzaHNyYy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5oOgoJICBGaXJzdCBjb21taXQgb2YgRFZELVZpZGVvIHBsYXliYWNrIGNvbXBvbmVudCAncnNuZHZkYmluJwoJICBhbmQgaGVscGVyIGVsZW1lbnRzLgoJICBVc2UgLS1lbmFibGUtZXhwZXJpbWVudGFsIGZvciBub3csIGJ1dCBmZWVsIGZyZWUgdG8gZ2l2ZSBpdCBhCgkgIHRyeSB1c2luZyB0aGUgcmVzaW4tcGxheSBzY3JpcHQuCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgQWRkIHNvbWUgZXh0cmEgZ3VhcmRzIGZvciBtYWxmb3JtZWQgZXZlbnRzLgoKMjAwOC0wNi0xNyAwMDozNzo0OSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgZGlyYWMgcmVxdWlyZW1lbnQgdG8gMC4xMCBkdWUgdG8gYXBpIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBkaXJhYyByZXF1aXJlbWVudCB0byAwLjEwIGR1ZSB0byBhcGkgY2hhbmdlcy4KCjIwMDgtMDYtMTYgMTQ6MTE6MzYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYyAoZ3N0X2FwcF9zcmNfc2V0X21heF9ieXRlcykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDYtMTYgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYyAoZ3N0X2FwcF9zcmNfc2V0X21heF9ieXRlcykKCSAgKGdzdF9hcHBfc3JjX2dldF9tYXhfYnl0ZXMsIGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKTogVXNlCgkgIEdfR1VJTlQ2NF9GT1JNQVQuIEF2b2lkIG92ZXJmbG93IGluIGdldF9tYXhfYnl0ZXMoKS4KCjIwMDgtMDYtMTYgMTI6Mzc6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IE1vdmUgZG9jYmxvYiB1cHdhcmRzLiBCYWxhbmNlIHRhZ3MgYW5kIHJlc3RvcmUgYmxhbmsgbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgTW92ZSBkb2NibG9iIHVwd2FyZHMuIEJhbGFuY2UgdGFncyBhbmQgcmVzdG9yZSBibGFuayBsaW5lLgoKMjAwOC0wNi0xNiAxMTo0NzozNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IEZpeCBvdXQgb2YgZGF0ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBGaXggb3V0IG9mIGRhdGUgZG9jcy4KCjIwMDgtMDYtMTYgMTE6Mjk6NDYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBQYXRjaCBmcm9tOiBWaW5jZW50IEdlbmlldXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGZyb206IFZpbmNlbnQgR2VuaWV1eAoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBGaXggcmVmY291bnQgaXNzdWVzLCBmaXhlcyAjNTM4NTYwLgoKMjAwOC0wNi0xNiAwOToyMjozMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFBhcnNlIHRoZSBleHRlbmRlZCBldmVudCBkZXNjcmlwdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBQYXJzZSB0aGUgZXh0ZW5kZWQgZXZlbnQgZGVzY3JpcHRvci4KCjIwMDgtMDYtMTYgMDc6MzA6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpbmFsIHJvdW5kIG9mIGRvYyB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICAqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgRmluYWwgcm91bmQgb2YgZG9jIHVwZGF0ZXMuCgoyMDA4LTA2LTE2IDA3OjAzOjU4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBNb3JlIGRvYyB1cGRhdGVzLiBNb3JlIHhyZWZzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgTW9yZSBkb2MgdXBkYXRlcy4gTW9yZSB4cmVmcy4KCjIwMDgtMDYtMTMgMjI6NDY6NDMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi86IEludHJvZHVjZSBkZW11eGluZyBzdXBwb3J0IGZvciBBQUMgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA2LTE0ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3ZpZGVvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEludHJvZHVjZSBkZW11eGluZyBzdXBwb3J0IGZvciBBQUMKCSAgYW5kCgkgIEguMjY0L0FWQyBpbnNpZGUgRkxWLgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAoZ3N0X2RzaG93YXVkaW9kZWNfaW5pdCksCgkgIChnc3RfZHNob3dhdWRpb2RlY19jaGFpbiksIChnc3RfZHNob3dhdWRpb2RlY19wdXNoX2J1ZmZlciksCgkgIChnc3RfZHNob3dhdWRpb2RlY19zaW5rX2V2ZW50KSwgKGdzdF9kc2hvd2F1ZGlvZGVjX3NldHVwX2dyYXBoKToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX2luaXQpLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfc2lua19ldmVudCksIChnc3RfZHNob3d2aWRlb2RlY19jaGFpbiksCgkgIChnc3RfZHNob3d2aWRlb2RlY19wdXNoX2J1ZmZlciksCgkgIChnc3RfZHNob3d2aWRlb2RlY19zcmNfZ2V0Y2Fwcyk6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6IExvdCBvZiByYW5kb20gZml4ZXMKCSAgdG8gaW1wcm92ZSBzdGFiaWxpdHkgKHJlZiBjb3VudGluZywgc2FmZXR5IGNoZWNrcy4uLikKCjIwMDgtMDYtMTMgMTg6MjU6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogRGlzYWJsZSBzaXBybyBvbiA2NGJpdHMsIGl0IGNyYXNoZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3Byb2JlX21vZHVsZXMpOgoJICBEaXNhYmxlIHNpcHJvIG9uIDY0Yml0cywgaXQgY3Jhc2hlcy4KCjIwMDgtMDYtMTMgMTg6MDM6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogQWRkIHJhdmVyc2lvbnMgd2UgY2FuIHN1cHBvcnQgb24gdGhlIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NoYWluKSwKCSAgKGNsb3NlX2xpYnJhcnkpLCAob3Blbl9saWJyYXJ5KSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19wcm9iZV9tb2R1bGVzKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19nZXRjYXBzKSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19pbml0KSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2ZpbmFsaXplKToKCSAgQWRkIHJhdmVyc2lvbnMgd2UgY2FuIHN1cHBvcnQgb24gdGhlIGNhcHMuCgkgIFJlZmFjdG9yIHRoZSBsb2FkaW5nIG9mIHRoZSByZWFsIGNvZGVjcyBsaWtlIHJlYWx2aWRlbyBzbyB0aGF0IHdlIGNhbgoJICBpbXBsZW1lbnQgcHJvYmluZy4KCSAgUHJvYmUgYWxsIHN1cHBvcnRlZCBmb3JtYXRzIGJ5IHRyeWluZyB0byBsb2FkIHRoZSAuc28gZmlsZXMsIG9ubHkgcmVwb3J0CgkgIHRoZSB2ZXJzaW9ucyBvbiB0aGUgY2FwcyB0aGF0IHdlIGNhbiBhY3R1YWxseSBsb2FkLgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19nZXRjYXBzKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRjYXBzKSwKCSAgKG9wZW5fbGlicmFyeSksIChjbG9zZV9saWJyYXJ5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19wcm9iZV9tb2R1bGVzKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2luaXQpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2ZpbmFsaXplKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgQ2hhbmdlIHRoZSBsb2FkaW5nIG9mIHRoZSBsaWJyYXJ5IGxpa2UgdGhlIGF1ZGlvIGRlY29kZXIuCgkgIFByb2JlIHRoZSBzdXBwb3J0ZWQgZm9ybWF0cyBieSB0cnlpbmcgdG8gbG9hZCB0aGUgLnNvIGZpbGVzIGFuZCBvbmx5CgkgIHJlcG9ydCB0aGUgdmVyc2lvbnMgb24gdGhlIGNhcHMgdGhhdCB3ZSBjYW4gYWN0dWFsbHkgbG9hZC4KCjIwMDgtMDYtMTMgMTU6NDY6MDMgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBIYW5kbGUgY2hhcmFjdGVyIHNldHMgaW4gc3RyaW5ncyBjb21pbmcgZnJvbSBEVkIgU0kgYWNjb3JkaW5nIHRvIHRoZSBEVkIgU0kgc3BlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgSGFuZGxlIGNoYXJhY3RlciBzZXRzIGluIHN0cmluZ3MgY29taW5nIGZyb20gRFZCIFNJIGFjY29yZGluZwoJICB0byB0aGUgRFZCIFNJIHNwZWMuCgoyMDA4LTA2LTEzIDE0OjMzOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcmVwbGF5Z2Fpbi86IE1vcmUgZG9jIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICBNb3JlIGRvYyB1cGRhdGVzLgoKMjAwOC0wNi0xMyAxMTo1OToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIEFkZCBtaXNzaW5nIGVsZW1lbnRzIHRvIGRvY3MuIEZpeCBkb2MtbWFya3VwOiB1c2UgY29udmluaWVuY2Ugc3ludGF4CgkgIGZvciBleGFtcGxlcyAocHJvZHVjZXMgdmFsaWQgZG9jYm9vayksIGFkZCBzZXZlcmFsIHJlZnNlYzIgd2hlbiB3ZQoJICBoYXZlIHNldmVyYWwgdGl0bGVzLiBGaXggc29tZSB0eXBlcy4KCjIwMDgtMDYtMTIgMTU6NDc6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvOiBBZGQgYmVlZmVkIHVwIGV4YW1wbGUgYXBwIGZyb20gYnVnICM0MTM0MTguIEl0IG5vdyBhbHNvIHVzZXMgYXBwc2luayBpbnN0ZWFkIG9mIGZha2VzaW5rIGZvciBtb3JlIHVsdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6CgkgICogZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOiAob25fbmV3X2J1ZmZlcl9mcm9tX3NvdXJjZSksCgkgIChvbl9zb3VyY2VfbWVzc2FnZSksIChvbl9zaW5rX21lc3NhZ2UpLCAobWFpbik6CgkgIEFkZCBiZWVmZWQgdXAgZXhhbXBsZSBhcHAgZnJvbSBidWcgIzQxMzQxOC4gSXQgbm93IGFsc28gdXNlcyBhcHBzaW5rCgkgIGluc3RlYWQgb2YgZmFrZXNpbmsgZm9yIG1vcmUgdWx0aW1hdGUgY29vbG5lc3MuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfaW5pdCksIChnc3RfYXBwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc3JjX3VubG9jayksCgkgIChnc3RfYXBwX3NyY191bmxvY2tfc3RvcCksIChnc3RfYXBwX3NyY19jcmVhdGUpLAoJICAoZ3N0X2FwcF9zcmNfc2V0X21heF9ieXRlcyksIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlciksCgkgIChnc3RfYXBwX3NyY19lbmRfb2Zfc3RyZWFtKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBBZGQgYmxvY2sgcHJvcGVydHkgdG8gYWxsb3cgcHVzaCBiYXNlZCBpbXBsZW1lbnRhdGlvbiB0byBibG9jayB3aGVuIHdlCgkgIGZpbGwgdXAgdGhlIGFwcHNyYyBxdWV1ZXMuCgkgIEVtaXQgdGhlIGVub3VnaC1kYXRhIHNpZ25hbCB3aGlsZSByZWxlYXNpbmcgb3VyIGxvY2suCgoyMDA4LTA2LTEyIDE0OjUwOjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZTogSWdub3JlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZS4KCjIwMDgtMDYtMTIgMTQ6NDk6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdCB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QKCSAgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXJuaW5ncyBpZiB0aGV5IGRpZmZlci4KCSAgQWxzbyBmaXhpbmcgdXAgdGhlIENoYW5nZUxvZyBvcmRlci4KCjIwMDgtMDYtMTIgMTQ6MjA6NDAgKzAwMDAgIFNlYmFzdGllbiBNZXJsZSA8c3lsYW5lQGdtYWlsLmNvbT4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiBGaXggdGhlIHNpZ24gb2YgdGhlIGRhdGEgd2UgcGFzcyB0byB0aGUgZGVjb2RlciBzbyB0aGF0IHRoZSBkZWNvZGVyIGNvbXBpbGVzIHdpdGggbmV3ZXIgcmVmZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGllbiBNZXJsZSA8c3lsYW5lIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfY2hhaW4pOgoJICBGaXggdGhlIHNpZ24gb2YgdGhlIGRhdGEgd2UgcGFzcyB0byB0aGUgZGVjb2RlciBzbyB0aGF0IHRoZSBkZWNvZGVyCgkgIGNvbXBpbGVzIHdpdGggbmV3ZXIgcmVmZXJlbmNlIGNvZGUgYXMgd2VsbC4gRml4ZXMgIzUyODYxOC4KCjIwMDgtMDYtMTIgMTM6NTE6NTEgKzAwMDAgIFNlYmFzdGllbiBNZXJsZSA8c3lsYW5lQGdtYWlsLmNvbT4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiBGaXggdGhlIHNpZ24gb2YgdGhlIGRhdGEgd2UgcGFzcyB0byB0aGUgZGVjb2RlciBzbyB0aGF0IHRoZSBkZWNvZGVyIGNvbXBpbGVzIHdpdGggbmV3ZXIgcmVmZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGllbiBNZXJsZSA8c3lsYW5lIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfY2hhaW4pOgoJICBGaXggdGhlIHNpZ24gb2YgdGhlIGRhdGEgd2UgcGFzcyB0byB0aGUgZGVjb2RlciBzbyB0aGF0IHRoZSBkZWNvZGVyCgkgIGNvbXBpbGVzIHdpdGggbmV3ZXIgcmVmZXJlbmNlIGNvZGUgYXMgd2VsbC4gRml4ZXMgIzUyODYxOC4KCjIwMDgtMDYtMTIgMTM6MDY6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOiBJbmNsdWRlIHN0ZGxpYi5oLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaC4KCjIwMDgtMDYtMTEgMTE6MTI6NDkgKzAwMDAgIE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlckB1cGIuZGU+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLCB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlciBhdCB1cGIgZG90IGRlPgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRzX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRfbGF5b3V0X2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfYmFzZV9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wb3BfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2hlYWRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2RlaW50ZXJsYWNlX3NjYW5saW5lcyksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnlfdHlwZXMpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChjb3B5X3NjYW5saW5lKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRzY2FsZXJfZ3JlZWR5bF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKSwKCSAgKGdyZWVkeWhfaW5pdCksIChncmVlZHloX2ZpbHRlcl9tbXgpLCAoZ3JlZWR5aF9maWx0ZXJfM2Rub3cpLAoJICAoZ3JlZWR5aF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL21teC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6IChtdWx0aXBseV9hbHBoYSksIChjbGlwMjU1KSwKCSAgKGNvbWJfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9tbXgpLCAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfYyksCgkgIChwYWNrZWQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAobWlycm9yX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfbW14KSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLCAoc21hbGxfbWVtY3B5KSwKCSAgKHNwZWVkeV9tZW1jcHlfYyksIChzcGVlZHlfbWVtY3B5X21teCksIChzcGVlZHlfbWVtY3B5X21teGV4dCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX2FscGhhX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoc3VicGl4X2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYThfc3VicGl4X2JsaXRfc2NhbmxpbmVfYyksIChteXJvdW5kKSwgKGluaXRfUkdCX3RvX1lDYkNyX3RhYmxlcyksCgkgIChpbml0X1lDYkNyX3RvX1JHQl90YWJsZXMpLCAocmdiMjRfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHJnYmEzMl90b19wYWNrZWQ0NDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19yZ2IyNF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fbm9ucHJlbXVsdGlwbGllZF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYXNwZWN0X2FkanVzdF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLCAoc2V0dXBfc3BlZWR5X2NhbGxzKSwKCSAgKHNwZWVkeV9nZXRfYWNjZWwpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NzZS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV90b21zbW9jb21wKSwgKGRzY2FsZXJfdG9tc21vY29tcF9nZXRfbWV0aG9kKSwKCSAgKHRvbXNtb2NvbXBfaW5pdCksICh0b21zbW9jb21wX2ZpbHRlcl9tbXgpLAoJICAodG9tc21vY29tcF9maWx0ZXJfM2Rub3cpLCAodG9tc21vY29tcF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpLCAoY29weV9zY2FubGluZSksCgkgIChkc2NhbGVyX3ZmaXJfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkgIEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwKCSAgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmb3IgR1N0cmVhbWVyIGFuZCBpbiB0aGVvcnkgcHJvdmlkZXMKCSAgYmV0dGVyIGFuZCBmYXN0ZXIgcmVzdWx0cyB0aGFuIHRoZSBzaW1wbGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCSAgRml4ZXMgYnVnICMxNjM1NzguCgkgIFBvcnRlZCB0byBHU3RyZWFtZXIgMC4xMCBidXQgc3RpbGwgbm90IGVuYWJsZWQgb3IgaW5jbHVkZWQgaW4gdGhlCgkgIGJ1aWxkIHN5c3RlbSBieSBkZWZhdWx0IGJlY2F1c2Ugb2YgYmFkIGFydGVmYWN0cyBjYXVzZWQgYnkgYSBidWcKCSAgc29tZXdoZXJlIGFuZCBhcyBpdCBjYW4gYmUgb25seSBidWlsZCBvbiB4ODYvYW1kNjQgQVRNIGFuZCByZXF1aXJlcwoJICBzcGVjaWFsIENGTEFHUy4gV2lsbCBiZSBmaXhlZCBzb29uLgoKMjAwOC0wNi0xMSAxMToxMjoxNCArMDAwMCAgTWFydGluIEVpa2VybWFubiA8bWVpa2VyQHVwYi5kZT4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogTWFydGluIEVpa2VybWFubiA8bWVpa2VyIGF0IHVwYiBkb3QgZGU+CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZHNfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZF9sYXlvdXRfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9iYXNlX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxhY2UyX3BvcF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaGVhZF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZGVpbnRlcmxhY2Vfc2NhbmxpbmVzKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeV90eXBlcyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGNvcHlfc2NhbmxpbmUpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZHNjYWxlcl9ncmVlZHlsX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLCAoZHNjYWxlcl9ncmVlZHloX2dldF9tZXRob2QpLAoJICAoZ3JlZWR5aF9pbml0KSwgKGdyZWVkeWhfZmlsdGVyX21teCksIChncmVlZHloX2ZpbHRlcl8zZG5vdyksCgkgIChncmVlZHloX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbW14Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzogKG11bHRpcGx5X2FscGhhKSwgKGNsaXAyNTUpLAoJICAoY29tYl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X21teCksIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9jKSwKCSAgKHBhY2tlZDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChtaXJyb3JfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9tbXgpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksIChzbWFsbF9tZW1jcHkpLAoJICAoc3BlZWR5X21lbWNweV9jKSwgKHNwZWVkeV9tZW1jcHlfbW14KSwgKHNwZWVkeV9tZW1jcHlfbW14ZXh0KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfYWxwaGFfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChzdWJwaXhfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChhOF9zdWJwaXhfYmxpdF9zY2FubGluZV9jKSwgKG15cm91bmQpLCAoaW5pdF9SR0JfdG9fWUNiQ3JfdGFibGVzKSwKCSAgKGluaXRfWUNiQ3JfdG9fUkdCX3RhYmxlcyksIChyZ2IyNF90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocmdiYTMyX3RvX3BhY2tlZDQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX3JnYjI0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19ub25wcmVtdWx0aXBsaWVkX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChhc3BlY3RfYWRqdXN0X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksIChzZXR1cF9zcGVlZHlfY2FsbHMpLAoJICAoc3BlZWR5X2dldF9hY2NlbCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3NlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX3RvbXNtb2NvbXApLCAoZHNjYWxlcl90b21zbW9jb21wX2dldF9tZXRob2QpLAoJICAodG9tc21vY29tcF9pbml0KSwgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksCgkgICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmUpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpciksIChjb3B5X3NjYW5saW5lKSwKCSAgKGRzY2FsZXJfdmZpcl9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLAoJICB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGZvciBHU3RyZWFtZXIgYW5kIGluIHRoZW9yeSBwcm92aWRlcwoJICBiZXR0ZXIgYW5kIGZhc3RlciByZXN1bHRzIHRoYW4gdGhlIHNpbXBsZSBkZWludGVybGFjZSBlbGVtZW50LgoJICBGaXhlcyBidWcgIzE2MzU3OC4KCSAgUG9ydGVkIHRvIEdTdHJlYW1lciAwLjEwIGJ1dCBzdGlsbCBub3QgZW5hYmxlZCBvciBpbmNsdWRlZCBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtIGJ5IGRlZmF1bHQgYmVjYXVzZSBvZiBiYWQgYXJ0ZWZhY3RzIGNhdXNlZCBieSBhIGJ1ZwoJICBzb21ld2hlcmUgYW5kIGFzIGl0IGNhbiBiZSBvbmx5IGJ1aWxkIG9uIHg4Ni9hbWQ2NCBBVE0gYW5kIHJlcXVpcmVzCgkgIHNwZWNpYWwgQ0ZMQUdTLiBXaWxsIGJlIGZpeGVkIHNvb24uCgoyMDA4LTA2LTExIDA3OjU4OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuKjogSW5pdGlhbGl6ZSB3aWxkbWlkaSBvbmx5IG9uY2UgaW4gdGhlIHBsdWdpbiBpbml0IGZ1bmN0aW9uIGluc3RlYWQgb2Ygb25jZSBmb3IgZXZlcnkgaW5zdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6ICBTb25pY2FkdmFuY2UxIGF0IEdNQUlMIGRvdCBDT00KCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKGdzdF93aWxkbWlkaV9pbml0KSwKCSAgKGdzdF93aWxkbWlkaV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICBJbml0aWFsaXplIHdpbGRtaWRpIG9ubHkgb25jZSBpbiB0aGUgcGx1Z2luIGluaXQgZnVuY3Rpb24gaW5zdGVhZAoJICBvZiBvbmNlIGZvciBldmVyeSBpbnN0YW5jZS4gVGhlIHNlY29uZCBhbmQgZm9sbG93aW5nIGNhbGxzIHRvIHRoZQoJICB3aWxkbWlkaSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiB3aWxsIGZhaWwuIEZpeGVzIGJ1ZyAjNTI1NjEzLgoJICBBbHNvIGRvbid0IHJlZ2lzdGVyIHRoZSBlbGVtZW50IGF0IGFsbCBpZiB3aWxkbWlkaSBpbml0aWFsaXphdGlvbgoJICBmYWlscy4KCjIwMDgtMDYtMTAgMTI6NTQ6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOiBDYWxsIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcygpIGFmdGVyIGFsbCBwYWRzIGFyZSBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIENhbGwgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzKCkgYWZ0ZXIgYWxsIHBhZHMgYXJlIGFkZGVkLgoKMjAwOC0wNi0wOSAxNzo1NzowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiBBZGQgc2ltcGxlIHJldmVyc2UgcGxheWJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfcmF3X3BhcnNlX2xvb3ApLCAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIEFkZCBzaW1wbGUgcmV2ZXJzZSBwbGF5YmFjay4KCjIwMDgtMDYtMDkgMTI6MDU6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuKjogRml4IHNlZWtpbmcsIHRpbWVzdGFtcHMsIGR1cmF0aW9uIGFuZCBzb21lIG1vcmUuIEZpeGVzICM1MzYzMDkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9yZXNldCksCgkgIChnc3RfcmF3X3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF9yYXdfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X3Jhd19wYXJzZV9sb29wKSwgKGdzdF9yYXdfcGFyc2Vfc2lua19hY3RpdmF0ZXB1bGwpLAoJICAoZ3N0X3Jhd19wYXJzZV9jb252ZXJ0KSwgKGdzdF9yYXdfcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1c2gpLCAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9yYXdfcGFyc2Vfc3JjX3F1ZXJ5KSwgKGdzdF9yYXdfcGFyc2VfZ2V0X2Zwcyk6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkgIEZpeCBzZWVraW5nLCB0aW1lc3RhbXBzLCBkdXJhdGlvbiBhbmQgc29tZSBtb3JlLiBGaXhlcyAjNTM2MzA5LgoKMjAwOC0wNi0wNiAxNjo1MDo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC86IEFkZGVkIDMgbW9yZSBleGFtcGxlIGFwcGxpY2F0aW9uIGZvciB1c2luZyBhcHBzcmMgaW4gcmFuZG9tLWFjY2VzcyBtb2RlLCBwdWxsLW1vZGUgc3RyZWFtaW5nIGFuZCBwdWxsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOiAoZmVlZF9kYXRhKSwgKHNlZWtfZGF0YSksCgkgIChmb3VuZF9zb3VyY2UpLCAoYnVzX21lc3NhZ2UpLCAobWFpbik6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOiAoZmVlZF9kYXRhKSwgKHNlZWtfZGF0YSksCgkgIChmb3VuZF9zb3VyY2UpLCAoYnVzX21lc3NhZ2UpLCAobWFpbik6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6IChmZWVkX2RhdGEpLCAoZm91bmRfc291cmNlKSwKCSAgKGJ1c19tZXNzYWdlKSwgKG1haW4pOgoJICBBZGRlZCAzIG1vcmUgZXhhbXBsZSBhcHBsaWNhdGlvbiBmb3IgdXNpbmcgYXBwc3JjIGluIHJhbmRvbS1hY2Nlc3MgbW9kZSwKCSAgcHVsbC1tb2RlIHN0cmVhbWluZyBhbmQgcHVsbCBtb2RlIHNlZWthYmxlLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX3N0YXJ0KSwgKGdzdF9hcHBfc3JjX2RvX2dldF9zaXplKSwKCSAgKGdzdF9hcHBfc3JjX2NyZWF0ZSk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgTWFrZSBzdHJlYW0tdHlwZSBwcm9wZXJ0eSB3cml0YWJsZS4KCSAgVW5zZXQgZmx1c2hpbmcgd2hlbiBzdGFydGluZyBzbyB0aGF0IHdlIHJldXNlIGFwcHNyYy4KCSAgSW5mb3JtIGJhc2VzcmMgYWJvdXQgdGhlIGNvbmZpZ3VyZWQgc2l6ZS4KCSAgRW1pdCBzZWVrLWRhdGEgc2lnbmFsIHdoZW4gd2UgYXJlIGdvaW5nIHRvIGEgZGlmZmVyZW50IG9mZnNldCBpbgoJICByYW5kb20tYWNjZXNzIG1vZGUuCgoyMDA4LTA2LTA2IDE0OjE5OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzogVXNlIGRlZXAtbm90aWZ5IHVudGlsIHdlIGNhbiBkZXBlbmQgb24gYSBwbGF5YmluMiB3aXRoIHN1cHBvcnQgZm9yIHRoZSBzb3VyY2UgcHJvcGVydHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6IChmb3VuZF9zb3VyY2UpLCAobWFpbik6CgkgIFVzZSBkZWVwLW5vdGlmeSB1bnRpbCB3ZSBjYW4gZGVwZW5kIG9uIGEgcGxheWJpbjIgd2l0aCBzdXBwb3J0IGZvciB0aGUKCSAgc291cmNlIHByb3BlcnR5LgoKMjAwOC0wNi0wNiAxMzowMTowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggZGVhZGxvY2sgd2hlbiBzaHV0dGluZyBkb3duLCB1c2UgYSBuZXcgbG9jayBpbnN0ZWFkIHRvIHByb3Blcmx5IHNodXRkb3duLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKToKCSAgRml4IGRlYWRsb2NrIHdoZW4gc2h1dHRpbmcgZG93biwgdXNlIGEgbmV3IGxvY2sgaW5zdGVhZCB0byBwcm9wZXJseQoJICBzaHV0ZG93bi4KCjIwMDgtMDYtMDUgMTY6Mzg6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvOiBBZGRlZCBhbiBleGFtcGxlIG9uIGhvdyB0byB1c2UgYXBwc3JjIGluIHBsYXliaW4gaW4gc3RyZWFtaW5nIG1vZGUgZnJvbSBhbiBtbWFwcGVkIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOgoJICAqIGV4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOiAocmVhZF9kYXRhKSwgKHN0YXJ0X2ZlZWQpLAoJICAoc3RvcF9mZWVkKSwgKGZvdW5kX3NvdXJjZSksIChidXNfbWVzc2FnZSksIChtYWluKToKCSAgQWRkZWQgYW4gZXhhbXBsZSBvbiBob3cgdG8gdXNlIGFwcHNyYyBpbiBwbGF5YmluIGluIHN0cmVhbWluZyBtb2RlIGZyb20KCSAgYW4gbW1hcHBlZCBmaWxlLgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzogKG1haW4pOgoJICBTZXQgcGlwZWxpbmUgdG8gTlVMTCB0byBmcmVlIHF1ZXVlZCBidWZmZXJzLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwLW1hcnNoYWwubGlzdDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoc3RyZWFtX3R5cGVfZ2V0X3R5cGUpLCAoX2RvX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksIChnc3RfYXBwX3NyY19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2ZsdXNoX3F1ZXVlZCksIChnc3RfYXBwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9hcHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zcmNfdW5sb2NrKSwgKGdzdF9hcHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9hcHBfc3JjX3N0YXJ0KSwgKGdzdF9hcHBfc3JjX3N0b3ApLCAoZ3N0X2FwcF9zcmNfaXNfc2Vla2FibGUpLAoJICAoZ3N0X2FwcF9zcmNfY2hlY2tfZ2V0X3JhbmdlKSwgKGdzdF9hcHBfc3JjX2RvX3NlZWspLAoJICAoZ3N0X2FwcF9zcmNfY3JlYXRlKSwgKGdzdF9hcHBfc3JjX3NldF9zdHJlYW1fdHlwZSksCgkgIChnc3RfYXBwX3NyY19nZXRfc3RyZWFtX3R5cGUpLCAoZ3N0X2FwcF9zcmNfc2V0X21heF9ieXRlcyksCgkgIChnc3RfYXBwX3NyY19nZXRfbWF4X2J5dGVzKSwgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9hcHBfc3JjX2VuZF9vZl9zdHJlYW0pLCAoZ3N0X2FwcF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9hcHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwgKGdzdF9hcHBfc3JjX3VyaV9nZXRfdXJpKSwKCSAgKGdzdF9hcHBfc3JjX3VyaV9zZXRfdXJpKSwgKGdzdF9hcHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIE1lYXN1cmUgbWF4IHF1ZXVlIHNpemUgaW4gYnl0ZXMgaW5zdGVhZC4KCSAgQWRkIHN1cHBvcnQgZm9yIDMgbW9kZXMgb2Ygb3BlcmF0aW9uLCBzdHJlYW1pbmcsIHNlZWthYmxlIGFuZAoJICByYW5kb20tYWNjZXNzLCBtYWtpbmcgYmFzZXNyYyBoYW5kbGUgdGhlIHNjaGVkdWxpbmcgbW9kZXMgZm9yIGVhY2guCgkgIEFkZCBhcHBzcmM6Ly8gdXJpIGhhbmRsZXIgc28gdGhhdCBhdXRvbWF0aWMgcGx1Z2dpbmcgY2FuIGJlIGRvbmUgZnJvbQoJICBwbGF5YmluMiBvciB1cmlkZWNvZGViaW4sIGZvciBleGFtcGxlLgoJICBBZGRlZCBzdXBwb3J0IGZvciBjdXN0b20gc2VnbWVudCBmb3JtYXRzLgoJICBBZGQgc3VwcG9ydCBmb3IgcHVzaCBhbmQgcHVsbCBiYXNlZCBvcGVyYXRpb25zIGZyb20gdGhlIGFwcGxpY2F0aW9uLgoJICBFeHBhbmQgdGhlIG1ldGhvZHMgc28gdGhhdCBlcnJvcnMgY2FuIGJlIGRldGVjdGVkLgoJICBGbHVzaCB0aGUgcXVldWVkIGJ1ZmZlcnMgb24gc2Vla3MgYW5kIHdoZW4gc2h1dHRpbmcgZG93bi4KCSAgQWRkIHNpZ25hbHMgdG8gaW5mb3JtIHRoZSBhcHAgdGhhdCBhIHNlZWsgbXVzdCBoYXBwZW4uCgoyMDA4LTA2LTA1IDExOjA3OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS86IFByb3Blcmx5IGltcGxlbWVudCBkdXJhdGlvbiBhbmQgcG9zaXRpb24gcXVlcmllcyBpbiBieXRlcyBmb3JtYXQuIFdlIGhhdmUgdG8gdGFrZSB0aGUgdXBzdHJlYW0gcmVwbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NyY19xdWVyeSk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeSk6CgkgIFByb3Blcmx5IGltcGxlbWVudCBkdXJhdGlvbiBhbmQgcG9zaXRpb24gcXVlcmllcyBpbiBieXRlcyBmb3JtYXQuIFdlCgkgIGhhdmUgdG8gdGFrZSB0aGUgdXBzdHJlYW0gcmVwbHkgYW5kIGRpdmlkZS9tdWx0aXBseSBpdCBieSB0aGUgbnVtYmVyCgkgIG9mIGNoYW5uZWxzIHRvIGdldCB0aGUgY29ycmVjdCByZXN1bHQuCgoyMDA4LTA2LTA0IDIxOjE4OjUzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3d2aWRlb3NpbmsvOiBGaXggdXAgY29weXJpZ2h0IG5vdGljZSBvbiBuZXcgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuY3BwOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5oOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIEZpeCB1cCBjb3B5cmlnaHQgbm90aWNlIG9uIG5ldyBwbHVnaW4uCgoyMDA4LTA2LTA0IDE3OjAyOjM4ICswMDAwICBKb24gVHJvd2JyaWRnZSA8dHJvd0B4aW1pYW4uY29tPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBVcGRhdGUgcHJvcGVydGllcyBmb3IgcmVjZW50IGRpcmFjIGNoYW5nZXMuICBQYXRjaCBmcm9tIEpvbmF0aGFuIFJvc3Nlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBVcGRhdGUgcHJvcGVydGllcyBmb3IgcmVjZW50CgkgIGRpcmFjIGNoYW5nZXMuICBQYXRjaCBmcm9tIEpvbmF0aGFuIFJvc3Nlci4KCjIwMDgtMDYtMDQgMTE6MzM6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IFRyeSBoYXJkZXIgbm90IHRvIGNyYXNoIHdoZW4gd2UgZ2V0IGFuIEVPUyBldmVudCBidXQgaGF2ZW4ndCBzZXQgdXAgdGhlIGVuY29kZXIgeWV0IChhcyBtYXkgaGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2hlYWRlcl9idWYpLAoJICAoZ3N0X3gyNjRfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3gyNjRfZW5jX2NoYWluKSwKCSAgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpOgoJICBUcnkgaGFyZGVyIG5vdCB0byBjcmFzaCB3aGVuIHdlIGdldCBhbiBFT1MgZXZlbnQgYnV0IGhhdmVuJ3Qgc2V0CgkgIHVwIHRoZSBlbmNvZGVyIHlldCAoYXMgbWF5IGhhcHBlbiB3aGVuIHVwc3RyZWFtIGVycm9ycyBvdXQgd2l0aAoJICBub3QtbmVnb3RpYXRlZCwgZm9yIGV4YW1wbGUpLiBBbHNvLCBhbHdheXMgcHVzaCB0aGUgRU9TIGV2ZW50CgkgIGRvd25zdHJlYW0uCgoyMDA4LTA2LTA0IDA2OjQ4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLio6IFVzZSBhbiBhbHdheXMgaW5jcmVhc2luZyBpbnRlZ2VyIGZvciB0aGUgbnVtYmVyIGluIHRoZSBuYW1lIG9mIHRoZSByZXF1ZXN0ZWQgc2luayBwYWRzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfcHJvcGVydHkpLCAoZ3N0X2ludGVybGVhdmVfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9pbnRlcmxlYXZlX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIFVzZSBhbiBhbHdheXMgaW5jcmVhc2luZyBpbnRlZ2VyIGZvciB0aGUgbnVtYmVyIGluIHRoZSBuYW1lIG9mIHRoZQoJICByZXF1ZXN0ZWQgc2luayBwYWRzIHRvIGd1YXJhbnR1ZWUgYSB1bmlxdWUgbmFtZS4gQWRkIGEgImNoYW5uZWwiCgkgIHByb3BlcnR5IHRvIEdzdEludGVybGVhdmVQYWQgdG8gbWFrZSBpdCBwb3NzaWJsZSBmb3IgYXBwbGljYXRpb25zCgkgIHRvIHJldHJpZXZlIHRoZSBjaGFubmVsIG51bWJlciBpbiB0aGUgb3V0cHV0IGZvciBldmVyeSBwYWQuCgkgIFVzZSBnX3R5cGVfcmVnaXN0ZXJfc3RhdGljX3NpbXBsZSgpIGluc3RlYWQgb2YKCSAgZ190eXBlX3JlZ2lzdGVyX3N0YXRpYygpIHRvIHNhdmUgc29tZSByZWxvY2F0aW9ucy4KCjIwMDgtMDYtMDMgMTU6NDE6MDUgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGF1dG9nZW4uc2g6CgkgIGZpeCBwYWNrYWdlIG5hbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBwYWNrYWdlIG5hbWUKCjIwMDgtMDYtMDMgMTQ6MzU6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogU3RvcCBHc3RDb2xsZWN0UGFkcyBiZWZvcmUgY2FsbGluZyB0aGUgcGFyZW50J3Mgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHdoZW4gZ29pbmcgZnJvbSBQQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X2ludGVybGVhdmVfY2hhbmdlX3N0YXRlKToKCSAgU3RvcCBHc3RDb2xsZWN0UGFkcyBiZWZvcmUgY2FsbGluZyB0aGUgcGFyZW50J3Mgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uCgkgIHdoZW4gZ29pbmcgZnJvbSBQQVVTRUQgdG8gUkVBRFkgYXMgd2Ugb3RoZXJ3aXNlIGRlYWRsb2NrLgoJICBGaXhlcyBidWcgIzUzNjI1OC4KCjIwMDgtMDYtMDMgMTE6MTA6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS4qOiBQYXJzZSBjb2RlY19kYXRhIGFuZCB1c2UgdGhlIG5hbHVfc2l6ZV9sZW5ndGggZmllbGQgdG8gZ2V0IHRoZSBOQUxVIGxlbmd0aCBpbiBwYWNrZXRpemUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9uYWxfYnNfaW5pdCksCgkgIChnc3RfaDI2NF9wYXJzZV9zaW5rX3NldGNhcHMpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fZm9yd2FyZCksCgkgIChnc3RfaDI2NF9wYXJzZV9xdWV1ZV9idWZmZXIpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fcmV2ZXJzZSksCgkgIChnc3RfaDI2NF9wYXJzZV9jaGFpbik6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgUGFyc2UgY29kZWNfZGF0YSBhbmQgdXNlIHRoZSBuYWx1X3NpemVfbGVuZ3RoIGZpZWxkIHRvIGdldCB0aGUgTkFMVQoJICBsZW5ndGggaW4gcGFja2V0aXplZCBoMjY0LgoJICBXaGVuIHF1ZXVlaW5nIGEgcGFja2V0aXplZCBidWZmZXIgaW4gcmV2ZXJzZSBtb2RlLCBkb24ndCB1bnJlZiB0aGUKCSAgYnVmZmVyIHR3aWNlLgoJICBBdm9pZCBhY2Nlc3NpbmcgdGhlIGJ1ZmZlciBUSU1FU1RBTVAgZmllbGQgYWZ0ZXIgd2UgcHVzaGVkIGl0IG9uCgkgIHRoZSBhZGFwdG9yLgoKMjAwOC0wNi0wMyAwOTowMzoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBVc2UgbmV3IGdzdF9hdWRpb19jaGVja19jaGFubmVsX3Bvc2l0aW9ucygpIGZ1bmN0aW9uIGFuZCByZWdpc3RlciB0aGUgR3N0SW50ZXJsZWF2ZVBhZCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKGdzdF9pbnRlcmxlYXZlX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KToKCSAgVXNlIG5ldyBnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMoKSBmdW5jdGlvbiBhbmQgcmVnaXN0ZXIKCSAgdGhlIEdzdEludGVybGVhdmVQYWQgdHlwZSBmcm9tIGEgdGhyZWFkc2FmZSBjb250ZXh0LgoKMjAwOC0wNi0wMiAyMTo1MTo1MiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgY29uZmlndXJlLmFjOiBSZXZlcnQgYWNjaWRlbnRhbCBhZGRpdGlvbiBpbiBjb25maWd1cmUuYWMuIFNvcnJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJldmVydCBhY2NpZGVudGFsIGFkZGl0aW9uIGluIGNvbmZpZ3VyZS5hYy4gU29ycnkuCgoyMDA4LTA2LTAyIDE4OjIzOjU0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgYSBuZXcgd2luMzIgdmlkZW9zaW5rLiBVc2VzIHRoZSBEaXJlY3RTaG93IHJlbmRlcmVycyBmb3IgaGlnaC1wZXJmb3JtYW5jZSB2aWRlbyByZW5kZXJpbmcgb24gd2luMzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9SRUFETUU6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmNwcDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuaDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBBZGQgYSBuZXcgd2luMzIgdmlkZW9zaW5rLiBVc2VzIHRoZSBEaXJlY3RTaG93IHJlbmRlcmVycyBmb3IKCSAgaGlnaC1wZXJmb3JtYW5jZSB2aWRlbyByZW5kZXJpbmcgb24gd2luMzIuCgkgIEN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIHNvbWUgWVVWIGZvcm1hdHMuCgkgIFJhbmsgUFJJTUFSWSwgc2luY2UgaXQncyBtdWNoIG1vcmUgdXNlZnVsIGZvciB0aGUgY29tbW9uIGNhc2VzIHRoYXQgdGhlCgkgIGRpcmVjdGRyYXcgc2luayAod2hpY2ggb25seSBkb2VzIFJHQikuCgoyMDA4LTA2LTAyIDE4OjA2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwYy9NYWtlZmlsZS5hbTogRGlzdCB0YWcuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICBEaXN0IHRhZy5oCgoyMDA4LTA2LTAyIDE3OjA2OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBbHdheXMgZHJhaW4gYmVmb3JlIGFjdGl2YXRpbmcgdGhlIG5ldyBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zaW5rX2V2ZW50KToKCSAgQWx3YXlzIGRyYWluIGJlZm9yZSBhY3RpdmF0aW5nIHRoZSBuZXcgc2VnbWVudC4KCjIwMDgtMDYtMDIgMTI6NDI6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuKjogQWxsb3cgc2V0dGluZyBjaGFubmVsIHBvc2l0aW9ucyB2aWEgYSBwcm9wZXJ0eSBhbmQgYWxsb3cgdXNpbmcgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9uIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X2ludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2F1ZGlvX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9pbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X3Byb3BlcnR5KSwgKGdzdF9pbnRlcmxlYXZlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2ludGVybGVhdmVfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2ludGVybGVhdmVfc2lua19zZXRjYXBzKSwgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfbGF0ZW5jeSksIChnc3RfaW50ZXJsZWF2ZV9jb2xsZWN0ZWQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgQWxsb3cgc2V0dGluZyBjaGFubmVsIHBvc2l0aW9ucyB2aWEgYSBwcm9wZXJ0eSBhbmQgYWxsb3cgdXNpbmcgdGhlCgkgIGNoYW5uZWwgcG9zaXRpb25zIG9uIHRoZSBpbnB1dCBhcyB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgb2YgdGhlIG91dHB1dC4KCSAgRml4IHNvbWUgYnJva2VuIGxvZ2ljIGFuZCBtZW1vcnkgbGVha3MuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOiAoc3JjX2hhbmRvZmZfZmxvYXQzMiksCgkgIChzaW5rX2hhbmRvZmZfZmxvYXQzMiksIChHU1RfU1RBUlRfVEVTVCksIChpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGNoZWNraW5nIGNvcnJlY3QgaGFuZGxpbmcgb2YgY2hhbm5lbCBwb3NpdGlvbnMuCgoyMDA4LTA2LTAyIDEwOjE4OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC4qOiBBZGQgYmFzaWMgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9kaXNwb3NlKSwgKGNsZWFyX3F1ZXVlZCksCgkgIChmbHVzaF9xdWV1ZWQpLCAoZ3N0X2ZhYWRfZHJhaW4pLCAoZ3N0X2ZhYWRfZG9fcmF3X3NlZWspLAoJICAoZ3N0X2ZhYWRfc3JjX2V2ZW50KSwgKGdzdF9mYWFkX3NpbmtfZXZlbnQpLCAoZ3N0X2ZhYWRfY2hhaW4pLAoJICAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIEFkZCBiYXNpYyByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQuCgkgIENsZWFyIGRlY29kZXIgc3RhdGUgYWZ0ZXIgZGlzY29udHMuCgkgIFJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoJICBNYXJrIG91dHB1dCBidWZmZXJzIHdpdGggYSBkaXNjb250IGFmdGVyIGEgZGVjb2RpbmcgZXJyb3IuCgoyMDA4LTA2LTAyIDA3OjM3OjMxICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOiBGaXggbXBlZzR2aWRlb3BhcnNlIG9uIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlcy4gRml4ZXMgYnVnICM1MzYwNDIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wZWc0dnBhcnNlX2hhbmRsZV92b3MpOgoJICBGaXggbXBlZzR2aWRlb3BhcnNlIG9uIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlcy4gRml4ZXMgYnVnICM1MzYwNDIuCgoyMDA4LTA1LTI5IDE5OjU2OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOiBEb24ndCB1c2UgdGhlIGRlcHJlY2F0ZWQgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOiAoc2V0dXBfc3JjX3BhZCksCgkgICh0ZWFyZG93bl9zcmNfcGFkKToKCSAgRG9uJ3QgdXNlIHRoZSBkZXByZWNhdGVkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCjIwMDgtMDUtMjkgMTk6MTE6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOiBEb24ndCB1c2UgdGhlIGRlcHJlY2F0ZWQgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzogKG1haW4pOgoJICBEb24ndCB1c2UgdGhlIGRlcHJlY2F0ZWQgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLgoKMjAwOC0wNS0yOCAwODo1MzowMCArMDAwMCAgT25rYXIgU2hpbmRlIDxvbmthcnNoaW5kZUBnbWFpbC5jb20+CgoJICBzeXMvdmNkL3ZjZHNyYy5jOiBBbGxvdyB0aGUgdHJhY2sgdG8gYmUgc2V0IGJ5IHVzaW5nIHRoZSB1cmkuIEZpeGVzICM1MzUwNDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogPG9ua2Fyc2hpbmRlIGF0IGdtYWlsIGRvdCBjb20+CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfdXJpX2dldF91cmkpLAoJICAoZ3N0X3ZjZHNyY191cmlfc2V0X3VyaSk6CgkgIEFsbG93IHRoZSB0cmFjayB0byBiZSBzZXQgYnkgdXNpbmcgdGhlIHVyaS4gRml4ZXMgIzUzNTA0My4KCjIwMDgtMDUtMjggMDg6MTQ6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfbGF0ZW5jeSksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnkpOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4KCjIwMDgtMDUtMjcgMTc6NTM6NTggKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogQWRkIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIHRvIG5vdCBJIGZyYW1lIGJ1ZmZlcnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIEFkZCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCB0byBub3QgSSBmcmFtZSBidWZmZXJzCgoyMDA4LTA1LTI3IDE2OjQ4OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEJyZWFrIG91dCBvZiBjYWxsYmFja3Mgd2hlbiB3ZSBhcmUgc2h1dHRpbmcgZG93bi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIChnc3RfcnRwX2Jpbl9wcm9wYWdhdGVfcHJvcGVydHlfdG9faml0dGVyYnVmZmVyKSwKCSAgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSksIChuZXdfcGF5bG9hZF9mb3VuZCksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBCcmVhayBvdXQgb2YgY2FsbGJhY2tzIHdoZW4gd2UgYXJlIHNodXR0aW5nIGRvd24uCgkgIE1ha2Ugc3VyZSBubyBzdGF0ZSBjaGFuZ2VzIGNhbiBoYXBwZW4gd2hlbiB3ZSByZWNvbmZpZ3VyZS4KCjIwMDgtMDUtMjcgMTY6MzI6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgQ1ZTIGNvcmUgYW5kIGJhc2UgZm9yIG5ldyBhdWRpbyBjbG9jayByZXNldCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBDVlMgY29yZSBhbmQgYmFzZSBmb3IgbmV3IGF1ZGlvIGNsb2NrIHJlc2V0IG1ldGhvZC4KCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogKGFsc2FzcGRpZnNpbmtfY2hhbmdlX3N0YXRlKToKCSAgUmVzZXQgdGhlIGF1ZGlvIGNsb2NrLiBTZWUgIzUyMTc2MS4KCjIwMDgtMDUtMjYgMTc6NTI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IEluY2x1ZGUgdGhlIGVsZW1lbnQgbmFtZSBpbiB0aGUgcG9ydCBuYW1lIHRvIGF2b2lkIGR1cGxpY2F0ZSBwb3J0IG5hbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIChnc3RfamFja19hdWRpb19zaW5rX2FsbG9jYXRlX2NoYW5uZWxzKToKCSAgSW5jbHVkZSB0aGUgZWxlbWVudCBuYW1lIGluIHRoZSBwb3J0IG5hbWUgdG8gYXZvaWQgZHVwbGljYXRlIHBvcnQgbmFtZXMuCgoyMDA4LTA1LTI2IDEwOjI4OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogQWRkIGFub3RoZXIgZXhhbXBsZSBsYXVuY2ggbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIEFkZCBhbm90aGVyIGV4YW1wbGUgbGF1bmNoIGxpbmUuCgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV8yNCksCgkgIChnc3RfaW50ZXJsZWF2ZV9maW5hbGl6ZSksIChnc3RfaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfaW50ZXJsZWF2ZV9yZWxlYXNlX3BhZCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jaGFuZ2Vfc3RhdGUpLCAoX19yZW1vdmVfY2hhbm5lbHMpLAoJICAoX19zZXRfY2hhbm5lbHMpLCAoZ3N0X2ludGVybGVhdmVfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChnc3RfaW50ZXJsZWF2ZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnkpLAoJICAoZm9yd2FyZF9ldmVudF9mdW5jKSwgKGZvcndhcmRfZXZlbnQpLCAoZ3N0X2ludGVybGVhdmVfc3JjX2V2ZW50KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NvbGxlY3RlZCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBNYWpvciByZXdyaXRlIG9mIGludGVybGVhdmUgdXNpbmcgR3N0Q29sbGVjdHBhZHMuIFRoaXMgbmV3IHZlcnNpb24KCSAgYWxzbyBzdXBwb3J0cyBhbG1vc3QgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBoYXMgYmV0dGVyIGNhcHMKCSAgbmVnb3RpYXRpb24uIEZpeGVzIGJ1ZyAjNTA2NTk0LgoJICBBbHNvIHVwZGF0ZSBkb2NzIGFuZCBhZGQgc29tZSBtb3JlIGV4YW1wbGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfY2hhaW5fZnVuYyksCgkgIChHU1RfU1RBUlRfVEVTVCksIChzcmNfaGFuZG9mZl9mbG9hdDMyKSwgKHNpbmtfaGFuZG9mZl9mbG9hdDMyKSwKCSAgKGludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgc29tZSBtb3JlIGV4dGVuc2l2ZSB1bml0IHRlc3RzIGZvciBpbnRlcmxlYXZlLgoKMjAwOC0wNS0yNiAxMDowOToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBXaGVuIGNoZWNraW5nIHRoZSBzZXFudW0sIHJlc2V0IHRoZSBqaXR0ZXJidWZmZXIgaWYgdGhlIGdhcCBpcyB0b28gYmlnLCB3ZSBuZWVkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFdoZW4gY2hlY2tpbmcgdGhlIHNlcW51bSwgcmVzZXQgdGhlIGppdHRlcmJ1ZmZlciBpZiB0aGUgZ2FwIGlzIHRvbyBiaWcsCgkgIHdlIG5lZWQgdG8gZG8gdGhpcyBzbyB0aGF0IHdlIGNhbiBiZXR0ZXIgaGFuZGxlIGEgcmVzdGFydGVkIHNvdXJjZS4KCSAgRml4IHNvbWUgY29tbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICBUd2VhayB0aGUgc2tldyByZXN5bmMgZGlmZi4KCSAgVXNlIG91ciB3b3JraW5nIHNlcW51bSBjb21wYXJlIGZ1bmN0aW9uIGluIC1iYXNlLgoJICBSZXdvcmsgdGhlIGppdHRlcmJ1ZmZlciBpbnNlcnQgY29kZSB0byBtYWtlIGl0IGNsZWFyZXIgYW5kIG1vcmUKCSAgcGVyZm9ybWFudCBieSBvbmx5IHJldHJpZXZpbmcgdGhlIHNlcW51bSBvZiB0aGUgaW5wdXQgYnVmZmVyIG9uY2UgYW5kIGJ5CgkgIGFkZGluZyBzb21lIEdfTElLRUxZIGNvbXBpbGVyIGhpbnRzLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBmb3IgZHVwbGljYXRlIHBhY2tldHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgRml4IGEgY29tbWVudCwgd2UgZG9uJ3QgZG8gc2tldyBjb3JyZWN0aW9uIGhlcmUuLgoKMjAwOC0wNS0yNiAxMDowMDoyNCArMDAwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBQcm9wYWdhdGUgdGhlIGRvLWxvc3QgYW5kIGxhdGVuY3kgcHJvcGVydGllcyB0byB0aGUgaml0dGVyYnVmZmVycyB3aGVuIHRoZXkgYXJlIGNoYW5nZWQgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEjDpXZhcmQgR3JhZmYgPGhhdmFyZCBkb3QgZ3JhZmYgYXQgdGFuZGJlcmcgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKGdzdF9ydHBfYmluX3Byb3BhZ2F0ZV9wcm9wZXJ0eV90b19qaXR0ZXJidWZmZXIpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KToKCSAgUHJvcGFnYXRlIHRoZSBkby1sb3N0IGFuZCBsYXRlbmN5IHByb3BlcnRpZXMgdG8gdGhlIGppdHRlcmJ1ZmZlcnMgd2hlbgoJICB0aGV5IGFyZSBjaGFuZ2VkIG9uIHJ0cGJpbi4KCjIwMDgtMDUtMjYgMDk6NTc6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb24ndCB1c2UgX2dzdF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6IChzd2l0Y2hfdGltZXIpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6IChnc3Rfcmdfdm9sdW1lX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAoY3JlYXRlX3N0cmVhbSk6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAocGFkX2FkZGVkX3NldHVwX2RhdGFfY2hlY2tfZmxvYXQzMl84Y2hfY2IpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHNlbmRfZW9zX2V2ZW50KSwKCSAgKHNlbmRfdGFnX2V2ZW50KToKCSAgRG9uJ3QgdXNlIF9nc3RfcGFkKCkuCgoyMDA4LTA1LTIyIDE5OjQ3OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgaW50ZXJsZWF2ZS9kZWludGVybGVhdmUgdG8gdGhlIGRvY3MgYW5kIHdoaWxlIGF0IHRoYXQgcnVuIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBBZGQgaW50ZXJsZWF2ZS9kZWludGVybGVhdmUgdG8gdGhlIGRvY3MgYW5kIHdoaWxlIGF0IHRoYXQKCSAgcnVuIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgQWRkIGEgcGFyYXByYXBoIGFib3V0IHVzaW5nIGEgcXVldWUgYW5kIGF1ZGlvY29udmVydCBhZnRlciB0aGUgc291cmNlCgkgIHBhZHMgdG8gdGhlIGRvY3MuCgoyMDA4LTA1LTIyIDE4OjU1OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuKjogRG9uJ3Qgc2V0IGEgZ2V0Y2FwcygpIGZ1bmN0aW9uIG9uIHRoZSBzcmMgcGFkcyBhcyBpdCdzIG5vdCByZXF1aXJlZCBhbmQgdGhlIGRlZmF1bHQgZ2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwgKGdzdF9kZWludGVybGVhdmVfc2lua19nZXRjYXBzKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgRG9uJ3Qgc2V0IGEgZ2V0Y2FwcygpIGZ1bmN0aW9uIG9uIHRoZSBzcmMgcGFkcyBhcyBpdCdzIG5vdCByZXF1aXJlZAoJICBhbmQgdGhlIGRlZmF1bHQgZ2V0Y2FwcygpIGZ1bmN0aW9uIHJldHVybnMgdGhlIGNvcnJlY3QgcmVzdWx0cyBmb3IKCSAgb3VyIHNyYyBwYWRzLgoJICBDb21wbGV0ZSBkb2N1bWVudGF0aW9uIGFuZCBhZGQgbXlzZWxmIHRvIHRoZSBhdXRob3JzIG9mIHRoZSBlbGVtZW50LgoKMjAwOC0wNS0yMiAxNjozMzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzLzogU21hbGwgb3NzNCB0ZXN0IHRoYXQgcHJvYmVzIGZvciBhdmFpbGFibGUgZGV2aWNlcyBhbmQgcmV0cmlldmVzIHRoZWlyIGNhcHMgYW5kIG1peGVyIHRyYWNrcyBhbmQgYWxsIHRoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOiAob3B0X3Nob3dfbWl4ZXJfbWVzc2FnZXMpLCAoV0FJVF9USU1FKSwKCSAgKHNob3dfbWl4ZXJfbWVzc2FnZXMpLCAocHJvYmVfbWl4ZXJfdHJhY2tzKSwgKHByb2JlX3BhZCksCgkgIChwcm9iZV9kZXRhaWxzKSwgKHByb2JlX2VsZW1lbnQpLCAobWFpbik6CgkgIFNtYWxsIG9zczQgdGVzdCB0aGF0IHByb2JlcyBmb3IgYXZhaWxhYmxlIGRldmljZXMgYW5kIHJldHJpZXZlcwoJICB0aGVpciBjYXBzIGFuZCBtaXhlciB0cmFja3MgYW5kIGFsbCB0aGF0LiBBbHNvIGFsbG93cyB0ZXN0aW5nIG9mCgkgIG1peGVyIGNoYW5nZSBtZXNzYWdlcyBvbiB0aGUgYnVzLgoKMjAwOC0wNS0yMiAxNToxNDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3M0LzogTWFrZSBkZXZpY2UtbmFtZSBwcm9iaW5nIGluIE5VTEwgc3RhdGUgd29yayBiZXR0ZXIgKGUuZy4gZm9yIHRoZSBnbm9tZS1jb250cm9sLWNlbnRlciBzb3VuZCBjYXBwbGV0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOiAoZ3N0X29zczRfbWl4ZXJfb3Blbik6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJICAoZ3N0X29zczRfcHJvcGVydHlfcHJvYmVfZmluZF9kZXZpY2VfbmFtZSksCgkgIChnc3Rfb3NzNF9wcm9wZXJ0eV9wcm9iZV9maW5kX2RldmljZV9uYW1lX25vZmQpOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzogKGdzdF9vc3M0X3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOiAoZ3N0X29zczRfc291cmNlX2dldF9wcm9wZXJ0eSk6CgkgIE1ha2UgZGV2aWNlLW5hbWUgcHJvYmluZyBpbiBOVUxMIHN0YXRlIHdvcmsgYmV0dGVyIChlLmcuIGZvciB0aGUKCSAgZ25vbWUtY29udHJvbC1jZW50ZXIgc291bmQgY2FwcGxldCkuCgoyMDA4LTA1LTIyIDE0OjAzOjA1ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOiBNb3ZlIHNvbWUgY29kZSBhcm91bmQgdG8gaW50ZWdyYXRlIHRoZSBzdGFydGNvZGUgc2VhcmNoaW5nIHdpdGggdGhlIG90aGVyIGJpdHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6IChnc3RfbXBlZzR2cGFyc2VfcHVzaCksCgkgIChnc3RfbXBlZzR2cGFyc2VfZHJhaW4pLCAoZ3N0X21wZWc0dnBhcnNlX2NoYWluKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICBNb3ZlIHNvbWUgY29kZSBhcm91bmQgdG8gaW50ZWdyYXRlIHRoZSBzdGFydGNvZGUgc2VhcmNoaW5nIHdpdGggdGhlCgkgIG90aGVyIGJpdHMgb2YgcGFyc2luZywgYXZvaWQgYSB3aG9sZSBidW5jaCBvZiBwZWVrcy4KCSAgR2V0IHJpZCBvZiBpbnZhbGlkIGRhdGEgdGhhdCBzaG91bGQgbm90IGhhcHBlbiBhY2NvcmRpbmcgdG8gdGhlIHNwZWNzLgoJICBGaXhlcyAjNTMzNTU5LgoKMjAwOC0wNS0yMCAwOTozNjo1NiArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogQ29ycmVjdGx5IHNldCBkdXJhdGlvbiB0byBnZXQgYSBtb3JlIGNvcnJlY3Qgc2VlayBiYXIgaW4gdG90ZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmFzdGllbiBOb2NlcmEgPGhhZGVzcyBhdCBoYWRlc3MgZG90IG5ldD4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbXl0aHR2X3NyY19pbml0KSwgKGdzdF9teXRodHZfc3JjX2NsZWFyKSwKCSAgKGRvX3JlYWRfcmVxdWVzdF9yZXNwb25zZSksIChnc3RfbXl0aHR2X3NyY19jcmVhdGUpLAoJICAoZ3N0X215dGh0dl9zcmNfc3RhcnQpOgoJICBDb3JyZWN0bHkgc2V0IGR1cmF0aW9uIHRvIGdldCBhIG1vcmUgY29ycmVjdCBzZWVrIGJhciBpbiB0b3RlbS4KCSAgRGlzYWJsZSBxdWVyeSBhbmQgZXZlbnQgZnVuY3Rpb25zIGFzIHRoZXkgZG9uJ3Qgd29yayBhbmQgZG8gc29tZQoJICBzbWFsbGVyIGNsZWFudXAuCgkgIEZpeGVzIGJ1ZyAjNTMzNzM2LgoKMjAwOC0wNS0yMCAwOTowNDo0OCArMDAwMCAgQnJpYW4gS29yb3BvZmYgPGJyaWFuaGtAY3Mud2FzaGluZ3Rvbi5lZHU+CgoJICBleHQvc3BjLzogQWRkIHN1cHBvcnQgZm9yIHNvbWUgZXNzZW50aWFsIGZlYXR1cmVzIGxpa2Ugc2Vla2luZywgcmVhZGluZyBzb25nIGR1cmF0aW9uIGFuZCBleHRlbmRlZCB0YWdzLiBGaXhlcyBidWcgIzQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBLb3JvcG9mZiA8YnJpYW5oayBhdCBjcyBkb3Qgd2FzaGluZ3RvbiBkb3QgZWR1PgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKGdzdF9zcGNfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwY19kZWNfc3JjX3F1ZXJ5X3R5cGUpLCAoZ3N0X3NwY19kZWNfaW5pdCksCgkgIChnc3Rfc3BjX2RlY19kaXNwb3NlKSwgKGdzdF9zcGNfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3NwY19kdXJhdGlvbiksIChnc3Rfc3BjX2ZhZGVvdXQpLCAoZ3N0X3NwY19kZWNfc3JjX2V2ZW50KSwKCSAgKGdzdF9zcGNfZGVjX3NyY19xdWVyeSksIChzcGNfcGxheSksIChzcGNfc2V0dXApOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmg6CgkgICogZXh0L3NwYy90YWcuYzogKHNwY190YWdfaXNfZXh0ZW5kZWQpLCAoc3BjX3RhZ19pc190ZXh0X2Zvcm1hdCksCgkgIChzcGNfdGFnX2lzX3ByZXNlbnQpLCAoc3BjX3RhZ191bnBhY2tfZGF0ZSksIChzcGNfdGFnX2NsZWFyKSwKCSAgKHNwY190YWdfZ2V0X2luZm8pLCAoc3BjX3RhZ19mcmVlKToKCSAgKiBleHQvc3BjL3RhZy5oOgoJICBBZGQgc3VwcG9ydCBmb3Igc29tZSBlc3NlbnRpYWwgZmVhdHVyZXMgbGlrZSBzZWVraW5nLCByZWFkaW5nIHNvbmcKCSAgZHVyYXRpb24gYW5kIGV4dGVuZGVkIHRhZ3MuIEZpeGVzIGJ1ZyAjNDU0MTUxLgoKMjAwOC0wNS0xOSAxMjozMjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IFNldCBrZWVwLXBvc2l0aW9ucyBwcm9wZXJ0eSB0byBUUlVFIGZvciB0aGUgOCBjaGFubmVsIHRlc3QgdG8gZW5zdXJlIHRoYXQgdGhlIG9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBTZXQga2VlcC1wb3NpdGlvbnMgcHJvcGVydHkgdG8gVFJVRSBmb3IgdGhlIDggY2hhbm5lbCB0ZXN0IHRvIGVuc3VyZQoJICB0aGF0IHRoZSBvcmlnaW5hbCBjaGFubmVsIHBvc2l0aW9uIGlzIHNldCBvbiB0aGUgb3V0cHV0LgoKMjAwOC0wNS0xOSAwNzo0NjowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLio6IEFkZCBhIHByb3BlcnR5IHRvIHNlbGVjdCB3aGV0aGVyIGNoYW5uZWwgcG9zaXRpb25zIHNob3VsZCBiZSBrZXB0IG9uIHRoZSBtb25vIG91dHB1dCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wYWRzX2NhcHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBBZGQgYSBwcm9wZXJ0eSB0byBzZWxlY3Qgd2hldGhlciBjaGFubmVsIHBvc2l0aW9ucyBzaG91bGQgYmUga2VwdCBvbgoJICB0aGUgbW9ubyBvdXRwdXQgYnVmZmVycyBvciBzaG91bGQgYmUgZHJvcHBlZC4KCjIwMDgtMDUtMTggMTA6Mjc6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9NYWtlZmlsZS5hbTogT29wcyAtIGZpeCB0aGUgc3BlbGxpbmcgb2YgdGhlIHZhcmlhYmxlIEkgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvTWFrZWZpbGUuYW06CgkgIE9vcHMgLSBmaXggdGhlIHNwZWxsaW5nIG9mIHRoZSB2YXJpYWJsZSBJIGFkZGVkLgoKMjAwOC0wNS0xNyAxOTozOTo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLio6IFF1ZXVlIGV2ZW50cyB1bnRpbCBzcmMgcGFkcyB3ZXJlIGFkZGVkIGFuZCB0aGV5IGNhbiBiZSBzZW50LiBPdGhlcndpc2UgZG93bnN0cmVhbSB3aWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9maW5hbGl6ZSksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2VzcyksIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfYWN0aXZhdGVfcHVzaCk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIFF1ZXVlIGV2ZW50cyB1bnRpbCBzcmMgcGFkcyB3ZXJlIGFkZGVkIGFuZCB0aGV5IGNhbiBiZSBzZW50LiBPdGhlcndpc2UKCSAgZG93bnN0cmVhbSB3aWxsIG5ldmVyIGdldCB0aGUgZmlyc3QgbmV3c2VnbWVudCBldmVudC4KCjIwMDgtMDUtMTcgMTQ6MDU6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBBbHdheXMgc2V0IHRoZSBjaGFubmVsIHBvc2l0aW9ucyB3aGVuIGdzdF9hdWRpb19nZXRfY2hhbm5lbF9wb3NpdGlvbnMoKSByZXR1cm5zIHNvbWV0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfZ2V0Y2Fwcyk6CgkgIEFsd2F5cyBzZXQgdGhlIGNoYW5uZWwgcG9zaXRpb25zIHdoZW4gZ3N0X2F1ZGlvX2dldF9jaGFubmVsX3Bvc2l0aW9ucygpCgkgIHJldHVybnMgc29tZXRoaW5nLCBldmVuIGlmIHRoZXkncmUgbm90IHNldCBpbiB0aGUgY2Fwcy4gVGhpcyBtYWtlcwoJICBzdXJlIHRoYXQgdGhlIG91dHB1dCBjaGFubmVscyBjYW4gYmUgaW50ZXJsZWF2ZWQgYWdhaW4gY29ycmVjdGx5CgkgIGluIHRoZSBtb25vL3N0ZXJlbyBjYXNlcyB0b28uCgkgIERvbid0IGFzayBmb3IgdGhlIHBlZXJjYXBzIG9mIHRoZSBjdXJyZW50IHBhZCBpbiBnZXRjYXBzKCkgYXMgdGhpcwoJICBtaWdodCBjYWxsIGdldGNhcHMoKSBhZ2FpbiBhbmQgZGVhZGxvY2suCgoyMDA4LTA1LTE2IDIyOjAwOjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogQ2hlY2sgc29tZSBtb3JlIGNvbW1vbiBsb2NhdGlvbnMgZm9yIGEgdmFsaWQgY29uZmlndXJhdGlvbiBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKHdpbGRtaWRpX29wZW5fY29uZmlnKToKCSAgQ2hlY2sgc29tZSBtb3JlIGNvbW1vbiBsb2NhdGlvbnMgZm9yIGEgdmFsaWQgY29uZmlndXJhdGlvbiBmaWxlLgoJICBGaXhlcyBidWcgIzUzMzQzNS4gUGFja2FnZXJzIHNob3VsZCBzdGlsbCAjZGVmaW5lIFdJTERNSURJX0NGRwoJICB0byB0aGUgZGlzdHJpYnV0aW9ucyBkZWZhdWx0IGxvY2F0aW9uLgoKMjAwOC0wNS0xNiAyMTo1NjoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvOiBBZGQgc3VwcG9ydCBmb3IgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBwcm92aWRlIGJldHRlciBuZWdvdGlhdGlvbiBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlXzI0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wYWRzX2NhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChfX3JlbW92ZV9jaGFubmVscyksCgkgIChfX3NldF9jaGFubmVscyksIChnc3RfZGVpbnRlcmxlYXZlX2dldGNhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKSwgKGdzdF9kZWludGVybGVhdmVfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2FjdGl2YXRlX3B1c2gpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBwcm92aWRlIGJldHRlciBuZWdvdGlhdGlvbgoJICBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcuCgkgIERvbid0IGFsbG93IGNoYW5nZXMgb2YgdGhlIGNoYW5uZWwgcG9zaXRpb25zIGFuZCBzZXQgdGhlIHBvc2l0aW9uIG9mCgkgIHRoZSBjb3JyZXNwb25kaW5nIGNoYW5uZWwgb24gdGhlIHNyYyBwYWQgY2Fwcy4KCSAgR2VuZXJhbCBjbGVhbnVwIGFuZCBzbWFsbGVyIGJ1Z2ZpeGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoZmxvYXRfYnVmZmVyX2NoZWNrX3Byb2JlKToKCSAgQ2hlY2sgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9uIHRoZSBvdXRwdXQgYnVmZmVyIGNhcHMuCgoyMDA4LTA1LTE2IDE5OjU2OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvTWFrZWZpbGUuYW06IERvbid0IGF0dGVtcHQgdG8gYnVpbGQgcGx1Z2luIGRvY3Mgd2hlbiB0aGV5J3JlIGRpc2FibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICBEb24ndCBhdHRlbXB0IHRvIGJ1aWxkIHBsdWdpbiBkb2NzIHdoZW4gdGhleSdyZSBkaXNhYmxlZC4KCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgIEFkZCBsaWJnc3R2aWRlbyB0byB0aGUgbGluay4KCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgRml4IGxpbmsgb3JkZXIsIGFuZCBtb3ZlIExJQlMgdGhpbmdzIHRvIF9MSUJTCgoyMDA4LTA1LTE2IDE0OjQ5OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczogUmVtb3ZlIGJvZ3VzIGF0dGVtcHQgdG8gcHVsbCAnbWV0YWRhdGEnIHBsdWdpbidzIGJhc2UgY2xhc3MgaW50byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnR5cGVzOgoJICBSZW1vdmUgYm9ndXMgYXR0ZW1wdCB0byBwdWxsICdtZXRhZGF0YScgcGx1Z2luJ3MgYmFzZQoJICBjbGFzcyBpbnRvIHRoZSBkb2NzLgoKMjAwOC0wNS0xNCAyMTowMjoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBTaW1wbHkgZHJvcCBiYWQgUlRQIHBhY2tldHMgd2l0aCBhIHdhcm5pbmcgaW5zdGVhZCBvZiBqdXN0IHBvc3RpbmcgYW4gZXJyb3IgYW5kIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIFNpbXBseSBkcm9wIGJhZCBSVFAgcGFja2V0cyB3aXRoIGEgd2FybmluZyBpbnN0ZWFkIG9mIGp1c3QgcG9zdGluZyBhbgoJICBlcnJvciBhbmQgc3RvcHBpbmcuIFRoaXMgaXMgYSBwZXJmZWN0bHkgcmVjb3ZlcmFibGUgZXZlbnQgYW5kIHdlIGRvbid0CgkgIGZvcmNlIHBlb3BsZSB0byB1c2UgYW4gcnRwYmluIHRvIGZpbHRlciBvdXQgYmFkIHBhY2tldHMgZmlyc3QuCgoyMDA4LTA1LTE0IDIwOjU3OjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzogU2V0IGZpeGVkIGNhcHMgb24gdGhlIHNyY3BhZCBhZnRlciB3ZSBjcmVhdGVkIHRoZSBwYWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzogKGdzdF9tcGVnNHZwYXJzZV9pbml0KToKCSAgU2V0IGZpeGVkIGNhcHMgb24gdGhlIHNyY3BhZCBhZnRlciB3ZSBjcmVhdGVkIHRoZSBwYWQuLi4KCjIwMDgtMDUtMTQgMTY6MjE6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogUmVtb3ZlIGRlaW50ZXJsZWF2ZSB0ZXN0IGZyb20gVkFMR1JJTkRfVE9fRklYIGFnYWluIG5vdyB0aGF0IHRoZXJlIGFyZSBzdXBwcmVzc2lvbnMgaW4gZ3N0LnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBkZWludGVybGVhdmUgdGVzdCBmcm9tIFZBTEdSSU5EX1RPX0ZJWCBhZ2FpbiBub3cgdGhhdAoJICB0aGVyZSBhcmUgc3VwcHJlc3Npb25zIGluIGdzdC5zdXBwIHdoaWNoIG1ha2UgdGhpcyB3b3JrIGZvciBtZS4KCjIwMDgtMDUtMTQgMTQ6MTk6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogQWRkIGRlaW50ZXJsZWF2ZSB1bml0IHRlc3QgdG8gVkFMR1JJTkRfVE9fRklYLCBzaW5jZSBpdCBjYXVzZXMgd2VpcmQgaW52YWxpZCBmcmVlIGVycm9ycyBpbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBkZWludGVybGVhdmUgdW5pdCB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWCwgc2luY2UgaXQgY2F1c2VzCgkgIHdlaXJkIGludmFsaWQgZnJlZSBlcnJvcnMgaW4gdmFsZ3JpbmQvbGliYyBhZnRlciBfZXhpdCBmb3Igc29tZQoJICByZWFzb24uCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChwYWRzX2NyZWF0ZWQpLAoJICAoc2V0X2NoYW5uZWxfcG9zaXRpb25zKSwgKHNyY19oYW5kb2ZmX2Zsb2F0MzJfOGNoKSwKCSAgKGZsb2F0X2J1ZmZlcl9jaGVja19wcm9iZSksCgkgIChwYWRfYWRkZWRfc2V0dXBfZGF0YV9jaGVja19mbG9hdDMyXzhjaF9jYiksCgkgIChtYWtlX2Zha2Vfc3JjXzhjaGFuc19mbG9hdDMyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGRlaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCBzb21lIG1vcmUgZGVpbnRlcmxlYXZlIHVuaXQgdGVzdCBiaXRzIEkgaGFkIGxvY2FsbHkuCgoyMDA4LTA1LTE0IDEzOjU3OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBSZXZlcnQgcHJldmlvdXMgY2hhbmdlIHdoaWNoIG1hZGUgYmFzZXRyYW5zZm9ybSBoYW5kbGUgYnVmZmVyX2FsbG9jIGFuZCB3aGljaCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpOgoJICBSZXZlcnQgcHJldmlvdXMgY2hhbmdlIHdoaWNoIG1hZGUgYmFzZXRyYW5zZm9ybSBoYW5kbGUgYnVmZmVyX2FsbG9jCgkgIGFuZCB3aGljaCBicmVha3MgdGhpbmdzIGJhZGx5IGluIHRoZSBub24tcGFzc3Rocm91Z2ggY2FzZSBzaW5jZSBpdAoJICByZXR1cm5lZCBidWZmZXJzIHdpdGggYSBkaWZmZXJlbnQgKGllLiBzb21ldGltZXMgc21hbGxlcikgc2l6ZSB0aGFuCgkgIHRoZSBzaXplIHJlcXVlc3RlZC4KCjIwMDgtMDUtMTQgMDc6MzI6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlLzogU3BsaXQgZGVmaW5pdGlvbnMgaW50byBzZXBhcmF0ZSBoZWFkZXIgZmlsZXMgZm9yIGJldHRlciBkb2N1bWVudGF0aW9uIGdlbmVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSAgU3BsaXQgZGVmaW5pdGlvbnMgaW50byBzZXBhcmF0ZSBoZWFkZXIgZmlsZXMgZm9yIGJldHRlciBkb2N1bWVudGF0aW9uCgkgIGdlbmVyYXRpb24uCgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKToKCSAgRG9uJ3QgdXNlIGFsbG9jYSwgYWxsb3cgY2FwcyBjaGFuZ2VzIGFzIGxvbmcgYXMgdGhlIG51bWJlciBvZiBjaGFubmVscwoJICBkb2VzIG5vdCBjaGFuZ2UsIGRvbid0IHVzZSBnX3dhcm5pbmcsIHJldHVybiBOT1RfTkVHT1RJQVRFRCBhcyBlYXJseQoJICBhcyBwb3NzaWJsZSBhbmQgc29tZSBvdGhlciBjbGVhbnVwLgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KToKCSAgRG8gc29tZSByYW5kb20gY2xlYW51cC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGRlaW50ZXJsZWF2ZV9jaGFpbl9mdW5jKSwgKGRlaW50ZXJsZWF2ZV9wYWRfYWRkZWQpLAoJICAoZGVpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHRoZSBkZWludGVybGVhdmUgZWxlbWVudC4KCjIwMDgtMDUtMTMgMTc6MjE6MDcgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLio6IFBhcnNlIHRoZSBjb25maWcgZGF0YSAoZWl0aGVyIG91dGJvdW5kIG9yIGluIHRoZSBzdHJlYW0pIHRvIHNldCB3aWR0aC9oZWlnaHQsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcGVnNHZwYXJzZV9zZXRfbmV3X2NhcHMpLCAoZ3N0X21wZWc0dnBhcnNlX2FsaWduKSwKCSAgKGdldF9iaXRzKSwgKG5leHRfc3RhcnRfY29kZSksIChnc3RfbXBlZzR2cGFyc2VfaGFuZGxlX3ZvcyksCgkgIChnc3RfbXBlZzR2cGFyc2VfcHVzaCksIChnc3RfbXBlZzR2cGFyc2VfZHJhaW4pLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NoYWluKSwgKGdzdF9tcGVnNHZwYXJzZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X21wZWc0dnBhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X21wZWc0dnBhcnNlX3NyY19xdWVyeSksCgkgIChnc3RfbXBlZzR2cGFyc2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF9tcGVnNHZwYXJzZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X21wZWc0dnBhcnNlX2luaXQpOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIFBhcnNlIHRoZSBjb25maWcgZGF0YSAoZWl0aGVyIG91dGJvdW5kIG9yIGluIHRoZSBzdHJlYW0pIHRvIHNldAoJICB3aWR0aC9oZWlnaHQsIGFwZWN0IHJhdGlvbiwgZnJhbWVyYXRlIGluIHRoZSBjYXBzIGlmIGFwcGxpY2FibGUuCgkgIE1hcmsgZnJhbWVzIGFzIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIHdoZW4gdGhleSBhcmUgbm90CgkgIGludHJhIGZyYW1lcwoJICBTZXQgdGhlIHRpbWVzdGFtcHMgb2Ygb3V0Z29pbmcgYnVmZmVycyB0byB0aGUgYnVmZmVyIGluCgkgIHdoaWNoIHRoZSBWT1AgaGVhZGVyIHdhcyBmb3VuZC4KCSAgRHJvcCBpbmNvbWluZyBkYXRhIHVudGlsbCBjb25maWd1cmF0aW9uIGlzIGZvdW5kIChieSBkZWZhdWx0LAoJICBjb25maWd1cmFibGUgdXNpbmcgYSBwcm9wZXJ0eSkuCgkgIFJlcG9ydCBhIDEgZnJhbWUgbGF0ZW5jeS4gRml4ZXMgIzUzMjcyMy4KCjIwMDgtMDUtMTMgMTY6MTY6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogQWRkIHNvbWUgZGVidWcgZm9yIHdoZXJlIHdlIGFyZSBzZWFyY2hpbmcgZm9yIGxpYnJhcmllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpOgoJICBBZGQgc29tZSBkZWJ1ZyBmb3Igd2hlcmUgd2UgYXJlIHNlYXJjaGluZyBmb3IgbGlicmFyaWVzLgoKMjAwOC0wNS0xMyAxMDo1OTo0OSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgbGF0ZXN0IGJhc2V0cmFuc2Zvcm0gbmVnb3RpYXRpb24gY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgKGxpdmVfc3dpdGNoX2FsbG9jX29ubHlfNDgwMDApLCAobGl2ZV9zd2l0Y2hfZ2V0X3NpbmtfY2FwcyksCgkgIChsaXZlX3N3aXRjaF9wdXNoKSwgKEdTVF9TVEFSVF9URVNUKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBiYXNldHJhbnNmb3JtIG5lZ290aWF0aW9uIGNoYW5nZXMuCgkgIFNlZSBidWcgIzUyNjc2OC4KCjIwMDgtMDUtMTMgMDk6MDY6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWN0dWFsbHkgYWRkIHRoZSBkby1sb3N0IHByb3BlcnR5IHRvIHRoZSBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgIEFjdHVhbGx5IGFkZCB0aGUgZG8tbG9zdCBwcm9wZXJ0eSB0byB0aGUgb2JqZWN0LgoKMjAwOC0wNS0xMiAxODo0Mzo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBdm9pZCB3YWl0aW5nIGZvciBhIG5lZ2F0aXZlIChodWdlKSBkdXJhdGlvbiB3aGVuIHRoZSBsYXN0IHBhY2tldCBoYXMgYSBsb3dlciB0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQXZvaWQgd2FpdGluZyBmb3IgYSBuZWdhdGl2ZSAoaHVnZSkgZHVyYXRpb24gd2hlbiB0aGUgbGFzdCBwYWNrZXQgaGFzIGEKCSAgbG93ZXIgdGltZXN0YW1wIHRoYW4gdGhlIGN1cnJlbnQgcGFja2V0LgoKMjAwOC0wNS0xMiAxNDoyODowOSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgcnRwc2Vzc2lvbiByZXR1cm5lZCBieSBnc3RfcGFkX2dldF9wYXJlbnQoKSB0byBwcmV2ZW50IGEgbWVtb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3F1ZXJ5X3NlbmRfcnRjcF9zcmMpOgoJICBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIHJ0cHNlc3Npb24gcmV0dXJuZWQgYnkgZ3N0X3BhZF9nZXRfcGFyZW50KCkgdG8KCSAgcHJldmVudCBhIG1lbW9yeSBsZWFrLgoKMjAwOC0wNS0xMiAxNDoxNzowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBRdWlldGVuIHNvbWUgZG9jcyBvdXRwdXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgUXVpZXRlbiBzb21lIGRvY3Mgb3V0cHV0CgoyMDA4LTA1LTEyIDE0OjEyOjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbml0aWFsaXNlIHdpdGggR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgSW5pdGlhbGlzZSB3aXRoIEdTVF9DTE9DS19USU1FX05PTkUgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMDUtMTEgMTc6MjM6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmFuZG9tIGRvYyBvZiB0aGUgZGF5OiB0aGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgUmFuZG9tIGRvYyBvZiB0aGUgZGF5OiB0aGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCjIwMDgtMDUtMDkgMTA6MjE6MDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBNYWtlIHN1cmUgYWxsIHNjaGVkdWxlIEVJVCBhbmQgbm9uLWFjdHVhbCB0cmFuc3BvcnQgc3RyZWFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIE1ha2Ugc3VyZSBhbGwgc2NoZWR1bGUgRUlUIGFuZCBub24tYWN0dWFsIHRyYW5zcG9ydCBzdHJlYW0KCSAgRUlUcyBhcmUgcGFyc2VkLiBBbHNvIGFkZCBwcmVzZW50LWZvbGxvd2luZyBmbGFnIGFuZAoJICBhY3R1YWwtdHJhbnNwb3J0LXN0cmVhbSBmbGFnIHRvIGVpdCBidXMgbWVzc2FnZS4KCjIwMDgtMDUtMDkgMDc6NDE6NTggKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgY2FwcyB1c2VkIGJ5IFJUUFNvdXJjZSB0byBwcmV2ZW50IGEgbWVtb3J5IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9maW5hbGl6ZSk6CgkgIE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgY2FwcyB1c2VkIGJ5IFJUUFNvdXJjZSB0byBwcmV2ZW50IGEgbWVtb3J5IGxlYWsuCgoyMDA4LTA1LTA4IDE5OjE2OjE3ICswMDAwICBDbGl2ZSBXcmlnaHQgPGNsaXZlX3dyaWdodEBudGx3b3JsZC5jb20+CgoJICBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOiBBcHBhcmVudGx5IG1vbm8gc2xpZGVycyBoYXZlIHRoZSBtb25vIHZhbHVlIHJlcGVhdGVkIGluIHRoZSB1cHBlciBiaXRzLCBzbyBtYXNrIHRob3NlIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBDbGl2ZSBXcmlnaHQgPGNsaXZlX3dyaWdodCBudGx3b3JsZCBjb20+CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzogKGdzdF9vc3M0X21peGVyX3NsaWRlcl91bnBhY2tfdm9sdW1lKToKCSAgQXBwYXJlbnRseSBtb25vIHNsaWRlcnMgaGF2ZSB0aGUgbW9ubyB2YWx1ZSByZXBlYXRlZCBpbiB0aGUgdXBwZXIgYml0cywKCSAgc28gbWFzayB0aG9zZSBvdXQgd2hlbiByZWFkaW5nIHRoZW0uIFByb2JhYmx5IG1ha2VzIHRoZSBtaXhlciBhcHBsZXQKCSAgd29yayBwcm9wZXJseSBpbiBzb21lIG1vcmUgY2FzZXMuCgoyMDA4LTA1LTA4IDA5OjQzOjMzICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBVbmxvY2sgdGhlIHNlc3Npb24gbG9jayB3aGVuIGNhbGxpbmcgb25lIG9mIG91ciBjYWxsYmFja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc291cmNlX2Nsb2NrX3JhdGUpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWVfbG9ja2VkKToKCSAgVW5sb2NrIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBjYWxsaW5nIG9uZSBvZiBvdXIgY2FsbGJhY2tzLgoJICBGaXhlcyAjNTMyMDExLgoKMjAwOC0wNS0wOCAwNjoyMzozOSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBTZW5kIFJUUCBCWUUgY29tbWFuZCBvbiBFT1MuIEZpeGVzIGJ1ZyAjNTMxOTU1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICBTZW5kIFJUUCBCWUUgY29tbWFuZCBvbiBFT1MuIEZpeGVzIGJ1ZyAjNTMxOTU1LgoKMjAwOC0wNS0wOCAwNjoyMDo0MiArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBMZXQgYXVkaW9yZXNhbXBsZSB1c2UgdGhlIGJ1ZmZlciBhbGxvY2F0aW9uIG9mIGJhc2V0cmFuc2Zvcm0gaW5zdGVhZCBvZiBpdCdzIG93Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KToKCSAgTGV0IGF1ZGlvcmVzYW1wbGUgdXNlIHRoZSBidWZmZXIgYWxsb2NhdGlvbiBvZiBiYXNldHJhbnNmb3JtIGluc3RlYWQKCSAgb2YgaXQncyBvd24gc3R1ZmYuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoYWxsb2Nfb25seV80ODAwMCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChhdWRpb3Jlc2FtcGxlX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhlIHJlY2VudCBiYXNldHJhbnNmb3JtIGJ1Z2ZpeCwgd2hlcmUgdXBzdHJlYW0KCSAgY2hhbmdlcyBjYXBzIHRvIHNvbWV0aGluZyB0aGF0IGNhbid0IGJlIHBhc3NlZCB0aHJvdWdoIGFueW1vcmUuCgoyMDA4LTA1LTA3IDIwOjI1OjA5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOiBEb24ndCBkZWZpbmUgR1NUX0ZVTkNUSU9OLCBpZiBHTGliIHN1cHBvcnRzIE1TVkMgd2UnZCBtdWNoIHJhdGhlciB1c2UgdGhlIHJlYWwgdGhpbmcgdGhhbiBoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgRG9uJ3QgZGVmaW5lIEdTVF9GVU5DVElPTiwgaWYgR0xpYiBzdXBwb3J0cyBNU1ZDIHdlJ2QgbXVjaCByYXRoZXIKCSAgdXNlIHRoZSByZWFsIHRoaW5nIHRoYW4gaGF2aW5nICI/Pz8iIHVuY29uZGl0aW9uYWxseS4KCjIwMDgtMDUtMDcgMTA6Mzg6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwLzogQWRkIG1hcnNoYWwubGlzdCwgbWFrZSBpdCBjb21waWxlIGFuZCBhZGQgdG8gY3ZzaWdub3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwLy5jdnNpZ25vcmU6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC1tYXJzaGFsLmxpc3Q6CgkgIEFkZCBtYXJzaGFsLmxpc3QsIG1ha2UgaXQgY29tcGlsZSBhbmQgYWRkIHRvIGN2c2lnbm9yZS4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hcHBfc2lua19zdG9wKToKCSAgU21hbGwgY2xlYW51cHMuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfaW5pdCksIChnc3RfYXBwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc3JjX3VubG9jayksCgkgIChnc3RfYXBwX3NyY191bmxvY2tfc3RvcCksIChnc3RfYXBwX3NyY19zdGFydCksIChnc3RfYXBwX3NyY19zdG9wKSwKCSAgKGdzdF9hcHBfc3JjX2NyZWF0ZSksIChnc3RfYXBwX3NyY19zZXRfY2FwcyksCgkgIChnc3RfYXBwX3NyY19nZXRfY2FwcyksIChnc3RfYXBwX3NyY19zZXRfc2l6ZSksCgkgIChnc3RfYXBwX3NyY19nZXRfc2l6ZSksIChnc3RfYXBwX3NyY19zZXRfc2Vla2FibGUpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3NlZWthYmxlKSwgKGdzdF9hcHBfc3JjX3NldF9tYXhfYnVmZmVycyksCgkgIChnc3RfYXBwX3NyY19nZXRfbWF4X2J1ZmZlcnMpLCAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2FwcF9zcmNfZW5kX29mX3N0cmVhbSk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgQmVhdCBhcHBzcmMgaW4gc2hhcGUsIGFkZCBzaWduYWxzIGFuZCBhY3Rpb25zLgoJICBBZGQgc29tZSBkb2NzLgoJICBBZGQgcHJvcGVydGllcyBmb3IgY2Fwcywgc2l6ZSwgc2Vla2FiaWxpdHkgYW5kIG1heC1idWZmZXJzLgoJICBGaXggdW5sb2NrL3N0b3AgY29kZS4KCjIwMDgtMDUtMDcgMDc6NTE6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEVycm9yIG91dCBpZiB3ZSBkb24ndCBoYXZlIHRoZSByZXF1aXJlZCB2ZXJzaW9ucyBvZiBjb3JlL2Jhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRXJyb3Igb3V0IGlmIHdlIGRvbid0IGhhdmUgdGhlIHJlcXVpcmVkIHZlcnNpb25zIG9mIGNvcmUvYmFzZS4KCjIwMDgtMDUtMDUgMTA6Mjc6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuKjogU3RhcnQgc29tZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc2lua19pbml0KSwgKGdzdF9hcHBfc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NpbmtfdW5sb2NrX3N0YXJ0KSwKCSAgKGdzdF9hcHBfc2lua191bmxvY2tfc3RvcCksIChnc3RfYXBwX3NpbmtfZmx1c2hfdW5sb2NrZWQpLAoJICAoZ3N0X2FwcF9zaW5rX3N0YXJ0KSwgKGdzdF9hcHBfc2lua19zdG9wKSwgKGdzdF9hcHBfc2lua19ldmVudCksCgkgIChnc3RfYXBwX3NpbmtfcHJlcm9sbCksIChnc3RfYXBwX3NpbmtfcmVuZGVyKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfY2FwcyksIChnc3RfYXBwX3Npbmtfc2V0X2Ryb3ApLAoJICAoZ3N0X2FwcF9zaW5rX2dldF9kcm9wKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSAgU3RhcnQgc29tZSBkb2NzLgoJICBBZGQgcHJvcGVydHkgdG8gZHJvcCBidWZmZXJzIHdoZW4gdGhlIHF1ZXVlIGlzIGZpbGxlZAoJICBGaXggdW5sb2NraW5nIGFuZCBmbHVzaGluZyB3aGVuIHRoZSBxdWV1ZXMgYXJlIGZpbGxlZC4KCjIwMDgtMDUtMDIgMTQ6NDA6MDggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgd2lsZG1pZGkgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgd2lsZG1pZGkgcGx1Z2luCgoyMDA4LTA0LTI5IDE5OjExOjU2ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOiBEZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGJsb2Nrcy4gRml4ZXMgY29tcGlsYXRpb24gd2l0aCBnY2MgMi54IGFuZCBvdGhlciBjb21waWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBkb3QgbmV0PgoJICAqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6IChnc3Rfc3J0X2VuY190aW1lc3RhbXBfdG9fc3RyaW5nKToKCSAgRGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBibG9ja3MuIEZpeGVzIGNvbXBpbGF0aW9uIHdpdGgKCSAgZ2NjIDIueCBhbmQgb3RoZXIgY29tcGlsZXJzLiBGaXhlcyBidWcgIzUzMDYxMS4KCjIwMDgtMDQtMjkgMDk6MDI6MzUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBEZXRlY3QgU0kgcGlkcyAoTklULCBTRFQsIEVJVCBldGMuKSBiYXNlZCBvbiB0YWJsZSBpZCBhbmQgbm90IGJ5IHBpZCBudW1iZXIuIFRoaXMgYWxsb3dzIGZvciBleGFtcGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBEZXRlY3QgU0kgcGlkcyAoTklULCBTRFQsIEVJVCBldGMuKSBiYXNlZCBvbiB0YWJsZSBpZCBhbmQgbm90CgkgIGJ5IHBpZCBudW1iZXIuIFRoaXMgYWxsb3dzIGZvciBleGFtcGxlIHRoZSBFUEcgZGF0YSBmcm9tIFVLJ3MKCSAgZnJlZXNhdCB0byBiZSBwaWNrZWQgdXAuCgoyMDA4LTA0LTI1IDIzOjIyOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvOiBDYXN0IE5VTEwgc2VudGluZWxzIHRvIHZvaWQgKiBhcyBOVUxMIGlzIGRlZmluZWQgYXMgYW4gaW50ZWdlciBjb25zdGFudCBpbiBtb3N0IGVudmlyb25tZW50cyB3aGVuIHVzaW5nIEMrKyBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgQ2FzdCBOVUxMIHNlbnRpbmVscyB0byB2b2lkICogYXMgTlVMTCBpcyBkZWZpbmVkIGFzIGFuIGludGVnZXIKCSAgY29uc3RhbnQgaW4gbW9zdCBlbnZpcm9ubWVudHMgd2hlbiB1c2luZyBDKysgYW5kIGl0J3Mgc2l6ZSBtaWdodAoJICBiZSBkaWZmZXJlbnQgZnJvbSBhIHBvaW50ZXIuCgoyMDA4LTA0LTI1IDE4OjE4OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLio6IEFkZCBtb3JlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zaW5rX2luaXQpLCAoZ3N0X2FwcF9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc2lua19ldmVudCksCgkgIChnc3RfYXBwX3NpbmtfcHJlcm9sbCksIChnc3RfYXBwX3NpbmtfcmVuZGVyKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfZW1pdF9zaWduYWxzKSwgKGdzdF9hcHBfc2lua19nZXRfZW1pdF9zaWduYWxzKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfbWF4X2J1ZmZlcnMpLCAoZ3N0X2FwcF9zaW5rX2dldF9tYXhfYnVmZmVycyksCgkgIChnc3RfYXBwX3NpbmtfcHVsbF9idWZmZXIpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICBBZGQgbW9yZSBkb2NzLgoJICBBZGQgc2lnbmFscyBmb3Igd2hlbiBwcmVyb2xsIGFuZCByZW5kZXIgYnVmZmVycyBhcmUgYXZhaWxhYmxlLgoJICBBZGQgcHJvcGVydHkgdG8gY29udHJvbCBzaWduYWwgZW1pc3Npb24uCgkgIEFkZCBwcm9wZXJ0eSB0byBjb250cm9sIHRoZSBtYXggcXVldWUgc2l6ZS4KCjIwMDgtMDQtMjUgMTg6MTM6MDcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbTogVXNlIENYWEZMQUdTIHJhdGhlciB0aGFuIENGTEFHUzsgdGhlc2UgYXJlIEMrKyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICBVc2UgQ1hYRkxBR1MgcmF0aGVyIHRoYW4gQ0ZMQUdTOyB0aGVzZSBhcmUgQysrIGZpbGVzLgoJICBEZWZpbmUgcmVxdWlyZWQgY29uc3RhbnRzIGFwcHJvcHJpYXRlbHkuCgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgQWRkIHJlcXVpcmVkIGluY2x1ZGUgZGlyLCBsaWJyYXJpZXMuCgkgIERlZmluZSByZXF1aXJlZCBjb25zdGFudHMgYXBwcm9wcmlhdGVseS4KCjIwMDgtMDQtMjUgMTE6MzI6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogRXhwb3NlIG5ldyBqaXR0ZXJidWZmZXIgcHJvcGVydHkgaW4gcnRwYmluIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEV4cG9zZSBuZXcgaml0dGVyYnVmZmVyIHByb3BlcnR5IGluIHJ0cGJpbiB0b28uCgoyMDA4LTA0LTI1IDExOjIyOjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IERpc2FibGUgc2VuZGluZyBvdXQgcnRwIHBhY2tldCBsb3N0IGV2ZW50cyBieSBkZWZhdWx0IGFuZCBtYWtlIGEgcHJvcGVydHkgdG8gZW5hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgRGlzYWJsZSBzZW5kaW5nIG91dCBydHAgcGFja2V0IGxvc3QgZXZlbnRzIGJ5IGRlZmF1bHQgYW5kIG1ha2UgYQoJICBwcm9wZXJ0eSB0byBlbmFiZSBpdC4gV2Ugd2lsbCBsaWtlbHkgZW5hYmxlIGl0IGJ5IGRlZmF1bHQgd2hlbiB0aGUgYmFzZQoJICBkZXBheWxvYWRlcnMgaGF2ZSBhIGRlZmF1bHQgaGFuZGxlciBmb3IgdGhlbSBzbyB0aGF0IHdlIGRvbid0IHNlbmQgdGhlc2UKCSAgZXZlbnRzIGFsbCB0aHJvdWdoIHRoZSBwaXBlbGluZSBmb3Igbm93LgoKMjAwOC0wNC0yNSAwOTozNTo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgcHJpdmF0ZSB2ZXJzaW9uIG9mIGEgZnVuY3Rpb24gdGhhdCBpcyBpbiAtYmFzZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NyY19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZW1vdmUgcHJpdmF0ZSB2ZXJzaW9uIG9mIGEgZnVuY3Rpb24gdGhhdCBpcyBpbiAtYmFzZSBub3cuCgkgIEFkZCBzcmMgZXZlbnQgaGFuZGxlci4KCSAgUmV3b3JrIHRoZSBqaXR0ZXJidWZmZXIgcHVzaGluZyBsb29wIHNvIHRoYXQgaXQgY2FuIHF1aWNrbHkgcmVhY3QgdG8KCSAgbG9zdCBwYWNrZXRzIGFuZCBpbnN0cnVjdCB0aGUgZGVwYXlsb2FkZXIgb2YgdGhlbS4gVGhpcyBjYW4gdGhlbiBiZSB1c2VkCgkgIHRvIGltcGxlbWVudCBlcnJvciBjb25jZWFsbWVudCBkYXRhLgoKMjAwOC0wNC0yNSAwODoyMTowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2V0IHVwIHNvbWUgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb25zIGZvciB0aGUgUlRDUCBhbmQgc3luYyBwYWRzIGJlY2F1c2UgdGhlIGRlZmF1bHRzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fcXVlcnlfc2VuZF9ydGNwX3NyYyksIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBTZXQgdXAgc29tZSBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbnMgZm9yIHRoZSBSVENQIGFuZCBzeW5jIHBhZHMgYmVjYXVzZQoJICB0aGUgZGVmYXVsdHMgYXJlIHJlYWxseSBub3QgY29ycmVjdC4KCSAgSW1wbGVtZW50IGEgcXVlcnkgaGFuZGxlciBmb3IgdGhlIFJUQ1Agc3JjIHBhZCwgbW9zdGx5IHRvIGNvcnJlY3RseQoJICByZXBvcnQgYWJvdXQgdGhlIGxhdGVuY3kuCgoyMDA4LTA0LTI1IDA4OjE1OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBbHNvIGtlZXAgdHJhY2sgb2YgdGhlIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdG9nZXRoZXIgd2l0aCB0aGUgZmlyc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAodXBkYXRlX2Fycml2YWxfc3RhdHMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChjYWxjdWxhdGVfaml0dGVyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBBbHNvIGtlZXAgdHJhY2sgb2YgdGhlIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdG9nZXRoZXIgd2l0aCB0aGUgZmlyc3QKCSAgUlRQIHRpbWVzdGFtcCBhcyB0aGV5IGJvdGggYXJlIG5lZWRlZCB0byBjb25zdHJ1Y3QgdGhlIHRpbWluZyBvZgoJICBvdXRnb2luZyBwYWNrZXRzIGluIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGFyZSB0aGVyZWZvcmUgYWxzbyBuZWVkZWQgdG8KCSAgbWFuYWdlIGxpcC1zeW5jLiBUaGlzIGZpeGVzIGxpcC1zeW5jIGlmIHRoZSBmaXJzdCBSVFAgcGFja2V0cyBhcnJpdmUKCSAgd2l0aCBhIHdpbGRseSBkaWZmZXJlbnQgZ2FwLgoKMjAwOC0wNC0yNSAwODowNzozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRm9yd2FyZCB1bmtub3duIHF1ZXJpZXMgdXBzdHJlYW0gaW5zdGVhZCBvZiByZXR1cm5pbmcgRkFMU0Ugb24gdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9xdWVyeSk6CgkgIEZvcndhcmQgdW5rbm93biBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFIG9uIHRoZW0uCgoyMDA4LTA0LTI0IDIyOjE5OjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3VwcG9ydCBmb3IgdGhlIG5ldyBsaWJtcGNkZWMgQVBJIHdoaWNoIG1hZ2ljYWxseSBnZXRzIHVzIHN1cHBvcnQgZm9yIFNWOCBmaWxlcy4gQWxzbyBkbyBzb21lIHJhbmRvbSBjbGVhbnVwLiBGaXguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfbXVzZXBhY2tkZWNfaW5pdCksIChnc3RfbXVzZXBhY2tkZWNfZGlzcG9zZSksCgkgIChnc3RfbXVzZXBhY2tkZWNfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X211c2VwYWNrX3N0cmVhbV9pbml0KSwKCSAgKGdzdF9tdXNlcGFja2RlY19sb29wKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcgbGlibXBjZGVjIEFQSSB3aGljaCBtYWdpY2FsbHkgZ2V0cyB1cyBzdXBwb3J0CgkgIGZvciBTVjggZmlsZXMuIEFsc28gZG8gc29tZSByYW5kb20gY2xlYW51cC4gRml4ZXMgYnVnICM1MjY5MDUuCgoyMDA4LTA0LTI0IDIxOjI0OjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjcuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC43LjEKCSAgPT09IHJlbGVhc2UgMC4xMC43ID09PQoKPT09IHJlbGVhc2UgMC4xMC43ID09PQoKMjAwOC0wNC0yNCAwMDoxODozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHBvL0xJTkdVQVM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC43CgoyMDA4LTA0LTI0IDAwOjE1OjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGNvbW1vbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTA0LTIyIDE1OjA3OjM1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IERvbid0IGxlYWsgR3N0QXVkaW9DaGFubmVsUG9zaXRpb24uIEZpeGVzICM1MjkzNzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgRG9uJ3QgbGVhayBHc3RBdWRpb0NoYW5uZWxQb3NpdGlvbi4gRml4ZXMgIzUyOTM3OC4KCjIwMDgtMDQtMjIgMDg6MTg6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IFJlZiBjYXBzLCBzZWUgIzUyODI0NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAocmVxdWVzdF9wdF9tYXApOgoJICBSZWYgY2Fwcywgc2VlICM1MjgyNDUuCgoyMDA4LTA0LTIyIDAwOjIxOjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC42LjQgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjYuNCBwcmUtcmVsZWFzZQoKMjAwOC0wNC0yMSAyMTo1NDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiBEb24ndCBsZWFrIGEgdGFnIGxpc3QuIEZpeGVzIGJ1ZyAjNTI5Mjg1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIERvbid0IGxlYWsgYSB0YWcgbGlzdC4gRml4ZXMgYnVnICM1MjkyODUuCgoyMDA4LTA0LTIxIDIxOjUyOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogRG9uJ3QgbGVhayB0aGUgdGFncyBzdHJpbmcgYW5kIHRhZyBsaXN0LiBGaXhlcyBidWcgIzUyOTI4My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IChidXNfaGFuZGxlcik6CgkgIERvbid0IGxlYWsgdGhlIHRhZ3Mgc3RyaW5nIGFuZCB0YWcgbGlzdC4gRml4ZXMgYnVnICM1MjkyODMuCgoyMDA4LTA0LTIxIDA4OjI2OjM3ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlZiBjYXBzIHdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIGNhY2hlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBSZWYgY2FwcyB3aGVuIGluc2VydGluZyBpbnRvIHRoZSBjYWNoZS4KCSAgRG9uJ3QgbGVhayBwYWRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIEF2b2lkIGEgY2FwcyBsZWFrLgoJICBEb24ndCBsZWFrIHJlZmNvdW50IGluIHF1ZXJ5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZ2V0X2NhcHMpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEF2b2lkIGNhcHMgbGVha3MuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc291cmNlX2dldF9zZGVzX3N0cnVjdHVyZSksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChyZXR1cm5fdHJ1ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jYWNoZV9jYXBzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgUmVmIGNhcHMgd2hlbiBpbnNlcnRpbmcgaW50byB0aGUgY2FjaGUuCgkgIEZpeCBzb21lIG1vcmUgY2FwcyBsZWFrcy4gRml4ZXMgIzUyODI0NS4KCjIwMDgtMDQtMTggMTg6NTE6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzogQWRkIGNhc3QgdG8gcGxhY2F0ZSBnY2MgNC4xLjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGQgY2FzdCB0byBwbGFjYXRlIGdjYyA0LjEuMi4KCjIwMDgtMDQtMTcgMjM6MDE6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjYuMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuNi4zIHByZS1yZWxlYXNlCgoyMDA4LTA0LTE3IDE4OjI4OjA1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogUmV2ZXJ0IHBhdGNoIHRoYXQgYWRkZWQgYSBsb29wIHRpbWVvdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFJldmVydCBwYXRjaCB0aGF0IGFkZGVkIGEgbG9vcCB0aW1lb3V0LgoJICBGaXhlcyAjNTI4NjE0LgoKMjAwOC0wNC0xNyAwNzozMTo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVW5zZXQgR1ZhbHVlcyBhZnRlciBnX3NpZ25hbF9lbWl0diBzbyB0aGF0IHdlIGF2b2lkIGEgcmVmY291bnQgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfcHRfbWFwKSwgKGZyZWVfY2xpZW50KSwKCSAgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksIChnc3RfcnRwX2Jpbl9nZXRfZnJlZV9wYWRfbmFtZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZ2V0X2NhcHMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgVW5zZXQgR1ZhbHVlcyBhZnRlciBnX3NpZ25hbF9lbWl0diBzbyB0aGF0IHdlIGF2b2lkIGEgcmVmY291bnQgbGVhay4KCSAgRG9uJ3QgbGVhayBhIHBhZG5hbWUuCgkgIERvbid0IGxlYWsgY2xpZW50IHN0cmVhbXMgbGlzdC4KCSAgTG9jayBydHBiaW4gd2hlbiBhc3NvY2lhdGluZyBzdHJlYW1zLiBGaXhlcyAjNTI4MjQ1LgoKMjAwOC0wNC0xNiAwOTo1MDoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERvbid0IGlubGN1ZGUgZGMxMzk0c3JjIGluIHRoZSBnZW5lcmljL3N0YXRlcyB0ZXN0IGFzIGl0IHJlcXVpcmVzIHNwZWNpYWwgaGFyZHdhcmUuIEZpeGVzIGJ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEb24ndCBpbmxjdWRlIGRjMTM5NHNyYyBpbiB0aGUgZ2VuZXJpYy9zdGF0ZXMgdGVzdCBhcyBpdCByZXF1aXJlcwoJICBzcGVjaWFsIGhhcmR3YXJlLiBGaXhlcyBidWcgIzUyODAxMS4KCjIwMDgtMDQtMTYgMDk6NDg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiBPbmx5IGNoZWNrIGlmIHRoZSBnZW5lcmF0ZWQgZmluZ2VycHJpbnRzIGFyZSB2YWxpZCBCYXNlNjQuIFRoZSBmaW5nZXJwcmludHMgYXJlIGRpZmZlcmVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogKGJ1c19oYW5kbGVyKSwgKEdTVF9TVEFSVF9URVNUKToKCSAgT25seSBjaGVjayBpZiB0aGUgZ2VuZXJhdGVkIGZpbmdlcnByaW50cyBhcmUgdmFsaWQgQmFzZTY0LiBUaGUKCSAgZmluZ2VycHJpbnRzIGFyZSBkaWZmZXJlbnQgd2hlbiBydW5uaW5nIG9uIGRpZmZlcmVudCBhcmNoaXRlY3R1cmVzCgkgIHdoaWNoIGlzIGEpIG5vIHByb2JsZW0gYmVjYXVzZSB0aGUgZmluZ2VycHJpbnRzIGFyZSB0b2xlcmFudCBlbm91Z2gKCSAgYW5kIGIpIGlzIGNhdXNlZCBieSBsaWJvZmEuIEZpeGVzIGJ1ZyAjNTI4MjY2LgoKMjAwOC0wNC0xNiAwOTo0NTozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOiBEaXN0IGFsbCBzb3VyY2UgZmlsZXMsIG5vIG1hdHRlciBpZiBvbmx5IHRpbWlkaXR5IG9yIHdpbGRtaWRpIG9yIG5vdGhpbmcgaXMgZm91bmQgYnkgY29uZmlnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgRGlzdCBhbGwgc291cmNlIGZpbGVzLCBubyBtYXR0ZXIgaWYgb25seSB0aW1pZGl0eSBvciB3aWxkbWlkaSBvcgoJICBub3RoaW5nIGlzIGZvdW5kIGJ5IGNvbmZpZ3VyZS4gRml4ZXMgYnVnICM1MjgwMDAuCgoyMDA4LTA0LTE0IDIwOjA5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46IFJlbW92ZSBzb3VwaHR0cHNyYyBwbHVnaW4gZnJvbSBzcGVjIGZpbGVzLCBpdCdzIG1vdmVkIHRvIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgUmVtb3ZlIHNvdXBodHRwc3JjIHBsdWdpbiBmcm9tIHNwZWMgZmlsZXMsIGl0J3MgbW92ZWQgdG8gLWdvb2QuCgoyMDA4LTA0LTEzIDIzOjExOjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBSZW1vdmUgc291cCB0ZXN0IGNlcnRpZmljYXRlcyBmcm9tIHRoZSBkaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHNvdXAgdGVzdCBjZXJ0aWZpY2F0ZXMgZnJvbSB0aGUgZGlzdC4KCjIwMDgtMDQtMTMgMjA6NTQ6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBGaXggY29tcGlsYXRpb24gYnkgY2FzdGluZyBzdHJpbmcgY29uc3RhbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIEZpeCBjb21waWxhdGlvbiBieSBjYXN0aW5nIHN0cmluZyBjb25zdGFudHMuCgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBGaXggV0lOSU5FVF9ESVIgdmFyaWFibGUgcmVmZXJlbmNlLgoKMjAwOC0wNC0xMiAyMzozMjoxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgc291cCBwbHVnaW4gdGhhdCdzIG1vdmVkIHRvIC1nb29kICgjNTIzMTI0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICAqIHRlc3RzL2NoZWNrL3Rlc3QtY2VydC5wZW06CgkgICogdGVzdHMvY2hlY2svdGVzdC1rZXkucGVtOgoJICBSZW1vdmUgc291cCBwbHVnaW4gdGhhdCdzIG1vdmVkIHRvIC1nb29kICgjNTIzMTI0KQoKMjAwOC0wNC0xMSAyMzoxOToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogSGFuZGxlIE5VTEwgcmV0dXJucyBmcm9tIEZMVl9HRVRfU1RSSU5HKCkgbW9yZSBncmFjZWZ1bGx5LiBGaXhlcyBjcmFzaCBjYXVzZWQgYnkgYSBzdHJsZW4gb24gYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KToKCSAgSGFuZGxlIE5VTEwgcmV0dXJucyBmcm9tIEZMVl9HRVRfU1RSSU5HKCkgbW9yZSBncmFjZWZ1bGx5LiBGaXhlcwoJICBjcmFzaCBjYXVzZWQgYnkgYSBzdHJsZW4gb24gYSBOVUxMIHN0cmluZyAoIzUyNzYyMikuCgoyMDA4LTA0LTExIDE5OjMzOjUzICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLio6IERvbid0IGluY3JlYXNlIGxhdGVuY3kgYnkgcXVldWluZyBidWZmZXJzIGluIGFuIGFzeW5jIHF1ZXVlIHdoZW4gdGhlIHN0cmVhbWluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hcyBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6IChQUk9QX0RFVklDRV9OQU1FKSwKCSAgKGdzdF9kc2hvd3ZpZGVvc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2RzaG93dmlkZW9zcmNfaW5pdCksCgkgIChnc3RfZHNob3d2aWRlb3NyY19kaXNwb3NlKSwgKGdzdF9kc2hvd3ZpZGVvc3JjX3N0b3ApLAoJICAoZ3N0X2RzaG93dmlkZW9zcmNfdW5sb2NrKSwgKGdzdF9kc2hvd3ZpZGVvc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9kc2hvd3ZpZGVvc3JjX2NyZWF0ZSksIChnc3RfZHNob3d2aWRlb3NyY19wdXNoX2J1ZmZlcik6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIERvbid0IGluY3JlYXNlIGxhdGVuY3kgYnkgcXVldWluZyBidWZmZXJzIGluIGFuIGFzeW5jIHF1ZXVlIHdoZW4KCSAgdGhlIHN0cmVhbWluZyB0aHJlYWQgY2FuJ3Qga2VlcCB1cCBvciBpc24ndCBzY2hlZHVsZWQgb2Z0ZW4KCSAgZW5vdWdoIGZvciBzb21lIG90aGVyIHJlYXNvbiwgYnV0IGp1c3QgZHJvcCB0aGUgcHJldmlvdXMgYnVmZmVyCgkgIGluIHRoYXQgY2FzZS4gQWxzbyBpbXBsZW1lbnQgR3N0QmFzZVNyYzo6dW5sb2NrIGZvciBmYXN0ZXIKCSAgdW5sb2NraW5nIHdoZW4gc2h1dHRpbmcgZG93bi4gKCM1MjA4OTIpLgoKMjAwOC0wNC0xMSAxODo0NjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci4qOiBSZW1vdmUgR3N0WE92ZXJsYXkgc3R1ZmYgYW5kIHVzZSBnZGtwaXhidWZzaW5rIHBsdXMgc29tZSByYXRoZXIgY3J1ZGUgZHJhd2luZy9zY2FsaW5nIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzogKEVOQ19VTktOT1dOKSwgKGxhc3RfcGl4YnVmKSwKCSAgKGRyYXdfcGl4YnVmKSwgKGNoYW5nZV90YWdfbGlzdCksICh1cGRhdGVfZHJhd19waXhidWYpLAoJICAodWlfZHJhd2luZ19zaXplX2FsbG9jYXRlX2NiKSwgKG9uX2RyYXdpbmdNYWluX2V4cG9zZV9ldmVudCksCgkgIChvbl9idXR0b25TYXZlRmlsZV9jbGlja2VkKSwgKHVpX2NyZWF0ZSksIChtZV9nc3RfYnVzX2NhbGxiYWNrX3ZpZXcpLAoJICAobWVfZ3N0X3NldHVwX3ZpZXdfcGlwZWxpbmUpLCAocHJvY2Vzc19maWxlKToKCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuZ2xhZGU6CgkgIFJlbW92ZSBHc3RYT3ZlcmxheSBzdHVmZiBhbmQgdXNlIGdka3BpeGJ1ZnNpbmsgcGx1cyBzb21lIHJhdGhlciBjcnVkZQoJICBkcmF3aW5nL3NjYWxpbmcgbG9naWMgdG8gbWFrZSB0aGlzIGNvbXBpbGUgYW5kIHdvcmsgb24gYWxsIHBsYXRmb3Jtcy4KCSAgRml4ZXMgIzUxODIyNy4KCjIwMDgtMDQtMTEgMTM6NTc6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyB0byBhdm9pZCBjb25mdXNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zIHRvIGF2b2lkCgkgIGNvbmZ1c2lvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGRlaW50ZXJsYWNlX2RlYnVnKSwKCSAgKEdTVF9DQVRfREVGQVVMVCksIChnc3RfZGVpbnRlcmxhY2VfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9zZXRfY2FwcyksIChwbHVnaW5faW5pdCk6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeSwgdXNlIF9zZXRfZWxlbWVudF9kZXRhaWxzX3NpbXBsZSBhbmQKCSAgcmVtb3ZlIHNwZWNpYWwgY29kZSBwYXRoIGZvciBZNDJCIHRvIGNhbGN1bGF0ZSBvZmZzZXRzIGFuZAoJICBzdHJpZGVzOyBsaWJnc3R2aWRlbyBrbm93cyBob3cgdG8gaGFuZGxlIHRoaXMgZm9ybWF0IG5vdy4KCjIwMDgtMDQtMTEgMTM6MDg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvY2R4YXBhcnNlLzogUG9ydCBWQ0QgcGFyc2VyIChmb3JtZXJseSBjZHhhc3RyaXApIGZyb20gMC44IHRvIDAuMTAuIERvZXNuJ3QgZG8gYW55dGhpbmcgdGhlIDAuOCB2ZXJzaW9uIGRpZG4ndCBkbyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5oOgoJICBQb3J0IFZDRCBwYXJzZXIgKGZvcm1lcmx5IGNkeGFzdHJpcCkgZnJvbSAwLjggdG8gMC4xMC4gRG9lc24ndCBkbwoJICBhbnl0aGluZyB0aGUgMC44IHZlcnNpb24gZGlkbid0IGRvIHRob3VnaC4KCjIwMDgtMDQtMTEgMDg6MTM6MjIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL29zczQvOiBGaXggYXJndW1lbnRzIGZvcm1hdCBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNC0xMSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uYzoKCSAgKGdzdF9vc3M0X21peGVyX2VudW1fZ2V0X3ZhbHVlc19sb2NrZWQpOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6IChnc3Rfb3NzNF9zb3VyY2VfZGVsYXkpOiBGaXggYXJndW1lbnRzCgkgIGZvcm1hdCBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwOC0wNC0xMCAxNToyOTo0NCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIEFkZCB3aW5pbmV0c3JjIGZvciBiYXNpYyBodHRwL2Z0cCBzdXBwb3J0IG9uIHdpbmRvd3MgKCM1MjA4OTcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXMgYXQgdGFuZGJlcmcgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICAqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuaDoKCSAgQWRkIHdpbmluZXRzcmMgZm9yIGJhc2ljIGh0dHAvZnRwIHN1cHBvcnQgb24gd2luZG93cyAoIzUyMDg5NykuCgoyMDA4LTA0LTEwIDEwOjAxOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L25zZi9uc2YuaDogQ2hhbmdlIHByb3RvdHlwZSBvZiBwcm9jZXNzIGZ1bmN0aW9uIGhlcmUgdG9vIHRvIGF2b2lkICdpbmNvbXBhdGlibGUgYXNzaWdubWVudCcgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvbnNmLmg6CgkgIENoYW5nZSBwcm90b3R5cGUgb2YgcHJvY2VzcyBmdW5jdGlvbiBoZXJlIHRvbyB0byBhdm9pZAoJICAnaW5jb21wYXRpYmxlIGFzc2lnbm1lbnQnIHdhcm5pbmdzLgoKMjAwOC0wNC0xMCAwNzoxMTo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogSW5jcmVhc2UgdGhlIHRpbWVvdXQgZm9yIHRoZSBpbnRlcm5ldCB0ZXN0cyB0byAyNTAgc2Vjb25kcyBhbmQgY2hlY2sgZm9yIE5VTEwgY2FwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChnb3RfYnVmZmVyKSwKCSAgKHNvdXBodHRwc3JjX3N1aXRlKToKCSAgSW5jcmVhc2UgdGhlIHRpbWVvdXQgZm9yIHRoZSBpbnRlcm5ldCB0ZXN0cyB0byAyNTAgc2Vjb25kcwoJICBhbmQgY2hlY2sgZm9yIE5VTEwgY2FwcyBpbnN0ZWFkIG9mIGp1c3QgY3Jhc2hpbmcuCgkgIFRoZSByZWFsIGZpeCB3b3VsZCBiZSB0byBpbXBsZW1lbnQgYW4gc2hvdXRjYXN0IHNlcnZlciBmb3IgdGhlIHVuaXQgdGVzdAoJICBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gYSB3b3JraW5nIGludGVybmV0IGNvbm5lY3Rpb24uCgkgIEZpeGVzIGJ1ZyAjNTIxNzQ5LgoKMjAwOC0wNC0wOSAyMjoyNzo1MCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEF2b2lkIGxlYWtpbmcgcGFkcyBpbiB0aGUgUlRQIG1hbmFnZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZnJlZV9zZXNzaW9uKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICBBdm9pZCBsZWFraW5nIHBhZHMgaW4gdGhlIFJUUCBtYW5hZ2VyLgoKMjAwOC0wNC0wOSAxMzo0Mzo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbnNmL25lc19hcHUuKjogRG9uJ3QgZG8gdm9pZCBwb2ludGVyIGFyaXRobWV0aWMgLSBpdCdzIGEgZ2NjIGV4dGVuc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9uZXNfYXB1LmM6IChhcHVfcHJvY2Vzcyk6CgkgICogZ3N0L25zZi9uZXNfYXB1Lmg6CgkgIERvbid0IGRvIHZvaWQgcG9pbnRlciBhcml0aG1ldGljIC0gaXQncyBhIGdjYyBleHRlbnNpb24uCgoyMDA4LTA0LTA2IDIwOjE4OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBXb3JrIGFyb3VuZCBtaXNzaW5nIGJpdHMgb2YgdGhyZWFkLXNhZmV0eSBvbiBvbGRlciBHTGlicyBzb21lIG1vcmUgdG8gYXZvaWQgYXNzZXJ0aW9ucyB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCk6CgkgIFdvcmsgYXJvdW5kIG1pc3NpbmcgYml0cyBvZiB0aHJlYWQtc2FmZXR5IG9uIG9sZGVyIEdMaWJzIHNvbWUKCSAgbW9yZSB0byBhdm9pZCBhc3NlcnRpb25zIHdoZW4gc3RhcnRpbmcgdXAgbXVsdGlwbGUgcGxheWJpbgoJICBvYmplY3RzIGNvbmN1cnJlbnRseSAoc2VlICM1MTIzODIpLgoKMjAwOC0wNC0wNiAwOTowMTo0MiArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogT25seSBpZ25vcmUgYWN0dWFsIHJlZGlyZWN0cyBub3QgYWxsIHJlc3BvbnNlcyB3aGVuIGluIHN0YXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpOgoJICBPbmx5IGlnbm9yZSBhY3R1YWwgcmVkaXJlY3RzIG5vdCBhbGwgcmVzcG9uc2VzIHdoZW4gaW4gc3RhdGUKCSAgR1NUX1NPVVBfSFRUUF9TUkNfU0VTU0lPTl9JT19TVEFUVVNfUlVOTklORy4gRml4ZXMgYnVnICM1MjYzMzcuCgoyMDA4LTA0LTA2IDA4OjU4OjM5ICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBBY3R1YWxseSBidWlsZCBkbGxzIHdoZW4gY3Jvc3MtY29tcGlsaW5nIHdpdGggbWluZ3czMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuIGRvdCBsZXNwaWF1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBBY3R1YWxseSBidWlsZCBkbGxzIHdoZW4gY3Jvc3MtY29tcGlsaW5nIHdpdGggbWluZ3czMi4KCSAgRml4ZXMgYnVnICM1MjYyNDcuCgoyMDA4LTA0LTA1IDExOjAzOjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogQWxzbyBjaGVjayB0aGF0IHdlIGhhdmUgcHJvY2Vzc2VkIGF0IGxlYXN0IDEzNSBzZWNvbmRzIG9mIGF1ZGlvIHVudGlsIHdlIHN0b3AgYW5kIGNhbGN1bGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFsc28gY2hlY2sgdGhhdCB3ZSBoYXZlIHByb2Nlc3NlZCBhdCBsZWFzdCAxMzUgc2Vjb25kcyBvZiBhdWRpbwoJICB1bnRpbCB3ZSBzdG9wIGFuZCBjYWxjdWxhdGVkIGEgZmluZ2VycHJpbnQuCgoyMDA4LTA0LTA0IDIwOjQzOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3N1YmVuYy9nc3RzcnRlbmMuKjogR3N0U3J0ZW5jID0+IEdzdFNydEVuYyBhbmQgZ3N0X3NydGVuY18gPT4gZ3N0X3NydF9lbmNfLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJICAqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmg6CgkgIEdzdFNydGVuYyA9PiBHc3RTcnRFbmMgYW5kIGdzdF9zcnRlbmNfID0+IGdzdF9zcnRfZW5jXy4KCjIwMDgtMDQtMDQgMTk6MTg6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHNpbXBsZSB1bml0IHRlc3RzIGZvciB0aGUgT0ZBIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogKGJ1c19oYW5kbGVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKG9mYV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHNpbXBsZSB1bml0IHRlc3RzIGZvciB0aGUgT0ZBIHBsdWdpbi4KCjIwMDgtMDQtMDMgMTQ6MjM6NDcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBuZXcgb3NzdjQgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbmV3IG9zc3Y0IHBsdWdpbgoKMjAwOC0wNC0wMiAyMDoxODo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIE9TU3Y0LiBNaXhlciBzdGlsbCBuZWVkcyBhIGJpdCBtb3JlIGxvdmUsIGJ1dCBldmVuIG1hZ2ljIGhhcyBpdHMgbGltaXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5oOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkgICogc3lzL29zczQvb3NzNC1zb3VuZGNhcmQuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmg6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIE9TU3Y0LiBNaXhlciBzdGlsbCBuZWVkcyBhIGJpdCBtb3JlIGxvdmUsCgkgIGJ1dCBldmVuIG1hZ2ljIGhhcyBpdHMgbGltaXRzLgoKMjAwOC0wNC0wMSAyMjo0MDo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJlbmFtZSBuZXcgc3J0ZW5jIHBsdWdpbiB0byBzdWJlbmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgKiBnc3Qvc3J0ZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcnRlbmMvZ3N0c3J0ZW5jLmM6CgkgICogZ3N0L3NydGVuYy9nc3RzcnRlbmMuaDoKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6IChwbHVnaW5faW5pdCk6CgkgIFJlbmFtZSBuZXcgc3J0ZW5jIHBsdWdpbiB0byBzdWJlbmMuCgoyMDA4LTA0LTAxIDIwOjMzOjE5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4IHNwZWMnYSdsZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBzcGVjJ2EnbGVjCgoyMDA4LTA0LTAxIDE5OjUzOjUzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogQ2FibGUgZGVsaXZlcnkgc3Vic3lzdGVtIGRlc2NyaXB0b3JzJyBmcmVxdWVuY3kncyBiY2QgaXMgbWVhc3VyZWQgaW4gMTAwSHogdW5pdHMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIENhYmxlIGRlbGl2ZXJ5IHN1YnN5c3RlbSBkZXNjcmlwdG9ycycgZnJlcXVlbmN5J3MgYmNkCgkgIGlzIG1lYXN1cmVkIGluIDEwMEh6IHVuaXRzIHNvIGFkanVzdCBtdWx0aXBsaWVyIGFjY29yZGluZ2x5LgoKMjAwOC0wNC0wMSAxMzo0Mjo1NSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIEFkZCBzcnQgc3VidGl0bGUgZW5jb2RlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NydGVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3J0ZW5jL2dzdHNydGVuYy5jOgoJICAqIGdzdC9zcnRlbmMvZ3N0c3J0ZW5jLmg6CgkgIEFkZCBzcnQgc3VidGl0bGUgZW5jb2RlcgoKMjAwOC0wMy0zMSAxNjoyNDo0MiArMDAwMCAga2FwaWwgPGthcGlsQGZsdWVuZG8uY29tPgoKCSAgZXh0L2dzbS9nc3Rnc21kZWMuKjogSW5jcmVhc2UgdGhlIGFsbG93ZWQgc2FtcGxlcmF0ZXMgZm9yIHRoZSBtcy1nc20gZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGthcGlsIDxrYXBpbCBhdCBmbHVlbmRvIGRvdCBjb20+CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKGdzdF9nc21kZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9nc21kZWNfY2hhaW4pOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgIEluY3JlYXNlIHRoZSBhbGxvd2VkIHNhbXBsZXJhdGVzIGZvciB0aGUgbXMtZ3NtIGZvcm1hdC4KCSAgRml4ZXMgIzQ4MTM1NC4KCjIwMDgtMDMtMzAgMjE6MDY6NTggKzAwMDAgIEphbiBkZSBHcm9vdCA8amFuQGpnYy5ob21laXAubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggYnVpbGQgd2l0aCAtLWRpc2FibGUtZXh0ZXJuYWwgKCM1MjUxMDApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEphbiBkZSBHcm9vdCA8amFuIGF0IGpnYyBob21laXAgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGJ1aWxkIHdpdGggLS1kaXNhYmxlLWV4dGVybmFsICgjNTI1MTAwKS4KCjIwMDgtMDMtMjggMDk6NDg6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBSZXBlYXQgZGlzZXFjIGNhbGwgdG8gYWxsb3cgZm9yIHNvbWUgZGlzZXFjIHN3aXRjaGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBSZXBlYXQgZGlzZXFjIGNhbGwgdG8gYWxsb3cgZm9yIHNvbWUgZGlzZXFjIHN3aXRjaGVzLgoKMjAwOC0wMy0yNyAxNjozMjoyNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRGlzdCBvZmEgY29ycmVjdGx5ISBGaXhlcyBub24tdW5pbnN0YWxsZWQgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRGlzdCBvZmEgY29ycmVjdGx5ISBGaXhlcyBub24tdW5pbnN0YWxsZWQgYnVpbGQuCgoyMDA4LTAzLTI3IDE1OjU3OjE0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogTWFrZSBkaXNlcWMgd29yayBtb3JlIHJlbGlhYmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBNYWtlIGRpc2VxYyB3b3JrIG1vcmUgcmVsaWFibHkuCgoyMDA4LTAzLTI2IDA3OjQwOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbnNmLzogUmVtb3ZlIG1lbWd1YXJkIGFnYWluIGFuZCBhcHBseSBob3BlZnVsbHkgYWxsIHByZXZpb3VzbHkgZHJvcHBlZCBsb2NhbCBwYXRjaGVzLiBTaG91bGQgYmUgcmVhbGx5IGJldHRlciB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL2Zkc19zbmQuYzoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmM6CgkgICogZ3N0L25zZi9uc2YuYzoKCSAgKiBnc3QvbnNmL3R5cGVzLmg6CgkgICogZ3N0L25zZi92cmM3X3NuZC5jOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5oOgoJICBSZW1vdmUgbWVtZ3VhcmQgYWdhaW4gYW5kIGFwcGx5IGhvcGVmdWxseSBhbGwgcHJldmlvdXNseSBkcm9wcGVkCgkgIGxvY2FsIHBhdGNoZXMuIFNob3VsZCBiZSByZWFsbHkgYmV0dGVyIHRoYW4gdGhlIG9sZCB2ZXJzaW9uIG5vdy4KCjIwMDgtMDMtMjUgMTY6NTg6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbnNmLzogVW5icmVhayBjb21waWxhdGlvbiBieSBkaXNhYmxpbmcgbWVtZ3VhcmQgYW5kIGRvaW5nIHNvbWUgZGlydHkgaGFjayBmaXhlcyB0byBtYWtlIGl0IGNvbXBpbGUgb24gNjRiaXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmM6IChfbXlfZnJlZSk6CgkgICogZ3N0L25zZi90eXBlcy5oOgoJICBVbmJyZWFrIGNvbXBpbGF0aW9uIGJ5IGRpc2FibGluZyBtZW1ndWFyZCBhbmQgZG9pbmcgc29tZSBkaXJ0eSBoYWNrCgkgIGZpeGVzIHRvIG1ha2UgaXQgY29tcGlsZSBvbiA2NGJpdHMuCgoyMDA4LTAzLTI1IDE1OjU2OjEzICswMDAwICBBbmRyZWFzIEhlbnJpa3Nzb24gPGFuZHJlYXNAZmF0YWwuc2V0PgoKCSAgZ3N0L25zZi86IFVwZGF0ZSBvdXIgaW50ZXJuYWwgbm9zZWZhcnQgdG8gbm9zZWZhcnQtMi43LW1scyB0byBmaXggc2VnZmF1bHRzIG9uIHNvbWUgZmlsZXMuIEZpeGVzIGJ1ZyAjNDk4MjM3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHJlYXMgSGVucmlrc3NvbiA8YW5kcmVhcyBhdCBmYXRhbCBkb3Qgc2V0PgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9kaXM2NTAyLmg6CgkgICogZ3N0L25zZi9mZHNfc25kLmM6CgkgICogZ3N0L25zZi9mZHNfc25kLmg6CgkgICogZ3N0L25zZi9mbW9wbC5jOgoJICAqIGdzdC9uc2YvZm1vcGwuaDoKCSAgKiBnc3QvbnNmL2dzdG5zZi5jOgoJICAqIGdzdC9uc2YvbG9nLmM6CgkgICogZ3N0L25zZi9sb2cuaDoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5oOgoJICAqIGdzdC9uc2YvbW1jNV9zbmQuYzoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmg6CgkgICogZ3N0L25zZi9uZXM2NTAyLmM6CgkgICogZ3N0L25zZi9uZXM2NTAyLmg6CgkgICogZ3N0L25zZi9uZXNfYXB1LmM6CgkgICogZ3N0L25zZi9uZXNfYXB1Lmg6CgkgICogZ3N0L25zZi9uc2YuYzoKCSAgKiBnc3QvbnNmL25zZi5oOgoJICAqIGdzdC9uc2Yvb3NkLmg6CgkgICogZ3N0L25zZi90eXBlcy5oOgoJICAqIGdzdC9uc2YvdnJjN19zbmQuYzoKCSAgKiBnc3QvbnNmL3ZyYzdfc25kLmg6CgkgICogZ3N0L25zZi92cmN2aXNuZC5jOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuaDoKCSAgVXBkYXRlIG91ciBpbnRlcm5hbCBub3NlZmFydCB0byBub3NlZmFydC0yLjctbWxzIHRvIGZpeCBzZWdmYXVsdHMKCSAgb24gc29tZSBmaWxlcy4gRml4ZXMgYnVnICM0OTgyMzcuCgkgIFJlbW92ZSBzb21lIC8vIGNvbW1lbnRzLCBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncyBhbmQgdXNlIHBvdygpCgkgIGluc3RlYWQgb2YgYSBzbG93LCBzZWxmbWFkZSBpbXBsZW1lbnRhdGlvbi4KCjIwMDgtMDMtMjUgMTU6MTc6NTggKzAwMDAgIEVkIENhdG11ciA8ZWRAY2F0bXVyLmNvLnVrPgoKCSAgY29uZmlndXJlLmFjOiBBZGQgc3VwcG9ydCBmb3IgbmVvbiAwLjI4LCB3aGljaCBkaWRuJ3QgY2hhbmdlIEFQSS4gRml4ZXMgYnVnICM1MjQwMzUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRWQgQ2F0bXVyIDxlZCBhdCBjYXRtdXIgZG90IGNvIGRvdCB1az4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEFkZCBzdXBwb3J0IGZvciBuZW9uIDAuMjgsIHdoaWNoIGRpZG4ndCBjaGFuZ2UgQVBJLiBGaXhlcyBidWcgIzUyNDAzNS4KCjIwMDgtMDMtMjQgMTI6MzI6NTkgKzAwMDAgIFJlbmUgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIE1ha2UgcmdhbmFseXNpcyBhbmQgcmdsaW1pdGVyIGVsZW1lbnRzIEdBUC1mbGFnIGF3YXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmMgKGdzdF9yZ19hbmFseXNpc19pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jIChnc3RfcmdfbGltaXRlcl9pbml0KSwKCSAgKGdzdF9yZ19saW1pdGVyX3RyYW5zZm9ybV9pcCk6CgkgIE1ha2UgcmdhbmFseXNpcyBhbmQgcmdsaW1pdGVyIGVsZW1lbnRzIEdBUC1mbGFnIGF3YXJlLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHRlc3RfZ2FwX2J1ZmZlcnMpLAoJICAocmdhbmFseXNpc19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmMgKHRlc3RfZ2FwKSwgKHJnbGltaXRlcl9zdWl0ZSk6CgkgIEFkZCB0ZXN0cyB0byB2ZXJpZnkgZ2FwLWF3YXJlbmVzcy4KCjIwMDgtMDMtMjIgMTk6MjY6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IERvbid0IGF1dG9wbHVnIHNvdXBodHRwc3JjIGZvciBkYXYvZGF2cy4gVGhpcyBpcyBiZXR0ZXIgaGFuZGxlZCBieQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyk6CgkgIERvbid0IGF1dG9wbHVnIHNvdXBodHRwc3JjIGZvciBkYXYvZGF2cy4gVGhpcyBpcyBiZXR0ZXIgaGFuZGxlZCBieQoJICBHSU8gYW5kIEdub21lVkZTIGFzIHRoZXkgcHJvdmlkZSBhdXRoZW50aWNhdGlvbi4KCSAgRG9uJ3QgbGVhayB0aGUgaWN5IGNhcHMgaWYgd2UgYWxyZWFkeSBzZXQgdGhlbSBhbmQgZ2V0IGEgbmV3CgkgIGljeS1tZXRhaW50IGhlYWRlci4KCSAgVHJ5IGhhcmRlciB0byBzZXQgdGhlIGljeSBjYXBzIG9uIHRoZSBvdXRwdXQgYnVmZmVyIHRvIGhhdmUgY29ycmVjdAoJICBjYXBzIGZvciB0aGUgZmlyc3QgYnVmZmVyIGFscmVhZHkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKGdvdF9idWZmZXIpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICBDaGVjayB0aGF0IHdlIGdldCBhIGJ1ZmZlciB3aXRoIGFwcGxpY2F0aW9uL3gtaWN5IGNhcHMgaWYgaXJhZGlvLW1vZGUKCSAgaXMgZW5hYmxlZCBhbmQgd2UgaGF2ZSBhbiBpY2VjYXN0IFVSTC4KCjIwMDgtMDMtMjIgMTg6MTg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFjdHVhbGx5IHNldCB0aGUgaWN5IGNhcHMgb24gb3VyIHNyYyBwYWQgaWYgd2UgaGF2ZSBpY2VjYXN0IGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jaHVua19hbGxvY2F0b3IpOgoJICBBY3R1YWxseSBzZXQgdGhlIGljeSBjYXBzIG9uIG91ciBzcmMgcGFkIGlmIHdlIGhhdmUgaWNlY2FzdCBkYXRhLgoJICBGaXhlcyBidWcgIzUyMzg1NC4KCjIwMDgtMDMtMjIgMTU6MDA6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGV2ZXJ5d2hlcmUgZm9yIEdQYXJhbVNwZWNzIHRoYXQgdXNlIHN0YXRpYyBzdHJpbmdzIChpLmUuIGFsbCkuIFRoaXMgZ2l2ZXMgdXMgbGVzcyBtZW1vcnkgdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyZWxlbWVudC5jOgoJICAoZ3N0X2Fsc2FfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOiAoZ3N0X2Fsc2FzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzogKGdzdF9hbHNhc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9jZHBhcmFub2lhL2dzdGNkcGFyYW5vaWFzcmMuYzoKCSAgKGdzdF9jZF9wYXJhbm9pYV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOiAoZ3N0X2dpb19zdHJlYW1fc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5jOiAoZ3N0X2dpb19zdHJlYW1fc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzogKGdzdF9nbm9tZV92ZnNfc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzogKGdzdF9nbm9tZV92ZnNfc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6IChnc3Rfb2dnX211eF9jbGFzc19pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzogKGdzdF90ZXh0X3JlbmRlcl9jbGFzc19pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAoZ3N0X3RoZW9yYV9kZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFlbmMuYzogKGdzdF90aGVvcmFfZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhcGFyc2UuYzogKGdzdF90aGVvcmFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzogKGdzdF92b3JiaXNfZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlcnRlbXBsYXRlLmM6CgkgIChnc3RfYXVkaW9fZmlsdGVyX3RlbXBsYXRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zaW5rLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zcmMuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvY2RkYS9nc3RjZGRhYmFzZXNyYy5jOgoJICAoZ3N0X2NkZGFfYmFzZV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvbWl4ZXJ0cmFjay5jOgoJICAoZ3N0X21peGVyX3RyYWNrX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJICAoZ3N0X2Jhc2VfcnRwX2RlcGF5bG9hZF9jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBwYXlsb2FkLmM6CgkgIChnc3RfYmFzZXJ0cHBheWxvYWRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKGdzdF9hdWRpb19jb252ZXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3JhdGUvZ3N0YXVkaW9yYXRlLmM6IChnc3RfYXVkaW9fcmF0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5jOgoJICAoZ3N0X2F1ZGlvX3Rlc3Rfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOiAoZ3N0X2RlY29kZV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliYXNlYmluLmM6IChnc3RfcGxheV9iYXNlX2Jpbl9jbGFzc19pbml0KSwKCSAgKHByZXJvbGxfdW5saW5rZWQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6IChnc3RfcGxheV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6IChnc3RfcGxheV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXlzaW5rLmM6IChnc3RfcGxheV9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RxdWV1ZTIuYzogKGdzdF9xdWV1ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtaW5mby5jOiAoZ3N0X3N0cmVhbV9pbmZvX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1zZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOiAoZ3N0X3VyaV9kZWNvZGVfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jOiAoZ3N0X3N1Yl9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNpbmsuYzogKGdzdF90Y3BfY2xpZW50X3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzcmMuYzogKGdzdF90Y3BfY2xpZW50X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzogKGdzdF90Y3Bfc2VydmVyX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzcmMuYzogKGdzdF90Y3Bfc2VydmVyX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOiAoZ3N0X3ZpZGVvX3JhdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvX3NjYWxlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6CgkgIChnc3RfdmlkZW9fdGVzdF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzogKGdzdF92b2x1bWVfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxlbGVtZW50LmM6IChnc3RfdjRsZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc2luay5jOiAoZ3N0X3Y0bG1qcGVnc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc3JjLmM6IChnc3RfdjRsbWpwZWdzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuYzogKGdzdF92NGxzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOiAoZ3N0X3h2aW1hZ2VzaW5rX2NsYXNzX2luaXQpOgoJICBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBldmVyeXdoZXJlIGZvciBHUGFyYW1TcGVjcyB0aGF0IHVzZQoJICBzdGF0aWMgc3RyaW5ncyAoaS5lLiBhbGwpLiBUaGlzIGdpdmVzIHVzIGxlc3MgbWVtb3J5IHVzYWdlLAoJICBmZXdlciBhbGxvY2F0aW9ucyBhbmQgdGh1cyBsZXNzIG1lbW9yeSBkZWZyYWdtZW50YXRpb24uIERlcGVuZAoJICBvbiBjb3JlIENWUyBmb3IgdGhpcy4gRml4ZXMgYnVnICM1MjM4MDYuCgoyMDA4LTAzLTIxIDE0OjUwOjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGlmIHRoZSBjb21waWxlciBzdXBwb3J0cyBkbyB7IH0gd2hpbGUgKDApIG1hY3Jvcy4gVGhpcyBmaXhlcyBhIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBnKysgNC4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBpZiB0aGUgY29tcGlsZXIgc3VwcG9ydHMgZG8geyB9IHdoaWxlICgwKSBtYWNyb3MuIFRoaXMgZml4ZXMKCSAgYSB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggZysrIDQuMywgcmVzdWx0aW5nIGluIGEgYnVpbGQgZmFpbHVyZQoJICBiZWNhdXNlIG9mIC1XZXJyb3IuCgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIEluY2x1ZGUgPHN0cmluZy5oPiBmb3IgbWVtY3B5IGFuZCBmcmllbmRzIHRvIGZpeCB0aGUgYnVpbGQgd2l0aAoJICBnY2MgNC4zLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgdHJhaWxpbmcgYmFja3NsYXNoLgoKMjAwOC0wMy0yMCAxODoxMDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IERvIGdfb2JqZWN0X25vdGlmeSgpIG9ubHkgd2hlbiBub3QgaG9sZGluZyB0aGUgbG9jayB0byBnZXQgdGhlIHByb3BlcnR5IGJlY2F1c2Ugb3RoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zd2l0Y2gpOgoJICBEbyBnX29iamVjdF9ub3RpZnkoKSBvbmx5IHdoZW4gbm90IGhvbGRpbmcgdGhlIGxvY2sgdG8gZ2V0IHRoZSBwcm9wZXJ0eQoJICBiZWNhdXNlIG90aGVyd2lzZSB3ZSBydW4gaW50byBhIGRlYWRsb2NrIHdpdGggdGhlIGRlZXAtbm90aWZ5IGhhbmRsZXJzCgkgIHRoYXQgYXJlIHBvc3NpYmx5IGluc3RhbGxlZC4KCjIwMDgtMDMtMjAgMTc6NDg6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBSZWxlYXNlIHRoZSBzZWxlY3RvciBsb2NrIHdoZW4gcGFkIGFsbG9jIGhhcHBlbnMgb24gYSBub24gc2VsZWN0ZWQgcGFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpLCAoZ3N0X3NlbGVjdG9yX3BhZF9idWZmZXJhbGxvYyksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCk6CgkgIFJlbGVhc2UgdGhlIHNlbGVjdG9yIGxvY2sgd2hlbiBwYWQgYWxsb2MgaGFwcGVucyBvbiBhIG5vbiBzZWxlY3RlZCBwYWQuCgoyMDA4LTAzLTIwIDE3OjA3OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogQWRkIHBhZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgYmVoYXZpb3VyIG9mIHRoZSB1bnNlbGVjdGVkIHBhZCwgaXQgY2FuIHJldHVybiBPSyBvciBOLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9pbml0KSwgKGdzdF9zZWxlY3Rvcl9wYWRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9idWZmZXJhbGxvYyksIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCk6CgkgIEFkZCBwYWQgcHJvcGVydHkgdG8gY29uZmlndXJlIGJlaGF2aW91ciBvZiB0aGUgdW5zZWxlY3RlZCBwYWQsIGl0IGNhbgoJICByZXR1cm4gT0sgb3IgTk9UX0xJTktFRCwgYmFzZWQgb24gdGhlIHVzZSBjYXNlLgoKMjAwOC0wMy0yMCAxNjo0ODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLio6IEZpZ3VyZSBvdXQgdGhlIGxvY2tpbmcgYSBiaXQgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3J1bm5pbmdfdGltZSksIChnc3Rfc2VsZWN0b3JfcGFkX3Jlc2V0KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpLCAoZ3N0X3NlbGVjdG9yX3BhZF9idWZmZXJhbGxvYyksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfd2FpdCksIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9jbGFzc19pbml0KSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9pbml0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9kaXNwb3NlKSwgKGdzdF9zZWdtZW50X3NldF9zdGFydCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9nZXRfbGlua2VkX3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfaXNfYWN0aXZlX3NpbmtwYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2FjdGl2YXRlX3NpbmtwYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2NoYW5nZV9zdGF0ZSksIChnc3RfaW5wdXRfc2VsZWN0b3JfYmxvY2spLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3N3aXRjaCk6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuaDoKCSAgRmlndXJlIG91dCB0aGUgbG9ja2luZyBhIGJpdCBtb3JlLgoJICBNYXJrIGJ1ZmZlcnMgd2l0aCBkaXNjb250IGFmdGVyIHN3aXRjaGluZy4KCSAgRml4IGluaXRpYWwgc2VnbWVudCBmb3J3YXJkaW5nLCBtYWtlIHN1cmUgdG8gb25seSBmb3J3YXJkIG9uZSBzZWdtZW50CgkgIHJlZ2FyZGxlc3Mgb2Ygd2hhdCB0aGUgc2VxdWVuY2Ugb2YgYnVmZmVycy9zZWdtZW50cyBpcy4gU2VlICM1MjIyMDMuCgkgIEltcHJvdmUgZmx1c2hpbmcgd2hlbiBibG9ja2VkLgoJICBSZXR1cm4gTk9UX0xJTktFRCB3aGVuIGEgc3RyZWFtIGlzIG5vdCBzZWxlY3RlZC4KCSAgTm90IEFQSSBjaGFuZ2UgZm9yIHRoZSBzd2l0Y2ggc2lnbmFsIGluIHRoZSBkb2NzLgoJICBGaXggc3RhcnQvdGltZS9hY2N1bSB2YWx1ZXMgb2YgdGhlIG5ldyBzZWdtZW50LgoJICBDb3JyZWN0bHkgdW5sb2NrIGFuZCBmbHVzaCBhIGJsb2NraW5nIHNlbGVjdG9yIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgoyMDA4LTAzLTIwIDE1OjU0OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhLzogQWRkIHNvbWUgdGhvdWdodHMgYW5kIEZJWE1FJ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgQWRkIHNvbWUgdGhvdWdodHMgYW5kIEZJWE1FJ3MuCgoyMDA4LTAzLTIwIDE1OjQ5OjIyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IEluY2x1ZGUgc3RkbGliLmggZm9yIGFicy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBJbmNsdWRlIHN0ZGxpYi5oIGZvciBhYnMuCgoyMDA4LTAzLTE5IDE5OjU2OjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZnJlZXplLzogQWRkIGV4YW1wbGUgdG8gc291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBibG9iIGFuZCByZW1vdmUgdGhlIDMgbGluZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZnJlZXplL0ZBUToKCSAgKiBnc3QvZnJlZXplL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgIEFkZCBleGFtcGxlIHRvIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYiBhbmQgcmVtb3ZlIHRoZSAzIGxpbmUKCSAgRkFRLgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgQWRkIGEgc291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBibG9iLgoKMjAwOC0wMy0xOSAxODo0NDo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L29mYS9nc3RvZmEuYzogSW1wcm92ZSBkZWJ1Z2dpbmcsIGNsZWFuIHVwIGEgYml0IGFuZCByZWFsbHkgZ2VuZXJhdGUgdGhlIGZpbmdlcnByaW50IGFmdGVyIDEzNSBzZWNvbmRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvb2ZhL2dzdG9mYS5jOiAoY3JlYXRlX2ZpbmdlcnByaW50KSwgKGdzdF9vZmFfZXZlbnQpLAoJICAoZ3N0X29mYV90cmFuc2Zvcm1faXApLCAocGx1Z2luX2luaXQpOgoJICBJbXByb3ZlIGRlYnVnZ2luZywgY2xlYW4gdXAgYSBiaXQgYW5kIHJlYWxseSBnZW5lcmF0ZSB0aGUgZmluZ2VycHJpbnQKCSAgYWZ0ZXIgMTM1IHNlY29uZHMuCgoyMDA4LTAzLTE5IDE4OjE5OjEyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvb2ZhL2dzdG9mYS5jOiBVc2UgR1BMIGFzIGxpY2Vuc2UsIHRoZSBwbHVnaW4gaXRzZWxmIGlzIExHUEwgYnV0IGxpYm9mYSBpcyBHUEwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkgIFVzZSBHUEwgYXMgbGljZW5zZSwgdGhlIHBsdWdpbiBpdHNlbGYgaXMgTEdQTCBidXQgbGlib2ZhIGlzIEdQTC4KCjIwMDgtMDMtMTkgMTg6MTQ6MTcgKzAwMDAgIEVyaWMgQnVlaGwgPGVyaWMuYnVlaGxAZ21haWwuY29tPgoKCSAgQWRkIGFuIE9GQSBlbGVtZW50LCB0aGUgc3VjY2Vzc29yIG9mIE11c2ljQnJhaW56IFRSTSBmaW5nZXJwcmludGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IEVyaWMgQnVlaGwgPGVyaWMgZG90IGJ1ZWhsIGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9nc3RvZmEuYzogKGdzdF9vZmFfYmFzZV9pbml0KSwgKGdzdF9vZmFfZmluYWxpemUpLAoJICAoZ3N0X29mYV9jbGFzc19pbml0KSwgKGNyZWF0ZV9maW5nZXJwcmludCksIChnc3Rfb2ZhX2V2ZW50KSwKCSAgKGdzdF9vZmFfaW5pdCksIChnc3Rfb2ZhX3RyYW5zZm9ybV9pcCksIChnc3Rfb2ZhX2dldF9wcm9wZXJ0eSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L29mYS9nc3RvZmEuaDoKCSAgQWRkIGFuIE9GQSBlbGVtZW50LCB0aGUgc3VjY2Vzc29yIG9mIE11c2ljQnJhaW56IFRSTSBmaW5nZXJwcmludGluZy4KCSAgRml4ZXMgYnVnICMzNTEzMDkuCgoyMDA4LTAzLTE4IDEwOjEyOjQwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmMgKGdzdF9mYWFkX2NoYWluKTogRml4IGEgYmFkIGZvcm1hdCBhcmd1bWVudCwgYW5kIGEgcG90ZW50aWFsIGludCBvdmVyZmxvdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDMtMTggIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9jaGFpbik6IEZpeCBhIGJhZCBmb3JtYXQgYXJndW1lbnQsCgkgIGFuZCBhIHBvdGVudGlhbCBpbnQgb3ZlcmZsb3cuCgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5oOiBJbmNsdWRlIDxuZWFhY2RlYy5oPiBpZiBmYWFkIGlzIG5lYWFjLgoJICBBdm9pZHMgYSAjd2FybmluZyBhYm91dCBhbiBpZ25vcmVkICNwcmFnbWEuCgoyMDA4LTAzLTE3IDE1OjUxOjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6IFVwZGF0ZSBzd2l0Y2ggZXhhbXBsZSB0byB1c2UgaW5wdXQgc2VsZWN0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICBVcGRhdGUgc3dpdGNoIGV4YW1wbGUgdG8gdXNlIGlucHV0IHNlbGVjdG9yLgoKMjAwOC0wMy0xNyAwOTowMjo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogSGFuZGxlIEhUVFAgc3RhdHVzIGNvZGUgMzAzIChTZWUgT3RoZXIpIHRoZSBzYW1lIHdheSBhcyAzMDIgKEZvdW5kKS4gTm90IHN1cmUgd2hhdCB0byBkbyBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgSGFuZGxlIEhUVFAgc3RhdHVzIGNvZGUgMzAzIChTZWUgT3RoZXIpIHRoZSBzYW1lIHdheQoJICBhcyAzMDIgKEZvdW5kKS4gTm90IHN1cmUgd2hhdCB0byBkbyBhYm91dCBhbGwgdGhlIG90aGVyIDN4eAoJICByZWRpcmVjdCBzdGF0dXMgY29kZXMuIEZpeGVzIGJ1ZyAjNTIyODg0LgoKMjAwOC0wMy0xNCAyMTo0ODozNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbTogTWFrZSBzdXJlIHRoZSBkc2hvdyBoZWxwZXIgbGlicmFyeSBoZWFkZXJzIGdldCBkaXN0cmlidXRlZCBpbiB0aGUgbmV4dCByZWxlYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgIE1ha2Ugc3VyZSB0aGUgZHNob3cgaGVscGVyIGxpYnJhcnkgaGVhZGVycyBnZXQgZGlzdHJpYnV0ZWQgaW4gdGhlIG5leHQKCSAgcmVsZWFzZS4KCjIwMDgtMDMtMTQgMTc6Mzg6MTAgKzAwMDAgIFdpbGxpYW0gTS4gQnJhY2sgPHdicmFja0BtbW0uaGs+CgoJICBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IFNpZ25pZmljYW50IGltcHJvdmVtZW50cy4gIEZpeGVzICM1MjEzOTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2lsbGlhbSBNLiBCcmFjawoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogU2lnbmlmaWNhbnQgaW1wcm92ZW1lbnRzLiAgRml4ZXMgIzUyMTM5Mi4KCjIwMDgtMDMtMTQgMTc6MjI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBBZGQgbG90cyBvZiBkZWJ1Z2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfYnVmZmVyYWxsb2MpLCAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfY2xhc3NfaW5pdCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcHVzaF9wZW5kaW5nX3N0b3ApOgoJICBBZGQgbG90cyBvZiBkZWJ1Z2dpbmcuCgkgIEZpeCB0aW1lIG1lbWJlciBpbiB0aGUgbmV3c2VnbWVudCBldmVudC4KCjIwMDgtMDMtMTMgMTY6NDY6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci4qOiBWYXJpb3VzIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZmluYWxpemUpLCAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9ldmVudCksIChnc3RfaW5wdXRfc2VsZWN0b3JfY2xhc3NfaW5pdCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfaW5pdCksIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9wdXNoX3BlbmRpbmdfc3RvcCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc3dpdGNoKToKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5oOgoJICBWYXJpb3VzIGNsZWFudXBzLgoJICBBZGRlZCB0YWdzIHRvIHRoZSBwYWRzLgoJICBTZWxlY3QgYWN0aXZlIHBhZCBiYXNlZCBvbiB0aGUgcGFkIG9iamVjdCBpbnN0ZWFkIG9mIGl0cyBuYW1lLgoJICBGaXggcmVmY291bnQgaW4gc2V0X2FjdGl2ZV9wYWQuCgkgIEFkZCBwcm9wZXJ0eSB0byBnZXQgdGhlIG51bWJlciBvZiBwYWRzLgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAoZ3N0X291dHB1dF9zZWxlY3Rvcl9jbGFzc19pbml0KSwKCSAgKGdzdF9vdXRwdXRfc2VsZWN0b3Jfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vdXRwdXRfc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KToKCSAgVmFyaW91cyBjbGVhbnVwcy4KCSAgU2VsZWN0IHRoZSBhY3RpdmUgcGFkIGJhc2VkIG9uIHRoZSBwYWQgb2JqZWN0IGluc3RlYWQgb2YgaXRzIG5hbWUuCgkgIEZpeCBsb2NraW5nIHdoZW4gc2V0dGluZyB0aGUgYWN0aXZlIHBhZC4KCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0c2VsZWN0b3ItbWFyc2hhbC5saXN0OgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NlbGVjdG9yLmM6IChjbGVhbnVwX3BhZCksCgkgIChzZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCksIChydW5faW5wdXRfc2VsZWN0b3JfYnVmZmVyX2NvdW50KToKCSAgRml4ZXMgZm9yIHBhZCBpbnN0ZWFkIG9mIHBhZG5hbWUgZm9yIHBhZCBzZWxlY3Rpb24uCgoyMDA4LTAzLTEzIDE0OjI1OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgR1NUX0xJQ0VOU0UsIEdTVF9QQUNLQUdFX05BTUUgYW5kIEdTVF9QQUNLQUdFX09SSUdJTiBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgdmFsdWVzIHdoZXJlIHBvc3NpYmxlLiBGaXhlcyBidWcgIzUyMjIxMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgICogZXh0L2dzbS9nc3Rnc20uYzoKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhLmM6CgkgIFVzZSBHU1RfTElDRU5TRSwgR1NUX1BBQ0tBR0VfTkFNRSBhbmQgR1NUX1BBQ0tBR0VfT1JJR0lOIGluc3RlYWQKCSAgb2YgaGFyZGNvZGluZyB2YWx1ZXMgd2hlcmUgcG9zc2libGUuIEZpeGVzIGJ1ZyAjNTIyMjEyLgoKMjAwOC0wMy0xMyAwOTo0NTowOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IFRyeSB0byByZXN1bWUgb24gc2VydmVyIGRpc2Nvbm5lY3QuIEZpeGVzIGJ1ZyAjNTIyMTM0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2J1aWxkX21lc3NhZ2UpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBUcnkgdG8gcmVzdW1lIG9uIHNlcnZlciBkaXNjb25uZWN0LiBGaXhlcyBidWcgIzUyMjEzNC4KCjIwMDgtMDMtMTIgMTg6NDQ6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLmM6IFNldCBjb3JyZWN0IHBpeGVsIGFzcGVjdCByYXRpbyBmb3IgdGhlIGVuY29kZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2NoYWluKToKCSAgU2V0IGNvcnJlY3QgcGl4ZWwgYXNwZWN0IHJhdGlvIGZvciB0aGUgZW5jb2Rlci4KCjIwMDgtMDMtMTEgMTI6NDA6NTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLio6IEltcGxlbWVudCBjb2xsaXNpb24gYW5kIGxvb3AgZGV0ZWN0aW9uIGluIHJ0cG1hbmFnZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoZmluZF9hZGRfY29uZmxpY3RpbmdfYWRkcmVzc2VzKSwKCSAgKGNoZWNrX2NvbGxpc2lvbiksIChvYnRhaW5fc291cmNlKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9uZXdfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgSW1wbGVtZW50IGNvbGxpc2lvbiBhbmQgbG9vcCBkZXRlY3Rpb24gaW4gcnRwbWFuYWdlci4KCSAgRml4ZXMgIzUyMDYyNi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfcmVzZXQpLAoJICAocnRwX3NvdXJjZV9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIG1ldGhvZCB0byByZXNldCBzdGF0cy4KCjIwMDgtMDMtMTEgMTE6MzY6MDMgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEF2b2lkIGEgZGVhZGxvY2sgd2hlbiBqb2luaW5nIHRoZSBSVENQIHRocmVhZCBpbiBQQVVTRUQgYmVjYXVzZSBpdCBtaWdodCBiZSBibG9ja2VkIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChydGNwX3RocmVhZCksIChzdGFydF9ydGNwX3RocmVhZCksIChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGpvaW5fcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSk6CgkgIEF2b2lkIGEgZGVhZGxvY2sgd2hlbiBqb2luaW5nIHRoZSBSVENQIHRocmVhZCBpbiBQQVVTRUQgYmVjYXVzZSBpdCBtaWdodAoJICBiZSBibG9ja2VkIGRvd25zdHJlYW0uIEFsc28gYXZvaWQgc3Bhd25pbmcgbXVsdGlwbGUgcnRjcCB0aHJlYWRzLgoJICBGaXhlcyAjNTIwODk0LgoKMjAwOC0wMy0xMSAxMDo0MzozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IERvbid0IHRyeSB0byByZXNldCB0aGUgY2xvY2sgc2tldyB3aGVuIHdlIGhhdmUgbm8gdGltZXN0YW1wcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyk6CgkgIERvbid0IHRyeSB0byByZXNldCB0aGUgY2xvY2sgc2tldyB3aGVuIHdlIGhhdmUgbm8gdGltZXN0YW1wcy4KCSAgRml4ZXMgIzUxOTAwNS4KCjIwMDgtMDMtMDggMDQ6Mjc6MDMgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogSW1wcm92ZSB0aGUgaGVhZGVyIGNoZWNraW5nIHRvIGxvb2sgZm9yIHdoYXQgZmFhZDIgbG9va3MgZm9yIHRvby4gRml4ZXMgcGxheWJhY2sgb2Ygc2FtZSBhcHBsZSB0ci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAobG9va3NfbGlrZV92YWxpZF9oZWFkZXIpOgoJICBJbXByb3ZlIHRoZSBoZWFkZXIgY2hlY2tpbmcgdG8gbG9vayBmb3Igd2hhdCBmYWFkMiBsb29rcwoJICBmb3IgdG9vLiBGaXhlcyBwbGF5YmFjayBvZiBzYW1lIGFwcGxlIHRyYWlsZXJzLgoJICBGaXhlcyBidWcgIzQ2OTk3OS4KCjIwMDgtMDMtMDcgMTM6Mjg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogUmVhbGx5IGNoZWNrIGZvciBsaWJkYzEzOTQgPj0gMi4wLjAsIHBrZy1jb25maWcgdGhpbmtzIHRoYXQgMi4wLjAtcmNYIGlzIG5ld2VyIHRoYW4gMi4wLjAgc28gd2UgY2hlY2sgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlYWxseSBjaGVjayBmb3IgbGliZGMxMzk0ID49IDIuMC4wLCBwa2ctY29uZmlnIHRoaW5rcyB0aGF0CgkgIDIuMC4wLXJjWCBpcyBuZXdlciB0aGFuIDIuMC4wIHNvIHdlIGNoZWNrIGZvciB0aGlzIHRvby4KCjIwMDgtMDMtMDYgMDc6MDM6MDkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBBZGQgYSBidW5jaCBvZiBwcm9wZXJ0aWVzIGNyaWJiZWQgZnJvbSB0aGUgZW5jb2RlciBwcm9ncmFtIGluIGRpcmFjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IEFkZCBhIGJ1bmNoIG9mIHByb3BlcnRpZXMgY3JpYmJlZAoJICBmcm9tIHRoZSBlbmNvZGVyIHByb2dyYW0gaW4gZGlyYWMuCgoyMDA4LTAzLTA2IDAzOjE2OjEzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFJld3JpdGUgRGlyYWMgZW5jb2RlciBwbHVnaW4gYmFzZWQgb24gU2Nocm9lZGluZ2VyIGdzdHJlYW1lciBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgUmV3cml0ZSBEaXJhYyBlbmNvZGVyIHBsdWdpbiBiYXNlZCBvbiBTY2hyb2VkaW5nZXIgZ3N0cmVhbWVyCgkgIGVsZW1lbnRzLgoKMjAwOC0wMy0wNSAwNjowMzowMyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIFBvcnQgbXBsZXggZWxlbWVudCB0byAwLjEwLiBGaXhlcyBidWcgIzUyMDMyOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmhoOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleGliaXRzdHJlYW0uY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4aWJpdHN0cmVhbS5oaDoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4am9iLmhoOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uaGg6CgkgIFBvcnQgbXBsZXggZWxlbWVudCB0byAwLjEwLiBGaXhlcyBidWcgIzUyMDMyOS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOiAodGVzdF9zaW5rX2V2ZW50KSwgKHNldHVwX3NyY19wYWQpLAoJICAodGVhcmRvd25fc3JjX3BhZCksIChzZXR1cF9tcGxleCksIChjbGVhbnVwX21wbGV4KSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKG1wbGV4X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgbXBsZXggZWxlbWVudC4KCjIwMDgtMDMtMDUgMDU6Mzg6MDYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBjb25maWd1cmUuYWM6IENsZWFuIHVwIGRldGVjdGlvbiBvZiBkaWZmZXJlbnQgbWpwZWd0b29sc0FQSSB2ZXJzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIENsZWFuIHVwIGRldGVjdGlvbiBvZiBkaWZmZXJlbnQgbWpwZWd0b29sc0FQSSB2ZXJzaW9ucy4KCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmhoOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuaGg6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5oaDoKCSAgU3RyZWFtbGluZSBjb25kaXRpb25hbCBjb2RlIGZvciBldm9sdmluZyBtanBlZ3Rvb2xzIEFQSSwKCSAgb3B0aW1pemUgYW5kIGZpeC9wcmV2ZW50IGNyYXNoIGluIGxvZyBoYW5kbGluZywgdXNlCgkgIG5hbWVzL25pY2tzIGZvciBlbnVtcyBpbiB0aGUgdXN1YWwgd2F5IGFuZG0gaW5vciB1cGRhdGVzCgkgIGluIGNvZGUgYW5kIHByb3BlcnRpZXMvc2V0dGluZ3MuIFBhcnRpYWxseSBmaXhlcyBidWcgIzUyMDMyOS4KCjIwMDgtMDMtMDQgMTc6NDk6MTUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBBZGQgcGFyc2luZyBvZiBjYWJsZSBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgQWRkIHBhcnNpbmcgb2YgY2FibGUgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IuCgoyMDA4LTAzLTAzIDEyOjQ4OjU2ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIEFHX0dTVF9DSEVDS19QTFVHSU4gYW5kIEFHX0dTVF9ESVNBQkxFX1BMVUdJTiB0byBzaW1wbGlmeSB3aGljaCBwbHVnLWlucyBhcmUgaW5jbHVkZWQvZXhjbHVkZWQuICgjNC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBR19HU1RfQ0hFQ0tfUExVR0lOIGFuZCBBR19HU1RfRElTQUJMRV9QTFVHSU4gdG8gc2ltcGxpZnkgd2hpY2gKCSAgcGx1Zy1pbnMgYXJlIGluY2x1ZGVkL2V4Y2x1ZGVkLiAoIzQ5ODIyMikKCjIwMDgtMDMtMDMgMDY6MDQ6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIENvcnJlY3QgYWxsIHJlbGV2YW50IHdhcm5pbmdzIGZvdW5kIGJ5IHRoZSBzcGFyc2Ugc2VtYW50aWMgY29kZSBhbmFseXplci4gVGhpcyBpbmNsdWRlIG1hcmtpbmcgc2V2ZXJhbCBzeW1ib2xzIHN0YXRpYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJ0cmFjay5jOiAoZ3N0X2Fsc2FfbWl4ZXJfdHJhY2tfZ2V0X3R5cGUpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6IChzZXRfaHdwYXJhbXMpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzogKHNldF9od3BhcmFtcyk6CgkgICogZXh0L2dpby9nc3RnaW8uYzogKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3VyaSk6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguaDoKCSAgKiBleHQvb2dnL2dzdG9nbXBhcnNlLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2F1ZGlvLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2ZmdC9raXNzX2ZmdF9mNjQuYzogKGtpc3NfZmZ0X2Y2NF9hbGxvYyk6CgkgICogZ3N0LWxpYnMvZ3N0L3BidXRpbHMvbWlzc2luZy1wbHVnaW5zLmM6CgkgIChnc3RfbWlzc2luZ191cmlfc2lua19tZXNzYWdlX25ldyksCgkgIChnc3RfbWlzc2luZ19lbGVtZW50X21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9taXNzaW5nX2RlY29kZXJfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X21pc3NpbmdfZW5jb2Rlcl9tZXNzYWdlX25ldyk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0cnRjcGJ1ZmZlci5jOgoJICAoZ3N0X3J0Y3BfcGFja2V0X2J5ZV9nZXRfcmVhc29uKToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9pbWdjb252ZXJ0LmM6CgkgICogZ3N0L3BsYXliYWNrL3Rlc3QuYzogKGdlbl92aWRlb19lbGVtZW50KSwgKGdlbl9hdWRpb19lbGVtZW50KToKCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS92c180dGFwLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvdnNfNHRhcC5oOgoJICAqIHN5cy92NGwvZ3N0djRsZWxlbWVudC5jOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmM6IChnc3RfdjRsc3JjX2dldF9hbnlfY2Fwcyk6CgkgICogc3lzL3Y0bC92NGxfY2FsbHMuYzoKCSAgKiBzeXMvdjRsL3Y0bHNyY19jYWxscy5jOiAoZ3N0X3Y0bHNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bHNyY190cnlfY2FwdHVyZSk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlc2lua19jaGVja194c2htX2NhbGxzKSwKCSAgKGdzdF94aW1hZ2VzaW5rX3hpbWFnZV9uZXcpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZXNpbmtfY2hlY2tfeHNobV9jYWxscyksCgkgIChnc3RfeHZpbWFnZXNpbmtfeHZpbWFnZV9uZXcpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY29udmVydC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgKGZhaWxfdW5sZXNzX3BlcmZlY3Rfc3RyZWFtKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Rlc3RzcmMuYzogKHNldHVwX2F1ZGlvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVjb2RlYmluLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKHNldHVwX2dkcGRlcGF5X3N0cmVhbWhlYWRlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc2V0dXBfZ2RwcGF5X3N0cmVhbWhlYWRlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ25vbWV2ZnNzaW5rLmM6IChzZXR1cF9nbm9tZXZmc3NpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6IChzZXR1cF9tdWx0aWZkc2luayk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGV4dG92ZXJsYXkuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzogKHNldHVwX3ZpZGVvcmF0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChzZXR1cF92aWRlb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoc2V0dXBfdm9sdW1lKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzogKHNldHVwX3ZvcmJpc2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzdGFnLmM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9jbG9jay1zZWxlY3Rpb24uYzoKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOiAoc2V0dXApLCAodGVhcmRvd24pOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY2RkYWJhc2VzcmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9saWJzL3ZpZGVvLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9vZ2dtdXguYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICAoc2ltcGxlX2xhdW5jaF9saW5lc19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90aGVvcmFlbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdm9yYmlzZGVjLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2VuYy5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2NydWJieS5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2Vlay5jOiAocXVlcnlfcG9zaXRpb25zX2VsZW1zKSwKCSAgKHF1ZXJ5X3Bvc2l0aW9uc19wYWRzKToKCSAgKiB0ZXN0cy9pY2xlcy9zdHJlc3MteG92ZXJsYXkuYzogKG15Y2xvY2spOgoJICBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUKCSAgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMsIHVzaW5nCgkgIE5VTEwgaW5zdGVhZCBvZiAwIGZvciBwb2ludGVycyBhbmQgdXNpbmcgImZvbyAodm9pZCkiIGluc3RlYWQKCSAgb2YgImZvbyAoKSIgZm9yIGRlY2xhcmF0aW9ucy4KCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0cnRwLmRlZjoKCSAgQWRkIGdzdF9ydHBfYnVmZmVyX3NldF9leHRlbnNpb25fZGF0YSB0byB0aGUgc3ltYm9sIGRlZmluaXRpb24gZmlsZS4KCjIwMDgtMDMtMDMgMDQ6Mzk6NDggKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogRml4IGF1ZGlvIGRpc2NvbnRpbnVpdHkgdGhhdCBoYXBwZW5zIHdoZW4gc2lsZW50IGNodW5rcyBhcmUgZm9sbG93ZWQgYnkgcmVhbCBkYXRhIGFnYWluLiBGaXhlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyIDxqZW5zZ3IgYXQgZ214IGRvdCBuZXQ+CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOiAoZ3N0X212ZV9hdWRpb19kYXRhKSwKCSAgKGdzdF9tdmVfZGVtdXhfZ2V0X3R5cGUpOgoJICBGaXggYXVkaW8gZGlzY29udGludWl0eSB0aGF0IGhhcHBlbnMgd2hlbiBzaWxlbnQgY2h1bmtzIGFyZQoJICBmb2xsb3dlZCBieSByZWFsIGRhdGEgYWdhaW4uIEZpeGVzIGJ1ZyAjNTE5OTA1LgoKMjAwOC0wMy0wMSAxMjo0OToxMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvOiBBZGQgRFZCLUMgc3VwcG9ydC4gU3BlY2lhbCB0aGFua3MgdG8gQ2hyaXN0aWFuIFNjaGFsbGVyIGZvciBhIHRlc3RpbmcgZ3JvdW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBBZGQgRFZCLUMgc3VwcG9ydC4gU3BlY2lhbCB0aGFua3MgdG8gQ2hyaXN0aWFuIFNjaGFsbGVyCgkgIGZvciBhIHRlc3RpbmcgZ3JvdW5kLgoKMjAwOC0wMi0yOCAxMzoyMjoyNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBPbmx5IHNlbmQgUE1UcyB0byBwcm9ncmFtIHBhZHMgdGhhdCB0aGUgUE1UIGlzIGZvciBldmVuIGlmIG9uIHNhbWUgcGlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgT25seSBzZW5kIFBNVHMgdG8gcHJvZ3JhbSBwYWRzIHRoYXQgdGhlIFBNVCBpcyBmb3IgZXZlbiBpZgoJICBvbiBzYW1lIHBpZC4KCSAgQXMgYSBieS1wcm9kdWN0LCB3ZSBub3cgbm8gbG9uZ2VyIGhhcmRjb2RlIGFueSBwc2kgcGlkIG51bWJlcnMuCgkgIEFsc28gcmVtb3ZlIHBjciBzdHJlYW0gZnJvbSBvbGQgcG10IHdoZW4gd2UgYXBwbHkgYSBuZXcgcG10LgoKMjAwOC0wMi0yOCAxMDo0MTo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgTWFwIERhdGUtVGltZSBhbmQgR1BTIHRhZ3MgYW5kIENvbnZlcnQgZnJvbSBFWElGIHRvIFhNUCBEYXRhdGltZSBhcyBsb2NhbCB0aW1lICh0aG9zZSBjaGFuZ2VzIGhhcyBiZWVuIGRvbmUgaW4gcHJldmlvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNYXAgRGF0ZS1UaW1lIGFuZCBHUFMgdGFncyBhbmQgQ29udmVydCBmcm9tIEVYSUYgdG8gWE1QIERhdGF0aW1lIGFzIGxvY2FsIHRpbWUgKHRob3NlIGNoYW5nZXMgaGFzIGJlZW4gZG9uZSBpbiBwcmV2aW91cyBjb21pdCBidXQgaGFkIHRvIGJlIHJldmVydCBpbiAyMDA4LTAyLTEwIGR1ZSB0byBmcm96ZW4pCgoyMDA4LTAyLTI3IDIzOjI5OjQ0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9jYW11dGlscy5jOiBSZW1vdmUgdGhlIEdfVkFMVUVfSE9MRFNfQk9YRUQgY2hlY2tzLiBUaGV5IHdlcmUgb25seSBhZGRlZCB0byBoZWxwIGRlYnVnIHRoZSBkYXRhIGNvcnJ1cHRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgUmVtb3ZlIHRoZSBHX1ZBTFVFX0hPTERTX0JPWEVEIGNoZWNrcy4gVGhleSB3ZXJlCgkgIG9ubHkgYWRkZWQgdG8gaGVscCBkZWJ1ZyB0aGUgZGF0YSBjb3JydXB0aW9uLgoKMjAwOC0wMi0yNyAxOTo0MToxMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvY2FtdXRpbHMuYzogRG9uJ3QgZnJlZSB0aGUgcHJvZ3JhbSBkZXNjcmlwdG9ycywgdGhpcyBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGVtIGlzIHN0aWxscyB0b3JlZCBhZnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5jOgoJICBEb24ndCBmcmVlIHRoZSBwcm9ncmFtIGRlc2NyaXB0b3JzLCB0aGlzIHN0cnVjdHVyZQoJICBjb250YWluaW5nIHRoZW0gaXMgc3RpbGxzIHRvcmVkIGFmdGVyLgoJICBGaXhlcyBkYXRhIGNvcnJ1cHRpb24uCgoyMDA4LTAyLTI3IDEyOjM0OjAwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9jYW11dGlscy5jOiBFeHRyYSBjaGVja3MgdG8gcHJldmVudCBkYXRhIGNvcnJ1cHRpb24vc2VnZmF1bHRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgIEV4dHJhIGNoZWNrcyB0byBwcmV2ZW50IGRhdGEgY29ycnVwdGlvbi9zZWdmYXVsdHMuCgoyMDA4LTAyLTI2IDE1OjEzOjU0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwOC0wMi0yNiAxMjowNDoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L25hcy9uYXNzaW5rLmM6IEZpeCBidWlsZCB3YXJuaW5nIGJ5IHVzaW5nIHBvcnRhYmxlIEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6CgkgIEZpeCBidWlsZCB3YXJuaW5nIGJ5IHVzaW5nIHBvcnRhYmxlIEFQSS4KCjIwMDgtMDItMjYgMTI6MDE6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOiBGaXggY2hhbmdpbmcgdG8gc2FtZSBwYWQgdHdpY2UgYmVmb3JlIGEgY2hhaW4gY2FsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIEZpeCBjaGFuZ2luZyB0byBzYW1lIHBhZCB0d2ljZSBiZWZvcmUgYSBjaGFpbiBjYWxsLgoKMjAwOC0wMi0yNiAwNTo1NDoyNiArMDAwMCAgRGFuaWVsIEZpc2NoZXIgPGRhbkBmM2MuY29tPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYmRjMTM5NCAyLjAuMCBhbmQgYWJvdmUgYW5kIHJlcXVpcmUgdGhpcyB2ZXJzaW9uIG5vdy4gRml4ZXMgYnVnICM1MTQ5NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFuaWVsIEZpc2NoZXIgPGRhbiBhdCBmM2MgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogKGdzdF9kYzEzOTRfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kYzEzOTRfZ2V0X2NhbV9jYXBzKSwgKGdzdF9kYzEzOTRfb3Blbl9jYW1fd2l0aF9iZXN0X2NhcHMpOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0Lmg6CgkgIEFkZCBzdXBwb3J0IGZvciBsaWJkYzEzOTQgMi4wLjAgYW5kIGFib3ZlIGFuZCByZXF1aXJlIHRoaXMgdmVyc2lvbgoJICBub3cuIEZpeGVzIGJ1ZyAjNTE0OTY0LgoKMjAwOC0wMi0yNiAwNTozNjoxNyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEFkZCBzdXBwb3J0IGZvciBzcGVjaWZ5aW5nIGEgbGlzdCBvZiBjb29raWVzIHRvIGJlIHBhc3NlZCBpbiB0aGUgSFRUUCByZXF1ZXN0LiBGaXhlcyBidWcgIzUxODcyMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKHJ1bl90ZXN0KSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNvdXBodHRwc3JjX3N1aXRlKToKCSAgQWRkIHN1cHBvcnQgZm9yIHNwZWNpZnlpbmcgYSBsaXN0IG9mIGNvb2tpZXMgdG8gYmUgcGFzc2VkIGluCgkgIHRoZSBIVFRQIHJlcXVlc3QuIEZpeGVzIGJ1ZyAjNTE4NzIyLgoKMjAwOC0wMi0yNSAwODo1Mzo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuKjogQWRkZWQgInNlbGVjdC1hbGwiIHByb3BlcnR5IHRvIG1ha2UgaXQgd29yayBsaWtlIGFnZ3JlZ2F0b3IgaW4gMC44LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmg6CgkgIEFkZGVkICJzZWxlY3QtYWxsIiBwcm9wZXJ0eSB0byBtYWtlIGl0IHdvcmsgbGlrZSBhZ2dyZWdhdG9yIGluIDAuOC4KCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgRml4IHJlc2VuZC1sYXRlc3QgYmVoYXZvaXVyLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc2VsZWN0b3IuYzoKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHNlbGVjdG9yLgoKMjAwOC0wMi0yNSAwNjoyOToxMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmVtb3ZlIG1pZGkgdHlwZWZpbmRlcnMgYW5kIHJlcXVpcmUgYmFzZSBDVlMgYXMgdGhleSBtb3ZlZCB0aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAocGx1Z2luX2luaXQpOgoJICBSZW1vdmUgbWlkaSB0eXBlZmluZGVycyBhbmQgcmVxdWlyZSBiYXNlIENWUyBhcyB0aGV5IG1vdmVkIHRoZXJlLgoKMjAwOC0wMi0yNCAwOTo1Nzo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBPbmx5IGRpc2FibGUgdGhlIGV4dC90aW1pZGl0eSBkaXJlY3RvcnkgaWYgYm90aCwgd2lsZG1pZGkgX2FuZF8gdGltaWRpdHkgYXJlIG5vdCBhdmFpbGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgT25seSBkaXNhYmxlIHRoZSBleHQvdGltaWRpdHkgZGlyZWN0b3J5IGlmIGJvdGgsIHdpbGRtaWRpCgkgIF9hbmRfIHRpbWlkaXR5IGFyZSBub3QgYXZhaWxhYmxlLgoKMjAwOC0wMi0yNCAwNDoyNDoyMCArMDAwMCAgRW1pbGlvIFBvenVlbG8gTW9uZm9ydCA8cG9jaHVAdWJ1bnR1LmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogQnVpbGQgdGhlIHdpbGRtaWRpIHBsdWdpbiBpZiBpdCdzIGVuYWJsZWQgYW5kIG5vdCBvbmx5IHdoZW4gYm90aCwgdGhlIHRpbWlkaXR5IGFuZCB3aWxkbWlkaSBwbHVnaW4sIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEVtaWxpbyBQb3p1ZWxvIE1vbmZvcnQgPHBvY2h1IGF0IHVidW50dSBkb3QgY29tPgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgQnVpbGQgdGhlIHdpbGRtaWRpIHBsdWdpbiBpZiBpdCdzIGVuYWJsZWQgYW5kIG5vdCBvbmx5IHdoZW4KCSAgYm90aCwgdGhlIHRpbWlkaXR5IGFuZCB3aWxkbWlkaSBwbHVnaW4sIGFyZSBlbmFibGVkLgoKMjAwOC0wMi0yMyAxNTowMTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIENoZWNrIGZvciBhbmQgZGVmaW5lIEVSUk9SX0NYWEZMQUdTIGFuZCBHU1RfQ1hYRkxBR1MgYW5kIHVzZSB0aGVtIHdoZW4gYnVpbGRpbmcgQysrIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgIENoZWNrIGZvciBhbmQgZGVmaW5lIEVSUk9SX0NYWEZMQUdTIGFuZCBHU1RfQ1hYRkxBR1MgYW5kIHVzZSB0aGVtCgkgIHdoZW4gYnVpbGRpbmcgQysrIGNvZGUuCgoyMDA4LTAyLTIzIDExOjU2OjQxICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgbXVsdGlwcm90byBkcml2ZXIgKG5vdCB5ZXQgbWVyZ2VkIGludG8gdjRsLWR2YiBtYWlubGluZSB5ZXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBtdWx0aXByb3RvIGRyaXZlciAobm90IHlldCBtZXJnZWQgaW50bwoJICB2NGwtZHZiIG1haW5saW5lIHlldCkuCgkgIE9ubHkgd29ya3MgZm9yIERWQi1TIG5vdCBEVkItUzIsIERWQi1ULCBEVkItQyBvciBvdGhlci4KCjIwMDgtMDItMjIgMTA6MTg6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IFVwZGF0ZSB0byB2ZXJzaW9uIDAuMTAuNi4xLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHJlbW9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBVcGRhdGUgdG8gdmVyc2lvbiAwLjEwLjYuMS4KCjIwMDgtMDItMjIgMDk6NTY6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBSZW1vdmUgZG9jcyBmb3IgZWxlbWVudHMgdGhhdCBoYXZlIG1vdmVkIHRvIG90aGVyIG1vZHVsZXMgb3IgYmVlbiByZW5hbWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICBSZW1vdmUgZG9jcyBmb3IgZWxlbWVudHMgdGhhdCBoYXZlIG1vdmVkIHRvIG90aGVyIG1vZHVsZXMKCSAgb3IgYmVlbiByZW5hbWVkLgoKMjAwOC0wMi0yMiAwNzoyMDowMyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEltcGxlbWVudCB6ZXJvLWNvcHkgYW5kIG1ha2UgdGhlIGJ1ZmZlciBzaXplIGNvbmZpZ3VyYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2ZyZWUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3h5KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBJbXBsZW1lbnQgemVyby1jb3B5IGFuZCBtYWtlIHRoZSBidWZmZXIgc2l6ZSBjb25maWd1cmFibGUuCgkgIFByZWZpeCBwcm94eSBVUklzIHdpdGggImh0dHA6Ly8iIGlmIHRoZXkgZG9uJ3Qgc3RhcnQgd2l0aCBpdAoJICBhbHJlYWR5IGFuZCBjYXRjaCBlcnJvcnMgZWFybGllciwgZml4ZXMgaGFuZ2luZyBpbiBzb21lIHNpdHVhdGlvbnMuCgkgIEZpeGVzIGJ1ZyAjNTE0OTQ4LgoKMjAwOC0wMi0yMiAwNjo0MjoyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtYmFkLnN1cHA6IEFkZCBzdXBwcmVzc2lvbnMgZm9yIFNvdW5kVG91Y2ggdmFsZ3JpbmQgd2FybmluZ3MgYW5kIGEgdmFsZ3JpbmQgd2FybmluZyBjYXVzZWQgYnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOgoJICBBZGQgc3VwcHJlc3Npb25zIGZvciBTb3VuZFRvdWNoIHZhbGdyaW5kIHdhcm5pbmdzIGFuZAoJICBhIHZhbGdyaW5kIHdhcm5pbmcgY2F1c2VkIGJ5IHRoZSBMQURTUEEgc2luZSBwbHVnaW4gYW5kCgkgIGhhcHBlbmluZyBvbiBldmVyeSBleGl0KCkuCgkgIFJlbW92ZSBHSU8gc3VwcHJlc3Npb25zIGFzIGl0J3Mgbm93IGluIC1iYXNlLgoKMjAwOC0wMi0yMiAwNjozMzo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogRG9uJ3QgYWxsb2NhdGUgYW5kIGNvcHkgdGhlIGRhdGEgdG8gYSBuZXcgcGxhY2UgYnV0IGluc3RlYWQgcHV0IHRoZSBkYXRhIGZyb20gZ215dGggKHdoaWNoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChnc3RfbXl0aHR2X3NyY19jcmVhdGUpOgoJICBEb24ndCBhbGxvY2F0ZSBhbmQgY29weSB0aGUgZGF0YSB0byBhIG5ldyBwbGFjZSBidXQgaW5zdGVhZAoJICBwdXQgdGhlIGRhdGEgZnJvbSBnbXl0aCAod2hpY2ggd2Ugb3duKSBpbnRvIHRoZSBidWZmZXJzIHRoYXQKCSAgYXJlIHBhc3NlZCBkb3duc3RyZWFtLgoKMjAwOC0wMi0yMiAwNjozMTo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IElmIFdJTERNSURJX0NGRyBpcyBub3QgZGVmaW5lZCwgZGVmaW5lIGl0IHRvIHRoZSBkZWZhdWx0IHRpbWlkaXR5IGNvbmZpZ3VyZSBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgSWYgV0lMRE1JRElfQ0ZHIGlzIG5vdCBkZWZpbmVkLCBkZWZpbmUgaXQgdG8gdGhlIGRlZmF1bHQKCSAgdGltaWRpdHkgY29uZmlndXJlIGZpbGUuCgoyMDA4LTAyLTIyIDA2OjEyOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZW1vdmUgaGFjayB0byB3b3JrIHdpdGggbWpwZWd0b29scyAxLjkuMHJjMyBhbmQgYWJvdmUgYW5kIGluc3RlYWQgdXNlIG1qcGVnX2xvZ2xldl90KCkgZm9yIGdldHRpbmcgdGhlIGxvZyBsZXZlbHMuIEMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6CgkgIEhhbnMgZGUgR29lZGUgPGogZG90IHcgZG90IHIgZG90IGRlZ29lZGUgYXQgaGhzIGRvdCBubD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBSZW1vdmUgaGFjayB0byB3b3JrIHdpdGggbWpwZWd0b29scyAxLjkuMHJjMyBhbmQgYWJvdmUgYW5kIGluc3RlYWQKCSAgdXNlIG1qcGVnX2xvZ2xldl90KCkgZm9yIGdldHRpbmcgdGhlIGxvZyBsZXZlbHMuIENoZWNrIGZvciB0aGlzCgkgIGZ1bmN0aW9uIGluIGNvbmZpZ3VyZS5hYyBhcyB0aGUgcGtnLWNvbmZpZyBmaWxlIGRvZXNuJ3QgdGVsbCB1cwoJICB3aGljaCByZWxlYXNlIGNhbmRpZGF0ZSB3ZSBoYXZlLiBGaXhlcyBidWcgIzUxNzg5Ni4KCjIwMDgtMDItMjIgMDU6NDg6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIFggZm9yIHRoZSBuYXMgcGx1Z2luIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYnVpbGQgaXQgYWdhaW4uIEZpeGVzIGJ1ZyAjNTE3ODk1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBYIGZvciB0aGUgbmFzIHBsdWdpbiB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGJ1aWxkIGl0CgkgIGFnYWluLiBGaXhlcyBidWcgIzUxNzg5NS4KCjIwMDgtMDItMjIgMDU6NDI6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBJZ25vcmUgc29tZSBtb3JlIGVsZW1lbnRzIGZvciB0aGUgc3RhdGVzIHVuaXQgdGVzdCwgbGlrZSBkZmJ2aWRlb3Npbmsgd2hpY2ggcHJvZHVjZXMgYSBzZWdmYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgSWdub3JlIHNvbWUgbW9yZSBlbGVtZW50cyBmb3IgdGhlIHN0YXRlcyB1bml0IHRlc3QsIGxpa2UKCSAgZGZidmlkZW9zaW5rIHdoaWNoIHByb2R1Y2VzIGEgc2VnZmF1bHQuIEZpeGVzIGJ1ZyAjNTE3ODU0LgoKMjAwOC0wMi0yMiAwNTozMzo1OSArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgU29tZSBDODkgZml4ZXMsIG1vdmluZyB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gdGhlIGJlZ2lubmluZyBvZiBhIGJsb2NrLiBGaXhlcyBidWcgIzUxNzkzNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBkb3QgbmV0PgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZiX3Byb3BlcnR5X3NldF92ZXJzaW9uKToKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogKHJmYl9kZWNvZGVyX21lc3NhZ2Vfc2V0X2VuY29kaW5ncyksCgkgIChyZmJfZGVjb2Rlcl9zdGF0ZV9zZXRfZW5jb2RpbmdzKToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2Vfbml0KSwgKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX3NkdCksCgkgIChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9laXQpOgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzogKGdzdF9mYmRldnNpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZmJkZXZzaW5rX3NldGNhcHMpLCAoZ3N0X2ZiZGV2c2lua19yZW5kZXIpOgoJICBTb21lIEM4OSBmaXhlcywgbW92aW5nIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW5uaW5nCgkgIG9mIGEgYmxvY2suIEZpeGVzIGJ1ZyAjNTE3OTM3LgoKMjAwOC0wMi0yMSAyMzo1MDozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Li4uCgo9PT0gcmVsZWFzZSAwLjEwLjYgPT09CgoyMDA4LTAyLTIxIDAwOjEzOjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10cmVtb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogcG8vTElOR1VBUzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuNiAtIEEgQmlnIERlZXAgQnJlYXRoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuNiAtIEEgQmlnIERlZXAgQnJlYXRoCgoyMDA4LTAyLTIwIDIzOjM1OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0wMi0yMCAxNjowNDozMiArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogVXNpbmcgdGhlIHdyb25nIEdzdEZvcm1hdCBmb3IgdGhlIGZpbGVzaXplLCBhbmQgZmFpbCBzZWVrIHByb3Blcmx5IG9uIGFueXRoaW5nIGJ1dCBfQllURVMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAyLTIwICBCYXN0aWVuIE5vY2VyYSAgPGhhZGVzc0BoYWRlc3MubmV0PgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChnc3RfbXl0aHR2X3NyY19kb19zZWVrKSwKCSAgKGdzdF9teXRodHZfc3JjX3N0YXJ0KTogVXNpbmcgdGhlIHdyb25nIEdzdEZvcm1hdCBmb3IgdGhlIGZpbGVzaXplLAoJICBhbmQgZmFpbCBzZWVrIHByb3Blcmx5IG9uIGFueXRoaW5nIGJ1dCBfQllURVMgZm9ybWF0CgkgIEZpeGVzIGJ1ZyAjNTE3Njg0CgoyMDA4LTAyLTIwIDA5OjMzOjI1ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBzbWFsbCBtZW1vcnkgbGVhaywgbGVha2luZyBjYXBzLiBGaXhlcyAjYnVnIDUxNzU3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEZpeCBzbWFsbCBtZW1vcnkgbGVhaywgbGVha2luZyBjYXBzLiBGaXhlcyAjYnVnIDUxNzU3MS4KCjIwMDgtMDItMTkgMTE6NTA6NDUgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBjaGFuZ2UgZ215dGgtMS4wIHRvIGdteXRoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjaGFuZ2UgZ215dGgtMS4wIHRvIGdteXRoCgoyMDA4LTAyLTE5IDEwOjUxOjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdHRhL01ha2VmaWxlLmFtOiBMaW5rIHR0YSBwbHVnaW4gd2l0aCBsaWJtLiBGaXhlcyBidWcgIzUxNzM5MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgTGluayB0dGEgcGx1Z2luIHdpdGggbGlibS4gRml4ZXMgYnVnICM1MTczOTEuCgoyMDA4LTAyLTE0IDE3OjA5OjM4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9jYW11dGlscy5jOiBEbyBub3QgYXNzdW1lICJkZXNjcmlwdG9ycyIgcHJvcGVydHkgaW4gdGhlIHBtdCBzdHJ1Y3R1cmUgaXMgcHJlc2VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5jOgoJICBEbyBub3QgYXNzdW1lICJkZXNjcmlwdG9ycyIgcHJvcGVydHkgaW4gdGhlIHBtdCBzdHJ1Y3R1cmUKCSAgaXMgcHJlc2VudC4KCSAgRml4ZXMgIzUxNjQ5OS4KCjIwMDgtMDItMTQgMTY6MjU6NTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogSWdub3JlIHN0cmVhbXMgdGhhdCBkaWQgbm90IHJlY2VpdmUgYW4gU1IgcGFja2V0IHdoZW4gZG9pbmcgc3luY2hyb25pc2F0aW9uLiBGaXhlcyAjNTE2MTYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpOgoJICBJZ25vcmUgc3RyZWFtcyB0aGF0IGRpZCBub3QgcmVjZWl2ZSBhbiBTUiBwYWNrZXQgd2hlbiBkb2luZwoJICBzeW5jaHJvbmlzYXRpb24uIEZpeGVzICM1MTYxNjAuCgoyMDA4LTAyLTE0IDE0OjMzOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOiBTZXQgbl9saW5lX2N0cmxfaSB0byAwIHdoZW5ldmVyIHdlIGZyZWUgbGluZV9jdHJsX2kuIFBhdGNoIGJhc2VkIG9uIGFuIGlkZWEgYnkgSmFuIFNjaG1pZHQsIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzogKGdzdF9kdmRfc3B1X2hhbmRsZV9uZXdfc3B1X2J1Zik6CgkgIFNldCBuX2xpbmVfY3RybF9pIHRvIDAgd2hlbmV2ZXIgd2UgZnJlZSBsaW5lX2N0cmxfaS4gUGF0Y2ggYmFzZWQKCSAgb24gYW4gaWRlYSBieSBKYW4gU2NobWlkdCwgZml4ZXMgYnVnICM1MTY0MzYuCgoyMDA4LTAyLTE0IDE0OjIyOjU3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogTWFrZSBzdXJlIHRoZSBnc3RtcGVnZGVzYyBkZWJ1ZyBsaW5lcyBkbyBub3QgY3JpdGljYWwgd2hlbiBHU1RfREVCVUcgaXMgZW5hYmxlZCBhbmQgYWxzbyBhY3R1YWxseSBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBNYWtlIHN1cmUgdGhlIGdzdG1wZWdkZXNjIGRlYnVnIGxpbmVzIGRvIG5vdCBjcml0aWNhbAoJICB3aGVuIEdTVF9ERUJVRyBpcyBlbmFibGVkIGFuZCBhbHNvIGFjdHVhbGx5IG91dHB1dC4KCSAgVGhhbmtzIHRvIEFsZXNzYW5kcm8gRGVjaW5hIGZvciBzcG90dGluZy4KCSAgRml4ZXMgIzUxNjQ0OAoKMjAwOC0wMi0xMyAyMzo1Mjo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBbHNvIGFkZCBkc2hvdyBwaWVjZXMgdG8gdGhlIGRpc3RlZCBzdWJkaXJzIHRvIGZpeCBkaXN0Y2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIEFsc28gYWRkIGRzaG93IHBpZWNlcyB0byB0aGUgZGlzdGVkIHN1YmRpcnMgdG8gZml4IGRpc3RjaGVjay4KCjIwMDgtMDItMTMgMTQ6NDA6MzMgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiBGaXggcG90ZW50aWFsIGJ1ZmZlciBsZWFrIGluIHJldmVyc2UgbW9kZS4gUmUtRml4ZXMgIzUxNjA2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKToKCSAgRml4IHBvdGVudGlhbCBidWZmZXIgbGVhayBpbiByZXZlcnNlIG1vZGUuIFJlLUZpeGVzICM1MTYwNjEuCgoyMDA4LTAyLTEzIDExOjIyOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IEFsbG93IGdteXRoIHZlcnNpb25zIGZyb20gMC40IHVwIHRvIDAuNy45OSwgdGhlIEFQSSBkaWRuJ3QgY2hhbmdlIHVudGlsIDAuNyBmb3J0dW5hdGVseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBbGxvdyBnbXl0aCB2ZXJzaW9ucyBmcm9tIDAuNCB1cCB0byAwLjcuOTksIHRoZSBBUEkgZGlkbid0IGNoYW5nZQoJICB1bnRpbCAwLjcgZm9ydHVuYXRlbHkuCgoyMDA4LTAyLTEyIDIzOjE2OjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogR2VuZXJhdGUgdGhlIGRpcmVjdHNob3cgTWFrZWZpbGVzIHNvIHRoYXQgdGhlIGRpcmVjdG9yaWVzIGdldCBkaXN0ZWQuIFN0aWxsIG5lZWRzIHNvbWUgY29uZmlndXJlIHRpbWUgZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEdlbmVyYXRlIHRoZSBkaXJlY3RzaG93IE1ha2VmaWxlcyBzbyB0aGF0IHRoZSBkaXJlY3RvcmllcwoJICBnZXQgZGlzdGVkLiBTdGlsbCBuZWVkcyBzb21lIGNvbmZpZ3VyZSB0aW1lIGRldGVjdGlvbiB0byBlbmFibGUKCSAgYnVpbGRpbmcgdGhlbSB1bmRlciBNaW5nVy4KCjIwMDgtMDItMTIgMjM6MTM6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOiBEb24ndCBpbnN0YWxsIGEgaGVhZGVyIGZpbGUuIFdlIHdpbGwgaGF2ZSB0byBtZXJnZSB0aGVzZSB0YWdzIGludG8gbGliZ3N0dGFnIGFmdGVyIHRoZSByZWxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5zdGFsbCBhIGhlYWRlciBmaWxlLiBXZSB3aWxsIGhhdmUgdG8gbWVyZ2UgdGhlc2UKCSAgdGFncyBpbnRvIGxpYmdzdHRhZyBhZnRlciB0aGUgcmVsZWFzZSBhbmQgdXNlIHRoZW0gZnJvbSB0aGVyZS4KCSAgRml4ZXM6ICM1MTU4NjAKCjIwMDgtMDItMTIgMjI6MTA6MzkgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIEFkZCBNYWtlZmlsZXMgdG8gd2luMzIgcGx1Z2lucyBhbmQgbGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICBBZGQgTWFrZWZpbGVzIHRvIHdpbjMyIHBsdWdpbnMgYW5kIGxpYi4KCSAgVGhleSB3aWxsIG5lZWQgdG8gYmUgdGVzdGVkIGFuZCBwcm9iYWJseSBmaXhlZCBieSBkZXZlbG9wZXJzCgkgIHdvcmtpbmcgd2l0aCBtaW5ndy4gVGhpcyBpcyBhIGZpcnN0IHN0ZXAgdG8gaW5jbHVkZSBzb3VyY2UgZmlsZXMKCSAgd2l0aCByZWxlYXNlcy4KCjIwMDgtMDItMTIgMjE6MzE6NTcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYzogRml4IGxlYWsgb2YgbG9jYXRpb24gc3RyaW5nIHJldHVybmVkIGZyb20gZ3N0X3VyaV9nZXRfbG9jYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBGaXggbGVhayBvZiBsb2NhdGlvbiBzdHJpbmcgcmV0dXJuZWQgZnJvbSBnc3RfdXJpX2dldF9sb2NhdGlvbi4KCSAgRml4ZXMgYnVnICM1MTYxMTQKCjIwMDgtMDItMTIgMjE6MDE6MTcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgUmVtb3ZlIGdsaW1hZ2VzaW5rLCBhcyBpdCdzIGJlZW4gbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ2wuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL0JVR1M6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2NvbG9yX21hdHJpeC5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nbHRlc3RzcmMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xjb252ZXJ0LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmg6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgIFJlbW92ZSBnbGltYWdlc2luaywgYXMgaXQncyBiZWVuIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdsLgoJICBGaXhlcyAjNTE2MDk0LgoKMjAwOC0wMi0xMiAxODoyOToyOSArMDAwMCAgSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IEZpeCBwb3RlbnRpYWwgYnVmZmVyIGxlYWsgaW4gcmV2ZXJzZSBtb2RlLiBGaXhlcyAjNTE2MDYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2NoYWluX3JldmVyc2UpOgoJICBGaXggcG90ZW50aWFsIGJ1ZmZlciBsZWFrIGluIHJldmVyc2UgbW9kZS4gRml4ZXMgIzUxNjA2MS4KCjIwMDgtMDItMTIgMTE6MDg6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvOiBDaGFpbiB1cCBkaXNwb3NlIG1ldGhvZHMgcHJvcGVybHkuIEZpeGVzIGJ1ZyAjNTE1OTcwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX2Rpc3Bvc2UpOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICAoZ3N0X2RzaG93dmlkZW9kZWNfZGlzcG9zZSk6CgkgIENoYWluIHVwIGRpc3Bvc2UgbWV0aG9kcyBwcm9wZXJseS4gRml4ZXMgYnVnICM1MTU5NzAuCgoyMDA4LTAyLTEyIDExOjAyOjM3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlbG9nIHN1cmdlcnk6IG1lbnRpb24gYnVnIDUxNTkxOSBmaXhlZCBpbiBteSBwcmV2aW91cyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWxvZyBzdXJnZXJ5OiBtZW50aW9uIGJ1ZyA1MTU5MTkgZml4ZWQgaW4gbXkgcHJldmlvdXMgY29tbWl0CgoyMDA4LTAyLTEyIDEwOjU3OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IEZpeCBsZWFraW5nIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICAobXBlZ3ZpZGVvcGFyc2VfaGFuZGxlX3NlcXVlbmNlKSwgKG1wZWd2aWRlb3BhcnNlX2RyYWluX2F2YWlsKSwKCSAgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggbGVha2luZyBjYXBzLgoJICBGaXggcG90ZW50aWFsIGJ1ZmZlciBsZWFrIGluIGZvcndhcmQgbW9kZS4KCSAgQ2xlYW51cCBxdWV1ZXMgd2hlbiBnb2luZyB0byBSRUFEWS4gRml4ZXMgIzUxNTgxNS4KCjIwMDgtMDItMTIgMTA6MjQ6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IFJlbW92ZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgR0lPIHBsdWdpbiBhcyBpdCB3YXMgbW92ZWQgdG8gZ3N0LXBsdWdpbnMtYmFzZS4gRml4ZXMgYnVnICM1MTU5NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2lvLnhtbDoKCSAgUmVtb3ZlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBHSU8gcGx1Z2luIGFzIGl0IHdhcyBtb3ZlZCB0bwoJICBnc3QtcGx1Z2lucy1iYXNlLiBGaXhlcyBidWcgIzUxNTk2NC4KCjIwMDgtMDItMTIgMTA6MjI6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4IHNvbWUgZmluYWxpemUgbGVha3MgYnkgY2hhaW5pbmcgdXAgdG8gdGhlIHBhcmVudCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgIEZpeCBzb21lIGZpbmFsaXplIGxlYWtzIGJ5IGNoYWluaW5nIHVwIHRvIHRoZSBwYXJlbnQgbWV0aG9kLgoKMjAwOC0wMi0xMiAwNToyMTo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogSW5jbHVkZSBnbGliL2dwcmludGYuaCBmb3IgZ192YXNwcmludGYoKS4gRml4ZXMgYnVnICM1MTU1NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIEluY2x1ZGUgZ2xpYi9ncHJpbnRmLmggZm9yIGdfdmFzcHJpbnRmKCkuIEZpeGVzIGJ1ZyAjNTE1NTY0LgoKMjAwOC0wMi0xMiAwNToxOTowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogRnJlZSB0aGUgcmZiIGRlY29kZXIgb24gZmluYWxpemUuIEZpeGVzIGJ1ZyAjNTE1NzIxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYl9zcmNfZGlzcG9zZSk6CgkgIEZyZWUgdGhlIHJmYiBkZWNvZGVyIG9uIGZpbmFsaXplLiBGaXhlcyBidWcgIzUxNTcyMS4KCjIwMDgtMDItMTEgMTM6MzQ6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzogRnJlZSB0aGUgZGV2aWNlIHN0cmluZyBpbiBmaW5hbGl6ZS4gRml4ZXMgYnVnICM1MTU3MjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzogKGdzdF9mYmRldnNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfZmJkZXZzaW5rX2ZpbmFsaXplKToKCSAgRnJlZSB0aGUgZGV2aWNlIHN0cmluZyBpbiBmaW5hbGl6ZS4gRml4ZXMgYnVnICM1MTU3MjIuCgoyMDA4LTAyLTExIDEzOjMzOjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLmM6IFVuc2V0IEdWYWx1ZXMgYWZ0ZXIgdXNpbmcgdGhlbS4gRml4ZXMgYnVnICM1MTU3MjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2luaXQpOgoJICBVbnNldCBHVmFsdWVzIGFmdGVyIHVzaW5nIHRoZW0uIEZpeGVzIGJ1ZyAjNTE1NzIwLgoKMjAwOC0wMi0xMSAwNToxMToyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgdGhlIGR2YiBwbHVnaW4gZm9yIHRoZSBzdGF0ZXMgdGVzdC4gRml4ZXMgYnVnICM1MTU1NjcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIHRoZSBkdmIgcGx1Z2luIGZvciB0aGUgc3RhdGVzIHRlc3QuIEZpeGVzIGJ1ZyAjNTE1NTY3LgoKMjAwOC0wMi0xMCAyMTowMzo1NCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgUmV2ZXJ0IGNoYW5nZXMgdG8gMjAwOC0wMi0wOSBkdWUgdG8gZnJvemVuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2ZXJ0IGNoYW5nZXMgdG8gMjAwOC0wMi0wOSBkdWUgdG8gZnJvemVuLgoKMjAwOC0wMi0xMCAxOTo0NDo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEZpeCBKb3NlcCdzIHN1cm5hbWUgaW4gdGhlIHByZXZpb3VzIGZldyBjb21taXRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggSm9zZXAncyBzdXJuYW1lIGluIHRoZSBwcmV2aW91cyBmZXcgY29tbWl0cwoKMjAwOC0wMi0xMCAxOTowMTo0MyArMDAwMCAgSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogVHJpdmlhbCBmaXggZm9yIGJ1aWxkIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgVHJpdmlhbCBmaXggZm9yIGJ1aWxkIHdhcm5pbmcuCgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICBGaXhlczogIzUxNTU4OAoKMjAwOC0wMi0xMCAxODozNjo0NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBDb252ZXJ0IGZyb20gRVhJRiB0byBYTVAgRGF0YVRpbWUgYXMgbG9jYWwgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENvbnZlcnQgZnJvbSBFWElGIHRvIFhNUCBEYXRhVGltZSBhcyBsb2NhbCB0aW1lLgoKMjAwOC0wMi0xMCAwNDozNjoxMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgTWFwIERhdGUtVGltZSBhbmQgR1BTIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNYXAgRGF0ZS1UaW1lIGFuZCBHUFMgdGFncy4KCjIwMDgtMDItMDkgMDM6Mzc6NDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOiBMaXN0aW5nIHRoZSBtYXJzaGFsLmggaW4gdGhlIG5vZGlzdF9IRUFERVJTIGJyZWFrcyBkaXN0Y2hlY2ssIHNvIGxldCdzIG5vdCBkbyB0aGF0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgTGlzdGluZyB0aGUgbWFyc2hhbC5oIGluIHRoZSBub2Rpc3RfSEVBREVSUyBicmVha3MgZGlzdGNoZWNrLCBzbwoJICBsZXQncyBub3QgZG8gdGhhdAoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIHRoZSBjcmFzaGluZyBjZGF1ZGlvIHBsdWdpbiBmcm9tIHRoZSBzdGF0ZXMgdGVzdCBzbyBJIGNhbiBtYWtlCgkgIHByZS1yZWxlYXNlcy4KCjIwMDgtMDItMDkgMDI6MzM6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgd2luMzIvdnM2LzogQ29udmVydCB0byBET1MgbGluZSBlbmRpbmdzLCBhbmQgc2V0IC1rYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZHNob3dkZWN3cmFwcGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Zmx2LmRzcDoKCSAgQ29udmVydCB0byBET1MgbGluZSBlbmRpbmdzLCBhbmQgc2V0IC1rYgoKMjAwOC0wMi0wOCAxODoyMjowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvOiBBZGQgVVJJIEhhbmRsZXIgZm9yIGR2Yi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgQWRkIFVSSSBIYW5kbGVyIGZvciBkdmIuCgkgIFJlLW9yZGVyIHBhZCB0ZW1wbGF0ZXMgdG8gd29ya2Fyb3VuZCBhIGJ1ZyBpbiBwbGF5YmFzZWJpbi4KCSAgKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuaDoKCSAgQWRkIGNvZGUgdG8gcGFyc2UgY2hhbm5lbHMgZnJvbSB6YXAtc3R5bGUgY2hhbm5lbHMuY29uZiBmaWxlcy4KCjIwMDgtMDItMDggMDQ6MjI6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIG11bHRpZmlsZSBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgICogZ3N0L211bHRpZmlsZS9tdWx0aWZpbGUudnByb2o6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIFJlbW92ZSBtdWx0aWZpbGUgcGx1Z2luLCB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QKCjIwMDgtMDItMDggMDM6NDQ6MTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZS86IFVzZSBnX2ZpbGVfW3NnXWV0X2NvbnRlbnRzKCkgaW5zdGVhZCBvZiB1c2luZyBzdGRpbyBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIFVzZSBnX2ZpbGVfW3NnXWV0X2NvbnRlbnRzKCkgaW5zdGVhZCBvZiB1c2luZyBzdGRpbyBmdW5jdGlvbnMuCgkgIFNob3VsZCBiZSBsZXNzIGVycm9yIHByb25lLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBDcmVhdGUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHVzaW5nIHN0YW5kYXJkIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mCgkgIGNyZWF0aW5nIGEgZGlyZWN0b3J5IGluIHRoZSBjdXJyZW50IGRpci4KCjIwMDgtMDItMDggMDM6Mjc6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIHNwZWN0cnVtIHBsdWdpbiwgd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBnc3Qvc3BlY3RydW0vLmN2c2lnbm9yZToKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL1JFQURNRToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgKiBnc3Qvc3BlY3RydW0vc3BlY3RydW0udmNwcm9qOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkgIFJlbW92ZSBzcGVjdHJ1bSBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoKMjAwOC0wMi0wOCAwMjo0ODo1NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuKjogUmVtb3ZlIGVxdWFsaXplciBwbHVnaW4gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICBSZW1vdmUgZXF1YWxpemVyIHBsdWdpbiBkb2NzCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBHU1RfT1BUSU9OX0NGTEFHUywgdG8gZ2V0IC1XZXJyb3IgLVdhbGwgaW50byB0aGUgdGVzdHMgYXMgZm9yCgkgIG90aGVyIG1vZHVsZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MgZnJvbSAtV2FsbCAtV2Vycm9yCgoyMDA4LTAyLTA4IDAyOjAwOjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSB0aGUgZXF1YWxpemVyIHBsdWdpbiwgd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGdzdC9lcXVhbGl6ZXIvLmN2c2lnbm9yZToKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkgIFJlbW92ZSB0aGUgZXF1YWxpemVyIHBsdWdpbiwgd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kCgoyMDA4LTAyLTA4IDAxOjEyOjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogTWFrZSBESVNBQkxFX0RFUFJFQ0FURUQgZGVmaW5lZCAqb25seSogZHVyaW5nIENWUywgbm90IGR1cmluZyBwcmUtcmVsZWFzZXMgb3IgcmVsZWFzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgTWFrZSBESVNBQkxFX0RFUFJFQ0FURUQgZGVmaW5lZCAqb25seSogZHVyaW5nIENWUywgbm90IGR1cmluZwoJICBwcmUtcmVsZWFzZXMgb3IgcmVsZWFzZXMuCgoyMDA4LTAyLTA4IDAwOjQ4OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogRG9uJ3Qgc2NhbiBkZWxldGVkIHhpbmdtdXggaGVhZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIERvbid0IHNjYW4gZGVsZXRlZCB4aW5nbXV4IGhlYWRlci4KCjIwMDgtMDItMDggMDA6NDA6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIHRoZSB4aW5nbXV4IHBsdWdpbiwgYXMgdGhlIGVsZW1lbnQgaGFzIG1vdmVkIGludG8gbXBlZ2F1ZGlvcGFyc2UgaW4gLXVnbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGdzdC94aW5naGVhZGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94aW5nbXV4LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eF90ZXN0ZGF0YS5oOgoJICBSZW1vdmUgdGhlIHhpbmdtdXggcGx1Z2luLCBhcyB0aGUgZWxlbWVudCBoYXMgbW92ZWQgaW50bwoJICBtcGVnYXVkaW9wYXJzZSBpbiAtdWdseS4KCjIwMDgtMDItMDcgMjM6Mzc6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBSZW1vdmUgbWVudGlvbiBvZiBub24tZXhpc3RlbnQgaGVhZGVycyB0byBmaXggdGhlIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBtZW50aW9uIG9mIG5vbi1leGlzdGVudCBoZWFkZXJzIHRvIGZpeCB0aGUgYnVpbGQuCgoyMDA4LTAyLTA3IDIzOjMwOjQ1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBHSU8gcGx1Z2luIHdoaWNoIGhhcyBub3cgbW92ZWQgdG8gLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL2dzdGdpby5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmg6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzoKCSAgUmVtb3ZlIEdJTyBwbHVnaW4gd2hpY2ggaGFzIG5vdyBtb3ZlZCB0byAtYmFzZS4KCjIwMDgtMDItMDcgMjE6NTM6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIGxwd3NpbmMgYW5kIGJwd3NpbmMgZWxlbWVudHMgLSB0aGV5J3ZlIGJlY29tZSBhdWRpb3dzaW5jbGltaXQgYW5kIGF1ZGlvd3NpbmNiYW5kIHJlc3BlY3RpdmVseSwgaW4gdGhlIGdzdC1wbHVnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvZmlsdGVyLnZjcHJvajoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzoKCSAgUmVtb3ZlIGxwd3NpbmMgYW5kIGJwd3NpbmMgZWxlbWVudHMgLSB0aGV5J3ZlIGJlY29tZQoJICBhdWRpb3dzaW5jbGltaXQgYW5kIGF1ZGlvd3NpbmNiYW5kIHJlc3BlY3RpdmVseSwgaW4gdGhlCgkgIGdzdC1wbHVnaW5zLWdvb2QgYXVkaW9meCBwbHVnaW4uCgoyMDA4LTAyLTA3IDIxOjAyOjE5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBleHRcbmVvblxnc3RuZW9uaHR0cHNyYy5jOiBJbmNsdWRlIHVuaXN0ZC5oIG9ubHkgaWYgX0hBVkVfVU5JU1REX0ggaXMgZGVmaW5lZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHRcbmVvblxnc3RuZW9uaHR0cHNyYy5jOgoJICBJbmNsdWRlIHVuaXN0ZC5oIG9ubHkgaWYgX0hBVkVfVU5JU1REX0ggaXMgZGVmaW5lZAoJICAqIGdzdFxtcGVndmlkZW9wYXJzZVxtcGVndmlkZW9wYXJzZS5jOgoJICBVc2UgR19HVUlOVDY0X0NPTlNUQU5UIEdMSUIgbWFjcm8gZm9yIGNvbnN0YW50CgkgICogc3lzXGRzaG93c3Jjd3JhcHBlclxnc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzXGRzaG93c3Jjd3JhcHBlclxnc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd2F1ZGlvZGVjLmg6CgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd2RlY3dyYXBwZXIuYzoKCSAgKiBzeXNcZHNob3dkZWN3cmFwcGVyXGdzdGRzaG93ZGVjd3JhcHBlci5oOgoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3d2aWRlb2RlYy5jCgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgIEFkZCBhIERpcmVjdFNob3cgZGVjb2RlciB3cmFwcGVyLgoJICAqIHdpbjMyXE1BTklGRVNUOgoJICBBZGQgbmV3IHdpbjMyIGZpbGVzIHRvIE1BTklGRVNUCgkgICogd2luMzJcdnM2XGdzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzJcdnM2XGxpYmdzdGRzaG93LmRzcDoKCSAgKiB3aW4zMlx2czZcbGliZ3N0ZHNob3dkZWN3cmFwcGVyLmRzcDoKCSAgKiB3aW4zMlx2czZcbGliZ3N0Zmx2LmRzcDoKCSAgQWRkIG5ldyBwcm9qZWN0cyB0byBiYWQgd29ya3NwYWNlCgoyMDA4LTAyLTA3IDE0OjQ1OjA2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogUGFyc2UgY29tcG9uZW50IGRlc2NyaXB0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFBhcnNlIGNvbXBvbmVudCBkZXNjcmlwdG9yLgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBBZGQgU0kgcGlkcyB0byBldmVyeSBwcm9ncmFtIChidXQgaGFyZGNvZGVkIGN1cnJlbnRseSkuCgoyMDA4LTAyLTA3IDEzOjU5OjQxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5nbGFkZToKCSAgQWRkIG1vcmUgdGFncy4gSW1wcm92ZSB0ZXN0IGFwcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBtb3JlIHRhZ3MuIEltcHJvdmUgdGVzdCBhcHAuCgoyMDA4LTAyLTA3IDEzOjQ4OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzogQWRkIGEgZml4bWUgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIEFkZCBhIGZpeG1lIGNvbW1lbnQuCgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIEZpeCBzYW1lIGxlYWsgYXMgaW4gaW5wdXQtc2VsZWN0b3IuCgkgICogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgSW1wcm92ZSB0aGUgdGVzdC4KCjIwMDgtMDItMDcgMTM6NDE6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBJbXByb3ZlIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgSW1wcm92ZSB0aGUgZG9jcy4KCjIwMDgtMDItMDcgMTI6MDU6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFRoZSBkYzEzOTQgcGx1Z2luIHNlZW1zIHRvIHVzZSBBUEkgdGhhdCB3YXMgcmVtb3ZlZCBvciBjaGFuZ2VkIGJlZm9yZSB0aGUgZmluYWwgMi4wLjAgcmVsZWFzZSwgc28gb25seSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBUaGUgZGMxMzk0IHBsdWdpbiBzZWVtcyB0byB1c2UgQVBJIHRoYXQgd2FzIHJlbW92ZWQgb3IgY2hhbmdlZAoJICBiZWZvcmUgdGhlIGZpbmFsIDIuMC4wIHJlbGVhc2UsIHNvIG9ubHkgYnVpbGQgaXQgaWYgMi4wLjAtcmM1CgkgIGlzIGF2YWlsYWJsZS4gU29tZW9uZSBuZWVkcyB0byBwb3J0IGl0IHRvIHRoZSBmaW5hbCBBUEkuCgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogKGdzdF9kYzEzOTRfY2hhbmdlX2NhbWVyYV90cmFuc21pc3Npb24pOgoJICBJbmNsdWRlIHN0cmluZy5oIGZvciBtZW1jcHkgYW5kIHVzZSBnX3VzbGVlcCBpbnN0ZWFkIG9mIHVzbGVlcC4KCjIwMDgtMDItMDcgMTA6MDQ6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiBGaXggdHlwbyBpbiB0aGUgbG9uZyBkZXNjcmlwdGlvbiBvZiB0aGUgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEZpeCB0eXBvIGluIHRoZSBsb25nIGRlc2NyaXB0aW9uIG9mIHRoZSBlbGVtZW50LgoKMjAwOC0wMi0wNyAwMjowNjoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QveGluZ2hlYWRlci9NYWtlZmlsZS5hbTogUHV0IENGTEFHUyBhbmQgTElCUyBpbiB0aGUgcmlnaHQgb3JkZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3hpbmdoZWFkZXIvTWFrZWZpbGUuYW06CgkgIFB1dCBDRkxBR1MgYW5kIExJQlMgaW4gdGhlIHJpZ2h0IG9yZGVyCgoyMDA4LTAyLTA2IDE4OjU2OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiB4aW1hZ2VzcmMgaGFzIG1vdmVkIHRvIC1nb29kLCBzbyBubyBuZWVkIHRvIGNoZWNrIGZvciB0aGUgcmVxdWlyZWQgWCBsaWJzIGhlcmUgYW55IG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgeGltYWdlc3JjIGhhcyBtb3ZlZCB0byAtZ29vZCwgc28gbm8gbmVlZCB0byBjaGVjayBmb3IKCSAgdGhlIHJlcXVpcmVkIFggbGlicyBoZXJlIGFueSBtb3JlLgoKMjAwOC0wMi0wNiAxMTowNzo0NyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEZpeCBtZW1vcnkgbGVhayBhbmQgaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpOgoJICBGaXggbWVtb3J5IGxlYWsgYW5kIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwOC0wMi0wNSAxNzoxMDoxMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkgIEFkZCBtb3JlIHRhZ3MgbWFwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBtb3JlIHRhZ3MgbWFwcGluZy4KCjIwMDgtMDItMDUgMTI6MTk6NDYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogSGFuZGxlIGxhdGVuY3kgcXVlcmllcyBpbiBzcmMgcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEhhbmRsZSBsYXRlbmN5IHF1ZXJpZXMgaW4gc3JjIHBhZHMuCgoyMDA4LTAyLTA1IDExOjQwOjQzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogQWRkIGZsYWcgdG8gYm90aCBzZHQgYW5kIG5pdCBzdHJ1Y3R1cmVzIHRvIHNheSB3aGV0aGVyIHRoZSB0YWJsZSBpcyBmb3IgdGhlIGFjdHVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEFkZCBmbGFnIHRvIGJvdGggc2R0IGFuZCBuaXQgc3RydWN0dXJlcyB0byBzYXkKCSAgd2hldGhlciB0aGUgdGFibGUgaXMgZm9yIHRoZSBhY3R1YWwgbmV0d29yay90cwoJICBvciBub3QuCgoyMDA4LTAyLTA1IDExOjMwOjQ5ICswMDAwICBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IEZsdXNoIHBhY2tldGl6ZXIgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IChnc3RfbXBlZ3ZpZGVvcGFyc2VfZmx1c2gpOgoJICBGbHVzaCBwYWNrZXRpemVyIHRvby4KCjIwMDgtMDItMDQgMTk6MTU6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IERvbid0IHVzZSBHU1RfQk9JTEVSUExBVEUgYXMgdGhlIHN0dWZmIGdlbmVyYXRlZCBmcm9tIGl0IGlzIG5vdCB1c2VkIGFueXdheSBhbmQgY2FuJ3QgYmUgdXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKGdzdF9sYWRzcGFfYmFzZV9pbml0KSwKCSAgKGdzdF9sYWRzcGFfY2xhc3NfaW5pdCksIChsYWRzcGFfZGVzY3JpYmVfcGx1Z2luKSwgKHBsdWdpbl9pbml0KToKCSAgRG9uJ3QgdXNlIEdTVF9CT0lMRVJQTEFURSBhcyB0aGUgc3R1ZmYgZ2VuZXJhdGVkIGZyb20gaXQgaXMgbm90IHVzZWQKCSAgYW55d2F5IGFuZCBjYW4ndCBiZSB1c2VkLgoJICBTdG9yZSB0aGUgY2xhc3Mgc3RydWN0IG9mIHRoZSBjb3JyZWN0IHR5cGUgaW4gcGFyZW50X2NsYXNzLgoJICBQYXNzIHRoZSBMQURTUEFfRGVzY3JpcHRvciBhcyBjbGFzc19kYXRhIHRvIHRoZSBjbGFzc19pbml0IGZ1bmN0aW9uCgkgIGFzIHByZXBhcmF0aW9uIGZvciB0aGUgdGltZSwgd2hlbiB3ZSBjYW4gYWRkIHBhZCB0ZW1wbGF0ZXMgYW5kIGZyaWVuZHMKCSAgaW4gY2xhc3NfaW5pdCBhbmQgYWRkIGEgRklYTUUgZm9yIHRoYXQuCgkgIERvbid0IHVzZSBhIGN1c3RvbSBoYXNoIHRhYmxlIGZvciBwYXNzaW5nIHRoZSBMQURTUEFfRGVzY3JpcHRvcnMgdG8KCSAgYmFzZV9pbml0IGJ1dCB1c2UgZ190eXBlX3NldF9xZGF0YSBhbmQgZ190eXBlX2dldF9xZGF0YS4KCjIwMDgtMDItMDQgMTY6MjI6MTEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOiBSZWFsbHkgZml4IHRoZSBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgUmVhbGx5IGZpeCB0aGUgYnVpbGQuCgkgIFRPRE8gOiBBcHBseSBzcGFua09tYXRpYzIwMDAgb24gdGhheXRhbidzIHJlYXIgZW5kLgoKMjAwOC0wMi0wNCAxMzoxMjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6IEZpeCBjb21waWxhdGlvbiB3aXRoIGxpYm1qcGVndG9vbHMgMS44LnguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgIChHc3RNcGVnMkVuY1BpY3R1cmVSZWFkZXIuU3RyZWFtUGljdHVyZVBhcmFtcyk6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIGxpYm1qcGVndG9vbHMgMS44LnguCgoyMDA4LTAyLTA0IDExOjQ4OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBEb24ndCB1bnJlZiB0aGUgcGFkIHRlbXBsYXRlIGFmdGVyIGFkZGluZyBpdC4gZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3BhZF90ZW1wbGF0ZSB0YWsuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUpOgoJICBEb24ndCB1bnJlZiB0aGUgcGFkIHRlbXBsYXRlIGFmdGVyIGFkZGluZyBpdC4KCSAgZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3BhZF90ZW1wbGF0ZSB0YWtlcyBvd25lcnNoaXAgb2YgaXQuCgoyMDA4LTAyLTAzIDE4OjIyOjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6IFVzZSB0aGUgaW5jb21pbmcgcGl4ZWwtYXNwZWN0LXJhdGlvIGlmIHByb3ZpZGVkIHRvIGluZmVyIGEgZGVmYXVsdCBhc3BlY3Qgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICBVc2UgdGhlIGluY29taW5nIHBpeGVsLWFzcGVjdC1yYXRpbyBpZiBwcm92aWRlZCB0byBpbmZlciBhCgkgIGRlZmF1bHQgYXNwZWN0IHJhdGlvLCB3aGljaCBjYW4gYmUgb3ZlcnJpZGRlbiB1c2luZyB0aGUgJ2FzcGVjdCcKCSAgcHJvcGVydHkuCgkgIEZpeGVzOiAjNDk5MDA4CgoyMDA4LTAyLTAzIDE3OjQ3OjI1ICswMDAwICBBbmRyemVqIE1lbmRlbCA8YW5kcnplai5tZW5kZWxAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBGaXggdmFyaWFibGUgbmFtaW5nIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYnVpbGQgdGhlIGdsaW1hZ2VzaW5rIHBsdWdpbi4gRml4ZXMgYnVnICM1MTQwOTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5kcnplaiBNZW5kZWwgPGFuZHJ6ZWogZG90IG1lbmRlbCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IHZhcmlhYmxlIG5hbWluZyB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGJ1aWxkIHRoZSBnbGltYWdlc2luawoJICBwbHVnaW4uIEZpeGVzIGJ1ZyAjNTE0MDkzLgoKMjAwOC0wMi0wMiAyMzoyNToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6IERlbW90ZSBtZXRhZGF0YWRlbXV4IHRvIEdTVF9SQU5LX05PTkUgZm9yIHRoZSByZWxlYXNlLCBpdCdzIG5vdCByZWFkeSB0byBiZSBhdXRvcGx1Zy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJICBEZW1vdGUgbWV0YWRhdGFkZW11eCB0byBHU1RfUkFOS19OT05FIGZvciB0aGUgcmVsZWFzZSwgaXQncyBub3QKCSAgcmVhZHkgdG8gYmUgYXV0b3BsdWdnZWQgeWV0LgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBGaXggcHJpbnRmIGZvcm1hdCB3YXJuaW5nIGZvciBHVHlwZSBvbiBwcGMzMiBieSByZW1vdmluZyBpdCwKCSAgc2luY2UgaXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHByaW50IHRoZSBHVHlwZSB2YWx1ZSBhbnl3YXkuCgoyMDA4LTAyLTAyIDIwOjIyOjE5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkgIE1hcCBtb3JlIEV4aWYgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1hcCBtb3JlIEV4aWYgdGFncy4KCjIwMDgtMDItMDEgMTc6MDg6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBEb24ndCBsZWFrIGV2ZW50IG9uIHBhZHMgdGhhdCBhcmUgbm90IGxpbmtlZC4gRml4ZXMgIzUxMjgyNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpOgoJICBEb24ndCBsZWFrIGV2ZW50IG9uIHBhZHMgdGhhdCBhcmUgbm90IGxpbmtlZC4gRml4ZXMgIzUxMjgyNi4KCjIwMDgtMDItMDEgMTM6MDI6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucywgdG8gYXZvaWQgY29uZnVzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucywgdG8gYXZvaWQgY29uZnVzaW9uLgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9zZXRfY2Fwcyk6CgkgIFVzZSB0aGUgbmV3IEdzdFZpZGVvRm9ybWF0IEFQSSB0byBnZXQgc3RyaWRlcywgcGxhbmUgb2Zmc2V0cyBldGMuLgoJICBGb3IgWTQyQiB3ZSBzdGlsbCBuZWVkIHRvIGNhbGN1bGF0ZSB0aGVzZSBvdXJzZWx2ZXMsIHNpbmNlIHRoZSBsaWIKCSAgaW4gLWJhc2UgZG9lc24ndCBrbm93IGFib3V0IHRoaXMgZm9ybWF0IHlldCBhbmQgd2UgY2FuJ3QgYnVtcCB0aGUKCSAgcmVxdWlyZW1lbnQgdG8gQ1ZTIHJpZ2h0IG5vdy4gRml4IHRoZSBZNDJCIHN0cmlkZSwgb2Zmc2V0IGFuZCBzaXplCgkgIGNhbGN1bGF0aW9ucyBmb3Igb2RkIHdpZHRocyBhbmQgaGVpZ2h0cyB3aGlsZSB3ZSdyZSBhdCBpdCB0aG91Z2gKCSAgKHRvIG1hdGNoIHRob3NlIGluIHZpZGVvdGVzdHNyYykuCgoyMDA4LTAxLTMxIDIxOjU1OjQ0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgZG9jdW1lbnRhdGlvbi4KCjIwMDgtMDEtMzEgMTc6MjA6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzogRml4IGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzogKG1ldGFkYXRhcGFyc2VfanBlZ19yZWFkaW5nKToKCSAgRml4IGNvbXBpbGF0aW9uLgoKMjAwOC0wMS0zMSAxNzoxODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiBSZWFsbHkgY2xlYW4gdXAgdGhlIHF1ZXVlIGluc3RlYWQgb2YganVzdCB1bnJlZmZpbmcgYWxsIGJ1ZmZlcnMgaW4gaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2Rpc3Bvc2UpOgoJICBSZWFsbHkgY2xlYW4gdXAgdGhlIHF1ZXVlIGluc3RlYWQgb2YganVzdCB1bnJlZmZpbmcgYWxsIGJ1ZmZlcnMKCSAgaW4gaXQuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwgKGdzdF9hcHBfc3JjX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfZGlzcG9zZSksIChnc3RfYXBwX3NyY19maW5hbGl6ZSk6CgkgIEZpeCBkaXNwb3NlL2ZpbmFsaXplLgoKMjAwOC0wMS0zMSAxNTo1MjoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEZpeCBjb21waWxlciB3YXJuaW5nIGJ5IG1ha2luZyB0aGUgZnVuY3Rpb24gc2lnbmF0dXJlIG1hdGNoIHdoYXQgZXZlcnlvbmUgaXMgcGFzc2luZyBpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIGJ5IG1ha2luZyB0aGUgZnVuY3Rpb24gc2lnbmF0dXJlIG1hdGNoIHdoYXQKCSAgZXZlcnlvbmUgaXMgcGFzc2luZyBpbi4uLgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBGaXggdGhlIGJ1aWxkIG9uIFNvbGFyaXMgYnkgcmVtb3ZpbmcgR05VIGxkIHNwZWNpZmljIGZsYWdzIHRoYXQKCSAgbG9vayB1bm5lY2Vzc2FyeS4KCjIwMDgtMDEtMzEgMTA6MTY6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbTogQWRkIHNvbWUgcmVsZXZhbnQgdmFyaWFibGVzIHRvIENGTEFHUyBhbmQgTElCQURELCBmb3IgZXhhbXBsZSBvdXIgY29tcGlsZXIgd2FybmluZ3MgcGFyYW10ZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgIEFkZCBzb21lIHJlbGV2YW50IHZhcmlhYmxlcyB0byBDRkxBR1MgYW5kIExJQkFERCwgZm9yIGV4YW1wbGUgb3VyCgkgIGNvbXBpbGVyIHdhcm5pbmdzIHBhcmFtdGVycy4KCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgIChnc3RfYmFzZV9tZXRhZGF0YV9zdHJpcF9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9tZXRhZGF0YV9jYWxjdWxhdGVfb2Zmc2V0cyksCgkgIChnc3RfYmFzZV9tZXRhZGF0YV9zcmNfZXZlbnQpLCAoZ3N0X2Jhc2VfbWV0YWRhdGFfc2lua19hY3RpdmF0ZSk6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzogKGdzdF9tZXRhZGF0YV9kZW11eF9pbml0KSwKCSAgKGdzdF9tZXRhZGF0YV9kZW11eF9zZXRfcHJvcGVydHkpLCAoZ3N0X21ldGFkYXRhX2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOiAoZ3N0X21ldGFkYXRhX211eF9pbml0KSwKCSAgKGdzdF9tZXRhZGF0YV9tdXhfc2V0X3Byb3BlcnR5KSwgKGdzdF9tZXRhZGF0YV9tdXhfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tZXRhZGF0YV9tdXhfZGlzcG9zZSksCgkgIChnc3RfbWV0YWRhdGFfbXV4X2NyZWF0ZV9jaHVua3NfZnJvbV90YWdzKToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzogKG1ldGFkYXRhX2Rpc3Bvc2UpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKG1ldGFkYXRhcGFyc2VfZXhpZl9jb250ZW50X2ZvcmVhY2hfZW50cnlfZnVuYyksCgkgIChtZXRhZGF0YW11eF9leGlmX2Zvcl9lYWNoX3RhZ19pbl9saXN0KToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkgIChtZXRhZGF0YW11eF9pcHRjX2Zvcl9lYWNoX3RhZ19pbl9saXN0KToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6IChtZXRhZGF0YW11eF9qcGVnX2xhenlfdXBkYXRlKSwKCSAgKG1ldGFkYXRhbXV4X2pwZWdfcmVhZGluZyk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6IChtZXRhZGF0YW11eF9wbmdfcmVhZGluZyk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6IChtZXRhZGF0YXBhcnNlX2pwZWdfcmVhZGluZyk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzogKG1ldGFkYXRhcGFyc2VfeG1wX3RhZ19saXN0X2FkZCksCgkgIChtZXRhZGF0YW11eF94bXBfY3JlYXRlX2NodW5rX2Zyb21fdGFnX2xpc3QpOgoJICBGaXggYSBtaWxsaW9uIHdhcm5pbmdzIHRoYXQgc2hvd2VkIHVwIGFmdGVyIHRoZSBhYm92ZSBjaGFuZ2UuCgoyMDA4LTAxLTMxIDA5OjUwOjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBZGQgY2hhbmdlcyB0byBnc3Rzb3VwaHR0cHNyYy5jIHRoYXQgd2VyZSBtaXNzaW5nIGZyb20gbGFzdCBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcXVldWVfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19hZGRfcmFuZ2VfaGVhZGVyKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fcGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX2Nsb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9ib2R5X2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19wYXJzZV9zdGF0dXMpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2RvX3NlZWspLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm94eSksIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2hhbmRsZXJfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgIEFkZCBjaGFuZ2VzIHRvIGdzdHNvdXBodHRwc3JjLmMgdGhhdCB3ZXJlIG1pc3NpbmcgZnJvbSBsYXN0IGNvbW1pdC4KCjIwMDgtMDEtMzEgMDg6NTc6MTYgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBNYWtlIGNvZGluZyBzdHlsZSBtb3JlIGNvbnNpc3RlbnQsIGluY2x1ZGluZyBjbGFzcyByZW5hbWluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYmFzZV9pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5pY29kaWZ5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3F1ZXVlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3VucGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3BhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfYm9keV9jYiksIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zdGFydCksIChnc3Rfc291cF9odHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9jayksIChnc3Rfc291cF9odHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY19nZXRfc2l6ZSksIChnc3Rfc291cF9odHRwX3NyY19pc19zZWVrYWJsZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19kb19zZWVrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9sb2NhdGlvbiksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJveHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIE1ha2UgY29kaW5nIHN0eWxlIG1vcmUgY29uc2lzdGVudCwgaW5jbHVkaW5nIGNsYXNzIHJlbmFtaW5nLgoKMjAwOC0wMS0zMCAyMDo1NTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBGaXggY29uZmlndXJlIGNoZWNrIGZvciBzb3VuZHRvdWNoIHRvIG5vdCBwcm9kdWNlIHN5bnRheCBlcnJvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGNvbmZpZ3VyZSBjaGVjayBmb3Igc291bmR0b3VjaCB0byBub3QgcHJvZHVjZSBzeW50YXggZXJyb3JzLgoKMjAwOC0wMS0zMCAxOToxOTozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRml4IGJ1aWxkIHdpdGggZXhlbXBpID49IDEuOTkuNSBhbmQgZml4IHRoZSBpbmNsdWRlIHBhdGggZm9yIGV4ZW1waS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICAobWV0YWRhdGFtdXhfeG1wX2Zvcl9lYWNoX3RhZ19pbl9saXN0KToKCSAgRml4IGJ1aWxkIHdpdGggZXhlbXBpID49IDEuOTkuNSBhbmQgZml4IHRoZSBpbmNsdWRlCgkgIHBhdGggZm9yIGV4ZW1waS4KCjIwMDgtMDEtMzAgMTY6NTM6NDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkgIEp1c3QgdXB0YWRlIHRoZSBUb0RvIGxpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IHVwdGFkZSB0aGUgVG9EbyBsaXN0LgoKMjAwOC0wMS0zMCAxNjowNToyNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24uIFNwZWVkIHVwIGEgYml0IHBuZyBtdXhlci4gRml4IHhtcCBtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBkb2N1bWVudGF0aW9uLiBTcGVlZCB1cCBhIGJpdCBwbmcgbXV4ZXIuIEZpeCB4bXAgbXV4ZXIuCgoyMDA4LTAxLTMwIDE1OjQwOjQ0ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogVXBkYXRlIGRvY3VtZW50YXRpb24gYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgVXBkYXRlIGRvY3VtZW50YXRpb24gYSBiaXQuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICBSZWdlbmVyYXRlIGV2ZXJ5dGhpbmcgZm9yIHRoZSBkb2N1bWVudGF0aW9uIGNoYW5nZXMgd2UgaGFkLgoKMjAwOC0wMS0zMCAxNTozNDoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2dpby86IFVzZSBhc3luYyB2YXJpYW50cyBvZiB0aGUgY2xvc2Ugc3RyZWFtIGZ1bmN0aW9ucyB0byBwcmV2ZW50IGJsb2NraW5nIGZvciBhIGxvbmcgdGltZSB0aGVyZSBhbmQgYWRkIHNvbWUgbW9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuYzogKGNsb3NlX3N0cmVhbV9jYiksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19zdG9wKSwgKGdzdF9naW9fYmFzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3JlbmRlciksIChnc3RfZ2lvX2Jhc2Vfc2lua19zZXRfc3RyZWFtKToKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuYzogKGNsb3NlX3N0cmVhbV9jYiksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NyY19jcmVhdGUpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19zZXRfc3RyZWFtKToKCSAgVXNlIGFzeW5jIHZhcmlhbnRzIG9mIHRoZSBjbG9zZSBzdHJlYW0gZnVuY3Rpb25zIHRvIHByZXZlbnQgYmxvY2tpbmcKCSAgZm9yIGEgbG9uZyB0aW1lIHRoZXJlIGFuZCBhZGQgc29tZSBtb3JlIHNhbml0eSBjaGVja3MgZm9yIGEgY29ycmVjdAoJICBzdHJlYW0uCgoyMDA4LTAxLTMwIDEzOjM4OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbTogTW92ZSAtV2wgcGFyYW1ldGVyIGZyb20gX0xEQUREIHRvIF9MREZMQUdTIHRvIGZpeCBhdXRvZ2VuLnNoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgTW92ZSAtV2wgcGFyYW1ldGVyIGZyb20gX0xEQUREIHRvIF9MREZMQUdTIHRvIGZpeCBhdXRvZ2VuLnNoLgoKMjAwOC0wMS0zMCAxMzoyOToxNSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IExldCB0aGUgcHJveHkgcHJvcGVydHkgZGVmYXVsdCB0byB0aGUgY29udGVudCBvZiB0aGUgJGh0dHBfcHJveHkgZW52aXJvbm1lbnQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCk6CgkgIExldCB0aGUgcHJveHkgcHJvcGVydHkgZGVmYXVsdCB0byB0aGUgY29udGVudCBvZiB0aGUgJGh0dHBfcHJveHkKCSAgZW52aXJvbm1lbnQgdmFyaWFibGUuCgoyMDA4LTAxLTMwIDEzOjA4OjQ1ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgbWlzc2luZyBmaWxlcyBmb3IgdGhlIHVuaXQgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiB0ZXN0cy9jaGVjay90ZXN0LWNlcnQucGVtOgoJICAqIHRlc3RzL2NoZWNrL3Rlc3Qta2V5LnBlbToKCSAgQWRkIG1pc3NpbmcgZmlsZXMgZm9yIHRoZSB1bml0IHRlc3QuCgoyMDA4LTAxLTMwIDEzOjA2OjAxICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHNvdXBodHRwc3JjIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBzb3VwaHR0cHNyYyB0byB0aGUgZG9jcy4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19xdWV1ZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl9wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfZ290X2JvZHlfY2IpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19maW5pc2hlZF9jYiksIChnc3Rfc291cGh0dHBfc3JjX2dvdF9jaHVua19jYiksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Jlc3BvbnNlX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9zb3VwaHR0cF9zcmNfZG9fc2VlayksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9sb2NhdGlvbiksIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm94eSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYnNvdXAyLjQgYW5kIHJlcXVpcmUgaXQuIEFsc28gaW1wbGVtZW50IHJlZGlyZWN0aW9uCgkgIGFuZCBtYW51YWwgcHJveHkgc3BlY2lmaWNhdGlvbi4gRml4ZXMgYnVnICM1MTA3MDguCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBzb3VwaHR0cHNyYy4KCjIwMDgtMDEtMzAgMTI6NTY6NTEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgQWRkIGRvY3VtZW50YXRpb24uIEZpeCB0ZXN0IGFwcCBjb21waWxhdGlvbi4gRml4IHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBkb2N1bWVudGF0aW9uLiBGaXggdGVzdCBhcHAgY29tcGlsYXRpb24uIEZpeCBwdWxsIG1vZGUuCgoyMDA4LTAxLTI5IDE4OjU3OjI3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFRyeSB0byBnZXQgdGhlIG5ldyBjbG9jay1yYXRlIGZyb20gdGhlIGJ1ZmZlciBjYXBzIHdoZW4gd2UgcmVjZWl2ZSBhIG5ldyBwYXlsb2FkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciAgPHRoaWpzdmVybWVpciBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgVHJ5IHRvIGdldCB0aGUgbmV3IGNsb2NrLXJhdGUgZnJvbSB0aGUgYnVmZmVyIGNhcHMgd2hlbiB3ZSByZWNlaXZlIGEgbmV3CgkgIHBheWxvYWQgdHlwZSBpbnN0ZWFkIG9mIGFsd2F5cyBmaXJpbmcgdGhlIHNpZ25hbC4gRml4ZXMgIzUxMjc3NC4KCjIwMDgtMDEtMjkgMTg6MDU6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzogRGVmaW5lIExPR19OT05FIGFuZCBmcmllbmRzIGlmIHRoZXkncmUgbm90IGRlZmluZWQgeWV0LiBtanBlZ3Rvb2xzIDEuOS4wcmMzIHJlbW92ZWQgdGhlaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIERlZmluZSBMT0dfTk9ORSBhbmQgZnJpZW5kcyBpZiB0aGV5J3JlIG5vdCBkZWZpbmVkIHlldC4gbWpwZWd0b29scwoJICAxLjkuMHJjMyByZW1vdmVkIHRoZWlyIGRlZmluaXRpb25zIGJ1dCB3aXRob3V0IGl0IGRvZXNuJ3QgbWFrZSBtdWNoCgkgIHNlbnNlIHRvIHdyaXRlIGEgbG9nIGhhbmRsZXIuCgoyMDA4LTAxLTI5IDExOjMyOjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgYmFzZSBjbGFzc2VzIGZvciBtZXRhZGF0YSBhbmQgZXF1YWxpemVyIChubyBpbnRyb3NwZWN0aW9uIHlldCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczoKCSAgQWRkIGJhc2UgY2xhc3NlcyBmb3IgbWV0YWRhdGEgYW5kIGVxdWFsaXplciAobm8gaW50cm9zcGVjdGlvbiB5ZXQpLgoKMjAwOC0wMS0yOSAwNzo0MzoyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L21ldGFkYXRhL1JFQURNRTogRm9ybWF0dGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL1JFQURNRToKCSAgRm9ybWF0dGluZy4KCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaC4KCjIwMDgtMDEtMjkgMDc6Mzg6MzEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJlcGxhY2UgdGhlIHN3aXRjaCBwbHVnaW4gd2l0aCB0aGUgc2VsZWN0b3IgcGx1Z2luLiBBZGQgb3V0cHV0LSBzZWxlY3RvciBhcyB0aGUgb3Bwb3NpdGUgb2YgaW5wdXQtc2VsZWN0b28gKHdhcyBzd2l0Yy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZ3N0L3NlbGVjdG9yLy5jdnNpZ25vcmU6CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuaDoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuaDoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0c2VsZWN0b3ItbWFyc2hhbC5saXN0OgoJICAqIGdzdC9zZWxlY3Rvci9nc3RzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9zZWxlY3Rvci52Y3Byb2o6CgkgICogZ3N0L3N3aXRjaC8uY3ZzaWdub3JlOgoJICAqIGdzdC9zd2l0Y2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2gtbWFyc2hhbC5saXN0OgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgKiBnc3Qvc3dpdGNoL3N3aXRjaC52Y3Byb2o6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJICBSZXBsYWNlIHRoZSBzd2l0Y2ggcGx1Z2luIHdpdGggdGhlIHNlbGVjdG9yIHBsdWdpbi4gQWRkIG91dHB1dC0KCSAgc2VsZWN0b3IgYXMgdGhlIG9wcG9zaXRlIG9mIGlucHV0LXNlbGVjdG9vICh3YXMgc3dpdGNoKS4gQWRkIGEgdGVzdAoJICBmb3Igb3V0cHV0LXNlbGVjdG9yLiBBZGQgZG9jcyBmb3IgdGhlIGVsZW1lbnRzLiBUaGUgdmNwcm9qIG5lZWRzCgkgIHVwZGF0ZS4gRml4ZXMgIzUwMDE0Mi4KCjIwMDgtMDEtMjggMjM6MTg6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiBUcnkgdG8gYXZvaWQgJ3VudXNlZCB2YXJpYWJsZScgY29tcGlsZXIgd2FybmluZyBpZiBkZWJ1Z2dpbmcgaXMgZGlzYWJsZWQgKG5vdCBidWxsZXQgcHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2NoYWluX2ZvcndhcmQpOgoJICBUcnkgdG8gYXZvaWQgJ3VudXNlZCB2YXJpYWJsZScgY29tcGlsZXIgd2FybmluZyBpZiBkZWJ1Z2dpbmcgaXMKCSAgZGlzYWJsZWQgKG5vdCBidWxsZXQgcHJvb2YsIGJ1dCBzZWVtcyB0byBkbyBmb3Igbm93KS4gKCM1MTI2NTQpCgoyMDA4LTAxLTI4IDExOjQ3OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6IENsZWFuIHVwIGEgYml0IGFuZCBvbmx5IGFsbG9jYXRlIGEgdGVtcG9yYXJ5IGJ1ZmZlciBmb3IgdGhlIGRhdGEgaWYgcHJvY2Vzc2luZyBzdGVyZW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBDbGVhbiB1cCBhIGJpdCBhbmQgb25seSBhbGxvY2F0ZSBhIHRlbXBvcmFyeSBidWZmZXIgZm9yIHRoZSBkYXRhCgkgIGlmIHByb2Nlc3Npbmcgc3RlcmVvIGRhdGEgYXMgQlBNRGV0ZWN0IGRvd25taXhlcyBmcm9tIHN0ZXJlbyB0bwoJICBtb25vIGFuZCBzdG9yZXMgdGhlIHJlc3VsdCBpbiB0aGUgaW5wdXQgZGF0YS4gVGhhbmtzIHRvCgkgIFN0ZWZhbiBLb3N0IGZvciB0aGUgc3VnZ2VzdGlvbnMuCgoyMDA4LTAxLTI3IDE3OjAyOjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogQ2FzdCBhIGRvdWJsZSB0byBhIEdzdENsb2NrVGltZURpZmYgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIENhc3QgYSBkb3VibGUgdG8gYSBHc3RDbG9ja1RpbWVEaWZmIHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTAxLTI3IDE2OjEyOjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzogUHJpbnRmIGZvcm1hdCBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBQcmludGYgZm9ybWF0IGZpeC4KCjIwMDgtMDEtMjcgMDc6NTE6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOiBEb24ndCBzZW5kIGEgTEFURU5DWSBldmVudCBmb3Igbm93IHVudGlsIHdlIGdldCB0aGUgdXNhZ2UgcmlnaHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBEb24ndCBzZW5kIGEgTEFURU5DWSBldmVudCBmb3Igbm93IHVudGlsIHdlIGdldCB0aGUgdXNhZ2UgcmlnaHQuCgoyMDA4LTAxLTI3IDA3OjM3OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC4qOiBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeSBhbmQgbm90aWZ5IGFib3V0IGxhdGVuY3kgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guaGg6CgkgIEltcGxlbWVudCBMQVRFTkNZIHF1ZXJ5IGFuZCBub3RpZnkgYWJvdXQgbGF0ZW5jeSBjaGFuZ2VzLgoJICBVbmZvcnR1bmF0ZWx5IHdlIGRvbid0IGhhdmUgYSBmaXhlZCBsYXRlbmN5IGJ1dCBpdCBjaGFuZ2VzCgkgIGEgYml0IHdpdGggZWFjaCBidWZmZXIgc28gd2Ugb25seSBzZW5kIGFuIExBVEVOQ1kgZXZlbnQgd2l0aAoJICB0aGUgbWF4aW11bSBsYXRlbmN5IGlmIGl0IGNoYW5nZXMuCgkgIEFsd2F5cyBjYWxjdWxhdGUgdGhlIHRpbWVzdGFtcCwgZHVyYXRpb24sIGV0YyBmcm9tIHRoZSBzYW1wbGUKCSAgcmF0ZSBpbnN0ZWFkIG9mIHVzaW5nIGEgcHJlLWNhbGN1bGF0ZWQgZHVyYXRpb24gZm9yIG9uZSBzYW1wbGUKCSAgdG8gcHJldmVudCBsYXJnZSByb3VuZGluZyBlcnJvcnMuCgoyMDA4LTAxLTI3IDA3OjMyOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgYWdhaW5zdCBtanBlZ3Rvb2xzIDEuOSB3aGlsZSBrZWVwaW5nIGNvbXBhdGlibGl0eSB3aXRoIG9sZGVyIHZlcnNpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieToKCSAgSGFucyBkZSBHb2VkZSA8aiBkb3QgdyBkb3QgciBkb3QgZGVnb2VkZSBhdCBoaHMgZG90IG5sPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5oaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGFnYWluc3QgbWpwZWd0b29scyAxLjkgd2hpbGUga2VlcGluZwoJICBjb21wYXRpYmxpdHkgd2l0aCBvbGRlciB2ZXJzaW9ucy4KCjIwMDgtMDEtMjcgMDY6MzE6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzogT25seSBjb25zaWRlciBhIEJQTSB2YWx1ZSBhYm92ZSAxLjAgYXMgdmFsaWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgT25seSBjb25zaWRlciBhIEJQTSB2YWx1ZSBhYm92ZSAxLjAgYXMgdmFsaWQuCgoyMDA4LTAxLTI3IDA1OjU2OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC86IEFkZCBCUE0gZGV0ZWN0aW9uIHBsdWdpbiBiYXNlZCBvbiBTb3VuZFRvdWNoJ3MgbGliQlBNLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmhoOgoJICAqIGV4dC9zb3VuZHRvdWNoL3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgQlBNIGRldGVjdGlvbiBwbHVnaW4gYmFzZWQgb24gU291bmRUb3VjaCdzIGxpYkJQTS4KCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgQWxsb3cgc2FtcGxlIHJhdGVzIHVudGlsIE1BWCBpbnN0ZWFkIG9mIG9ubHkgNDhrSHogYW5kIHJlbW92ZSB0aGUKCSAgYnVmZmVyLWZyYW1lcyBmaWVsZCBmcm9tIHRoYXQgY2Fwcy4KCSAgQ2xlYXIgdGhlIHJlbWFpbmluZyBzYW1wbGVzIGNvbXBsZXRlbHkgd2hlbiBuZWNlc3NhcnkgdG8gZ2V0IGludG8KCSAgYSBjbGVhbiBzdGF0ZSBhZ2Fpbi4KCjIwMDgtMDEtMjYgMTY6MTk6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBEb24ndCBpbXBsZW1lbnQgZ2V0X3VuaXRfc2l6ZSgpIG91cnNlbHZlcywgdGhlIEdzdEF1ZGlvRmlsdGVyIGJhc2UgY2xhc3MgYWxyZWFkeSBkb2VzIHRoaXMgZm9yIHVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgIERvbid0IGltcGxlbWVudCBnZXRfdW5pdF9zaXplKCkgb3Vyc2VsdmVzLCB0aGUgR3N0QXVkaW9GaWx0ZXIgYmFzZQoJICBjbGFzcyBhbHJlYWR5IGRvZXMgdGhpcyBmb3IgdXMuCgoyMDA4LTAxLTI2IDE1OjEyOjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogQWxsb3cgc2Vla2luZyBvbmx5IGluIFRJTUUgYW5kIERFRkFVTFQgZm9ybWF0LCBvdGhlciBmb3JtYXRzIHdpbGwgbm90IHdvcmsgYXMgZXhwZWN0ZWQuIEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIEFsbG93IHNlZWtpbmcgb25seSBpbiBUSU1FIGFuZCBERUZBVUxUIGZvcm1hdCwgb3RoZXIgZm9ybWF0cyB3aWxsCgkgIG5vdCB3b3JrIGFzIGV4cGVjdGVkLiBBbHNvIGhhbmRsZSBhIHN0b3AgcG9zaXRpb24gb2YgLTEgY29ycmVjdGx5CgkgIGZvciBzZWVrcywgbmV3c2VnbWVudCBldmVudHMgYW5kIHRoZSBxdWVyaWVzLiBUaGlzIGZpeGVzIHBsYXliYWNrCgkgIHdpdGggdGhlIHBpdGNoIGVsZW1lbnQgaWYgdXBzdHJlYW0gZG9lc24ndCBrbm93IHRoZSBkdXJhdGlvbiBvciBoYXMKCSAgLTEgYXMgc3RvcCBwb3NpdGlvbiBpbiBORVdTRUdNRU5UIGV2ZW50cyBmb3Igb3RoZXIgcmVhc29ucy4gQmVmb3JlCgkgIHNpbXBseSBub3RoaW5nIHdhcyBwbGF5ZWQgYXMgdGhlIHNlZ21lbnQgd2FzIGdvaW5nIGZyb20gMCB0byAwLgoJICBTZW5kIGEgR1NUX01FU1NBR0VfRFVSQVRJT04gd2hlbmV2ZXIgdGhlIHJhdGUgb3IgdGVtcG8gaXMgY2hhbmdlZAoJICBzbyBhcHBsaWNhdGlvbnMgY2FuIHVwZGF0ZSB0aGVpciBjYWNoZWQgZHVyYXRpb24uIEZpeGVzIGJ1ZyAjNTAzMzA4LgoJICBTb21lIHJhbmRvbSBjbGVhbnVwIGFuZCBtZW1vcnkgbGVhayBjbG9zaW5nLgoKMjAwOC0wMS0yNiAxNDozNToyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L211c2VwYWNrLzogRmlyc3QgaW5jbHVkZSB0aGUgbGlibXBjZGVjIGhlYWRlcnMgYmVmb3JlIGV2ZXJ5dGhpbmcgZWxzZSBhcyB0aGV5ICNkZWZpbmUgVFJVRSBhbmQgRkFMU0UgdW5jb25kaXRpb25hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOgoJICBGaXJzdCBpbmNsdWRlIHRoZSBsaWJtcGNkZWMgaGVhZGVycyBiZWZvcmUgZXZlcnl0aGluZyBlbHNlIGFzIHRoZXkKCSAgI2RlZmluZSBUUlVFIGFuZCBGQUxTRSB1bmNvbmRpdGlvbmFsbHkgYW5kIHdlIG90aGVyd2lzZSBnZXQgY29uZmxpY3RzCgkgIHdpdGggdGhlIG9uZXMgdGhhdCBHTGliIGRlZmluZXMuCgoyMDA4LTAxLTI2IDEzOjI0OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3VwcG9ydCBmb3IgbGlic291bmR0b3VjaCAxLjMuMSBhbmQgYWRkIGFuIHVnbHkgd29ya2Fyb3VuZCBmb3IgdGhlIGhlYWRlciBkZWZpbmluZWQgUEFDS0FHRSBhbmQgb3RoZXIgdmFyaWFibGVzIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBBZGQgc3VwcG9ydCBmb3IgbGlic291bmR0b3VjaCAxLjMuMSBhbmQgYWRkIGFuIHVnbHkgd29ya2Fyb3VuZCBmb3IKCSAgdGhlIGhlYWRlciBkZWZpbmluZWQgUEFDS0FHRSBhbmQgb3RoZXIgdmFyaWFibGVzIGZvciB3aGljaCB3ZSBuZWVkCgkgIG91ciBvd24gdmFsdWVzIGZyb20gY29uZmlnLmguCgoyMDA4LTAxLTI2IDEyOjExOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgbGliZ2xhZGUtMi4wLCBmb3IgdGhlIG1ldGFkYXRhLWVkaXRvciBleGFtcGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBsaWJnbGFkZS0yLjAsIGZvciB0aGUgbWV0YWRhdGEtZWRpdG9yIGV4YW1wbGUuCgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIE9ubHkgdHJ5IHRvIGJ1aWxkIHRoZSBtZXRhZGF0YS1lZGl0b3IgZXhhbXBsZSBpZiB3ZSBoYXZlIGd0ayBhbmQKCSAgZ2xhZGUgKG90aGVyd2lzZSB0aGUgYnVpbGQgd291bGQganVzdCBmYWlsIC4uLik7IGZpeCBidWlsZCBpbgoJICB1bmluc3RhbGxlZCBzZXR1cC4KCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzogKG9uX2NlbGxfZWRpdGVkKSwgKHVpX2FkZF9jb2x1bW5zKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzICh1c2UgR0xpYiBtYWNyb3MgdG8gY2FzdCBwb2ludGVyIDwtPiBpbnQpLgoKMjAwOC0wMS0yNSAxNzo0NToyOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L01ha2VmaWxlOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9NZXRhZGF0YUVkaXRvck1haW4uZ2xhZGU6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L21ldGFkYXRhX2VkaXRvci5jOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5nbGFkZToKCSAgQWRkIGxvdCBvZiBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGxvdCBvZiBkb2N1bWVudGF0aW9uLgoKMjAwOC0wMS0yNSAxNzozNTo0NiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IE9wZW4gZnJvbnRlbmQgaW4gTlVMTC0+UkVBRFkgc28gY2FwcyBhYm91dCBkdmIgYWRhcHRlciBjYW4gYmUgc2VlbiBieSB0aGUgYXBwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBPcGVuIGZyb250ZW5kIGluIE5VTEwtPlJFQURZIHNvIGNhcHMgYWJvdXQgZHZiIGFkYXB0ZXIgY2FuIGJlCgkgIHNlZW4gYnkgdGhlIGFwcC4KCjIwMDgtMDEtMjUgMTY6NTg6MDAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxzbyBoYW5kbGUgbGlwLXN5bmMgd2hlbiB0aGUgY2xvY2stcmF0ZSBpcyBub3QgcHJvdmlkZWQgd2l0aCBjYXBzIGJ1dCB3aXRoIGEgc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoY3JlYXRlX3N0cmVhbSksIChwYXlsb2FkX3R5cGVfY2hhbmdlKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEFsc28gaGFuZGxlIGxpcC1zeW5jIHdoZW4gdGhlIGNsb2NrLXJhdGUgaXMgbm90IHByb3ZpZGVkIHdpdGggY2FwcyBidXQKCSAgd2l0aCBhIHNpZ25hbC4KCjIwMDgtMDEtMjUgMTY6MDA6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci86IFJlbW92ZSB0aGUgZml4ZWQgY2xvY2stcmF0ZSBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGV4dGVuZCBpdCBzbyB0aGF0IGEgY2xvY2stcmF0ZSBjYW4gYmUgcHJvdmlkZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZW1vdmUgdGhlIGZpeGVkIGNsb2NrLXJhdGUgZnJvbSB0aGUgaml0dGVyYnVmZmVyIGFuZCBleHRlbmQgaXQgc28gdGhhdAoJICBhIGNsb2NrLXJhdGUgY2FuIGJlIHByb3ZpZGVkIHdpdGggZWFjaCBidWZmZXIgaW5zdGVhZC4gRml4ZXMgIzUxMTY4Ni4KCjIwMDgtMDEtMjUgMTU6NDk6NTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIG9sZCB1bnVzZWQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVtb3ZlIG9sZCB1bnVzZWQgdmFyaWFibGUuCgkgIFRyYWNrIHB0IG9uIGlucHV0IGJ1ZmZlcnMgYW5kIGdldCB0aGUgY2xvY2stcmF0ZSB3aGVuIGl0IGNoYW5nZXMuCgkgIElnbm9yZSBwYWNrZXRzIHdpdGggdW5rbm93biBjbG9jay1yYXRlLiBTZWUgIzUxMTY4Ni4KCjIwMDgtMDEtMjUgMTI6NDg6NDAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBQb3N0IGJ1cyBtZXNzYWdlIGFib3V0IGFkYXB0ZXIgdHlwZSBhbmQgaXQncyBjYXBhYmlsaXRpZXMsIHdoZW4gb3BlbmluZyB0aGUgZnJvbnRlbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFBvc3QgYnVzIG1lc3NhZ2UgYWJvdXQgYWRhcHRlciB0eXBlIGFuZCBpdCdzIGNhcGFiaWxpdGllcywKCSAgd2hlbiBvcGVuaW5nIHRoZSBmcm9udGVuZC4KCSAgQWZ0ZXIgZmFpbGluZyB0byByZWFkIGZyb20gdGhlIGR2ciwgcG9zdCBhIGJ1cyBtZXNzYWdlIHRvCgkgIGluZm9ybSB0aGUgYXBwLgoKMjAwOC0wMS0yNSAwOTo1MDowNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IFRoZSBsb2dpYyBmb3IgdGhlIGd1YXJkIGludGVydmFsIGNhbGN1bGF0aW9uIHdhcyB0b3RhbGx5IHdyb25nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBUaGUgbG9naWMgZm9yIHRoZSBndWFyZCBpbnRlcnZhbCBjYWxjdWxhdGlvbiB3YXMgdG90YWxseSB3cm9uZy4KCSAgRml4ZWQuCgoyMDA4LTAxLTI1IDAxOjQ0OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IEZpeCB1bnJlZiBvZiBidWZmZXIgdXNpbmcgdGhlIHdyb25nIGZ1bmN0aW9uLiAgRml4ZXMgIzUxMTkyMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IEZpeCB1bnJlZiBvZiBidWZmZXIgdXNpbmcgdGhlCgkgIHdyb25nIGZ1bmN0aW9uLiAgRml4ZXMgIzUxMTkyMAoKMjAwOC0wMS0yNCAxMzoyMzowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogTm93IHdlIGhhdmUgZnVsbCBoaWVyYXJjaHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgIE5vdyB3ZSBoYXZlIGZ1bGwgaGllcmFyY2h5LgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgIFJlZ2VuZXJhdGUuCgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgIEFkZCBkb2MgYmxvYiBmb3Igb2JqZWN0IGluc3RhbmNlLgoKMjAwOC0wMS0yNCAxMDoxNTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSB0aGlzIHRvbywgaG9wZWZ1bGx5IGZpeGVzIHRoZSBkb2NzIGJ1aWxkIChkb2VzIGF0IGxlYXN0IGZvciBtZSwgYWZ0ZXIgbWFrZSBjbGVhbiBpbiBkb2NzL3BsdWdpbnMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICBVcGRhdGUgdGhpcyB0b28sIGhvcGVmdWxseSBmaXhlcyB0aGUgZG9jcyBidWlsZCAoZG9lcyBhdCBsZWFzdAoJICBmb3IgbWUsIGFmdGVyIG1ha2UgY2xlYW4gaW4gZG9jcy9wbHVnaW5zKS4KCjIwMDgtMDEtMjQgMDg6MTI6MjkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBGaXggbmV0d29yayBuYW1lIGRlc2NyaXB0b3IsIHRoZSBsZW5ndGggaXMgYWN0dWFsbHkgdGhlIGRlc2NyaXB0b3IgbGVuZ3RoIG5vdCBzdG9yZWQgaW4gdGhlIGJ5dGUgYWYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgRml4IG5ldHdvcmsgbmFtZSBkZXNjcmlwdG9yLCB0aGUgbGVuZ3RoIGlzIGFjdHVhbGx5IHRoZQoJICBkZXNjcmlwdG9yIGxlbmd0aCBub3Qgc3RvcmVkIGluIHRoZSBieXRlIGFmdGVyLgoJICBGaXggYm91bmRzIGNoZWNraW5nIHRvIGJlIG1vcmUgY29ycmVjdC4KCjIwMDgtMDEtMjQgMDA6MjI6MTcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBQYXJzZSBhbmQgYWRkIHRvIHJlbGV2YW50IGJ1cyBtZXNzYWdlcyB0aGUgdGVycmVzdHJpYWwgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IgYW5kIHRoZSBsb2dpY2FsIGMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUGFyc2UgYW5kIGFkZCB0byByZWxldmFudCBidXMgbWVzc2FnZXMgdGhlIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5CgkgIHN5c3RlbSBkZXNjcmlwdG9yIGFuZCB0aGUgbG9naWNhbCBjaGFubmVsIGRlc2NyaXB0b3IuCgkgIERvIGJvdW5kcyBjaGVja2luZyBvbiBkYXRhIHN0b3JlZCBpbiBkZXNjcmlwdG9yIGJlZm9yZSB1c2UuCgoyMDA4LTAxLTIzIDE2OjM1OjM0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSAgQWRkIHNvbWUgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBzb21lIGRvY3VtZW50YXRpb24uCgoyMDA4LTAxLTIzIDE1OjUxOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgYWdhaW5zdCBsaWJkY2EgKHdpdGggdGhlIGxpYmR0cyBjb21wYXQgaGVhZGVyKS4gRml4ZXMgYnVnICM1MTE1MzAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgYWdhaW5zdCBsaWJkY2EgKHdpdGggdGhlIGxpYmR0cyBjb21wYXQKCSAgaGVhZGVyKS4gRml4ZXMgYnVnICM1MTE1MzAuCgkgIFNob3VsZCBwcm9iYWJseSBiZSBwb3J0ZWQgdG8gbGliZGNhIGFzIHNvbWUgcG9pbnRzIGFzIGl0J3MgdGhlCgkgIHN1Y2Nlc3NvciBvZiBsaWJkdHMuCgoyMDA4LTAxLTIzIDE0OjU5OjQ3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogRG8gbm90IGdvIG9uIGZvcmV2ZXIgaWYgcHJvYmxlbSB3aXRoIHJlYWRpbmcgZnJvbSBkdnIsIHJhdGhlciByZXR1cm4gTlVMTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgRG8gbm90IGdvIG9uIGZvcmV2ZXIgaWYgcHJvYmxlbSB3aXRoIHJlYWRpbmcgZnJvbSBkdnIsIHJhdGhlcgoJICByZXR1cm4gTlVMTC4KCSAgSGFuZGxlIHNvbWUgY2xlYW51cCBpc3N1ZXMgb2YgY2xvc2luZyBmaWxlZGVzY3JpcHRvcnMgd2hlbgoJICBmYWlsaW5nIHRvIHR1bmUgb3Igc2ltaWxhci4KCjIwMDgtMDEtMjMgMTM6MTg6MjQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3Npbmcgbm9faW5zdCBoZWFkZXIgZmlsZXMgdG8gTWFrZWZpbGUuYW0gc28gZGlzdGluZyBzdGlsbCB3b3JrcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIG1pc3Npbmcgbm9faW5zdCBoZWFkZXIgZmlsZXMgdG8gTWFrZWZpbGUuYW0gc28gZGlzdGluZyBzdGlsbCB3b3JrcwoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMDgtMDEtMjMgMTA6MzQ6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciB0aGUgeGluZ2hlYWRlciBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIHRoZSB4aW5naGVhZGVyIHBsdWdpbi4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94aW5nbXV4LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFNldCBlbGVtZW50IHN0YXRlIHRvIFBMQVlJTkcgYmVmb3JlIGRvaW5nIHNvbWV0aGluZyBlbHNlLgoKMjAwOC0wMS0yMyAxMDoxMTo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgc2ltcGxlIHVuaXQgdGVzdCBmb3IgdGhlIHhpbmdtdXggZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94aW5nbXV4LmM6IChzZXR1cF94aW5nbXV4KSwKCSAgKGNsZWFudXBfeGluZ211eCksIChHU1RfU1RBUlRfVEVTVCksICh4aW5nbXV4X3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3hpbmdtdXhfdGVzdGRhdGEuaDoKCSAgQWRkIHNpbXBsZSB1bml0IHRlc3QgZm9yIHRoZSB4aW5nbXV4IGVsZW1lbnQuCgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ2VuZXJhdGVfeGluZ19oZWFkZXIpLAoJICAoZ3N0X3hpbmdfbXV4X2ZpbmFsaXplKSwgKHhpbmdfcmVzZXQpOgoJICBGaXggYSBtZW1sZWFrIGFuZCBpbnZhbGlkIHNlZWsgdGFibGVzIHdpdGggbGVzcyB0aGFuIDEwMCBNUDMgZnJhbWVzLgoKMjAwOC0wMS0yMyAwOTo0OToyNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFBhcnNlZCB0aGUgc2F0ZWxsaXRlIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yIGFuZCBhZGRlZCBpbnRvIG5pdCdzIHRyYW5zcG9ydCBzdHJ1Y3R1cmUgZm9yIGRlbGl2ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBQYXJzZWQgdGhlIHNhdGVsbGl0ZSBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvciBhbmQKCSAgYWRkZWQgaW50byBuaXQncyB0cmFuc3BvcnQgc3RydWN0dXJlIGZvciBkZWxpdmVyeQoJICBvdmVyIHRoZSBidXMuCgoyMDA4LTAxLTIyIDIwOjI3OjI4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogUGFyc2VkIGFuZCBhZGRlZCBuZXR3b3JrIG5hbWUgdG8gdGhlIG5pdCBzdHJ1Y3R1cmUgc2VudCBpbiB0aGUgYnVzIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFBhcnNlZCBhbmQgYWRkZWQgbmV0d29yayBuYW1lIHRvIHRoZSBuaXQgc3RydWN0dXJlIHNlbnQKCSAgaW4gdGhlIGJ1cyBtZXNzYWdlLgoKMjAwOC0wMS0yMiAxOTo1OTozOSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IFJlbW92ZSBsZWFrcyBpbnRyb2R1Y2VkIGJ5IG5vdCBmcmVlaW5nIGdfc3RybmR1cCdkIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFJlbW92ZSBsZWFrcyBpbnRyb2R1Y2VkIGJ5IG5vdCBmcmVlaW5nIGdfc3RybmR1cCdkIHN0cmluZ3MuCgkgIEZpeCBzdGFydF90aW1lIGFuZCBkdXJhdGlvbiBwYXJzaW5nIGluIEVJVC4KCjIwMDgtMDEtMjIgMTg6NDA6MTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBBZGQgZXZlbnQgbmFtZSBhbmQgZGVzY3JpcHRpb24gdG8gdGhlIGVpdCBzdHJ1Y3R1cmUgc2VudCBpbiB0aGUgYnVzIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEFkZCBldmVudCBuYW1lIGFuZCBkZXNjcmlwdGlvbiB0byB0aGUgZWl0IHN0cnVjdHVyZQoJICBzZW50IGluIHRoZSBidXMgbWVzc2FnZS4KCjIwMDgtMDEtMjIgMTg6MDg6MDEgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogUmV2ZXJ0IGNvbnN0IHJlbW92YWwgZnJvbSBwcmV2aW91cyBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBSZXZlcnQgY29uc3QgcmVtb3ZhbCBmcm9tIHByZXZpb3VzIGNvbW1pdC4KCjIwMDgtMDEtMjIgMTg6MDQ6MDQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBBZGRlZCBkZXNjcmlwdG9yIHNlYXJjaGluZyBpbmZyYXN0cnVjdHVyZSBmcm9tIEZsdWVuZG8gVFMgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEFkZGVkIGRlc2NyaXB0b3Igc2VhcmNoaW5nIGluZnJhc3RydWN0dXJlIGZyb20gRmx1ZW5kbyBUUyBkZW11eGVyLgoJICBBZGQgY2hhbm5lbCBuYW1lIGFuZCBwcm92aWRlciB0byB0aGUgc2R0IHN0cnVjdHVyZSBzZW50IGluIHRoZQoJICBidXMgbWVzc2FnZS4KCjIwMDgtMDEtMjIgMTc6NDM6MzUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogUGFyc2UgTkFMIHVuaXRzIGluIGZvcndhcmQgbW9kZSB0byBtYXJrIGRlbHRhIHVuaXRzIGZsYWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMS0yMiAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fZm9yd2FyZCk6CgkgIFBhcnNlIE5BTCB1bml0cyBpbiBmb3J3YXJkIG1vZGUgdG8gbWFyayBkZWx0YSB1bml0cyBmbGFncy4KCjIwMDgtMDEtMjIgMTI6MDY6MTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFJlZ2VuZXJhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICBSZWdlbmVyYXRlLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10cmVtb3IueG1sOgoJICBBZGQgdm9yYmlzaWRlYyBha2EgdHJtb3IuCgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgQWRkIHNob3J0IGRlc2NyaXB0aW9uLgoKMjAwOC0wMS0yMiAwOTo1NToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBBZGQgbWlzc2luZyBlb2wgXAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIGVvbCBcCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgUGxhY2Ugb2JqZWN0IG5hbWVzIHRvIHN0YW5kYXJkIHNlY3Rpb25hcyBwbHVnaW4gZG9udCBkb2N1bWVudCB0aG9zZS4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgIHJlZ2VuZXJhdGUuCgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmg6CgkgIE1hcmsgcHJpdmF0ZSB2YXJzIGFuZCBhZGQgc2hvcnQgZGVzYy4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgIEFkZCBzaG9ydCBkZXNjLgoKMjAwOC0wMS0yMSAxNDozMzoxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgT25lIGxlc3MgdG8gZG8uIEl0cyAnbnV2JyBub3QgJ252dScuIEFzIGFuIGV4dHJhIGJvbnVzIEkgbWVudGlvbiB3aGF0IGl0IGFjdHVhbGx5IGlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIE9uZSBsZXNzIHRvIGRvLiBJdHMgJ251dicgbm90ICdudnUnLiBBcyBhbiBleHRyYSBib251cyBJIG1lbnRpb24gd2hhdAoJICBpdCBhY3R1YWxseSBpcy4KCjIwMDgtMDEtMjEgMTQ6MTk6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSBsaXN0cyBhZ2Fpbi4gVGhvc2Ugd2hvbGUgY2FuIGJ1aWxkIGl2b3JiaXNkZWMsIG15dGh0dnNyYywgbnZ1ZGVtdXggYW5kIHRoZW9yYWRlY2V4cCwgcGxlYXNlIGNvbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBVcGRhdGUgbGlzdHMgYWdhaW4uIFRob3NlIHdob2xlIGNhbiBidWlsZCBpdm9yYmlzZGVjLCBteXRodHZzcmMsCgkgIG52dWRlbXV4IGFuZCB0aGVvcmFkZWNleHAsIHBsZWFzZSBjb21taXQgdGhlIGluc3BlY3QvcGx1Z2luLXh4eC54bWwuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlLnhtbDoKCSAgUmVwbGFjZSB2aWRlb3BhcnNlIHdpdGggcmF3cGFyc2UuCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgSGVscCBndGstZG9jIHRvIHJlY29nbml6ZSB0aGUgb2JqZWN0IHN0cnVjdC4KCjIwMDgtMDEtMjEgMTI6NDI6MDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci4qOiBEb24ndCB1c2UgZ3RrLWRvYyBjb21tZW50IHN0eWxlIGZvciBub24gZ3RrLWRvYyBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIERvbid0IHVzZSBndGstZG9jIGNvbW1lbnQgc3R5bGUgZm9yIG5vbiBndGstZG9jIGNvbW1lbnRzLgoJICBNYWtlIG9uZSBzdGF0aWMgZnVuY3Rpb24gc3RhdGljLgoKMjAwOC0wMS0yMSAxMjoxOToxMyArMDAwMCAgR2FicmllbCBCb3V2aWduZSA8Ym91dmlnbmVAbXAzLXRlY2gub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLio6IFByb3ZpZGUgNDoyOjIgc3VwcG9ydAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEdhYnJpZWwgQm91dmlnbmUgPGJvdXZpZ25lIGF0IG1wMy10ZWNoIGRvdCBvcmc+CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2VfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfaW5pdCksIChnc3RfZGVpbnRlcmxhY2Vfc2V0X2NhcHMpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3RyYW5zZm9ybV9pcCksIChnc3RfZGVpbnRlcmxhY2Vfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBQcm92aWRlIDQ6MjoyIHN1cHBvcnQKCSAgQWxzbyBkZWludGVybGFjZSBjaHJvbWEgcGxhbmVzCgkgIEFsbG93IHRvIHR1cm4gb24vb2ZmIGRlaW50ZXJsYWNpbmcKCSAgQ2hhbmdlIG9mIGRlZmF1bHQgdGhyZXNob2xkcywgaW4gb3JkZXIgdG8gcHJvdmlkZSBhY2NlcHRhYmxlIHJlc3VsdHMKCSAgd2l0aCBkZWZhdWx0IHBhcmFtcy4gRml4ZXMgIzUxMTAwMS4KCjIwMDgtMDEtMjEgMTE6MDQ6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBVcGRhdGUgZG9jcyBmaWxlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgVXBkYXRlIGRvY3MgZmlsZSB0b28uCgoyMDA4LTAxLTIxIDExOjAxOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2R2ZHNwdS86IEZpeCB1cCBkdmRzcHUgZWxlbWVudCBhZ2FpbiBhZnRlciBwcmV2aW91cyBuYW1lc3BhY2UgbWFuZ2xpbmc6IHJlbmFtZSBkZWJ1ZyBjYXRlZ29yeSB2YXJpYWJsZSB0byBvbGQgbmFtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOiAoZ3N0X2R2ZF9zcHVfcmVuZGVyX3NwdSk6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzogKGR2ZHNwdV9kZWJ1ZyksIChHU1RfQ0FUX0RFRkFVTFQpLAoJICAoc3VicGljX3NpbmtfZmFjdG9yeSksIChnc3RfZHZkX3NwdV9iYXNlX2luaXQpLAoJICAoZ3N0X2R2ZF9zcHVfY2xhc3NfaW5pdCksIChnc3RfZHZkX3NwdV9pbml0KSwgKGdzdF9kdmRfc3B1X2NsZWFyKSwKCSAgKGdzdF9kdmRfc3B1X2Rpc3Bvc2UpLCAoZ3N0X2R2ZF9zcHVfZmluYWxpemUpLAoJICAoZ3N0X2R2ZF9zcHVfZmx1c2hfc3B1X2luZm8pLCAoZ3N0X2R2ZF9zcHVfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kdmRfc3B1X3NyY19ldmVudCksIChnc3RfZHZkX3NwdV92aWRlb19zZXRfY2FwcyksCgkgIChnc3RfZHZkX3NwdV92aWRlb19wcm94eV9nZXRjYXBzKSwgKGdzdF9kdmRfc3B1X3ZpZGVvX2V2ZW50KSwKCSAgKGdzdF9kdmRfc3B1X3ZpZGVvX2NoYWluKSwgKGR2c3B1X2hhbmRsZV92aWRfYnVmZmVyKSwKCSAgKGdzdF9kdmRfc3B1X3JlZHJhd19zdGlsbCksIChnc3RfZHZkX3NwdV9wYXJzZV9jaGdfY29sY29uKSwKCSAgKGdzdF9kdmRfc3B1X2V4ZWNfY21kX2JsayksIChnc3RfZHZkX3NwdV9maW5pc2hfc3B1X2J1ZiksCgkgIChnc3RfZHZkX3NwdV9zZXR1cF9jbWRfYmxrKSwgKGdzdF9kdmRfc3B1X2hhbmRsZV9uZXdfc3B1X2J1ZiksCgkgIChnc3RfZHZkX3NwdV9oYW5kbGVfZHZkX2V2ZW50KSwgKGdzdF9kdmRfc3B1X2FkdmFuY2Vfc3B1KSwKCSAgKGdzdF9kdmRfc3B1X2NoZWNrX3N0aWxsX3VwZGF0ZXMpLCAoZ3N0X2R2ZF9zcHVfc3VicGljX2NoYWluKSwKCSAgKGdzdF9kdmRfc3B1X3N1YnBpY19ldmVudCksIChnc3RfZHZkX3NwdV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2R2ZF9zcHVfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6IChHU1RfVFlQRV9EVkRfU1BVKToKCSAgRml4IHVwIGR2ZHNwdSBlbGVtZW50IGFnYWluIGFmdGVyIHByZXZpb3VzIG5hbWVzcGFjZSBtYW5nbGluZzoKCSAgcmVuYW1lIGRlYnVnIGNhdGVnb3J5IHZhcmlhYmxlIHRvIG9sZCBuYW1lLCBtYXRjaGluZyB0aGF0IGluCgkgIGR2ZHNwdS1yZW5kZXIuYywgdG8gYXZvaWQgdW5kZWZpbmVkIHN5bWJvbCBlcnJvciB3aGVuIGxvYWRpbmcKCSAgdGhlIG1vZHVsZTsgc2FtZSBmb3IgdGhlIF9yZW5kZXIgZnVuY3Rpb24gaW4gZHZkc3B1LXJlbmRlci5jOgoJICB3ZSBtdXN0IHVzZSB0aGUgc2FtZSBuYW1lIGluIGJvdGggLmMgZmlsZXM7IGNoYW5nZSBmdW5jdGlvbnMKCSAgbm93IGNhbGxlZCBnc3Rnc3RfKiBiYWNrIHRvIGdzdF8qIGFnYWluOyBhbmQgd2hpbGUgd2UncmUgYXQgaXQsCgkgIHdlIG1heSBhcyB3ZWxsIGNhbm9uaWNhbGlzZSB0aGUgbmFtZXNwYWNlIHByb3Blcmx5LCBuYW1lbHkgdG8KCSAgZ3N0X2R2ZF9zcHVfKi4KCjIwMDgtMDEtMjEgMTA6MDY6MDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENvaGVyZW50IG5hbWVzcGFjZSB1c2FnZSBhbmQgYWRkaW5nIHN5bWJvbGQgZnJvbSB1bnVzZWQgdG8gc2VjdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICBDb2hlcmVudCBuYW1lc3BhY2UgdXNhZ2UgYW5kIGFkZGluZyBzeW1ib2xkIGZyb20gdW51c2VkIHRvIHNlY3Rpb25zLgoKMjAwOC0wMS0yMSAwOTo1NzowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHN5bWJvbHMgZnJvbSAtdW51c2VkLnR4dCB0byB0aGUgcmlnaHQgcGxhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgc3ltYm9scyBmcm9tIC11bnVzZWQudHh0IHRvIHRoZSByaWdodCBwbGFjZS4KCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIENvaGVyZW50IG5hbWVzcGFjZSB1c2FnZS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRml4IGJyb2tlbiBYTUwgZnJhZ21lbnQgaW4gZG9jIHNuaXBwZXQgZXZlbiBtb3JlLgoKMjAwOC0wMS0yMSAwNzo1NDowMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBVcGRhdGUgaW5jbHVkZSBsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBpbmNsdWRlIGxpc3QuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgVXBkYXRlIHhtbCBpbmNsdWRlcy4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgUmVnZW5lcmF0ZSBmaWxlcy4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRml4IGJyb2tlbiBYTUwgZnJhZ21lbnQgaW4gZG9jIHNuaXBwZXQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIHRlc3QgYmluYXJ5IHRvIGlnbm9yZXMuCgoyMDA4LTAxLTIxIDA3OjIyOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiBGaXggdGhlIGJ1aWxkLiBHU1RfVElNRV9BUkdTIHRha2VzIGEgdGltZXN0YW1wIG5vdCBhIGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgRml4IHRoZSBidWlsZC4gR1NUX1RJTUVfQVJHUyB0YWtlcyBhIHRpbWVzdGFtcCBub3QgYSBidWZmZXIuCgoyMDA4LTAxLTIwIDA1OjA3OjUyICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogUmVwb3J0IHRoZSBzaXplIG9mIHRoZSBzdHJlYW0gYXMgdGhlIHRvdGFsIHNpemUgaW5zdGVhZCBvZiB0aGUgcmVtYWluaW5nIENvbnRlbnQtTGVuZ3RoLCB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKHNvdXBfZ290X2hlYWRlcnMpOgoJICBSZXBvcnQgdGhlIHNpemUgb2YgdGhlIHN0cmVhbSBhcyB0aGUgdG90YWwgc2l6ZSBpbnN0ZWFkIG9mCgkgIHRoZSByZW1haW5pbmcgQ29udGVudC1MZW5ndGgsIHdoaWNoIGlzIHdyb25nIGFmdGVyIGEgc2Vlay4KCjIwMDgtMDEtMTkgMTY6MTM6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiBIYW5kbGUgZnJhbWVzaXplcyA+IDQwOTYgd2l0aCBtdWx0aXBsZSBmcmFtZXMgcGVyIGJ1ZmZlciBjb3JyZWN0bHkgaW4gcHVsbCBtb2RlIGFuZCBoYW5kbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X3Jhd19wYXJzZV9sb29wKToKCSAgSGFuZGxlIGZyYW1lc2l6ZXMgPiA0MDk2IHdpdGggbXVsdGlwbGUgZnJhbWVzIHBlciBidWZmZXIgY29ycmVjdGx5CgkgIGluIHB1bGwgbW9kZSBhbmQgaGFuZGxlIHNob3J0IHJlYWRzIGJldHRlci4KCSAgQWxzbyBwdXQgb2Zmc2V0IGFuZCBvZmZzZXRfZW5kIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA4LTAxLTE5IDE1OjUzOjM4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogSW1wcm92ZSBoYW5kbGluZyBvZiB1bmtub3duIG9yIHRvbyBzbWFsbCB1cHN0cmVhbSBzaXplcyBpbiBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9sb29wKToKCSAgSW1wcm92ZSBoYW5kbGluZyBvZiB1bmtub3duIG9yIHRvbyBzbWFsbCB1cHN0cmVhbSBzaXplcyBpbgoJICBwdWxsIG1vZGUuCgoyMDA4LTAxLTE5IDE1OjM5OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYW5kIGZvciBoYW5kbGluZyBtdWx0aXBsZSBmcmFtZXMgcGVyIGJ1ZmZlciBpbiBwdWxsIG1vZGUgY2hvb3NlIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX2xvb3ApLAoJICAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdXNoKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYW5kIGZvciBoYW5kbGluZyBtdWx0aXBsZSBmcmFtZXMgcGVyIGJ1ZmZlcgoJICBpbiBwdWxsIG1vZGUgY2hvb3NlIHRoZSBuZXh0IHNtYWxsZXN0IG11bHRpcGx5IG9mIGZyYW1lc2l6ZSBiZWxvdwoJICA0MDk2IGluc3RlYWQgb2YgYWx3YXlzIGhhbmRsaW5nIDEwMjQgZnJhbWVzLgoKMjAwOC0wMS0xOSAxNDozNDo1MCArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IENvcnJlY3RseSBzZXQgZHVyYXRpb24gb24gdGhlIEdzdEJhc2VTcmMgc2VnbWVudCB3aGVuIHdlIGtub3cgaXQgdG8gZml4IGZhaWxpbmcgdGhlIGR1cmF0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChzb3VwX2dvdF9oZWFkZXJzKToKCSAgQ29ycmVjdGx5IHNldCBkdXJhdGlvbiBvbiB0aGUgR3N0QmFzZVNyYyBzZWdtZW50IHdoZW4gd2Uga25vdyBpdAoJICB0byBmaXggZmFpbGluZyB0aGUgZHVyYXRpb24gcXVlcnkuCgoyMDA4LTAxLTE4IDE3OjM3OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogU2V0IHRpbWVzdGFtcHMgbW9yZSBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9mbHVzaF9kZWNvZGUpLAoJICAoZ3N0X2gyNjRfcGFyc2VfcXVldWVfYnVmZmVyKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluX3JldmVyc2UpOgoJICBTZXQgdGltZXN0YW1wcyBtb3JlIGNvcnJlY3RseS4KCjIwMDgtMDEtMTggMTY6NTY6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS4qOiBJbXBsZW1lbnQgcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfcmF3X3BhcnNlX2luaXQpLCAoZ3N0X3Jhd19wYXJzZV9yZXNldCksCgkgIChnc3RfcmF3X3BhcnNlX3NldF9zcmNfY2FwcyksIChnc3RfcmF3X3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9yYXdfcGFyc2VfY2hhaW4pLCAoZ3N0X3Jhd19wYXJzZV9sb29wKSwKCSAgKGdzdF9yYXdfcGFyc2Vfc2lua19hY3RpdmF0ZSksIChnc3RfcmF3X3BhcnNlX3NpbmtfYWN0aXZhdGVwdWxsKSwKCSAgKGdzdF9yYXdfcGFyc2VfY2hhbmdlX3N0YXRlKSwgKGdzdF9yYXdfcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1c2gpLCAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9yYXdfcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF9yYXdfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSAgSW1wbGVtZW50IHB1bGwgbW9kZS4KCjIwMDgtMDEtMTggMTA6MDU6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IEZpeCBtZW1vcnkgbGVhayBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgRml4IG1lbW9yeSBsZWFrIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdC4KCjIwMDgtMDEtMTggMDk6NTQ6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBFbmFibGUgc3BlY3RydW0gdGVzdCBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEVuYWJsZSBzcGVjdHJ1bSB0ZXN0IGFnYWluLgoJICAqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOgoJICBBZGQgc3VwcHJlc3Npb25zIGZvciBhIHNpbmdsZXRvbiBpbiBHSU8gdGhhdCBjYW4ndCBiZSBmcmVlZC4KCjIwMDgtMDEtMTggMDg6NDk6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHNvbWUgbWluaW1hbCB0ZXN0cyBmb3IgdGhlIGVxdWFsaXplciBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6IChzZXR1cF9lcXVhbGl6ZXIpLAoJICAoY2xlYW51cF9lcXVhbGl6ZXIpLCAoR1NUX1NUQVJUX1RFU1QpLCAoZXF1YWxpemVyX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgc29tZSBtaW5pbWFsIHRlc3RzIGZvciB0aGUgZXF1YWxpemVyIHBsdWdpbi4KCjIwMDgtMDEtMTggMDc6MDM6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFVucGFyZW50IGFsbCBiYW5kcyBmcm9tIHRoZSBlcXVhbGl6ZXIgd2hlbiBmaW5hbGl6aW5nIHRvIHN0b3AgbGVha2luZwl0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmluYWxpemUpOgoJICBVbnBhcmVudCBhbGwgYmFuZHMgZnJvbSB0aGUgZXF1YWxpemVyIHdoZW4gZmluYWxpemluZyB0byBzdG9wCgkgIGxlYWtpbmcJdGhlbS4KCjIwMDgtMDEtMTggMDU6MzI6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBXZWJEQVYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKToKCSAgQWRkIHN1cHBvcnQgZm9yIFdlYkRBVi4KCjIwMDgtMDEtMTggMDU6MjQ6MzkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBBZGQgc3VwcG9ydCBmb3Igc2Vla2luZyB0byBzb3VwaHR0cHNyYy4gRml4ZXMgYnVnICM1MDIzMzUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pc19zZWVrYWJsZSksIChnc3Rfc291cGh0dHBfc3JjX2RvX3NlZWspLAoJICAoc291cF9hZGRfcmFuZ2VfaGVhZGVyKSwgKHNvdXBfZ290X2hlYWRlcnMpLCAoc291cF9nb3RfY2h1bmspOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBzZWVraW5nIHRvIHNvdXBodHRwc3JjLiBGaXhlcyBidWcgIzUwMjMzNS4KCjIwMDgtMDEtMTcgMTg6Mzk6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS4qOiBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2NsZWFyX3F1ZXVlcyksCgkgIChnc3RfaDI2NF9wYXJzZV9mbHVzaF9kZWNvZGUpLCAoZ3N0X2gyNjRfcGFyc2VfcXVldWVfYnVmZmVyKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2ZpbmRfc3RhcnRfcmV2ZXJzZSksCgkgIChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluKToKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgRml4IGJ1ZmZlciBzcGxpdHRpbmcgYXQgc3luYyBjb2RlcyBhbmQgbGVmdG92ZXIgYnVmZmVyIGFmdGVyCgkgIHNjYW5uaW5nLgoKMjAwOC0wMS0xNyAxNjoxMDo0OCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgRml4ZWQgYWRkaW5nIEVYSUYgdGFncyB0byBjb3JyZWN0IElGRC4gTWFwcGVkIHNvbWUgWE1QIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBhZGRpbmcgRVhJRiB0YWdzIHRvIGNvcnJlY3QgSUZELiBNYXBwZWQgc29tZSBYTVAgdGFncy4KCjIwMDgtMDEtMTYgMTg6Mjg6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS4qOiBBZGQgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0IGZvciBjb250YWluZXJzIHRoYXQgZG9uJ3Qga25vdyBob3cgdG8gcHJvcGVybHkgc2VuZCBkYXRhIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9uYWxfbGlzdF9uZXcpLAoJICAoZ3N0X25hbF9saXN0X3ByZXBlbmRfbGluayksIChnc3RfbmFsX2xpc3RfZGVsZXRlX2hlYWQpLAoJICAoZ3N0X25hbF9ic19pbml0KSwgKGdzdF9uYWxfYnNfcmVhZCksIChnc3RfbmFsX2JzX2VvcyksCgkgIChnc3RfbmFsX2JzX3JlYWRfdWUpLCAoZ3N0X2gyNjRfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfaDI2NF9wYXJzZV9pbml0KSwgKGdzdF9oMjY0X3BhcnNlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaDI2NF9wYXJzZV9nZXRfcHJvcGVydHkpLCAoZ3N0X2gyNjRfcGFyc2Vfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2NsZWFyX3F1ZXVlcyksIChnc3RfaDI2NF9wYXJzZV9jaGFpbl9mb3J3YXJkKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2ZsdXNoX2RlY29kZSksIChnc3RfaDI2NF9wYXJzZV9xdWV1ZV9idWZmZXIpLAoJICAoZ3N0X2gyNjRfcGFyc2VfZmluZF9zdGFydF9yZXZlcnNlKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2NoYWluX3JldmVyc2UpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X2gyNjRfcGFyc2Vfc2lua19ldmVudCksIChnc3RfaDI2NF9wYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIEFkZCByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQgZm9yIGNvbnRhaW5lcnMgdGhhdCBkb24ndCBrbm93IGhvdyB0bwoJICBwcm9wZXJseSBzZW5kIGRhdGEgYmV0d2VlbiBJLWZyYW1lcy4KCjIwMDgtMDEtMTYgMDU6NDA6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVwZGF0ZSBmb3IgQVBJIGNoYW5nZXMgaW4gR0lPIGFuZCByZXF1aXJlIEdJTyAyLjE1LjIgZm9yIHRoaXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFVwZGF0ZSBmb3IgQVBJIGNoYW5nZXMgaW4gR0lPIGFuZCByZXF1aXJlIEdJTyAyLjE1LjIgZm9yIHRoaXMuCgoyMDA4LTAxLTE0IDEwOjUyOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IEJpdHJhdGUgaXMgNCBiaXRzLCBub3QgOCBzbyBjaGVjayBmb3IgMHhlIGFzIG1heGltdW0gdmFsdWUgaW5zdGVhZCBvZiAweGZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnZW5lcmF0ZV94aW5nX2hlYWRlcik6CgkgIEJpdHJhdGUgaXMgNCBiaXRzLCBub3QgOCBzbyBjaGVjayBmb3IgMHhlIGFzIG1heGltdW0gdmFsdWUgaW5zdGVhZAoJICBvZiAweGZlLgoKMjAwOC0wMS0xNCAwOTowOTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiBSZW1vdmUgYWNjaWRlbnRpYWxseSBsZWZ0b3ZlciBkZWJ1ZyBwcmludGYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdlbmVyYXRlX3hpbmdfaGVhZGVyKToKCSAgUmVtb3ZlIGFjY2lkZW50aWFsbHkgbGVmdG92ZXIgZGVidWcgcHJpbnRmLgoKMjAwOC0wMS0xNCAwODo1NjozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiBDaG9vc2Ugc21hbGxlc3QgcG9zc2libGUgZnJhbWUgc2l6ZSBmb3IgdGhlIFhpbmcgaGVhZGVyLCBwcm9wZXJseSBzZXQgdGhlIHRpbWVzdGFtcCwgZHVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGhhc194aW5nX2hlYWRlciksCgkgIChnZW5lcmF0ZV94aW5nX2hlYWRlciksIChnc3RfeGluZ19tdXhfY2hhaW4pLAoJICAoZ3N0X3hpbmdfbXV4X3NpbmtfZXZlbnQpOgoJICBDaG9vc2Ugc21hbGxlc3QgcG9zc2libGUgZnJhbWUgc2l6ZSBmb3IgdGhlIFhpbmcgaGVhZGVyLCBwcm9wZXJseQoJICBzZXQgdGhlIHRpbWVzdGFtcCwgZHVyYXRpb24gYW5kIG9mZnNldCBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycywKCSAgb25seSBzZW5kIE5FV1NFR01FTlQgZXZlbnRzIGluIEJZVEUgZm9ybWF0IGRvd25zdHJlYW0gYW5kIGFsc28KCSAgZHJvcCBWQlJJIGhlYWRlcnMgaWYgYWxyZWFkeSBleGlzdGluZy4KCjIwMDgtMDEtMTIgMDk6MjI6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC94aW5naGVhZGVyLzogTWFqb3IgY2xlYW51cCBhbmQgcmV3cml0ZSBvZiB4aW5nbXV4IHdpdGggbGVzcyBidWdzIGFuZCBuZXcgZmVhdHVyZXM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC94aW5naGVhZGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKHBhcnNlX2hlYWRlciksIChnZXRfeGluZ19vZmZzZXQpLAoJICAoaGFzX3hpbmdfaGVhZGVyKSwgKGdlbmVyYXRlX3hpbmdfaGVhZGVyKSwKCSAgKGdzdF94aW5nX211eF9iYXNlX2luaXQpLCAoZ3N0X3hpbmdfbXV4X2ZpbmFsaXplKSwgKHhpbmdfcmVzZXQpLAoJICAoZ3N0X3hpbmdfbXV4X2luaXQpLCAoZ3N0X3hpbmdfbXV4X2NoYWluKSwKCSAgKGdzdF94aW5nX211eF9zaW5rX2V2ZW50KSwgKGdzdF94aW5nX211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgTWFqb3IgY2xlYW51cCBhbmQgcmV3cml0ZSBvZiB4aW5nbXV4IHdpdGggbGVzcyBidWdzIGFuZCBuZXcgZmVhdHVyZXM6CgkgIC0gSGFuZGxlcyBvdGhlciBsYXllcnMgYXMgMwoJICAtIFdyaXRlIFRPQwoKMjAwOC0wMS0xMSAxOToxNjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogSXQncyAiZW5kaWFubmVzcyIsIG5vdCAiZW5kaWFuZXNzIi4gRml4ZXMgdW5pdCB0ZXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfc3RlcmVvKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzogKGNyZWF0ZV90ZXN0X2J1ZmZlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzogKHRlc3RfYnVmZmVyX25ldyk6CgkgIEl0J3MgImVuZGlhbm5lc3MiLCBub3QgImVuZGlhbmVzcyIuIEZpeGVzIHVuaXQgdGVzdHMuCgoyMDA4LTAxLTExIDE3OjAyOjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJZiB3ZSBmaW5kIHRoZSBjYXBzIGluIHRoZSBjYWNoZSwgdXNlIGl0IHRvIHBhcnNlIHRoZSBjbG9jay1yYXRlIGluc3RlYWQgb2YgcmV0dXJuaW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgSWYgd2UgZmluZCB0aGUgY2FwcyBpbiB0aGUgY2FjaGUsIHVzZSBpdCB0byBwYXJzZSB0aGUgY2xvY2stcmF0ZSBpbnN0ZWFkCgkgIG9mIHJldHVybmluZyBhbiBlcnJvci4gRml4ZXMgYSBUT0RPIGFzIGZvdW5kIGJ5IFlvdW5lc3MgQWxhb3VpLgoKMjAwOC0wMS0xMSAxNjo0NTo1NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgZGlmZmVyZW50IHVzZXJfZGF0YSBmb3IgZWFjaCBvZiB0aGUgY2FsbGJhY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzIGRvdCBhbGFvdWkgYXQgY29sbGFib3JhIGRvdCBjbyBkb3QgdWs+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb2Nlc3NfcnRwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9zZW5kX3J0cF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfc2VuZF9ydGNwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9zeW5jX3J0Y3BfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X2Nsb2NrX3JhdGVfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3JlY29uc2lkZXJfY2FsbGJhY2spLCAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHNvdXJjZV9jbG9ja19yYXRlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIGRpZmZlcmVudCB1c2VyX2RhdGEgZm9yIGVhY2ggb2YgdGhlIGNhbGxiYWNrcy4KCSAgRml4ZXMgIzUwODU4Ny4KCjIwMDgtMDEtMTEgMTU6NTg6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzogU21hbGwgbWVhbmluZ2xlc3MgY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6IChtcGVnX3V0aWxfZmluZF9zdGFydF9jb2RlKToKCSAgU21hbGwgbWVhbmluZ2xlc3MgY2xlYW51cC4KCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogKGdzdF9tcGVndmlkZW9wYXJzZV9mbHVzaCksCgkgIChtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW5fZm9yd2FyZCksCgkgIChzY2FuX2tleWZyYW1lKSwgKGdzdF9tcGVndmlkZW9wYXJzZV9mbHVzaF9kZWNvZGUpLAoJICAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluX3JldmVyc2UpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluKSwKCSAgKG1wdl9wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJICBUcmFjayBzZWdtZW50IGV2ZW50cy4KCSAgRG8gdGhlIGZpcnN0IHBhcnQgb2YgcmV2ZXJzZSBwbGF5YmFjayBieSBzZW5kaW5nIGRhdGEgYmV0d2VlbiB0d28KCSAgSS1mcmFtZXMgdG8gdGhlIGRlY29kZXIuCgoyMDA4LTAxLTEwIDIwOjU3OjE3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBkb2N1bWVudGF0aW9uIGZvciBsYXRlc3QgcGF0Y2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIEZpeCBkb2N1bWVudGF0aW9uIGZvciBsYXRlc3QgcGF0Y2gKCjIwMDgtMDEtMTAgMTQ6MzQ6MzAgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxsb3cgcmVxdWVzdF9uZXdfcGFkIHdpdGggbmFtZSBOVUxMIChidWcgIzUwODUxNSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIEFsbG93IHJlcXVlc3RfbmV3X3BhZCB3aXRoIG5hbWUgTlVMTCAoYnVnICM1MDg1MTUpCgoyMDA4LTAxLTEwIDEyOjM2OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBhdXRvZ2VuLnNoOiBBZGQgLVduby1wb3J0YWJpbGl0eSB0byB0aGUgYXV0b21ha2UgcGFyYW1ldGVycyB0byBzdG9wIHdhcm5pbmdzIGFib3V0IEdOVSBtYWtlIGV4dGVuc2lvbnMgYmVpbmcgdXNlZC4gV2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgQWRkIC1Xbm8tcG9ydGFiaWxpdHkgdG8gdGhlIGF1dG9tYWtlIHBhcmFtZXRlcnMgdG8gc3RvcCB3YXJuaW5ncwoJICBhYm91dCBHTlUgbWFrZSBleHRlbnNpb25zIGJlaW5nIHVzZWQuIFdlIHJlcXVpcmUgR05VIG1ha2UgaW4gYWxtb3N0CgkgIGV2ZXJ5IE1ha2VmaWxlIGFueXdheS4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBTV9QUk9HX0NDX0NfTyBhcyBhIGNvbXBpbGVyIHRoYXQgYWNjZXB0cyBib3RoIC1jIGFuZCAtbwoJICBhdCB0aGUgc2FtZSB0aW1lIGlzIHJlcXVpcmVkIGZvciBwZXIgdGFyZ2V0IGZsYWdzLgoKMjAwOC0wMS0wOSAxNDozOTo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogRG9uJ3Qgc2V0IGZpeGVkIGNhcHMsIHdlIGNhbiBiYXNpY2FsbHkgZG8gZXZlcnl0aGluZyB0aGUgdXBzdGVhbSBwZWVyIHBhZCBjYW4gcmVuZWdvdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIERvbid0IHNldCBmaXhlZCBjYXBzLCB3ZSBjYW4gYmFzaWNhbGx5IGRvIGV2ZXJ5dGhpbmcgdGhlIHVwc3RlYW0gcGVlcgoJICBwYWQgY2FuIHJlbmVnb3RpYXRlIHRvLiBGaXhlcyAjNTA3OTQwLgoKMjAwOC0wMS0wOSAxMzo1MzoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFrZWZpbGUuYW06IEluY2x1ZGUgbGNvdi5tYWsgdG8gYWxsb3cgYnVpbGRpbmcgY292ZXJhZ2UgcmVwb3J0cy4gQWRkIHRvcC1sZXZlbCBjaGVjayB0YXJnZXRzIHNpbWlsYXIgdG8gb3RoZXIgZ3N0IHBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBJbmNsdWRlIGxjb3YubWFrIHRvIGFsbG93IGJ1aWxkaW5nIGNvdmVyYWdlIHJlcG9ydHMuIEFkZCB0b3AtbGV2ZWwKCSAgY2hlY2sgdGFyZ2V0cyBzaW1pbGFyIHRvIG90aGVyIGdzdCBwYWNrYWdlcy4KCjIwMDgtMDEtMDYgMjI6MzU6MzEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOiBBZGQgR1NUX0NGTEFHUy4gIE90aGVyd2lzZSB3ZSBkb24ndCBnZXQgLVdhbGwgLVdlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX0NGTEFHUy4gIE90aGVyd2lzZSB3ZSBkb24ndCBnZXQgLVdhbGwgLVdlcnJvci4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIEdldHRpbmcgdGlyZWQgb2YgZGlyZWN0ZmIncyBjaGF0dGVyLiAgUXVpZXQgaXQuCgoyMDA4LTAxLTA2IDIyOjAwOjMyICswMDAwICBTZWFuIEQnRXBhZ25pZXIgPHNlYW5AZGVwYWduaWVyLmNvbT4KCgkgIEFkZCBmYmRldi1iYXNlZCB2aWRlbyBzaW5rLiAgTGludXgtb25seS4gIFNlZSBidWcgIzUwNjU0OS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWFuIEQnRXBhZ25pZXIgPHNlYW5AZGVwYWduaWVyLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkgICogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5oOgoJICBBZGQgZmJkZXYtYmFzZWQgdmlkZW8gc2luay4gIExpbnV4LW9ubHkuICBTZWUgYnVnICM1MDY1NDkuCgoyMDA4LTAxLTA2IDE2OjM2OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVcGRhdGUgdG8gR01lbW9yeUlucHV0U3RyZWFtIEFQSSBjaGFuZ2VzIGluIEdMaWIgU1ZOIGFuZCByZXF1aXJlIGdpby0yLjAgPj0gMi4xNS4xIGZvciB0aGlzLiBGaXhlcyBidWcgIzUwNzU4NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5jOiAoZ3N0X2dpb19iYXNlX3NyY19nZXRfc2l6ZSk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOiAoZnJlZV9pbnB1dCksIChHU1RfU1RBUlRfVEVTVCk6CgkgIFVwZGF0ZSB0byBHTWVtb3J5SW5wdXRTdHJlYW0gQVBJIGNoYW5nZXMgaW4gR0xpYiBTVk4gYW5kIHJlcXVpcmUKCSAgZ2lvLTIuMCA+PSAyLjE1LjEgZm9yIHRoaXMuIEZpeGVzIGJ1ZyAjNTA3NTg0LgoJICBXZSBjYW4gYWxzbyByZXBvcnQgdGhlIGR1cmF0aW9uIGZvciBldmVyeSBHU2Vla2FibGUsIG5vdCBvbmx5CgkgIEdGaWxlSW5wdXRTdHJlYW0gYW5kIEdNZW1vcnlJbnB1dFN0cmVhbS4KCjIwMDgtMDEtMDYgMDM6MDE6MzkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IEhhbmRsZSB4b3ZlcmxheSBleHBvc2VzIGNvcnJlY3RseS4gIFRoaXMgbWVhbnMgZ2xpbWFnZXNpbmsgd29ya3MgY29ycmVjdGx5IG1vc3Qgb2YgdGhlIHRpbWUgaW4gdG90ZW0gKGZ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIEhhbmRsZSB4b3ZlcmxheSBleHBvc2VzIGNvcnJlY3RseS4gIFRoaXMgbWVhbnMgZ2xpbWFnZXNpbmsgd29ya3MKCSAgY29ycmVjdGx5IG1vc3Qgb2YgdGhlIHRpbWUgaW4gdG90ZW0gKGZ1bGxzY3JlZW5pbmcgYmVpbmcgYW4KCSAgZXhlY3B0aW9uKS4gIERvZXNuJ3QgaGFuZGxlIGV4cG9zZSBldmVudHMgZGlyZWN0bHkgdG8gdGhlIEdMCgkgIHdpbmRvdy4KCjIwMDgtMDEtMDYgMDE6MTk6NDggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFJlZW5hYmxlIHZpZGVvL3gtcmF3LXJnYiBhbmQgeC1yYXcteXV2IGZvciBnbGltYWdlc2luay4gIEVuYWJsZSB2Ymxhbmsgc3luY2hyb25pemF0aW9uLiAgUmVtb3ZlIHVudXNlZCBjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBSZWVuYWJsZSB2aWRlby94LXJhdy1yZ2IgYW5kIHgtcmF3LXl1diBmb3IgZ2xpbWFnZXNpbmsuICBFbmFibGUKCSAgdmJsYW5rIHN5bmNocm9uaXphdGlvbi4gIFJlbW92ZSB1bnVzZWQgY29kZS4KCjIwMDgtMDEtMDQgMTg6NDc6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRG9uJ3QgdW5yZWYgdGhlIHBvcHBlZCBidWZmZXIgd2hlbiB3ZSBkb24ndCBoYXZlIG93bmVyc2hpcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIERvbid0IHVucmVmIHRoZSBwb3BwZWQgYnVmZmVyIHdoZW4gd2UgZG9uJ3QgaGF2ZSBvd25lcnNoaXAuCgkgIEZpeGVzICM1MDcwMjAuCgoyMDA4LTAxLTAzIDIzOjM1OjUyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogUmVtb3ZlIG5vIGxvbmdlciBuZWVkZWQgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwYXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdGluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdHN0cmVhbWluZm8uaDoKCSAgUmVtb3ZlIG5vIGxvbmdlciBuZWVkZWQgZmlsZXMuCgoyMDA4LTAxLTAyIDIwOjQ5OjEyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIHZjZHNyYyBpbiBzdGF0ZXMgdGVzdCBiZWNhdXNlIGl0IHRha2VzIHRvbyBtdWNoIHRpbWUgdG8gZ2V0IHRvIFBMQVlJTkcgaWYgaXQgY2FuIGZpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSB2Y2RzcmMgaW4gc3RhdGVzIHRlc3QgYmVjYXVzZSBpdCB0YWtlcyB0b28gbXVjaCB0aW1lCgkgIHRvIGdldCB0byBQTEFZSU5HIGlmIGl0IGNhbiBmaW5kIGEgZGV2aWNlLgoKMjAwOC0wMS0wMSAwMToxODoxOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IERvbid0IGVtaXQgc2lnbml0dXJlIHdoZW4gZ29pbmcgdG8gUkVBRFksIGJlY2F1c2UgaXQgbWlnaHQgbm90IGJlIHJlYWR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkgIERvbid0IGVtaXQgc2lnbml0dXJlIHdoZW4gZ29pbmcgdG8gUkVBRFksIGJlY2F1c2UgaXQgbWlnaHQKCSAgbm90IGJlIHJlYWR5LgoJICAqIGV4dC9uYXMvbmFzc2luay5jOgoJICBSZW1vdmUgdXNlbGVzcyBjYWxsIHRoYXQgc2xlZXBzIGZvciA1IHNlY29uZHMuICBZdXAsIGl0IGNhbGxzCgkgIHNsZWVwKDEpIDUgdGltZXMuICBHbyBOQVMuCgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgSW5pdGlhbGl6ZSBvdXIgZGVidWcgY2F0ZWdvcmllcyBwcm9wZXJseS4KCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgRG9uJ3QgcmVnaXN0ZXIgZWxlbWVudCBkZXRhaWxzIGZvciBhIG5vbi1lbGVtZW50LiAgQmUgbXVjaCBtb3JlCgkgIHJ1ZGUgd2hlbiBzdWJjbGFzcyBkb2Vzbid0IHNldCBhIHBhZCB0ZW1wbGF0ZSAoYXNzZXJ0ISkuICBEb24ndAoJICB1bnJlZiB0aGUgcGFkIHRlbXBsYXRlOyB3ZSBkb24ndCBvd24gaXQuCgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICBJbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5LgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBJZ25vcmUgbmFzc2luayBlbGVtZW50IGluIHRlc3RzIGJlY2F1c2UgaXQgaGFzIHVuYXZvaWRhYmxlCgkgIGxvbmcgdGltZW91dHMuCgoyMDA3LTEyLTMxIDEzOjEyOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IERvbid0IGNsZWFuIHVwIHBhZHMgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGNsZWFuIHVwIHBhZHMgd2hlbiBnb2luZyB0byBQQVVTRUQuCgoyMDA3LTEyLTMxIDA3OjU1OjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFN3aXRjaCB0byB1c2luZyBwa2djb25maWcgdG8gZGV0ZWN0IGxpYkdMLiAgU2luY2Ugd2UgdXNlIHJlY2VudCBmZWF0dXJlcyBhZGRlZCB0byBNZXNhLCB0aGVyZSdzIG5vIHBvaW50IGluIGFkZGluZyBhIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgU3dpdGNoIHRvIHVzaW5nIHBrZ2NvbmZpZyB0byBkZXRlY3QgbGliR0wuICBTaW5jZSB3ZSB1c2UKCSAgcmVjZW50IGZlYXR1cmVzIGFkZGVkIHRvIE1lc2EsIHRoZXJlJ3Mgbm8gcG9pbnQgaW4gYWRkaW5nCgkgIGEgY2hlY2sgZm9yIHByZS1wa2djb25maWcgdmVyc2lvbnMuCgoyMDA3LTEyLTI5IDE3OjMxOjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBGaXggJ3h5eiBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQgYnkgYnJva2VuIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgbWFjcm8gaW4gR0xpYi0yLjE1LnggYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKGdzdF9sYWRzcGFfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19zaG93X2ZyYW1lKToKCSAgKiBnc3QvbXZlL2dzdG12ZW11eC5jOiAoZ3N0X212ZV9tdXhfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzogKGR2Yl9iYXNlX2Jpbl9jbGFzc19pbml0KToKCSAgRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkCgkgIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIG1hY3JvIGluIEdMaWItMi4xNS54IGFuZCBkb24ndAoJICBhYm9ydCgpIGluIGFueSBjYXNlIGJ1dCBwcm9wZXJseSByZXBvcnQgdGhlIGVycm9yLgoKMjAwNy0xMi0yOSAxNzoyOToxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXBkYXRlIHRvIGxhdGVzdCBBUEkgY2hhbmdlcyBpbiBHTGliL0dJTyBhbmQgcmVxdWlyZSBhdCBsZWFzdCBnaW8tMi4wIDIuMTUuMCBmb3IgdGhpcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6CgkgICogZXh0L2dpby9nc3RnaW8uaDoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmM6IChnc3RfZ2lvX2Jhc2Vfc3JjX2dldF9zaXplKToKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19zdGFydCk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5oOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzoKCSAgVXBkYXRlIHRvIGxhdGVzdCBBUEkgY2hhbmdlcyBpbiBHTGliL0dJTyBhbmQgcmVxdWlyZSBhdCBsZWFzdAoJICBnaW8tMi4wIDIuMTUuMCBmb3IgdGhpcy4KCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX1BMVUdJTl9MREZMQUdTIHRvIExERkxBR1MuCgoyMDA3LTEyLTI5IDAwOjM3OjQxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIE1ham9yIGNsZWFudXAgb2YgY29kZS4gIENvbnZlcnQgZ2x1cGxvYWQgdG8gQmFzZVRyYW5zZm9ybS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGNvbnZlcnQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBNYWpvciBjbGVhbnVwIG9mIGNvZGUuICBDb252ZXJ0IGdsdXBsb2FkIHRvIEJhc2VUcmFuc2Zvcm0uCgkgIEhhbmRsZSBjYXBzIG5lZ290aWF0aW9uIG1vc3RseSBjb3JyZWN0bHkuICBSZWVuYWJsZSBpbiBidWlsZC4KCjIwMDctMTItMjggMTE6NDQ6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc291cC86IFVzZSBnc3RfdGFnX2ZyZWVmb3JtX3N0cmluZ190b191dGY4KCkgYW5kIHBvc3QgcmFkaW8gc3RhdGlvbiBpbmZvIGFzIHRhZ3Mgb24gdGhlIGJ1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5pY29kaWZ5KSwgKHNvdXBfZ290X2hlYWRlcnMpOgoJICBVc2UgZ3N0X3RhZ19mcmVlZm9ybV9zdHJpbmdfdG9fdXRmOCgpIGFuZCBwb3N0IHJhZGlvIHN0YXRpb24KCSAgaW5mbyBhcyB0YWdzIG9uIHRoZSBidXMuCgoyMDA3LTEyLTI3IDA1OjI2OjA1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBDaGFuZ2UgZ2xpbWFnZXNpbmsgb3ZlciB0byB1c2luZyBHTCBidWZmZXJzLiAgVGhpcyBicmVha3MgZ2xpbWFnZXNpbmsgZm9yIG5vcm1hbCBvcGVyYXRpb24sIGJ1dCBzaG91bGQgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBDaGFuZ2UgZ2xpbWFnZXNpbmsgb3ZlciB0byB1c2luZyBHTCBidWZmZXJzLiAgVGhpcyBicmVha3MKCSAgZ2xpbWFnZXNpbmsgZm9yIG5vcm1hbCBvcGVyYXRpb24sIGJ1dCBzaG91bGQgYmUgZml4ZWQgc29vbi4KCjIwMDctMTItMjcgMDQ6MTU6MjYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IENvbnZlcnQgZ2xkb3dubG9hZCB0byBCYXNlVHJhbnNmb3JtLiAgTWFrZSBnbGZpbHRlcmV4YW1wbGUgdmlzdWFsbHkgaW50ZXJlc3RpbmcuICBBZGQgc3VwcG9ydCBmb3IgdmFyaW91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgQ29udmVydCBnbGRvd25sb2FkIHRvIEJhc2VUcmFuc2Zvcm0uICBNYWtlIGdsZmlsdGVyZXhhbXBsZQoJICB2aXN1YWxseSBpbnRlcmVzdGluZy4gIEFkZCBzdXBwb3J0IGZvciB2YXJpb3VzIGZvcm1hdHMgdG8KCSAgZG93bmxvYWRpbmcuICBGaXggYSBmZXcgcGxhY2VzIHdoZXJlIHdlIGxlYWsgR0wgc3RhdGUgdG8KCSAgb3RoZXIgZWxlbWVudHMgKGJhZCwgYnV0IGhhcmQgdG8gcHJldmVudCkuCgoyMDA3LTEyLTI3IDAwOjUyOjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBSZW1vdmUgY29kZSB0aGF0IGhhbmRsZXMgbm9uLXRleHR1cmUgYnVmZmVycy4gIEFkZCBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvQlVHUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGNvbnZlcnQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBSZW1vdmUgY29kZSB0aGF0IGhhbmRsZXMgbm9uLXRleHR1cmUgYnVmZmVycy4gIEFkZCBhCgkgIEdzdEdMQnVmZmVyRm9ybWF0IHR5cGUgdGhhdCBjb3JyZXNwb25kcyB0byBob3cgdG8gdXNlIHRoZQoJICB0ZXh0dXJlLCBub3QgdGhlIG9yaWdpbmFsIHZpZGVvIGZvcm1hdC4gIENvbnZlcnQgZ3N0ZmxmaWx0ZXIuYwoJICBpbnRvIGEgYmFzZSBjbGFzcywgYWRkIGdsZmlsdGVyZXhhbXBsZSBhbmQgZ2xjb252ZXJ0IGVsZW1lbnRzLgoJICAqIHN5cy9nbHNpbmsvY29sb3JfbWF0cml4LmM6CgkgIE1pbm9yIHJhbWJsaW5ncyBhYm91dCBjb2xvciBjb252ZXJzaW9uIG1hdHJpY2VzLgoKMjAwNy0xMi0yNSAwMDozNDoxNCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQWRkIGdsdGVzdHNyYyBlbGVtZW50LCBhIGR1cGxpY2F0ZSBvZiB2aWRlb3Rlc3RzcmMgdGhhdCB1c2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgQWRkIGdsdGVzdHNyYyBlbGVtZW50LCBhIGR1cGxpY2F0ZSBvZiB2aWRlb3Rlc3RzcmMgdGhhdCB1c2VzCgkgIEdMIHJlbmRlcmluZyB0byBjcmVhdGUgaW1hZ2VzLiAgTW9yZSBjbGVhbnVwLgoKMjAwNy0xMi0yNCAyMToyNjo0MCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQ2xlYW4gdXAgY29kZS4gIEZpeCBhIGZldyBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgQ2xlYW4gdXAgY29kZS4gIEZpeCBhIGZldyBsZWFrcy4KCjIwMDctMTItMjQgMjE6MDQ6NDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFJlbmFtZSBnbHZpZGVvLltjaF0gdG8gZ3N0Z2xkaXNwbGF5LltjaF0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOgoJICBSZW5hbWUgZ2x2aWRlby5bY2hdIHRvIGdzdGdsZGlzcGxheS5bY2hdLgoKMjAwNy0xMi0yNCAyMDo1Mzo1NiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogUmV3cml0ZSBhIGJ1bmNoIG9mIGNvZGUgdG8gdXNlIHRleHR1cmVzIGFzIHRoZSBpbnRlcm1lZGlhdGUgaW5zdGVhZCBvZiByZW5kZXJidWZmZXJzLiAgdXBsb2FkLCBkb3dubG9hZCwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIFJld3JpdGUgYSBidW5jaCBvZiBjb2RlIHRvIHVzZSB0ZXh0dXJlcyBhcyB0aGUgaW50ZXJtZWRpYXRlCgkgIGluc3RlYWQgb2YgcmVuZGVyYnVmZmVycy4gIHVwbG9hZCwgZG93bmxvYWQsIGZpbHRlcmluZyBhbGwKCSAgd29yay4KCjIwMDctMTItMjMgMjI6MDQ6MDAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvOiBSZW1vdmUgdmlkZW9wYXJzZSBlbGVtZW50LCBiZWNhdXNlIGl0IHdhcyBtb3ZlZCB0byBnc3QvcmF3cGFyc2UvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3BhcnNlL1JFQURNRToKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIFJlbW92ZSB2aWRlb3BhcnNlIGVsZW1lbnQsIGJlY2F1c2UgaXQgd2FzIG1vdmVkIHRvIGdzdC9yYXdwYXJzZS8KCjIwMDctMTItMjMgMTA6MzQ6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiBBbHdheXMgc2VlayBvbiBmcmFtZSBib3VuZGFyaWVzLCB3aWxsIHByb2R1Y2Ugbm90aGluZyB1c2VmdWwgb3RoZXJ3aXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2Vfc3JjX2V2ZW50KToKCSAgQWx3YXlzIHNlZWsgb24gZnJhbWUgYm91bmRhcmllcywgd2lsbCBwcm9kdWNlIG5vdGhpbmcgdXNlZnVsCgkgIG90aGVyd2lzZS4KCjIwMDctMTItMjMgMDY6MjI6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBuZXcgcGx1Z2luIHJhd3BhcnNlIHRoYXQgY29udGFpbnMgYSBiYXNlIGNsYXNzIGZvciByYXcgZGF0YSBwYXJzZXJzIGFuZCB0aGUgdHdvIGVsZW1lbnRzIGF1ZGlvcGFyc2UgYW5kIHZpZGVvcGFycy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9SRUFETUU6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzogKGdzdF9hdWRpb19wYXJzZV9mb3JtYXRfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX3BhcnNlX2VuZGlhbm5lc3NfZ2V0X3R5cGUpLCAoZ3N0X2F1ZGlvX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fcGFyc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFyc2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb19wYXJzZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3BhcnNlX3VwZGF0ZV9mcmFtZV9zaXplKSwgKGdzdF9hdWRpb19wYXJzZV9nZXRfY2Fwcyk6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuaDoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9yYXdfcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfcmF3X3BhcnNlX2luaXQpLAoJICAoZ3N0X3Jhd19wYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF9yYXdfcGFyc2VfY2xhc3Nfc2V0X3NyY19wYWRfdGVtcGxhdGUpLAoJICAoZ3N0X3Jhd19wYXJzZV9jbGFzc19zZXRfbXVsdGlwbGVfZnJhbWVzX3Blcl9idWZmZXIpLAoJICAoZ3N0X3Jhd19wYXJzZV9yZXNldCksIChnc3RfcmF3X3BhcnNlX2NoYWluKSwKCSAgKGdzdF9yYXdfcGFyc2VfY29udmVydCksIChnc3RfcmF3X3BhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3Jhd19wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X3Jhd19wYXJzZV9zcmNfcXVlcnlfdHlwZSksCgkgIChnc3RfcmF3X3BhcnNlX3NyY19xdWVyeSksIChnc3RfcmF3X3BhcnNlX3NldF9mcmFtZXNpemUpLAoJICAoZ3N0X3Jhd19wYXJzZV9zZXRfZnBzKSwgKGdzdF9yYXdfcGFyc2VfZ2V0X2ZwcyksCgkgIChnc3RfcmF3X3BhcnNlX2lzX25lZ290aWF0ZWQpOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2VfZm9ybWF0X2dldF90eXBlKSwKCSAgKGdzdF92aWRlb19wYXJzZV9lbmRpYW5uZXNzX2dldF90eXBlKSwgKGdzdF92aWRlb19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX3BhcnNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fcGFyc2VfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19wYXJzZV9mb3JtYXRfdG9fZm91cmNjKSwKCSAgKGdzdF92aWRlb19wYXJzZV91cGRhdGVfZnJhbWVfc2l6ZSksIChnc3RfdmlkZW9fcGFyc2VfZ2V0X2NhcHMpOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkgICogZ3N0L3Jhd3BhcnNlL3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgbmV3IHBsdWdpbiByYXdwYXJzZSB0aGF0IGNvbnRhaW5zIGEgYmFzZSBjbGFzcyBmb3IgcmF3IGRhdGEKCSAgcGFyc2VycyBhbmQgdGhlIHR3byBlbGVtZW50cyBhdWRpb3BhcnNlIGFuZCB2aWRlb3BhcnNlIHRoYXQgY2FuCgkgIGJlIHVzZWQgdG8gcGFyc2UgcmF3IGF1ZGlvIGFuZCB2aWRlby4gVGhlc2UgYXJlIGluc3BpcmVkIGJ5IHRoZQoJICBvbGQgdmlkZW9wYXJzZSBlbGVtZW50IHdoaWNoIHRoZSBuZXcgcmF3cGFyc2UgcGx1Z2luIGRlcHJlY2F0ZXMuCgoyMDA3LTEyLTIyIDA1OjAxOjU4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBBIGNhcmVmdWwgcmVhZCBvZiB0aGUgZG9jdW1lbnRhdGlvbiByZXZlYWxzIHRoYXQgSSBjYW4ndCB1c2UgcmVuZGVyYnVmZmVycyBhcyB0ZXh0dXJlcy4gIER1aC4gIENoZWNrcG9pbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgQSBjYXJlZnVsIHJlYWQgb2YgdGhlIGRvY3VtZW50YXRpb24gcmV2ZWFscyB0aGF0IEkgY2FuJ3QgdXNlCgkgIHJlbmRlcmJ1ZmZlcnMgYXMgdGV4dHVyZXMuICBEdWguICBDaGVja3BvaW50IGJlY2F1c2UgSSdtIGFib3V0CgkgIHRvIHJld3JpdGUgYSBidW5jaCBvZiBjb2RlLgoKMjAwNy0xMi0yMSAxOTowMTowMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJICBTb21lIElQVEMgdGFncyBtYXBwZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIElQVEMgdGFncyBtYXBwZWQuCgoyMDA3LTEyLTIxIDA5OjQ1OjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFjb21tb24uYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSAgUmVtb3ZlZCBnc3RtZXRhZGF0YWNvbW1vbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZWQgZ3N0bWV0YWRhdGFjb21tb24uCgoyMDA3LTEyLTIxIDAwOjAzOjExICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBTd2l0Y2ggdG8gdXNpbmcgZnJhbWVidWZmZXJfb2JqZWN0cyBpbnN0ZWFkIG9mIEdMWFBpeG1hcHMsIGJlY2F1c2UgdGhhdCdzIHdoYXQgbXkgZHJpdmVyIHN1cHBvcnRzLiAgUmVtby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBTd2l0Y2ggdG8gdXNpbmcgZnJhbWVidWZmZXJfb2JqZWN0cyBpbnN0ZWFkIG9mIEdMWFBpeG1hcHMsCgkgIGJlY2F1c2UgdGhhdCdzIHdoYXQgbXkgZHJpdmVyIHN1cHBvcnRzLiAgUmVtb3ZlIEdMRHJhd2FibGUsCgkgIHNpbmNlIEdzdEdMRGlzcGxheSBub3cgaGFzIGEgZGVmYXVsdCBkcmF3YWJsZSBhbmQgY29udGV4dC4KCjIwMDctMTItMjAgMTc6MDc6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBJZ25vcmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci8uY3ZzaWdub3JlOgoJICAqIGdzdC9zd2l0Y2gvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA3LTEyLTE5IDA5OjUwOjQ3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFjb21tb24uYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L21ldGFkYXRhX2VkaXRvci5jOgoJICBOZXcgYmFzZSBjbGFzcyBmb3IgbWV0YWRhdGEgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOZXcgYmFzZSBjbGFzcyBmb3IgbWV0YWRhdGEgZWxlbWVudHMuCgoyMDA3LTEyLTE4IDE2OjA4OjEzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoLzogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZW51bSwgZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpIChnc3Rfc2VsZWN0b3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTggIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2gtbWFyc2hhbC5saXN0OgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3JDbGFzcyk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZW51bSwgZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KQoJICAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9ydW5uaW5nX3RpbWUpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQsIGdzdF9zZWdtZW50X2dldF90aW1lc3RhbXApCgkgIChnc3Rfc2VnbWVudF9zZXRfc3RvcCwgZ3N0X3NlZ21lbnRfc2V0X3N0YXJ0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCwgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jaykKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfcHVzaF9wZW5kaW5nX3N0b3ApCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3N3aXRjaCk6IENoYW5nZSBzbyB0aGF0IHRoZSBzaWduYWxzIGFuZAoJICBwcm9wZXJ0aWVzIGRlYWwgaW4gcnVubmluZyB0aW1lLCBub3QgYnVmZmVyIHRpbWUuIERvY3VtZW50IHRoZQoJICBzaWduYWxzIG1vcmUuIENoYW5nZSB1aW50NjQgaW4gQVBJIHRvIGludDY0LCB0byByZWZsZWN0IHdoYXQncyBpbgoJICBHc3RTZWdtZW50LgoKMjAwNy0xMi0xOCAwOToyNjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBJbmNsdWRlIGNvbW1vbi93aW4zMi5tYWsgZm9yIENSTEYgY2hlY2sgb2Ygd2luMzIgcHJvamVjdCBmaWxlcyAoc2VlICMzOTM2MjYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgSW5jbHVkZSBjb21tb24vd2luMzIubWFrIGZvciBDUkxGIGNoZWNrIG9mIHdpbjMyIHByb2plY3QKCSAgZmlsZXMgKHNlZSAjMzkzNjI2KS4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIHRvIC1iYXNlIENWUyBmb3IgbGliZ3N0dmlkZW8gYWRkaXRpb25zIGluCgkgIGdsaW1hZ2VzaW5rLiBEaXNhYmxlIGdsaW1hZ2VzaW5rIHVudGlsIHRoZSBtaXNzaW5nIGZpbGVzIGdldAoJICBjaGVja2VkIGluLgoKMjAwNy0xMi0xOCAwMToyNTo1OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogVXNlIG5ldyBHc3RWaWRlb0Zvcm1hdCBjaGVja2VkIGludG8gLWJhc2UuICBBZGQgbmV3IGdsdXBsb2FkIGVsZW1lbnQgdG8gdXBsb2FkIHJhdyB2aWRlbyBpbnRvIGEgR0xYUGl4YnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBVc2UgbmV3IEdzdFZpZGVvRm9ybWF0IGNoZWNrZWQgaW50byAtYmFzZS4gIEFkZCBuZXcgZ2x1cGxvYWQKCSAgZWxlbWVudCB0byB1cGxvYWQgcmF3IHZpZGVvIGludG8gYSBHTFhQaXhidWYuICBVbnRlc3RlZC4gIFdpbGwKCSAgbGlrZWx5IGNyYXNoIHlvdXIgbW90b3JjeWNsZSBpZiB5b3UgdHJ5IGl0LgoJICAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmM6CgkgICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uaDoKCSAgUmVtb3ZlLgoKMjAwNy0xMi0xNyAyMToxMjoyOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy4qOiBXaGVuIHN1YnNlcXVlbnQgZmlsZXMgYXJlIHJlYWQsIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHNlbmQgYW4gRU9TIGluc3RlYWQgb2YgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBXaGVuIHN1YnNlcXVlbnQgZmlsZXMgYXJlIHJlYWQsIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHNlbmQKCSAgYW4gRU9TIGluc3RlYWQgb2YgY2F1c2luZyBhbiBlcnJvci4KCjIwMDctMTItMTcgMTU6MDk6MTcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pOiBSZXR1cm4gT0sgd2hlbiBhIGJ1ZmZlciBpcyBpZ25vcmVkLCBub3QgTk9UX0xJTktFRC4gTm8gc2Vuc2UgaW4gbWFraS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKTogUmV0dXJuIE9LIHdoZW4KCSAgYSBidWZmZXIgaXMgaWdub3JlZCwgbm90IE5PVF9MSU5LRUQuIE5vIHNlbnNlIGluIG1ha2luZyBhIHNvdXJjZQoJICBlbGVtZW50IGVycm9yIG91dDsgYXQgbGVhc3QgZmRzcmMgY29uc2lkZXJzIE5PVF9MSU5LRUQgdG8gYmUgYQoJICBmYXRhbCBlcnJvci4gUGF0Y2ggMTEvMTIuIFRoZXJlIGlzIG5vIHBhdGNoIDEyLzEyLiBGb28uCgoyMDA3LTEyLTE3IDE1OjA2OjQ4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoLzogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KSAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jayk6IE1ha2UgdGhlIGJsb2NrKCkgc2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2gtbWFyc2hhbC5saXN0OgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3JDbGFzcyk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jayk6IE1ha2UgdGhlIGJsb2NrKCkgc2lnbmFsIHJldHVybiB0aGUKCSAgbGFzdCBzdG9wIHRpbWUgb2YgdGhlIGFjdGl2ZSBwYWQuIFBhdGNoIDEwLzEyLgoKMjAwNy0xMi0xNyAxNTowNDo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9wcm9wZXJ0eSkgKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCwgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9wcm9wZXJ0eSkKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCwgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9nZXRfcHJvcGVydHkpOiBFeHBvc2UgJ2xhc3Qtc3RvcC10aW1lJyBhcyBhCgkgIHBhZCBwcm9wZXJ0eSwgbm90IGFuIGVsZW1lbnQgcHJvcGVydHkuCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKTogTWFyayB0aGUgbGFzdF9zdG9wIHRpbWUgYXMgdGltZXN0YW1wICsKCSAgZHVyYXRpb24sIG5vdCB0aW1lc3RhbXAuIFBhdGNoIDkvMTIuCgoyMDA3LTEyLTE3IDE1OjAxOjU1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2hhbmdlX3N0YXRlKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NoYW5nZV9zdGF0ZSkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2ssIGdzdF9zdHJlYW1fc2VsZWN0b3Jfc3dpdGNoKTogVXNlIHRoZQoJICBjb25kIG1lY2hhbmlzbSBpbnN0ZWFkIG9mIGJsb2NrZWQgcGFkcy4gUGF0Y2ggOC8xMi4KCjIwMDctMTItMTcgMTU6MDA6MTUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3IpOiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3dhaXQpIChnc3Rfc2VsZWN0b3JfcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3dhaXQpCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluLCBnc3Rfc3RyZWFtX3NlbGVjdG9yX2luaXQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Rpc3Bvc2UpOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIG5ldyBibG9ja2luZwoJICBtZWNoYW5pc20gdGhhdCBkb2VzIG5vdCB1c2UgZ3N0X3BhZF9zZXRfYmxvY2tlZCwgd2hpY2ggZG9lcyBub3QKCSAgd29yayBvbiBzaW5rIHBhZHMuIFBhdGNoIDcvMTIuCgoyMDA3LTEyLTE3IDE0OjU4OjE4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9nZXRfcHJvcGVydHkpOiBBZGQgbGFzdC1zdG9wLXRpbWUgcmVhZGFibGUKCSAgcHJvcGVydHkuIFBhdGNoIDYvMTIuCgoyMDA3LTEyLTE3IDE0OjU1OjU0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yKTogQWRkIHNvbWUgc3RhdGUgdmFyaWFibGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yKTogQWRkIHNvbWUKCSAgc3RhdGUgdmFyaWFibGVzLgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfcHVzaF9wZW5kaW5nX3N0b3ApCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKTogUHVzaCBhbnkgcGVuZGluZyBzdG9wIGV2ZW50LgoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfc2V0X3Byb3BlcnR5KTogRmFjdG9yIG91dCBzZXR0aW5nIHRoZSBhY3RpdmUKCSAgcGFkIHRvIGEgZnVuY3Rpb24uIENsb3NlIHRoZSBzZWdtZW50IG9mIHRoZSBwcmV2aW91cyBhY3RpdmUgcGFkIGlmCgkgIHRvbGQgdG8gZG8gc28gdmlhIGEgc3RvcF90aW1lICE9IEdTVF9DTE9DS19USU1FX05PTkUuCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3N3aXRjaCk6IEltcGxlbWVudCBzd2l0Y2ggdm1ldGhvZC4gUGF0Y2ggNS8xMi4KCjIwMDctMTItMTcgMTQ6NTI6MTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2spOiBJbXBsZW1lbnQgdGhlIGJsb2NrKCkgc2lnbmFsLiBUaGlzIGltcGxlbWVudGF0aW9uIHdpbGwgYmUgcmVwbGFjZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrKTogSW1wbGVtZW50CgkgIHRoZSBibG9jaygpIHNpZ25hbC4gVGhpcyBpbXBsZW1lbnRhdGlvbiB3aWxsIGJlIHJlcGxhY2VkIGluIGZ1dHVyZQoJICBwYXRjaGVzLCBob3dldmVyLiBQYXRjaCA0LzEyLgoKMjAwNy0xMi0xNyAxNDo0ODoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3RvckNsYXNzKTogRml4IHZtZXRob2QgcHJvdG90eXBlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3RvckNsYXNzKTogRml4CgkgIHZtZXRob2QgcHJvdG90eXBlcy4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrLCBnc3Rfc3RyZWFtX3NlbGVjdG9yX3N3aXRjaCk6IEFkZCBlbXB0eQoJICB2bWV0aG9kIGRlZmluaXRpb25zLiBQYXRjaCAzLzEyLgoKMjAwNy0xMi0xNyAxNDo0NjoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guKjogQWRkIGBibG9jaycgYW5kIGBzd2l0Y2gnIHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3JDbGFzcyk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KTogQWRkCgkgIGBibG9jaycgYW5kIGBzd2l0Y2gnIHNpZ25hbHMuCgkgICogZ3N0L3N3aXRjaC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC1tYXJzaGFsLmxpc3Q6IEFkZCBmb28gdG8gZ2VuZXJhdGUgYQoJICBtYXJzaGFsbGVyIGZvciB0aGUgYHN3aXRjaCcgc2lnbmFsLiBQYXRjaCAyLzEyLgoKMjAwNy0xMi0xNyAxNDo0MzowNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guKjogUmVwbGFjZSB3aXRoIGZpbGVzIGZyb20gZ3N0c3RyZWFtc2VsZWN0b3IuW2NoXSwgcmVnaXN0ZXJlZCBhcyB0aGUgInN3aXRjaCIgcGx1Z2luLCB3aXRoICJHc3RTLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogUmVwbGFjZSB3aXRoIGZpbGVzIGZyb20KCSAgZ3N0c3RyZWFtc2VsZWN0b3IuW2NoXSwgcmVnaXN0ZXJlZCBhcyB0aGUgInN3aXRjaCIgcGx1Z2luLCB3aXRoCgkgICJHc3RTd2l0Y2giIHR5cGVzLiBQYXRjaCAxLzEyLgoKMjAwNy0xMi0xNyAxNDozNzozOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBsaWJzb3VwIHBsdWdpbiB0byBzcGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbGlic291cCBwbHVnaW4gdG8gc3BlYwoKMjAwNy0xMi0xNyAxMjozNzozNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L01ldGFkYXRhRWRpdG9yTWFpbi5nbGFkZToKCSogZXh0L21ldGFkYXRhL3Rlc3QvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEFkZGVkICJwYXJzZS1vbmx5IiBwcm9wZXJ0eSB0byBtZXRhZGF0YWRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgInBhcnNlLW9ubHkiIHByb3BlcnR5IHRvIG1ldGFkYXRhZGVtdXguCgoyMDA3LTEyLTE2IDIyOjU3OjIyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBSZW5hbWUgR0xWaWRlbyogdG8gR3N0R0wqLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICBSZW5hbWUgR0xWaWRlbyogdG8gR3N0R0wqLgoKMjAwNy0xMi0xNiAwMDoxNjo0NiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQWRkIHZibGFuayBzeW5jaHJvbml6YXRpb24uICBJc24ndCByZWFsbHkgd29ya2luZyBvbiBteSBkcml2ZXIuIDooCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICBBZGQgdmJsYW5rIHN5bmNocm9uaXphdGlvbi4gIElzbid0IHJlYWxseSB3b3JraW5nIG9uIG15CgkgIGRyaXZlci4gOigKCjIwMDctMTItMTUgMTk6MzE6MjMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IEFkZCBzdXBwb3J0IGZvciB4UkdCLCB4QkdSLCBhbmQgQVlVVi4gIFJlLWFkZCBzdXBwb3J0IGZvciBwb3dlci1vZi0yIHRleHR1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmg6CgkgIEFkZCBzdXBwb3J0IGZvciB4UkdCLCB4QkdSLCBhbmQgQVlVVi4gIFJlLWFkZCBzdXBwb3J0IGZvcgoJICBwb3dlci1vZi0yIHRleHR1cmVzLgoKMjAwNy0xMi0xNSAxNzo1Mjo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBGcmVlIHRoZSBhZGFwdGVyIG9uIGRpc3Bvc2UgYW5kIGNvcnJlY3RseSByZXNldCBvbiBuZXdzZWdtZW50IGV2ZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NpbmtfZXZlbnQpOgoJICBGcmVlIHRoZSBhZGFwdGVyIG9uIGRpc3Bvc2UgYW5kIGNvcnJlY3RseSByZXNldCBvbiBuZXdzZWdtZW50IGV2ZW50cy4KCjIwMDctMTItMTUgMTM6MTA6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogSW1wcm92ZSBkdXJhdGlvbiBxdWVyeSBieSBmaXJzdCBhc2tpbmcgdXBzdHJlYW0gYW5kIGlmIGl0IGNhbid0IGhhbmRsZSB0aGUgcXVlcnkgdHJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF92aWRlb19wYXJzZV9zcmNfcXVlcnkpOgoJICBJbXByb3ZlIGR1cmF0aW9uIHF1ZXJ5IGJ5IGZpcnN0IGFza2luZyB1cHN0cmVhbSBhbmQgaWYgaXQgY2FuJ3QgaGFuZGxlCgkgIHRoZSBxdWVyeSB0cnkgdG8gZ2V0IHRoZSBkdXJhdGlvbiBpbiBieXRlcyBmcm9tIHVwc3RyZWFtIGFuZCBjb252ZXJ0LgoJICBGb3Igc2Vla3MsIHRyeSBpZiB1cHN0cmVhbSBoYW5kbGVzIHRoaXMgYWxyZWFkeSBmaXJzdCBhbmQgZG8gb3VyCgkgIGNvbnZlcnNpb24gdG8gYnl0ZSBmb3JtYXQgb25seSBpZiBpdCBkb2Vzbid0IGFuZCBpZiB3ZSBnZXQgYQoJICBuZXdzZWdtZW50IGV2ZW50IGluIHRpbWUgZm9ybWF0IGtlZXAgaXQgYW5kIG9ubHkgZG8gb3VyIGNvbnZlcnNpb25zCgkgIGlmIHRoZSBldmVudCBoYXMgYW5vdGhlciBmb3JtYXQuCgoyMDA3LTEyLTE1IDA3OjM3OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEFkZCBzdXBwb3J0IGZvciB2aWRlby94LXJhdy1yZ2IgYW5kIHZpZGVvL3gtcmF3LWdyYXkuIEFsc28gc2VuZCBkb3duc3RyZWFtIGVsZW1lbnRzIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICAoZ3N0X3ZpZGVvX3BhcnNlX2Zvcm1hdF9nZXRfdHlwZSksCgkgIChnc3RfdmlkZW9fcGFyc2VfZW5kaWFubmVzc19nZXRfdHlwZSksCgkgIChnc3RfdmlkZW9fcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fcGFyc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19wYXJzZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX2Zvcm1hdF90b19mb3VyY2MpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3VwZGF0ZV9ibG9ja19zaXplKSwgKGdzdF92aWRlb19wYXJzZV9jaGFpbiksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc2lua19ldmVudCk6CgkgIEFkZCBzdXBwb3J0IGZvciB2aWRlby94LXJhdy1yZ2IgYW5kIHZpZGVvL3gtcmF3LWdyYXkuIEFsc28gc2VuZAoJICBkb3duc3RyZWFtIGVsZW1lbnRzIGRvd25zdHJlYW0sIG5vdCB1cHN0cmVhbS4KCjIwMDctMTItMTUgMDY6MzM6MzcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uKjogUHVsbCB0b2dldGhlciBzb21lIGNvbW1vbiByYXcgdmlkZW8gZnVuY3Rpb25zIGludG8gb25lIGxvY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmg6CgkgIFB1bGwgdG9nZXRoZXIgc29tZSBjb21tb24gcmF3IHZpZGVvIGZ1bmN0aW9ucyBpbnRvIG9uZSBsb2NhdGlvbi4KCSAgVGhpcyBzaG91bGQgZXZlbnR1YWxseSBtb3ZlIHRvIC1iYXNlLgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBVc2UgdGhlIG5ldyB2aWRlby1jb21tb24uaCBzdHVmZi4gIFJlYWRkIHN1cHBvcnQgZm9yIFJHQiB2aWRlby4KCjIwMDctMTItMTQgMTg6MTg6MzcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWNvbW1vbi5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFjb21tb24uaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL3Rlc3QvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEFkZGVkIG5ldyBtb2R1bGUgZm9yIGNvbW1vbiBmdW5jdGlvbnMuIFVzaW5nIEdTVF9UWVBFX0ZSQUNUSU9OIGZvciBFeGlmIChTKVJhdGlvbmFsIHR5cGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgbmV3IG1vZHVsZSBmb3IgY29tbW9uIGZ1bmN0aW9ucy4gVXNpbmcgR1NUX1RZUEVfRlJBQ1RJT04gZm9yIEV4aWYgKFMpUmF0aW9uYWwgdHlwZXMuCgoyMDA3LTEyLTE0IDE3OjUxOjQ5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuKjogSGFzaCBzdHJlYW1zIGJ5IHBpZCBhZ2Fpbi4gQWRkIGEgbGlua2VkIGxpc3QgaW5zaWRlIGVhY2ggc3RyZWFtIHdpdGggYSBsaXN0IG9mIHN1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgSGFzaCBzdHJlYW1zIGJ5IHBpZCBhZ2Fpbi4gQWRkIGEgbGlua2VkIGxpc3QgaW5zaWRlIGVhY2gKCSAgc3RyZWFtIHdpdGggYSBsaXN0IG9mIHN1Yl90YWJsZXMuIEZpeCBtdWx0aXBsZSBzZWN0aW9ucwoJICBhcyBpdCB3YXMgYm9ya2VkIHdpdGggbXkgbGFzdCBjb21taXQuCgoyMDA3LTEyLTE0IDE2OjIzOjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgdXBkYXRlIHNwZWMgZmlsZSBhbmQgYWRkIHR3byBtaXNzaW5nIGZpbGVzIGZvciBkaXN0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIGFuZCBhZGQgdHdvIG1pc3NpbmcgZmlsZXMgZm9yIGRpc3RpbmcKCjIwMDctMTItMTMgMTc6MTk6NTQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBDb2RlIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDb2RlIGRvY3VtZW50YXRpb24uCgoyMDA3LTEyLTEzIDEyOjQ1OjA2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL3Rlc3QvTWFrZWZpbGU6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L01ldGFkYXRhRWRpdG9yTWFpbi5nbGFkZToKCSogZXh0L21ldGFkYXRhL3Rlc3QvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEFkZGVkIGEgdGVzdCBhcHBsaWNhdGlvbi4gQWRkZWQgc29tZSBFWElGIHRhZ3MuIEZpeGVkIGEgbXV4ZXIgYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSB0ZXN0IGFwcGxpY2F0aW9uLiBBZGRlZCBzb21lIEVYSUYgdGFncy4gRml4ZWQgYSBtdXhlciBidWcuCgoyMDA3LTEyLTEzIDExOjI1OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEltcGxlbWVudCBhIHF1ZXJ5IHR5cGUgZnVuY3Rpb24gZm9yIHRoZSBzcmMgcGFkLCBpbXBsZW1lbnQgc2Vla2luZyBhbmQgdXNlIEFOWSBjYXBzIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NyY19ldmVudCksIChnc3RfdmlkZW9fcGFyc2Vfc3JjX3F1ZXJ5X3R5cGUpOgoJICBJbXBsZW1lbnQgYSBxdWVyeSB0eXBlIGZ1bmN0aW9uIGZvciB0aGUgc3JjIHBhZCwgaW1wbGVtZW50IHNlZWtpbmcKCSAgYW5kIHVzZSBBTlkgY2FwcyBmb3IgdGhlIHNpbmsgcGFkIGFzIHRoZSBlbGVtZW50IGRvZXNuJ3QgY2FyZSB3aGF0CgkgIGNhcHMgdGhlIGlucHV0IGhhcyBhbmQgZXZlcnl0aGluZyBpcyBoYW5kbGVkIHZpYSBwcm9wZXJ0aWVzLgoKMjAwNy0xMi0xMyAxMDozODoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBIYW5kbGUgLTEgdmFsdWVzIGZvciB0aGUgQ09OVkVSVCBxdWVyeSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9jb252ZXJ0KSwKCSAgKGdzdF92aWRlb19wYXJzZV9zaW5rX2V2ZW50KToKCSAgSGFuZGxlIC0xIHZhbHVlcyBmb3IgdGhlIENPTlZFUlQgcXVlcnkgdG9vLgoKMjAwNy0xMi0xMyAxMDoxNjo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBBZGQgWVYxMiB0byB0aGUgcGFkIHRlbXBsYXRlcyBhcyBpdCBpcyBzdXBwb3J0ZWQgdG9vIGFuZCBhbGxvdwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2Vfc2lua19ldmVudCk6CgkgIEFkZCBZVjEyIHRvIHRoZSBwYWQgdGVtcGxhdGVzIGFzIGl0IGlzIHN1cHBvcnRlZCB0b28gYW5kIGFsbG93CgkgIC0xIGFzIHN0b3AgcG9zaXRpb24gZm9yIE5FV1NFR01FTlQgZXZlbnRzLgoKMjAwNy0xMi0xMyAwODo1NDowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSB0byBDRkxBR1MgdG8gZml4IHRoZSBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgIEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSB0byBDRkxBR1MgdG8gZml4IHRoZSBidWlsZC4KCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19wYXJzZV9nZXRfcHJvcGVydHkpOgoJICBVc2UgZ192YWx1ZV9bc2ddZXRfZW51bSgpIGZvciBlbnVtIHByb3BlcnRpZXMsIGdfdmFsdWVfW3NnXWV0X2ludCgpCgkgIGdpdmVzIGEgZ19jcml0aWNhbCgpLgoKMjAwNy0xMi0xMyAwNDo0Mzo1OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS86IEFkZCBhIGJ1bmNoIG9mIGZlYXR1cmVzOiBoYW5kbGUgZm9ybWF0IHNwZWNpZmljYXRpb24sIGhhbmRsZSBxdWVyaWVzIGFuZCBjb252ZXJzaW9uLiAgV29ya3MgbXVjaCBsaWsuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvUkVBRE1FOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgQWRkIGEgYnVuY2ggb2YgZmVhdHVyZXM6IGhhbmRsZSBmb3JtYXQgc3BlY2lmaWNhdGlvbiwgaGFuZGxlCgkgIHF1ZXJpZXMgYW5kIGNvbnZlcnNpb24uICBXb3JrcyBtdWNoIGxpa2UgYSBub3JtYWwgcGFyc2VyIG5vdy4KCjIwMDctMTItMTIgMTY6NTk6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IENsZWFuIHVwIHRoZSBkeW5hbWljIHBhZHMgd2hlbiBnb2luZyB0byBSRUFEWS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3B0X2RlbXV4X3NldHVwKSwgKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChnc3RfcnRwX3NzcmNfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Rpc3Bvc2UpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19xdWVyeSksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgQ2xlYW4gdXAgdGhlIGR5bmFtaWMgcGFkcyB3aGVuIGdvaW5nIHRvIFJFQURZLgoKMjAwNy0xMi0xMiAxMjoxMTo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogRml4IHNvbWUgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3NkZXNfc3RyaW5nKSwgKGdzdF9ydHBfYmluX2dldF9zZGVzX3N0cmluZyksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ieWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9maW5hbGl6ZSk6CgkgIEZpeCBzb21lIGxlYWtzLgoKMjAwNy0xMi0xMiAwNDoxMToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2R0cy9nc3RkdHNkZWMuKjogQWRkIHN1cHBvcnQgZm9yICJhdWRpby94LXByaXZhdGUxLWR0cyIgYXMgdXNlZCBieSBmbHVwc3BhcnNlLiBNb3N0IGNoYW5nZXMgYWRhcHRlZCBmcm9tIGE1MmRlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaW5pdCksCgkgIChnc3RfZHRzZGVjX3Npbmtfc2V0Y2FwcyksIChnc3RfZHRzZGVjX2NoYWluX3JhdyksCgkgIChnc3RfZHRzZGVjX2NoYWluKToKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgImF1ZGlvL3gtcHJpdmF0ZTEtZHRzIiBhcyB1c2VkIGJ5IGZsdXBzcGFyc2UuIE1vc3QKCSAgY2hhbmdlcyBhZGFwdGVkIGZyb20gYTUyZGVjLgoKMjAwNy0xMi0xMiAwMjozMzoxMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogU3BsaXQgb3V0IGdsLXJlbGF0ZWQgY29kZSBpbnRvIGEgc2VwYXJhdGUgZmlsZSB3aXRoIGEgc2Vuc2libGUgQVBJLiAgTWFqb3IgY2xlYW51cC4gIFN0aWxsIGNyYXNoZXMgb2NjYXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgIFNwbGl0IG91dCBnbC1yZWxhdGVkIGNvZGUgaW50byBhIHNlcGFyYXRlIGZpbGUgd2l0aCBhCgkgIHNlbnNpYmxlIEFQSS4gIE1ham9yIGNsZWFudXAuICBTdGlsbCBjcmFzaGVzIG9jY2FzaW9uYWxseQoJICBkdWUgdG8gZGlmZmVyZW50IHRocmVhZHMgdG91Y2hpbmcgYml0cyBhdCB0aGUgc2FtZSB0aW1lLgoKMjAwNy0xMi0xMSAxNjozOTozOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IERvIG5vdCB0cnkgdG8gdW5wYXVzZSBJL08gaW4gdGhlICJxdWV1ZWQiIHN0YXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksICh1bmljb2RpZnkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwaHR0cF9zcmNfaXNfc2Vla2FibGUpLAoJICAoc291cF9nb3RfaGVhZGVycyksIChzb3VwX2dvdF9ib2R5KSwgKHNvdXBfZmluaXNoZWQpLAoJICAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksIChzb3VwX3BhcnNlX3N0YXR1cyksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBodHRwX3NyY191cmlfc2V0X3VyaSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIERvIG5vdCB0cnkgdG8gdW5wYXVzZSBJL08gaW4gdGhlICJxdWV1ZWQiIHN0YXRlLgoJICBSZW9yZ2FuaXNlIGEgYnVuY2ggb2YgdGhpbmdzIGFuZCBjbGVhbnVwcy4KCSAgVXNlcyBHX0dVSU5UNjRfRk9STUFUIGluc3RlYWQgb2YgaGFyZC1jb2RpbmcgJWxsdS4KCSAgU2VlICM1MDIzMzUuCgoyMDA3LTEyLTExIDE2OjI2OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBGaXggY2FwcyBtZW1sZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfc2V0X3NyY19jYXBzKToKCSAgRml4IGNhcHMgbWVtbGVhay4KCjIwMDctMTItMTEgMTE6NTQ6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IERvbid0IHN0cmR1cCAoYW5kIHRodXMgbGVhaykgY29kZWMgbmFtZSBzdHJpbmdzIHdoZW4gcGFzc2luZyB0aGVtIHRvIGdzdF90YWdfbGlzdF9hZGQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBEb24ndCBzdHJkdXAgKGFuZCB0aHVzIGxlYWspIGNvZGVjIG5hbWUgc3RyaW5ncyB3aGVuIHBhc3NpbmcKCSAgdGhlbSB0byBnc3RfdGFnX2xpc3RfYWRkKCkuCgoyMDA3LTEyLTEwIDE4OjM2OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBQb3N0IGEgbWVzc2FnZSB3aGVuIHRoZSBTREVTIGluZm9yIGNoYW5nZXMgZm9yIGEgc291cmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHNvdXJjZV9nZXRfc2Rlc19zdHJ1Y3R1cmUpLAoJICAob25fc3NyY19zZGVzKToKCSAgUG9zdCBhIG1lc3NhZ2Ugd2hlbiB0aGUgU0RFUyBpbmZvciBjaGFuZ2VzIGZvciBhIHNvdXJjZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIFVwZGF0ZSBzb21lIGNvbW1lbnRzLgoKMjAwNy0xMi0xMCAxNzoxODozNSArMDAwMCAgbXV0ZXggYXQgcnVuYm94IGRvdCBjb20gPG11dGV4QHJ1bmJveC5jb20+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEZvcndhcmQgdGhlIHF1ZXJ5IHVwc3RyZWFtLCB0aGUgZGVmYXVsdCBlbGVtZW50IGV2ZW50IGhhbmRsZXIgZG9lcyBzb21ldGhpbmcgZGlmZmVyZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiA8bXV0ZXggYXQgcnVuYm94IGRvdCBjb20+CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX3NyY19xdWVyeSk6CgkgIEZvcndhcmQgdGhlIHF1ZXJ5IHVwc3RyZWFtLCB0aGUgZGVmYXVsdCBlbGVtZW50IGV2ZW50IGhhbmRsZXIgZG9lcwoJICBzb21ldGhpbmcgZGlmZmVyZW50LiBGaXhlcyAjNTAyODc5LgoKMjAwNy0xMi0xMCAxNTozNDoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkIHNpZ25hbCB0byBub3RpZnkgb2YgYW4gU0RFUyBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fc3NyY19zZGVzKSwgKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX3NzcmNfc2RlcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAob25fc3NyY19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2Rlcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgQWRkIHNpZ25hbCB0byBub3RpZnkgb2YgYW4gU0RFUyBjaGFuZ2UuCgkgIEZpeCBvYmplY3QgdHlwZSBpbiB0aGUgc2lnbmFsIGNhbGxiYWNrcy4KCjIwMDctMTItMTAgMTQ6MDM6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogRXhwb3NlIFNERVMgaXRlbXMgYXMgcHJvcGVydGllcyBhbmQgY29uZmlndXJlIHRoZSBzZXNzaW9uIG1hbmFnZXJzIHdpdGggdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX2luaXQpLCAoc2Rlc190eXBlX3RvX25hbWUpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3NkZXNfc3RyaW5nKSwgKGdzdF9ydHBfYmluX2dldF9zZGVzX3N0cmluZyksCgkgIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgRXhwb3NlIFNERVMgaXRlbXMgYXMgcHJvcGVydGllcyBhbmQgY29uZmlndXJlIHRoZSBzZXNzaW9uIG1hbmFnZXJzIHdpdGgKCSAgdGhlbS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX3NldF9wcm9wZXJ0eSk6CgkgIEZpeCBTU1JDIHByb3BlcnR5LgoKMjAwNy0xMi0xMCAxMTowODoxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVXBkYXRlIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBVcGRhdGUgY29tbWVudC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBEZWZpbmUgc29tZSBHT2JqZWN0IHByb3BlcnRpZXMgdG8gc2V0IFNERVMgYW5kIG90aGVyIGNvbmZpZ3VyYXRpb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLAoJICAob25fc3NyY19zZGVzKSwgKHJ0cF9zZXNzaW9uX3NldF9iYW5kd2lkdGgpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9zZXRfcnRjcF9mcmFjdGlvbiksCgkgIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9mcmFjdGlvbiksIChydHBfc2Vzc2lvbl9zZXRfc2Rlc19zdHJpbmcpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3NkZXNfc3RyaW5nKSwgKG9idGFpbl9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2ludGVybmFsX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fc2RlcyksCgkgIChpc19ydGNwX3RpbWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIHNpZ25hbCB3aGVuIG5ldyBTREVTIGluZm9yIGhhcyBiZWVuIGZvdW5kIGZvciBhIHNvdXJjZS4KCSAgQ3JlYXRlIHByb3BlcnRpZXMgZm9yIFNERVMgYW5kIG90aGVyIGluZm8uCgkgIFNpbXBsaWZ5IHRoZSBTREVTIEFQSS4KCSAgQWRkIG1ldGhvZCBmb3IgZ2V0dGluZyB0aGUgaW50ZXJuYWwgc291cmNlIG9iamVjdCBvZiB0aGUgc2Vzc2lvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2ZpbmFsaXplKSwgKHJ0cF9zb3VyY2Vfc2V0X3Byb3BlcnR5KSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3Byb3BlcnR5KSwgKHJ0cF9zb3VyY2Vfc2V0X2NhbGxiYWNrcyksCgkgIChydHBfc291cmNlX2dldF9zc3JjKSwgKHJ0cF9zb3VyY2Vfc2V0X2FzX2NzcmMpLAoJICAocnRwX3NvdXJjZV9pc19hc19jc3JjKSwgKHJ0cF9zb3VyY2VfaXNfYWN0aXZlKSwKCSAgKHJ0cF9zb3VyY2VfaXNfdmFsaWRhdGVkKSwgKHJ0cF9zb3VyY2VfaXNfc2VuZGVyKSwKCSAgKHJ0cF9zb3VyY2VfcmVjZWl2ZWRfYnllKSwgKHJ0cF9zb3VyY2VfZ2V0X2J5ZV9yZWFzb24pLAoJICAocnRwX3NvdXJjZV9zZXRfc2RlcyksIChydHBfc291cmNlX3NldF9zZGVzX3N0cmluZyksCgkgIChydHBfc291cmNlX2dldF9zZGVzKSwgKHJ0cF9zb3VyY2VfZ2V0X3NkZXNfc3RyaW5nKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X25ld19zciksIChydHBfc291cmNlX2dldF9uZXdfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgR09iamVjdCBwcm9wZXJ0aWVzIGZvciB2YXJpb3VzIHRoaW5ncy4KCSAgRG9uJ3QgbGVhayB0aGUgYnllIHJlYXNvbi4KCjIwMDctMTItMDkgMTk6Mzc6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEZpeCBsaXN0IG9mIHN1cHBvcnRlZCBhbmQga25vd24gY29kZWNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIEZpeCBsaXN0IG9mIHN1cHBvcnRlZCBhbmQga25vd24gY29kZWNzLgoJICBFbWl0IHRhZyB3aXRoIHRoZSBjb2RlYyBuYW1lIHNvIGl0IGdldHMgcHJvcGVybHkgcmVwb3J0ZWQgaW4gdG90ZW0gYW5kCgkgIG90aGVyIGFwcGxpY2F0aW9ucy4KCjIwMDctMTItMDkgMDQ6MzA6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgZGVmaW5lIEdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIHJlbGVhc2VzLiBGaXhlcyAjNDk4MTgxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGRlZmluZSBHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGZvciByZWxlYXNlcy4gRml4ZXMgIzQ5ODE4MS4KCjIwMDctMTItMDYgMTI6NDU6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IEZpeCBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBjb21waWxhdGlvbi4KCjIwMDctMTItMDYgMTI6NDI6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IERvbid0IHByb2Nlc3MgYnVmZmVycyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKToKCSAgRG9uJ3QgcHJvY2VzcyBidWZmZXJzIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDA3LTEyLTA2IDEyOjM3OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogVGhlIHRyYW5zZm9ybSgpIG1ldGhvZHMgYXJlIG5vdCBjYWxsZWQgaW4gcGFzc3Rocm91Z2ggbW9kZSBzbyB0aGVyZSdzIG5vIG5lZWQgZm9yIGNoZWNraW5nIGlmIHRoZSBlbGVtZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3RyYW5zZm9ybSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3RyYW5zZm9ybSk6CgkgIFRoZSB0cmFuc2Zvcm0oKSBtZXRob2RzIGFyZSBub3QgY2FsbGVkIGluIHBhc3N0aHJvdWdoIG1vZGUgc28KCSAgdGhlcmUncyBubyBuZWVkIGZvciBjaGVja2luZyBpZiB0aGUgZWxlbWVudCBpcyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAwNy0xMi0wNiAxMjoyOToyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFN5bmMgdGhlIEdPYmplY3QgcHJvcGVydGllcyB3aXRoIHRoZSBjb250cm9sbGVyIGV2ZW4gaW4gcGFzc3Rocm91Z2ggbW9kZSB0byBnZXQgY29uc2lzdGVudCBwcm9wZXJ0eSB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY190cmFuc2Zvcm0pOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY190cmFuc2Zvcm0pOgoJICBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgd2l0aCB0aGUgY29udHJvbGxlciBldmVuIGluIHBhc3N0aHJvdWdoCgkgIG1vZGUgdG8gZ2V0IGNvbnNpc3RlbnQgcHJvcGVydHkgdmFsdWVzLgoKMjAwNy0xMi0wNiAxMDo0ODoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBNYXJrIGNyYyB2YWx1ZXMgdGFibGUgYXMgY29uc3RhbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiAoY3JjX3RhYik6CgkgIE1hcmsgY3JjIHZhbHVlcyB0YWJsZSBhcyBjb25zdGFudC4KCjIwMDctMTItMDUgMTc6MDA6NTkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgQWRkZWQgc29tZSB0YWdzIHRvIGV4aWYgcGFyc2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgc29tZSB0YWdzIHRvIGV4aWYgcGFyc2VyLgoKMjAwNy0xMi0wNSAxMjo0MDowNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IEEgc3ViIHRhYmxlIGlzIGlkZW50aWZpZWQgYnkgdGhlIHBhaXIgdGFibGVfaWQgYW5kIHN1Yl90YWJsZV9pZGVudGlmaWVyLCBub3QgYnkgcGlkLiBTbyBoYXNoIHdpdGggdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBBIHN1YiB0YWJsZSBpcyBpZGVudGlmaWVkIGJ5IHRoZSBwYWlyIHRhYmxlX2lkIGFuZAoJICBzdWJfdGFibGVfaWRlbnRpZmllciwgbm90IGJ5IHBpZC4gU28gaGFzaCB3aXRoIHRoYXQuCgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIE1ha2Ugc3VyZSBpbml0aWFsIHBpZHMgYXJlIGFkZGVkIHByb3Blcmx5IHRvIGZpbHRlciwKCjIwMDctMTItMDUgMTE6MjU6NTggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5KTogRG9uJ3QgcHVzaCBidWZmZXJzIGZyb20gYXBwIHRocmVhZCB3aGVuIHVuc2V0dGluZyBgcXVldWUtYnVmZmVycycsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSk6IERvbid0IHB1c2gKCSAgYnVmZmVycyBmcm9tIGFwcCB0aHJlYWQgd2hlbiB1bnNldHRpbmcgYHF1ZXVlLWJ1ZmZlcnMnLCBpdCdzCgkgIGRhbmdlcm91cyBhbmQgdGhlIGNoYWluIGZ1bmN0aW9uIHdpbGwgZG8gaXQgZm9yIHVzIGFueXdheS4KCjIwMDctMTItMDQgMTc6MjA6MjUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSAgTm93IGNvbXBpbGVzIGV2ZW4gd2hlbiBsaWJpcHRjIGlzIG1pc3NpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgY29tcGlsZXMgZXZlbiB3aGVuIGxpYmlwdGMgaXMgbWlzc2luZy4KCjIwMDctMTItMDQgMTY6NDI6MjUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmg6CgkgIEZpeGVkIGVsZW1lbnQgcHJvcGVydGllcyBhbmQgbm93IG11eGVyIHdyaXRlcyB0byBwbmcgYWxzby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGVsZW1lbnQgcHJvcGVydGllcyBhbmQgbm93IG11eGVyIHdyaXRlcyB0byBwbmcgYWxzby4KCjIwMDctMTItMDMgMTg6Mjg6MzIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBSZW1vdmUgc2lnbmFscyBmb3IgcGF0LCBwbXQsIG5pdCwgZWl0LCBzZHQuIFJlcGxhY2Ugd2l0aCBidXMgbWVzc2FnZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBSZW1vdmUgc2lnbmFscyBmb3IgcGF0LCBwbXQsIG5pdCwgZWl0LCBzZHQuIFJlcGxhY2Ugd2l0aCBidXMKCSAgbWVzc2FnZXMuCgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIEluc3RlYWQgb2YgYXR0YWNoaW5nIHRvIHNpZ25hbHMsIHVzZSB0aGUgYnVzIG1lc3NhZ2VzLgoJICBBbHNvIGZpeCB1cCBzbyB0aGUgZHZic3JjIHN0YXJ0cyBvbmx5IG91dHB1dHRpbmcgdGhlIGluZm8gdGFibGVzCgkgIGxpa2UgUEFULCBDQVQsIE5JVCwgU0RULCBFSVQgaW5zdGVhZCBvZiB0aGUgd2hvbGUgdHMuCgoyMDA3LTEyLTAzIDE2OjE0OjAxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSAgTXV4ZXIgd3JpdGVzIChpbiBqcGVnIG9ubHkpIHdob2xlIElQVEMgY2h1bmsgc2VudCBhcyB0YWcuIE11eGVyIGltcGxlbWV0cyBHc3RUYWdTZXR0ZXIgaW50ZXJmYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTXV4ZXIgd3JpdGVzIChpbiBqcGVnIG9ubHkpIHdob2xlIElQVEMgY2h1bmsgc2VudCBhcyB0YWcuIE11eGVyIGltcGxlbWV0cyBHc3RUYWdTZXR0ZXIgaW50ZXJmYWNlLgoKMjAwNy0xMi0wMyAxMzowODoyNiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBTaG91bGQgZml4IHRoZSA2NC1iaXQgYnVpbGQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIFNob3VsZCBmaXggdGhlIDY0LWJpdCBidWlsZAoKMjAwNy0xMS0zMCAxODozMDoxMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSAgTXV4ZXIgd3JpdGVzIChpbiBqcGVnIG9ubHkpIHdob2xlIEVYSUYgYW5kIFhNUCBjaHVua3Mgc2VudCBhcyB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTXV4ZXIgd3JpdGVzIChpbiBqcGVnIG9ubHkpIHdob2xlIEVYSUYgYW5kIFhNUCBjaHVua3Mgc2VudCBhcyB0YWdzLgoKMjAwNy0xMS0zMCAxNDowODoxNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci4qOiBBZGQgQ29SUkUgZW5jb2RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZCBDb1JSRSBlbmNvZGluZwoKMjAwNy0xMS0zMCAxMzoxODozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBDUkMgY2hlY2sgdGhlIHBzaSBwaWRzLiBDUkMgY2hlY2tpbmcgY29kZSByZWxpY2VuY2VkIGZyb20gTVBMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgQ1JDIGNoZWNrIHRoZSBwc2kgcGlkcy4gQ1JDIGNoZWNraW5nIGNvZGUgcmVsaWNlbmNlZCBmcm9tIE1QTC4KCSAgVGhhbmtzIEZsdWVuZG8uCgoyMDA3LTExLTMwIDEyOjUzOjEzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuaDoKCSAgRml4ZWQgZ2V0X3JhbmdlIGJ1ZyB3aGVuIGluamVjdGluZyBhbmQgc3RyaXBwaW5nLiBBbmQgbXV4IGlzIGFsbW9zdCBkb25lIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGdldF9yYW5nZSBidWcgd2hlbiBpbmplY3RpbmcgYW5kIHN0cmlwcGluZy4gQW5kIG11eCBpcyBhbG1vc3QgZG9uZSBub3cuCgoyMDA3LTExLTMwIDEwOjQ2OjIzICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IFVzZSBnbGliIG1hY3JvIGZvciBzd2FwcGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgVXNlIGdsaWIgbWFjcm8gZm9yIHN3YXBwaW5nCgoyMDA3LTExLTI5IDEzOjMyOjExICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IERpc2FibGUgQ29weVJlY3QgZW5jb2RpbmcgYnkgZGVmYXVsdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBEaXNhYmxlIENvcHlSZWN0IGVuY29kaW5nIGJ5IGRlZmF1bHQKCSAgQWRkIFJSRSBlbmNvZGluZwoKMjAwNy0xMS0yOSAxMDo0OToxOCArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBsaWJzb3VwIHJlcXVpcmVtZW50IGFzIGxpYnNvdXAgZG9lcyBub3Qgc3VwcG9ydCBhc3luYyBjbGllbnQgb3BlcmF0aW9uIHByaW9yIHRvIHZlcnNpb24gMi4yLjEwNCBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBsaWJzb3VwIHJlcXVpcmVtZW50IGFzIGxpYnNvdXAgZG9lcyBub3Qgc3VwcG9ydCBhc3luYyBjbGllbnQKCSAgb3BlcmF0aW9uIHByaW9yIHRvIHZlcnNpb24gMi4yLjEwNCBhbmQgaXQgaGFzIHNvbWUgbGVha3MuCgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksIChzb3VwX2dvdF9oZWFkZXJzKSwgKHNvdXBfZ290X2JvZHkpLAoJICAoc291cF9maW5pc2hlZCksIChzb3VwX2dvdF9jaHVuayksIChzb3VwX3Jlc3BvbnNlKSwKCSAgKHNvdXBfc2Vzc2lvbl9jbG9zZSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgSW1wbGVtZW50IHVubG9jaygpLgoJICBQaWNrcyB1cCB0aGUgc2l6ZSBmcm9tIHRoZSBDb250ZW50LUxlbmd0aCBoZWFkZXIgYW5kIGVtaXQgYSBkdXJhdGlvbgoJICBtZXNzYWdlLgoJICBEb24ndCBsZWFrIHRoZSBHTWFpbkNvbnRleHQgb2JqZWN0LgoJICBGaXhlcyAjNTAwMDk5LgoKMjAwNy0xMS0yOSAxMDo0NDo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiBEb24ndCBmcmVlIHVuaW5pdGlhbGl6ZWQgZGF0YSB3aGVuIHdlIGFyZSBpbiBlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IChhbHNhc3BkaWZzaW5rX3NldF9jYXBzKSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3RpbWUpLCAoYWxzYXNwZGlmc2lua19zZXRfcGFyYW1zKSwKCSAgKGFsc2FzcGRpZnNpbmtfZmluZF9wY21fZGV2aWNlKToKCSAgRG9uJ3QgZnJlZSB1bmluaXRpYWxpemVkIGRhdGEgd2hlbiB3ZSBhcmUgaW4gZXJyb3IuCgoyMDA3LTExLTI4IDE0OjAzOjM1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIFNlbmRpbmcgbWFrZSBhbmQgbW9kZWwgaW5kaXZpZHVhbCB0YWdzIGFuZCBtdXhlciBub3cgbGlua3MgZmluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNlbmRpbmcgbWFrZSBhbmQgbW9kZWwgaW5kaXZpZHVhbCB0YWdzIGFuZCBtdXhlciBub3cgbGlua3MgZmluZS4KCjIwMDctMTEtMjggMDg6MTM6NTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIFNtYWxsIGZpeGVzIGluIGdldF9yYW5nZSBhbmQgYmV0dGVyIHN0cnVjdHVyZSBmb3IgZ2VuZXJpYyBtdXhlciBhbmQgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNtYWxsIGZpeGVzIGluIGdldF9yYW5nZSBhbmQgYmV0dGVyIHN0cnVjdHVyZSBmb3IgZ2VuZXJpYyBtdXhlciBhbmQgZGVtdXhlci4KCjIwMDctMTEtMjYgMTM6MTk6NDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBZGQgUXVpY2tUaW1lIFdyYXBwZXIgcGx1Zy1pbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTEtMjYgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogY29uZmlndXJlLmFjOiBBZGQgUXVpY2tUaW1lIFdyYXBwZXIgcGx1Zy1pbi4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2Vzcyk6IEZpeAoJICBidWlsZCBvbiBNYWMgT1MgWCBMZW9wYXJkLiBJbmNvcnJlY3QgcHJpbnRmIGZvcm1hdCBhcmd1bWVudHMuCgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9iYXNlX2luaXQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfY2xhc3NfaW5pdCksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9pbml0KSwKCSAgKGNsZWFyX0F1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksIChmaWxsX2luZGVzY19tcDMpLAoJICAoZmlsbF9pbmRlc2NfYWFjKSwgKGZpbGxfaW5kZXNjX3NhbXIpLCAoZmlsbF9pbmRlc2NfZ2VuZXJpYyksCgkgIChtYWtlX3NhbXJfbWFnaWNfY29va2llKSwgKG9wZW5fZGVjb2RlciksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9zaW5rX3NldGNhcHMpLCAocHJvY2Vzc19idWZmZXJfY2IpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfY2hhaW4pLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfc2lua19ldmVudCksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2RlcnNfcmVnaXN0ZXIpOgoJICAqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmM6IChhdWRpb19jYXBzX2Zyb21fc3RyaW5nKSwKCSAgKGZvdXJjY190b19jYXBzKToKCSAgKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5oOgoJICAqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5jOiAoaW1hZ2VfZGVzY3JpcHRpb25fZm9yX2F2YzEpLAoJICAoaW1hZ2VfZGVzY3JpcHRpb25fZm9yX21wNHYpLCAoaW1hZ2VfZGVzY3JpcHRpb25fZnJvbV9zdHNkX2J1ZmZlciksCgkgIChpbWFnZV9kZXNjcmlwdGlvbl9mcm9tX2NvZGVjX2RhdGEpOgoJICAqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5oOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOiAoZ2V0X25hbWVfaW5mb19mcm9tX2NvbXBvbmVudCksCgkgIChnZXRfb3V0cHV0X2luZm9fZnJvbV9jb21wb25lbnQpLCAoZHVtcF9hdmNjX2F0b20pLAoJICAoZHVtcF9pbWFnZV9kZXNjcmlwdGlvbiksIChkdW1wX2NvZGVjX2RlY29tcHJlc3NfcGFyYW1zKSwKCSAgKGFkZFNJbnQzMlRvRGljdGlvbmFyeSksIChkdW1wX2N2cGl4ZWxfYnVmZmVyKSwKCSAgKERlc3Ryb3lBdWRpb0J1ZmZlckxpc3QpLCAoQWxsb2NhdGVBdWRpb0J1ZmZlckxpc3QpOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5oOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2Jhc2VfaW5pdCksCgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9jbGFzc19pbml0KSwKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2luaXQpLCAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfZmluYWxpemUpLAoJICAoZmlsbF9pbWFnZV9kZXNjcmlwdGlvbiksIChuZXdfaW1hZ2VfZGVzY3JpcHRpb24pLCAoY2xvc2VfZGVjb2RlciksCgkgIChvcGVuX2RlY29kZXIpLCAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfc2lua19zZXRjYXBzKSwKCSAgKGRlY29tcHJlc3NDYiksIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9jaGFpbiksCgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9zaW5rX2V2ZW50KSwKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyc19yZWdpc3Rlcik6IEluaXRpYWwgaW1wb3J0IG9mIFF1aWNrVGltZQoJICB3cmFwcGVyIGpvaW50bHkgZGV2ZWxvcHBlZCBieSBTb25nYmlyZCBhdXRob3JzIChQaW9uZWVycyBvZiB0aGUKCSAgSW5ldml0YWJsZSkgYW5kIEZsdWVuZG8uCgoyMDA3LTExLTI2IDEwOjA4OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogVXNlIGRpc3Bvc2UgYW5kIGZpbmFsaXplLiBEaXNwb3NlIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBVc2UgZGlzcG9zZSBhbmQgZmluYWxpemUuIERpc3Bvc2UgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KCjIwMDctMTEtMjYgMDk6Mzg6MjQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSAgTm93IHdvcmtzIHdoZW4gZ2V0X3JhbmdlIGlzIG5vdCBhdmFpbGFibGUgdXBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgd29ya3Mgd2hlbiBnZXRfcmFuZ2UgaXMgbm90IGF2YWlsYWJsZSB1cHN0cmVhbS4KCjIwMDctMTEtMjYgMDg6NDM6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlLzogVXBkYXRlIHNwZWV4IHJlc2FtcGxlciB0byBsYXRlc3QgU1ZOLiBXZSdyZSBub3cgZG93biB0byBvbmx5IHRoZSBjaGFuZ2VzIG5vdGVkIGluIFJFQURNRSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2FyY2guaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOiAocmVzYW1wbGVyX2Jhc2ljX2RpcmVjdF9zaW5nbGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2RpcmVjdF9kb3VibGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2ludGVycG9sYXRlX3NpbmdsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfaW50ZXJwb2xhdGVfZG91YmxlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX25hdGl2ZSksIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19mbG9hdCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfaW5wdXRfbGF0ZW5jeSksCgkgIChzcGVleF9yZXNhbXBsZXJfZ2V0X291dHB1dF9sYXRlbmN5KToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgVXBkYXRlIHNwZWV4IHJlc2FtcGxlciB0byBsYXRlc3QgU1ZOLiBXZSdyZSBub3cgZG93biB0byBvbmx5IHRoZQoJICBjaGFuZ2VzIG5vdGVkIGluIFJFQURNRSBhZ2Fpbi4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9xdWVyeSk6CgkgIEFkanVzdCB0byBBUEkgY2hhbmdlcy4KCjIwMDctMTEtMjUgMTA6NDU6MDkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IE91dHB1dCBzZWdtZW50IHdpdGggcHJvcGVyICdzdG9wJyB2YWx1ZSwgbWFrZXMgZmx2ZGVtdXggMTAwJSBjb21wYXRpYmxlIHdpdGggZ25vbmxpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBPdXRwdXQgc2VnbWVudCB3aXRoIHByb3BlciAnc3RvcCcgdmFsdWUsIG1ha2VzIGZsdmRlbXV4IDEwMCUgY29tcGF0aWJsZQoJICB3aXRoIGdub25saW4uCgoyMDA3LTExLTI1IDEwOjEyOjA5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiBTZXQgaW5pdGlhbCBzdHJ1Y3R1cmUgbmFtZSB0byBmaXggYXNzZXJ0aW9uLCBkdWUgdG8gcmVjZW50IGNhcHMgbmFtZSBjb25zdHJhaW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgU2V0IGluaXRpYWwgc3RydWN0dXJlIG5hbWUgdG8gZml4IGFzc2VydGlvbiwgZHVlIHRvIHJlY2VudCBjYXBzIG5hbWUKCSAgY29uc3RyYWludHMuCgoyMDA3LTExLTIzIDE3OjUzOjM3ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IHBhdC1pbmZvIGlzIG5vdyBhIHNpZ25hbCBub3QgYSBHT2JqZWN0IHByb3BlcnR5IHRoYXQgZ2V0cyBub3RpZmllZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYQoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuaDoKCSAgcGF0LWluZm8gaXMgbm93IGEgc2lnbmFsIG5vdCBhIEdPYmplY3QgcHJvcGVydHkgdGhhdAoJICBnZXRzIG5vdGlmaWVkLgoJICBwYXQtaW5mbywgcG10LWluZm8gbm93IGluc3RlYWQgb2YgcGFzc2luZyBhIEdPYmplY3QgYXMKCSAgYSBwYXJhbWV0ZXIsIHBhc3MgYSBHc3RTdHJ1Y3R1cmUuCgkgIE5ldyBzaWduYWxzOiBuaXQtaW5mbywgc2R0LWluZm8sIGVpdC1pbmZvIGZvciBEVkIgU0kgaW5mb3JtYXRpb24KCSAgKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkgICogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJICAqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkgICogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSAgKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgICogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkgIENhbSBjb2RlIG5vdyB1c2VzIHRoZSBwbXQgR3N0U3RydWN0dXJlIHBhc3NlZCBmcm9tIG1wZWd0c3BhcnNlCgkgIHNpZ25hbHMgcmF0aGVyIHRoYW4gdGhlIEdPYmplY3QuCgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIFVzZSBuZXcgc2lnbmFscyBpbiBtcGVndHNwYXJzZSBhbmQgdXNlIEdzdFN0cnVjdHVyZXMgYXMgcGVyCgkgIG1wZWd0c3BhcnNlJ3MgbW9kaWZpZWQgQVBJLgoKMjAwNy0xMS0yMyAxNzozNToyMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V0eXBlcy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJICBOb3cgcGFyc2VyIGlzIGdlbmVyaWMgKGp1c3QgYWRkL3JlbW92ZSBhIGxpc3Qgb2YgY2h1bmtzKS4gQW5kIGEgdGVtcGxhdGUgb2YgbXV4ZXIgaGFzIGJlZW4gY3JlYXRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBwYXJzZXIgaXMgZ2VuZXJpYyAoanVzdCBhZGQvcmVtb3ZlIGEgbGlzdCBvZiBjaHVua3MpLiBBbmQgYSB0ZW1wbGF0ZSBvZiBtdXhlciBoYXMgYmVlbiBjcmVhdGVkLgoKMjAwNy0xMS0yMyAxMDoyMTozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBPbmx5IHBvc3QgdGhlIGxhdGVuY3kgbWVzc2FnZSBpZiB3ZSBoYXZlIGEgcmVzYW1wbGVyIHN0YXRlIGFscmVhZHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV91cGRhdGVfc3RhdGUpOgoJICBPbmx5IHBvc3QgdGhlIGxhdGVuY3kgbWVzc2FnZSBpZiB3ZSBoYXZlIGEgcmVzYW1wbGVyIHN0YXRlIGFscmVhZHkuCgoyMDA3LTExLTIzIDEwOjIxOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KSwKCSAgKGF1ZGlvcmVzYW1wbGVfcXVlcnkpLCAoYXVkaW9yZXNhbXBsZV9xdWVyeV90eXBlKSwKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSk6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LgoKMjAwNy0xMS0yMyAxMDowMTozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBBbHNvIHBvc3QgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdXBkYXRlX3N0YXRlKToKCSAgQWxzbyBwb3N0IEdTVF9NRVNTQUdFX0xBVEVOQ1kgaWYgdGhlIGxhdGVuY3kgY2hhbmdlcy4KCjIwMDctMTEtMjMgMDg6NDg6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlLzogQWRkIGZ1bmN0aW9ucyB0byBwdXNoIHRoZSByZW1haW5pbmcgc2FtcGxlcyBhbmQgdG8gZ2V0IHRoZSBsYXRlbmN5IG9mIHRoZSByZXNhbXBsZXIuIFRoZXNlIHdpbGwgZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOiAoc3BlZXhfcmVzYW1wbGVyX2dldF9sYXRlbmN5KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9kcmFpbl9mbG9hdCksIChzcGVleF9yZXNhbXBsZXJfZHJhaW5faW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9kcmFpbl9pbnRlcmxlYXZlZF9mbG9hdCksCgkgIChzcGVleF9yZXNhbXBsZXJfZHJhaW5faW50ZXJsZWF2ZWRfaW50KToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBBZGQgZnVuY3Rpb25zIHRvIHB1c2ggdGhlIHJlbWFpbmluZyBzYW1wbGVzIGFuZCB0byBnZXQgdGhlIGxhdGVuY3kKCSAgb2YgdGhlIHJlc2FtcGxlci4gVGhlc2Ugd2lsbCBnZXQgYWRkZWQgdG8gU3BlZXggU1ZOIGluIHRoaXMgb3IgYQoJICBzbGlnaHRseSBjaGFuZ2VkIGZvcm0gYXQgc29tZSBwb2ludCB0b28gYW5kIHNob3VsZCBnZXQgbWVyZ2VkIHRoZW4KCSAgYWdhaW4uCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXRfc3RhdGUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9ldmVudCksCgkgIChnc3Rfc3BlZXhfZml4X291dHB1dF9idWZmZXIpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3F1ZXJ5KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9xdWVyeV90eXBlKToKCSAgRHJvcCB0aGUgcHJlcGVuZGluZyB6ZXJvZXMgYW5kIG91dHB1dCB0aGUgcmVtYWluaW5nIHNhbXBsZXMgb24gRU9TLgoJICBBbHNvIHByb3Blcmx5IGltcGxlbWVudCB0aGUgbGF0ZW5jeSBxdWVyeSBmb3IgdGhpcy4gc3BlZXhyZXNhbXBsZQoJICBzaG91bGQgYmUgY29tcGxldGVseSByZWFkeSBmb3IgcHJvZHVjdGlvbiB1c2Ugbm93LgoKMjAwNy0xMS0yMiAwOTowODoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBqaXR0ZXJidWZmZXIgY2FuIGJ1ZmZlciBhbiB1bmxpbWl0ZWQgYW1vdW50IG9mIHRpbWUgYW5kIHRodXMgaGFzIG5vIG1heF9sYXRlbmN5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIGppdHRlcmJ1ZmZlciBjYW4gYnVmZmVyIGFuIHVubGltaXRlZCBhbW91bnQgb2YgdGltZSBhbmQgdGh1cyBoYXMgbm8KCSAgbWF4X2xhdGVuY3kgcmVxdWlyZW1lbnRzLgoKMjAwNy0xMS0yMSAxMDoxODo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOiBBZGQgUkVBRE1FIGV4cGxhaW5pbmcgd2hlcmUgdGhlIHJlc2FtcGxpbmcgY29kZSB3YXMgdGFrZW4gZnJvbSBhbmQgd2hpY2ggY2hhbmdlcyB3ZXJlIGRvbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL1JFQURNRToKCSAgQWRkIFJFQURNRSBleHBsYWluaW5nIHdoZXJlIHRoZSByZXNhbXBsaW5nIGNvZGUgd2FzIHRha2VuIGZyb20KCSAgYW5kIHdoaWNoIGNoYW5nZXMgd2VyZSBkb25lLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6IChzcGVleF9hbGxvYyksIChzcGVleF9yZWFsbG9jKSwKCSAgKHNwZWV4X2ZyZWUpOgoJICBVc2UgZ19tYWxsb2MoKSBhbmQgZnJpZW5kcyBpbnN0ZWFkIG9mIG1hbGxvYygpIHRvIGFjaGlldmUgaGlnaGVyCgkgIHBvcnRhYmlsaXR5IGFuZCBkZWZpbmUgdGhlIGZ1bmN0aW9ucyBpbmxpbmUuCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgIEFkZCBiYWNrIHNvbWUgdXNlbGVzcyBwcmVwcm9jZXNzb3Igc3R1ZmYgdG8ga2VlcCB0aGUgZGlmZiBiZXR3ZWVuCgkgIG91ciB2ZXJzaW9uIGFuZCB0aGUgb25lIGZyb20gdGhlIFNwZWV4IFNWTiByZXBvc2l0b3J5IGxvd2VyLgoKMjAwNy0xMS0yMSAwOTo1Njo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFBvc3QgYSBHU1RfTUVTU0FHRV9MQVRFTkNZIGlmIHRoZSBsYXRlbmN5IGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19zZXRfcHJvcGVydHkpOgoJICBQb3N0IGEgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoKMjAwNy0xMS0yMSAwOTo0NTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogRG9uJ3QgdHJ5IHRvIGZsdXNoIHRoZSBkZWNvZGVyIG9uIEVPUyB3aGVuIGl0IHdhcyBub3QgaW5pdGlhbGl6ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3NpbmtfZXZlbnQpOgoJICBEb24ndCB0cnkgdG8gZmx1c2ggdGhlIGRlY29kZXIgb24gRU9TIHdoZW4gaXQgd2FzIG5vdCBpbml0aWFsaXplZC4KCSAgRml4ZXMgIzQ5ODY2NwoKMjAwNy0xMS0yMSAwOTo0MDowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiBGaXggYnVpbGQgb24gTWFjIE9TIFguIChtaXNzaW5nIGZvcm1hdCBwYXJhbWV0ZXIpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTExLTIxICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IChnc3Rfc2RsYXVkaW9fc2lua193cml0ZSk6IEZpeCBidWlsZAoJICBvbiBNYWMgT1MgWC4gKG1pc3NpbmcgZm9ybWF0IHBhcmFtZXRlcikKCjIwMDctMTEtMjEgMDg6MjE6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBSZW1vdmUgcHJlc2V0IGlmYWNlIGFnYWluLiBXZSdsbCByZS1hZGQgdGhpcyBhZnRlciBpdHMgYmVlbiByZWxlYXNlZCBpbiAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgUmVtb3ZlIHByZXNldCBpZmFjZSBhZ2Fpbi4gV2UnbGwgcmUtYWRkIHRoaXMgYWZ0ZXIgaXRzIGJlZW4gcmVsZWFzZWQKCSAgaW4gLWdvb2QuCgoyMDA3LTExLTIwIDIwOjIzOjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IFNvbWUgc21hbGwgY2xlYW51cCBhbmQgYWRkaXRpb24gb2YgYSBUT0RPIGl0ZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9maXhfb3V0cHV0X2J1ZmZlciksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtKToKCSAgU29tZSBzbWFsbCBjbGVhbnVwIGFuZCBhZGRpdGlvbiBvZiBhIFRPRE8gaXRlbS4KCjIwMDctMTEtMjAgMTI6NTY6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOiBBZGQgbWlzc2luZyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgZmlsZS4KCjIwMDctMTEtMjAgMDc6NTI6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIG1pc3NpbmcgaW5zcGVjdGlvbiBmaWxlcyB0byBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBBZGQgbWlzc2luZyBpbnNwZWN0aW9uIGZpbGVzIHRvIENWUy4KCjIwMDctMTEtMjAgMDc6NDc6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBzcGVleHJlc2FtcGxlIHRvIHRoZSBkb2NzIGFuZCB3aGlsZSBhdCB0aGF0IGRvIGEgbWFrZSB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2lvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgIEFkZCBzcGVleHJlc2FtcGxlIHRvIHRoZSBkb2NzIGFuZCB3aGlsZSBhdCB0aGF0IGRvIGEgbWFrZSB1cGRhdGUuCgoyMDA3LTExLTIwIDA3OjMwOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IElmIHRoZSByZXNhbXBsZXIgZ2l2ZXMgbGVzcyBvdXRwdXQgc2FtcGxlcyB0aGFuIGV4cGVjdGVkIGFkanVzdCB0aGUgb3V0cHV0IGJ1ZmYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X2ZpeF9vdXRwdXRfYnVmZmVyKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKToKCSAgSWYgdGhlIHJlc2FtcGxlciBnaXZlcyBsZXNzIG91dHB1dCBzYW1wbGVzIHRoYW4gZXhwZWN0ZWQKCSAgYWRqdXN0IHRoZSBvdXRwdXQgYnVmZmVyIGFuZCBwcmludCBhIHdhcm5pbmcuCgoyMDA3LTExLTIwIDA3OjAyOjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgcmVzYW1wbGUgZWxlbWVudCBiYXNlZCBvbiB0aGUgU3BlZXggcmVzYW1wbGluZyBhbGdvcml0aG0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZ2VuZXJpYy5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9iYXNlX2luaXQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3N0YXJ0KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9zdG9wKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfaW5pdF9zdGF0ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdXBkYXRlX3N0YXRlKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9yZXNldF9zdGF0ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcGFyc2VfY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9jYXBzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9ldmVudCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2hlY2tfZGlzY29udCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2VzcyksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF9wcm9wZXJ0eSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6IChzcGVleF9hbGxvYyksIChzcGVleF9yZWFsbG9jKSwKCSAgKHNwZWV4X2ZyZWUpLCAoY29tcHV0ZV9mdW5jKSwgKG1haW4pLCAoc2luYyksIChjdWJpY19jb2VmKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19kaXJlY3Rfc2luZ2xlKSwgKHJlc2FtcGxlcl9iYXNpY19kaXJlY3RfZG91YmxlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9zaW5nbGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2ludGVycG9sYXRlX2RvdWJsZSksICh1cGRhdGVfZmlsdGVyKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9pbml0KSwgKHNwZWV4X3Jlc2FtcGxlcl9pbml0X2ZyYWMpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2Rlc3Ryb3kpLCAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfbmF0aXZlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2Zsb2F0KSwgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnRlcmxlYXZlZF9mbG9hdCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnRlcmxlYXZlZF9pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3NldF9yYXRlKSwgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfcmF0ZSksCgkgIChzcGVleF9yZXNhbXBsZXJfc2V0X3JhdGVfZnJhYyksIChzcGVleF9yZXNhbXBsZXJfZ2V0X3JhdGlvKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfcXVhbGl0eSksIChzcGVleF9yZXNhbXBsZXJfZ2V0X3F1YWxpdHkpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3NldF9pbnB1dF9zdHJpZGUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2dldF9pbnB1dF9zdHJpZGUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3NldF9vdXRwdXRfc3RyaWRlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfb3V0cHV0X3N0cmlkZSksIChzcGVleF9yZXNhbXBsZXJfc2tpcF96ZXJvcyksCgkgIChzcGVleF9yZXNhbXBsZXJfcmVzZXRfbWVtKSwgKHNwZWV4X3Jlc2FtcGxlcl9zdHJlcnJvcik6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2Zsb2F0LmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2ludC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIEFkZCByZXNhbXBsZSBlbGVtZW50IGJhc2VkIG9uIHRoZSBTcGVleCByZXNhbXBsaW5nIGFsZ29yaXRobS4KCjIwMDctMTEtMTkgMjI6MDk6MzYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSAgRml4ZWQgYnVmZmVyIHN0cmlwIChzYWZlciB3aWwgcHVsbCBhbmQgYWZ0ZXIgc2VlaykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBidWZmZXIgc3RyaXAgKHNhZmVyIHdpbCBwdWxsIGFuZCBhZnRlciBzZWVrKS4KCjIwMDctMTEtMTkgMjA6MzA6MTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBY3RpdmF0ZSBwcmVzZXQgaWZhY2UgYW5kIHVwbG9hZCB0d28gcHJlc2V0cyBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICBBY3RpdmF0ZSBwcmVzZXQgaWZhY2UgYW5kIHVwbG9hZCB0d28gcHJlc2V0cyBoZXJlLgoKMjAwNy0xMS0xOSAxMzowNToyMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJICBTdHJpcCBvdXQgaW4gcHVsbCBtb2RlIGFsc28uIFNlZWsgYW5kIFF1ZXJ5IGZ1bmN0aW9ucyBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFN0cmlwIG91dCBpbiBwdWxsIG1vZGUgYWxzby4gU2VlayBhbmQgUXVlcnkgZnVuY3Rpb25zIGFkZGVkLgoKMjAwNy0xMS0xOCAyMTowNjo1MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldHlwZXMuaDoKCSAgU3RyaXAgb3V0IG1ldGFkYXRhIGNodW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFN0cmlwIG91dCBtZXRhZGF0YSBjaHVua3MuCgoyMDA3LTExLTE2IDExOjExOjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFscyB1c2UgQUdfR1NUX1BMVUdJTl9ET0NTIChzZWUgIzM0NDAzOSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWxzIHVzZSBBR19HU1RfUExVR0lOX0RPQ1MgKHNlZSAjMzQ0MDM5KS4KCjIwMDctMTEtMTUgMTk6MDM6MzMgKzAwMDAgIFdhaS1NaW5nIEhvIDx3ZWJyZWdib3hAeWFob28uY28udWs+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBFbnN1cmUgdGhhdCB0aGUgcGx1Z2luIGRvZXMgbm90IGNyYXNoIHdoZW4gdGhlIHByb3BlcnR5IHBhdC1pbmZvIGlzIHF1ZXJpZWQgYmVmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXYWktTWluZyBIbyA8d2VicmVnYm94IGF0IHlhaG9vIGRvdCBjbyBkb3QgdWs+CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogKGZvcmVhY2hfc3RyZWFtX2NsZWFyKSwKCSAgKHJlbW92ZV9hbGwpLCAobXBlZ3RzX3BhY2tldGl6ZXJfY2xlYXIpOgoJICBFbnN1cmUgdGhhdCB0aGUgcGx1Z2luIGRvZXMgbm90IGNyYXNoIHdoZW4gdGhlIHByb3BlcnR5IHBhdC1pbmZvIGlzCgkgIHF1ZXJpZWQgYmVmb3JlIGEgUEFUIGlzIGF2YWlsYWJsZS4gSXQgYWxzbyBlbnN1cmVzIHRoYXQgdGhlIFBBVCBpbmZvIGlzCgkgIGNsZWFyZWQgd2hlbiB0aGUgY2hhbmdpbmcgZnJvbSBQTEFZSU5HIHRvIFJFQURZLgoJICBGaXhlcyAjNDg3ODkyLgoKMjAwNy0xMS0xNSAxODo1Mzo1NiArMDAwMCAgV291dGVyIFBhZXNlbiA8d291dGVyQGJsdWUtZ2F0ZS5iZT4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOiBIYW5kbGUgc2Vla2luZyBjb3JyZWN0bHkuIEZpeGVzICM0NjEwNjguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIFBhZXNlbiA8d291dGVyIGF0IGJsdWUtZ2F0ZSBkb3QgYmU+CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIEhhbmRsZSBzZWVraW5nIGNvcnJlY3RseS4gRml4ZXMgIzQ2MTA2OC4KCjIwMDctMTEtMTUgMTg6NDE6MzEgKzAwMDAgIE1pY2hhZWwgS8O2dHRlciA8bS5rb2V0dGVyQG9yYWlzZS5kZT4KCgkgIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiBGaXggc2FtcGxlIHJhdGUgYW5kIGNsb2NraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhZWwgS8O2dHRlciA8bSBkb3Qga29ldHRlciBhdCBvcmFpc2UgZG90IGRlPgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiAoYWxzYXNwZGlmc2lua19zZXRfY2FwcyksCgkgIChhbHNhc3BkaWZzaW5rX2dldF90aW1lKSwgKGFsc2FzcGRpZnNpbmtfb3BlbiksCgkgIChhbHNhc3BkaWZzaW5rX3NldF9wYXJhbXMpLCAoYWxzYXNwZGlmc2lua19kZWxheSksIChwbHVnaW5faW5pdCk6CgkgIEZpeCBzYW1wbGUgcmF0ZSBhbmQgY2xvY2tpbmcuCgkgIFJlbW92ZSBidWZmZXJfdGltZSBhbmQgcGVyaW9kX3RpbWUgYXMgdGhpcyBzZWVtcyB0byBicmVhayBvbiBzb21lCgkgIGhhcmR3YXJlLiBGaXhlcyAjNDg1NDYyLgoKMjAwNy0xMS0xNSAxNzoyNjoyNSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEFkZGVkIEhUVFAgc291cmNlIGJhc2VkIG9uIGxpYnNvdXAuIEZpeGVzICM0OTcwMjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLCAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfbG9jYXRpb24pLCAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksCgkgIChzb3VwX3Nlc3Npb25fY2xvc2UpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZGVkIEhUVFAgc291cmNlIGJhc2VkIG9uIGxpYnNvdXAuIEZpeGVzICM0OTcwMjAuCgoyMDA3LTExLTE1IDE1OjMyOjQ3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogZG9uJ3QgZm9yZ2V0IHRvIGhhbmRsZSB0aGUgb2Zmc2V0J3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgZG9uJ3QgZm9yZ2V0IHRvIGhhbmRsZSB0aGUgb2Zmc2V0J3MKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgcHJlY2FsY3VsYXRlIHNvbWUgbWFueSB1c2VkIHZhbHVlcwoKMjAwNy0xMS0xNSAwODoyODoyOSArMDAwMCAgQXJtYW5kbyBUYWZmYXJlbCBOZXRvIDx0YWZmYXJlbEBzb2xpcy5jb29wLmJyPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogU2V0IHRoZSB0aW1lc3RhbXAgZm9yIHRoZSBvdXRwdXQgYnVmZmVycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEFybWFuZG8gVGFmZmFyZWwgTmV0byA8dGFmZmFyZWxAc29saXMuY29vcC5icj4KCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBTZXQgdGhlIHRpbWVzdGFtcCBmb3IgdGhlIG91dHB1dCBidWZmZXJzCgoyMDA3LTExLTE0IDE3OjAzOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiBGaXggc3BlY3RydW0gdW5pdCB0ZXN0IGZvciB0aGUgbGF0ZXN0IHNwZWN0cnVtIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBzcGVjdHJ1bSB1bml0IHRlc3QgZm9yIHRoZSBsYXRlc3Qgc3BlY3RydW0gY2hhbmdlcy4KCjIwMDctMTEtMTIgMjE6MDc6MzEgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6IEF2b2lkIHNsb3dkb3duIGZyb20gZGVub3JtYWxzIHdoZW4gcHJvY2Vzc2luZyBuZWFyLXNpbGVuY2UgaW5wdXQgZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6ICh5dWxlX2ZpbHRlcik6CgkgIEF2b2lkIHNsb3dkb3duIGZyb20gZGVub3JtYWxzIHdoZW4gcHJvY2Vzc2luZyBuZWFyLXNpbGVuY2UgaW5wdXQgZGF0YS4KCSAgU3BvdHRlZCBieSBHYWJyaWVsIEJvdXZpZ25lLiBGaXhlcyAjNDk0NDk5LgoKMjAwNy0xMS0xMiAxOToyMjoyNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQWRkIG1hcHBpbmcgZm9yIE5lbGx5bW9zZXIgQVNBTyBhdWRpbyBjb2RlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBBZGQgbWFwcGluZyBmb3IgTmVsbHltb3NlciBBU0FPIGF1ZGlvIGNvZGVjLgoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBNYWtlIHN1cmUgd2UKCSAgYWN0dWFsbHkgaGF2ZSBkYXRhIHRvIHJlYWQgYXQgdGhlIGVuZCBvZiB0aGUgdGFnLiBUaGlzIGF2b2lkcyB0cnlpbmcKCSAgdG8gYWxsb2NhdGUgbmVnYXRpdmUgYnVmZmVycy4KCjIwMDctMTEtMTIgMTc6Mjc6MDMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1JFQURNRToKCSAgQWRkZWQgYSBkZXNpZ24gcHJvcG9zYWwgZnJvbSBtZXRhZGF0YSBwYXJzZSBhbmQgbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSBkZXNpZ24gcHJvcG9zYWwgZnJvbSBtZXRhZGF0YSBwYXJzZSBhbmQgbXV4LgoKMjAwNy0xMS0xMSAyMToxMjoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0LzogQ2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBtYWduaXR1ZGUgdmFsdWVzIGdpdmVuIGluIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzogKGRyYXdfc3BlY3RydW0pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAoZHJhd19zcGVjdHJ1bSk6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChkcmF3X3NwZWN0cnVtKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgQ2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBtYWduaXR1ZGUgdmFsdWVzIGdpdmVuIGluIHRoZQoJICBHc3RNZXNzYWdlcyBieSBzcGVjdHJ1bSB0byBkZWNpYmVsIGluc3RlYWQgb2YKCSAgZGVjaWJlbCt0aHJlc2hvbGQuCgoyMDA3LTExLTExIDEzOjU1OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogQW5kIGNvbnRpbnVlIHRvIHVwZGF0ZSBkb2NzLiBBbHNvIGluY2x1ZGUgc29tZSBzYW1wbGUgY29kZSBmb3IgdGhlIG4tYmFuZCBlcXVhbGl6ZXIgaW4gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgQW5kIGNvbnRpbnVlIHRvIHVwZGF0ZSBkb2NzLiBBbHNvIGluY2x1ZGUgc29tZSBzYW1wbGUgY29kZQoJICBmb3IgdGhlIG4tYmFuZCBlcXVhbGl6ZXIgaW4gdGhlIGRvY3MuCgoyMDA3LTExLTExIDEyOjU0OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogVXBkYXRlIGRvY3MgYW5kIHByb3BlcnR5IHJhbmdlcyB0byB0aGUgcmVhbCB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIFVwZGF0ZSBkb2NzIGFuZCBwcm9wZXJ0eSByYW5nZXMgdG8gdGhlIHJlYWwgdmFsdWVzLgoKMjAwNy0xMS0wOSAxNzoyNzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IE5vdyBkbyB0aGUgc2NhbGluZyByaWdodCBmb3IgcmVhbC4gQWxzbyBpbml0aWFsaXplIGEgcHJldmlvdXNseSB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgTm93IGRvIHRoZSBzY2FsaW5nIHJpZ2h0IGZvciByZWFsLiBBbHNvIGluaXRpYWxpemUgYSBwcmV2aW91c2x5CgkgIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCgoyMDA3LTExLTA5IDE1OjUzOjEzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmM6CgkgIEV4dHJhY3RpbmcgbW9yZSBkZXRhaWxlZCBpbmZvIGZyb20gWE1QLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRXh0cmFjdGluZyBtb3JlIGRldGFpbGVkIGluZm8gZnJvbSBYTVAuCgoyMDA3LTExLTA4IDE1OjU2OjQ2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2RlbW8uYzogTWFrZSBkZWZhdWx0IHZvbHVtZSBhIGJpdCBsZXNzLiBJbXByb3ZlIGxheW91dCBieSBnaXZpbmcgbW9yZSBzcGFjZSB0byB0aGUgc2xpZGVyIHdpdGggYmlnLW51bWIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6CgkgIE1ha2UgZGVmYXVsdCB2b2x1bWUgYSBiaXQgbGVzcy4gSW1wcm92ZSBsYXlvdXQgYnkgZ2l2aW5nIG1vcmUgc3BhY2UgdG8KCSAgdGhlIHNsaWRlciB3aXRoIGJpZy1udW1iZXJzIGFuZCBlbmFibGUgZmlsbC4KCjIwMDctMTEtMDcgMTY6NDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlcXVpcmUgR0lPID49IDAuMS4yIGFuZCBhZGp1c3QgdW5pdCB0ZXN0IGZvciBhbiBBUEkgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBSZXF1aXJlIEdJTyA+PSAwLjEuMiBhbmQgYWRqdXN0IHVuaXQgdGVzdCBmb3IgYW4gQVBJIGNoYW5nZS4KCjIwMDctMTEtMDcgMTU6MzY6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IEZpeCBnYWluIHJhbmdlcyBmb3IgdGhlIGxhdGVzdCBlcXVhbGl6ZXIgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGRvX3NsaWRlcl9maWRkbGluZyk6CgkgIEZpeCBnYWluIHJhbmdlcyBmb3IgdGhlIGxhdGVzdCBlcXVhbGl6ZXIgY2hhbmdlcy4KCjIwMDctMTEtMDcgMTU6MTg6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9naW8vZ3N0Z2lvLmg6IEFkZCBtYWNybyB0byBjaGVjayBpZiBhIHN0cmVhbSBzdXBwb3J0cyBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2lvL2dzdGdpby5oOgoJICBBZGQgbWFjcm8gdG8gY2hlY2sgaWYgYSBzdHJlYW0gc3VwcG9ydHMgc2Vla2luZy4KCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuYzogKGdzdF9naW9fYmFzZV9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19jbGFzc19pbml0KSwgKGdzdF9naW9fYmFzZV9zaW5rX2luaXQpLAoJICAoZ3N0X2dpb19iYXNlX3NpbmtfZmluYWxpemUpLCAoZ3N0X2dpb19iYXNlX3Npbmtfc3RhcnQpLAoJICAoZ3N0X2dpb19iYXNlX3Npbmtfc3RvcCksIChnc3RfZ2lvX2Jhc2Vfc2lua191bmxvY2spLAoJICAoZ3N0X2dpb19iYXNlX3NpbmtfdW5sb2NrX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dpb19iYXNlX3NpbmtfcmVuZGVyKSwgKGdzdF9naW9fYmFzZV9zaW5rX3F1ZXJ5KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3NldF9zdHJlYW0pOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuYzogKGdzdF9naW9fYmFzZV9zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2lvX2Jhc2Vfc3JjX2luaXQpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19maW5hbGl6ZSksIChnc3RfZ2lvX2Jhc2Vfc3JjX3N0YXJ0KSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfc3RvcCksIChnc3RfZ2lvX2Jhc2Vfc3JjX2dldF9zaXplKSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfaXNfc2Vla2FibGUpLCAoZ3N0X2dpb19iYXNlX3NyY191bmxvY2spLAoJICAoZ3N0X2dpb19iYXNlX3NyY191bmxvY2tfc3RvcCksIChnc3RfZ2lvX2Jhc2Vfc3JjX2NoZWNrX2dldF9yYW5nZSksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX2NyZWF0ZSksIChnc3RfZ2lvX2Jhc2Vfc3JjX3NldF9zdHJlYW0pOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5oOgoJICBSZWZhY3RvciBjb21tb24gR0lPIGZ1bmN0aW9ucyB0byBHc3RHaW9CYXNlU2luayBhbmQgR3N0R2lvQmFzZVNyYwoJICBiYXNlIGNsYXNzZXMgdGhhdCBvbmx5IHJlcXVpcmUgYSBHSW5wdXRTdHJlYW0gb3IgR091dHB1dFN0cmVhbSB0bwoJICB3b3JrLgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZ2lvX3NpbmtfaW5pdCksCgkgIChnc3RfZ2lvX3NpbmtfZmluYWxpemUpLCAoZ3N0X2dpb19zaW5rX3N0YXJ0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19zcmNfaW5pdCksCgkgIChnc3RfZ2lvX3NyY19maW5hbGl6ZSksIChnc3RfZ2lvX3NyY19zdGFydCk6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuaDoKCSAgVXNlIHRoZSBuZXdseSBjcmVhdGVkIGJhc2UgY2xhc3NlcyBoZXJlLgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmM6IChnc3RfZ2lvX3N0cmVhbV9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3N0cmVhbV9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19zdHJlYW1fc2lua19pbml0KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NpbmtfZmluYWxpemUpLCAoZ3N0X2dpb19zdHJlYW1fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dpb19zdHJlYW1fc2lua19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6IChnc3RfZ2lvX3N0cmVhbV9zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NyY19jbGFzc19pbml0KSwgKGdzdF9naW9fc3RyZWFtX3NyY19pbml0KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NyY19maW5hbGl6ZSksIChnc3RfZ2lvX3N0cmVhbV9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NyY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmg6CgkgIEltcGxlbWVudCBHc3RHaW9TdHJlYW1TaW5rIGFuZCBHc3RHaW9TdHJlYW1TcmMgdGhhdCBoYXZlIGEgcHJvcGVydHkKCSAgdG8gc2V0IHRoZSBHSW5wdXRTdHJlYW0vR091dHB1dFN0cmVhbSB0aGF0IHNob3VsZCBiZSB1c2VkLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzogKG1lc3NhZ2VfaGFuZGxlciksIChHU1RfU1RBUlRfVEVTVCksCgkgIChnaW9fdGVzdHN1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBnaW9zdHJlYW1zcmMgYW5kIGdpb3N0cmVhbXNpbmsuCgoyMDA3LTExLTA3IDExOjQ4OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvL2dzdGdpby5jOiBSZW1vdmUgbm93YWRheXMgdW5uZWNlc3Nhcnkgd29ya2Fyb3VuZCBmb3IgYSBjcmFzaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dpby9nc3RnaW8uYzogKHBsdWdpbl9pbml0KToKCSAgUmVtb3ZlIG5vd2FkYXlzIHVubmVjZXNzYXJ5IHdvcmthcm91bmQgZm9yIGEgY3Jhc2guCgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfZmluYWxpemUpLAoJICAoZ3N0X2dpb19zaW5rX3N0YXJ0KSwgKGdzdF9naW9fc2lua19zdG9wKSwKCSAgKGdzdF9naW9fc2lua191bmxvY2tfc3RvcCk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2ZpbmFsaXplKSwgKGdzdF9naW9fc3JjX3N0YXJ0KSwKCSAgKGdzdF9naW9fc3JjX3N0b3ApLCAoZ3N0X2dpb19zcmNfdW5sb2NrX3N0b3ApOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgIE1ha2UgdGhlIGZpbmFsaXplIGZ1bmN0aW9uIHNhZmVyLCBjbGVhbiB1cCBldmVyeXRoaW5nIHRoYXQgY291bGQgc3RheQoJICBhcm91bmQuCgkgIFJlc2V0IHRoZSBjYW5jZWxsYWJsZSBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgbmV3IG9uZSBhZnRlciBjYW5jZWxsaW5nCgkgIHNvbWUgb3BlcmF0aW9uLgoJICBEb24ndCBzdG9yZSB0aGUgR0ZpbGUgaW4gdGhlIGVsZW1lbnQsIGl0J3Mgb25seSBuZWNlc3NhcnkgZm9yIGNyZWF0aW5nCgkgIHRoZSBzdHJlYW1zLgoKMjAwNy0xMS0wNiAxMjoyMzozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IFVzZSBhdXRvYXVkaW9zaW5rIGluc3RlYWQgb2YgYWxzYXNpbmsgYW5kIHVzZSBhIHNpbmUgd2F2ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtYWluKToKCSAgVXNlIGF1dG9hdWRpb3NpbmsgaW5zdGVhZCBvZiBhbHNhc2luayBhbmQgdXNlIGEgc2luZSB3YXZlLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBGaXggdGhlIG1hZ25pdHVkZSBjYWxjdWxhdGlvbi4KCjIwMDctMTEtMDQgMTE6MDQ6MjggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay4qOiBGaXggY3Jhc2hlciBpbiBjb25zdHJ1Y3RvciBkdWUgdG8gdGhlIGJhc2UgY2xhc3MncyBjb25zdHJ1Y3RvciBub3QgbmVjZXNzYXJpbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkgIChDRHNob3dGYWtlU2luay5DRHNob3dGYWtlU2luayk6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuaDogKENEc2hvd0Zha2VTaW5rLm1faHJlcyk6CgkgIEZpeCBjcmFzaGVyIGluIGNvbnN0cnVjdG9yIGR1ZSB0byB0aGUgYmFzZSBjbGFzcydzIGNvbnN0cnVjdG9yCgkgIG5vdCBuZWNlc3NhcmlseSBiZWluZyBOVUxMLXNhZmUgKGRlcGVuZHMgb24gdGhlIFNESyB2ZXJzaW9uIHVzZWQKCSAgYXBwYXJlbnRseTsgIzQ5MjQwNikuCgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6IChnc3RfZHNob3dhdWRpb3NyY19wcmVwYXJlKToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzogKGdzdF9kc2hvd3ZpZGVvc3JjX3NldF9jYXBzKToKCSAgRml4IGEgY291cGxlIG9mIE1TVkMgY29tcGlsZXIgd2FybmluZ3MgKCM0OTI0MDYpLgoKMjAwNy0xMS0wMyAxOTo1MDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IEFsbG93IHNldHRpbmcgMCBhcyBiYW5kd2lkdGggYW5kIGhhbmRsZSB0aGlzIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6IChtYWluKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwgKHNldHVwX2ZpbHRlcik6CgkgIEFsbG93IHNldHRpbmcgMCBhcyBiYW5kd2lkdGggYW5kIGhhbmRsZSB0aGlzIGNvcnJlY3RseS4KCSAgQWxzbyBoYW5kbGUgYSBiYW5kd2lkdGggb2YgcmF0ZS8yIHByb3Blcmx5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfY2xhc3NfaW5pdCk6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gZ2VuZXJhdGUgYSBOLWJhbmQgZXF1YWxpemVyIHdpdGggMSBiYW5kcy4gVGhlCgkgIHByZXZpb3VzIGxpbWl0IG9mIDIgd2FzIGNhdXNlZCBieSBhIG5vd2FkYXlzIHJlcGxhY2VkIGNhbGN1bGF0aW9uCgkgIGRvaW5nIGEgZGl2aXNpb24gYnkgemVybyBpZiBudW1iZXIgb2YgYmFuZHMgd2FzIDEuCgoyMDA3LTExLTAyIDIxOjQ1OjM4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBGaXggYmFkIGZ1bmN0aW9uIHNpZ25hdHVyZXMgKCM0OTI3OTgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgRml4IGJhZCBmdW5jdGlvbiBzaWduYXR1cmVzICgjNDkyNzk4KS4KCjIwMDctMTEtMDIgMTY6NTA6NDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmg6CgkgIEFkZGVkIHN1cHBvcnQgZm9yIFBORy9YTVAuIEluZGVudGF0aW9uLiBBbmQgZml4ZWQgcHVsbCBtb2RlIHRvIHBhcnNlIHRoZSBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgc3VwcG9ydCBmb3IgUE5HL1hNUC4gSW5kZW50YXRpb24uIEFuZCBmaXhlZCBwdWxsIG1vZGUgdG8gcGFyc2UgdGhlIGZpbGUuCgoyMDA3LTExLTAyIDEyOjAzOjA0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkgIE5vdyBtZXRhZGF0YXBhcnNlIHdvcmtzIGluIHB1c2ggb3IgcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IG1ldGFkYXRhcGFyc2Ugd29ya3MgaW4gcHVzaCBvciBwdWxsIG1vZGUuCgoyMDA3LTExLTAxIDE2OjA0OjI5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmg6CgkgIFNvbWUgWE1QIHN0dWZmIGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBYTVAgc3R1ZmYgYWRkZWQuCgoyMDA3LTEwLTMxIDE2OjIxOjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5oOgoJICBOb3cgc2VuZGluZyBpcHRjIHRhZyBpbiB3aG9sZSBjaHVuay4gUmVhZHkgdG8gYWxzbyBzZW5kIGV4aWYgYW5kIHhtcCBpbiB0aGUgc2FtZSB3YXkgKGxvb2sgYXQgYnVnICM0ODY2NTkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IHNlbmRpbmcgaXB0YyB0YWcgaW4gd2hvbGUgY2h1bmsuIFJlYWR5IHRvIGFsc28gc2VuZCBleGlmIGFuZCB4bXAgaW4gdGhlIHNhbWUgd2F5IChsb29rIGF0IGJ1ZyAjNDg2NjU5KS4KCjIwMDctMTAtMzEgMTQ6NDQ6NTUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogU29tZSByZWZhY3RvcmluZyBpbiBSQVcgZW5jb2RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIFNvbWUgcmVmYWN0b3JpbmcgaW4gUkFXIGVuY29kaW5nCgoyMDA3LTEwLTMxIDE0OjA5OjI1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IEFkZGVkIGNvcHlyZWN0IGVuY29kaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZDNkZXMuaDoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmNvbnRleHQuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYnV0aWwuaDoKCSAgKiBnc3QvbGlicmZiL3ZuY2F1dGguaDoKCSAgQWRkZWQgY29weXJlY3QgZW5jb2RpbmcKCjIwMDctMTAtMzEgMTM6MzE6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6IFdhcm4gb24gZmFpbGVkIHdyaXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgIFdhcm4gb24gZmFpbGVkIHdyaXRlLgoKMjAwNy0xMC0zMCAyMTozNzo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IEFkZCBzbWFsbCBkZW1vIGFwcGxpY2F0aW9uIGJhc2VkIG9uIHRoZSBzcGVjdHJ1bSBkZW1vIGFwcGxpY2F0aW9ucyB0aGF0IGdldHMgd2hpdGUgbm9pc2UgYXMgaW5wdXQsIHB1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6IChvbl93aW5kb3dfZGVzdHJveSksIChvbl9jb25maWd1cmVfZXZlbnQpLAoJICAob25fZ2Fpbl9jaGFuZ2VkKSwgKG9uX2JhbmR3aWR0aF9jaGFuZ2VkKSwgKG9uX2ZyZXFfY2hhbmdlZCksCgkgIChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgQWRkIHNtYWxsIGRlbW8gYXBwbGljYXRpb24gYmFzZWQgb24gdGhlIHNwZWN0cnVtIGRlbW8gYXBwbGljYXRpb25zCgkgIHRoYXQgZ2V0cyB3aGl0ZSBub2lzZSBhcyBpbnB1dCwgcHVzaGVzIGl0IHRocm91Z2ggYW4gZXF1YWxpemVyIGFuZAoJICBwYWludHMgdGhlIHNwZWN0cnVtLiBGb3IgZXZlcnkgZXF1YWxpemVyIGJhbmQgaXQncyBwb3NzaWJsZSB0byBzZXQKCSAgZ2FpbiwgYmFuZHdpZHRoIGFuZCBmcmVxdWVuY3kuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKHNldHVwX2ZpbHRlcik6CgkgIEFkZCBzb21lIGd1YXJkaW5nIGFnYWluc3QgdG9vIGxhcmdlIG9yIHRvbyBzbWFsbCBmcmVxdWVuY2llcyBhbmQKCSAgYmFuZHdpZHRocy4gQWxzbyBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDctMTAtMzAgMjE6MTg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFJlcGxhY2UgZmlsdGVycyB3aXRoIGEgYml0IGJldHRlciBmaWx0ZXJzIGZvciB3aGljaCB3ZSBjYW4gYWN0dWFsbHkgZmluZCBkb2N1bWVudGF0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwgKGFyZ190b19zY2FsZSksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyk6CgkgIFJlcGxhY2UgZmlsdGVycyB3aXRoIGEgYml0IGJldHRlciBmaWx0ZXJzIGZvciB3aGljaCB3ZSBjYW4gYWN0dWFsbHkKCSAgZmluZCBkb2N1bWVudGF0aW9uLCB3aGljaCBkb24ndCBjaGFuZ2UgYW55dGhpbmcgb24gemVybyBnYWluLCBldGMuCgkgIE1ha2UgdGhlIGZyZXF1ZW5jeSBwcm9wZXJ0eSBvZiB0aGUgYmFuZHMgd3JpdGFibGUsIHJlbmFtZSB0aGUKCSAgYmFuZC13aWR0aCBwcm9wZXJ0eSB0byBiYW5kd2lkdGggYW5kIGNoYW5nZSB0aGUJbWVhbmluZyB0byB0aGUKCSAgZnJlcXVlbmN5IGRpZmZlcmVuY2UgYmV0d2VlbiBiYW5kZWRnZXMsIGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUKCSAgZ2FpbiBwcm9wZXJ0eSB0byBkQiBpbnN0ZWFkIG9mIGEgd2VpcmQgc2NhbGUgYmV0d2VlbiAtMQlhbmQgMSB0aGF0CgkgIGhhcyBubyByZWFsIG1lYW5pbmcuCgoyMDA3LTEwLTMwIDIwOjU1OjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYzogRml4IHRoZSBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIEZpeCB0aGUgYnVpbGQuCgoyMDA3LTEwLTMwIDE4OjIxOjIyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS8uZ2l0aWdub3JlOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5oOgoJICBDaGFuZ2VkIGtjbGFzcyB0byAiUGFyc2VyL0V4dHJhY3Rlci9NZXRhZGF0YSIsIGNoYW5nZWQgY2FwcyB0byAiaW1hZ2UvanBlZywgdGFncy1leHRyYWN0PXRydWUvZmFsc2UiIGFuZCBjaGFuZ2VkIHByaW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWQga2NsYXNzIHRvICJQYXJzZXIvRXh0cmFjdGVyL01ldGFkYXRhIiwgY2hhbmdlZCBjYXBzIHRvICJpbWFnZS9qcGVnLCB0YWdzLWV4dHJhY3Q9dHJ1ZS9mYWxzZSIgYW5kIGNoYW5nZWQgcHJpb3JpdHkgdG8gR1NUX1JBTktfUFJJTUFSWSsxLiBBbHNvLCBzcmNwYWQgY2FuIG9ubHkgd29yayBpbiBwdXNoIG1vZGUgdW50aWwgZml4ZWQgdG8gYWxzbyB3b3JrIGluIHB1bGwgbW9kZS4KCjIwMDctMTAtMzAgMTI6NDk6MDQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmg6CgkgIENyZWF0ZWQgbmV3IHBsdWdpbiAoJ21lZGFkYXRhJykgYW5kIGVsZW1lbnQgKCdtZXRhZGF0YXBhcnNlJykgdGhhdCBleHRyYWN0IG1ldGFkYXRhIGZyb20gaW1hZ2VzIChsb29rIGF0IGJ1ZyAjNDg2NjU5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENyZWF0ZWQgbmV3IHBsdWdpbiAoJ21lZGFkYXRhJykgYW5kIGVsZW1lbnQgKCdtZXRhZGF0YXBhcnNlJykgdGhhdCBleHRyYWN0IG1ldGFkYXRhIGZyb20gaW1hZ2VzIChsb29rIGF0IGJ1ZyAjNDg2NjU5KS4KCjIwMDctMTAtMjkgMTU6NTQ6MDQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYzogVW5jb21tZW50IHRoZSBsaW5lIHRoYXQgc2V0cyB0aGUgcGlkIGZpbHRlci4gV3Jvbmcgd2F5IHRvIHdvcmstYXJvdW5kIGRyaXZlciBpc3N1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBVbmNvbW1lbnQgdGhlIGxpbmUgdGhhdCBzZXRzIHRoZSBwaWQgZmlsdGVyLiBXcm9uZyB3YXkgdG8KCSAgd29yay1hcm91bmQgZHJpdmVyIGlzc3Vlcy4KCjIwMDctMTAtMjggMTU6MjI6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEZpeCBiaXRyYXRlIHJhbmdlcyBhbmQgY2hhbmdlIGVudW0gbmljayBmb3IgbG93IGNvbXBsZXhpdHkgcHJvZmlsZSBmcm9tIExPVyB0byBMQyBmb3IgY29uc2lzdGVuY3kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfcHJvZmlsZV9nZXRfdHlwZSksCgkgIChnc3RfZmFhY19jbGFzc19pbml0KSwgKGdzdF9mYWFjX2luaXQpOgoJICBGaXggYml0cmF0ZSByYW5nZXMgYW5kIGNoYW5nZSBlbnVtIG5pY2sgZm9yIGxvdyBjb21wbGV4aXR5CgkgIHByb2ZpbGUgZnJvbSBMT1cgdG8gTEMgZm9yIGNvbnNpc3RlbmN5ICgjNDkwMDYwKS4KCjIwMDctMTAtMjcgMTY6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IExldCdzIG5vdCBjYWxsIGV2ZXJ5IHJlcXVlc3QgcGFkIHdlIGNyZWF0ZSAic2luayVkIiwgdGhhdCdsbCBjcmVhdGUgcHJvYmxlbXMgaWYgdGhlcmUncyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKToKCSAgTGV0J3Mgbm90IGNhbGwgZXZlcnkgcmVxdWVzdCBwYWQgd2UgY3JlYXRlICJzaW5rJWQiLCB0aGF0J2xsCgkgIGNyZWF0ZSBwcm9ibGVtcyBpZiB0aGVyZSdzIHRvIGJlIG1vcmUgdGhhbiBvbmUgcGFkLiBGaXhlcyAjNDkwNjgyLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgYWJvdmUuCgoyMDA3LTEwLTI3IDA4OjIwOjU5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLio6IEltcHJvdmVkIHZlcnNpb24gbm90IGRhbWFnaW5nIGhlYWRlcnMgdXNpbmcgYSBzaW1wbGUgc3RhdGUgbWFjaGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTAtMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wZWc0dnBhcnNlX2FsaWduKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9kcmFpbiksIChnc3RfbXBlZzR2cGFyc2VfY2hhaW4pLAoJICAoZ3N0X21wZWc0dnBhcnNlX3Npbmtfc2V0Y2FwcyksIChnc3RfbXBlZzR2cGFyc2Vfc2lua19ldmVudCksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2xlYW51cCksIChnc3RfbXBlZzR2cGFyc2VfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9kaXNwb3NlKSwgKGdzdF9tcGVnNHZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X21wZWc0dnBhcnNlX2luaXQpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6IEltcHJvdmVkIHZlcnNpb24gbm90CgkgIGRhbWFnaW5nIGhlYWRlcnMgdXNpbmcgYSBzaW1wbGUgc3RhdGUgbWFjaGluZS4KCjIwMDctMTAtMjYgMTc6MTg6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IEZpeCBidWlsZCBhZ2FpbnN0IHRoZSBsaWJ4MjY0IHZlcnNpb24gdGhhdCBzaGlwcyB3aXRoIGRlYmlhbiBzdGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgRml4IGJ1aWxkIGFnYWluc3QgdGhlIGxpYngyNjQgdmVyc2lvbiB0aGF0IHNoaXBzIHdpdGggZGViaWFuIHN0YWJsZS4KCjIwMDctMTAtMjYgMTY6MDg6MDQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgQWRkIGEgc2ltcGxlIE1QRUc0IEVTIHBhcnNlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTAtMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wZWc0dnBhcnNlX2RyYWluKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jaGFpbiksIChnc3RfbXBlZzR2cGFyc2Vfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9tcGVnNHZwYXJzZV9jbGVhbnVwKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X21wZWc0dnBhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2Jhc2VfaW5pdCksIChnc3RfbXBlZzR2cGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfbXBlZzR2cGFyc2VfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDogQWRkIGEgc2ltcGxlIE1QRUc0IEVTCgkgIHBhcnNlci4KCjIwMDctMTAtMjUgMjM6NDI6NTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgSW1wcm92ZSBkb2N1bWVudGF0aW9uLCB3cml0ZSBzb21lIHRlc3RzIGZvciBtdWx0aWZpbGVzcmMvc2luayBmb3IgdXBjb21pbmcgLT5nb29kIHJldmlldy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBJbXByb3ZlIGRvY3VtZW50YXRpb24sIHdyaXRlIHNvbWUgdGVzdHMgZm9yIG11bHRpZmlsZXNyYy9zaW5rCgkgIGZvciB1cGNvbWluZyAtPmdvb2QgcmV2aWV3LgoKMjAwNy0xMC0yMyAxMzowODoyNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IEFjdHVhbGx5IHVzZSB0aGUgY29kZS1yYXRlLWhwIHBhcmFtZXRlciBmb3IgRFZCLVMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFjdHVhbGx5IHVzZSB0aGUgY29kZS1yYXRlLWhwIHBhcmFtZXRlciBmb3IgRFZCLVMuCgkgIEl0IHR1cm5zIG91dCBzZXR0aW5nIHRvIEFVVE8gZG9lcyBub3QgYWx3YXlzIHdvcmsgKAoJICBlc3BlY2lhbGx5IGluIGRpc2VxIHNpdHVhdGlvbnMpLiBTZXQgYnkgZGVmYXVsdCB0bwoJICBGRUNfQVVUTy4KCjIwMDctMTAtMjIgMTU6NDU6NDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBEb24ndCBlbWl0IG5vLW1vcmUtcGFkcyBmb3Igc2luZ2xlIHBhZCBzY2VuYXJpb3MgYXMgdGhlIGhlYWRlciBpcyBkZWZpbml0ZWx5IG5vdCByZWxpYWJsZS4gV2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEwLTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSk6IERvbid0CgkgIGVtaXQgbm8tbW9yZS1wYWRzIGZvciBzaW5nbGUgcGFkIHNjZW5hcmlvcyBhcyB0aGUgaGVhZGVyCgkgIGlzIGRlZmluaXRlbHkgbm90IHJlbGlhYmxlLiBXZSBlbWl0IHRoZW0gZm9yIDIgcGFkcyBzY2VuYXJpb3MKCSAgdGhvdWdoIHRvIHNwZWVkIHVwIG1lZGlhIGRpc2NvdmVyeS4KCjIwMDctMTAtMTkgMTY6MjA6NTMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYzogQWRkZWQgcHJveHkgcHJvcGVydHkgb2YgZGlzZXFjLXNvdXJjZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgQWRkZWQgcHJveHkgcHJvcGVydHkgb2YgZGlzZXFjLXNvdXJjZQoKMjAwNy0xMC0xOCAwNjoyMDoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogQWRkIGEgbWlzc2luZyBicmVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KToKCSAgQWRkIGEgbWlzc2luZyBicmVhay4KCjIwMDctMTAtMTggMDY6MTQ6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLio6IE1vdmUgYmFuZHdpZHRoIHByb3BlcnR5IHRvIHRoZSBzZXBhcmF0ZSBiYW5kcyBhbmQgYWRkIGZsb2F0NjQgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgTW92ZSBiYW5kd2lkdGggcHJvcGVydHkgdG8gdGhlIHNlcGFyYXRlIGJhbmRzIGFuZCBhZGQgZmxvYXQ2NCBzdXBwb3J0LgoKMjAwNy0xMC0xNyAxNDo0MzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOiBBZGQgYW5vdGhlciBtaXNzaW5nIEdTVF9MSUJTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgQWRkIGFub3RoZXIgbWlzc2luZyBHU1RfTElCUy4KCjIwMDctMTAtMTcgMTQ6MzM6MDMgKzAwMDAgIFJpY2hhcmQgSHVsdCA8cmljaGFyZEBpbWVuZGlvLmNvbT4KCgkgIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06IEZpeCBMSUJTIC0gd2UgbmVlZCB0byBsaW5rIGFnYWluc3QgbGliZ3N0cmVhbWVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJpY2hhcmQgSHVsdCA8cmljaGFyZCBpbWVuZGlvIGNvbT4KCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICBGaXggTElCUyAtIHdlIG5lZWQgdG8gbGluayBhZ2FpbnN0IGxpYmdzdHJlYW1lci4KCjIwMDctMTAtMTcgMTA6MzM6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvZHZiLzogRml4IHNvbWUgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uYzoKCSAgKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5jOgoJICBGaXggc29tZSB3YXJuaW5ncy4KCjIwMDctMTAtMTYgMTk6MjQ6MzEgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogQWRkIHRoZSBzZXQgZW5jb2RpbmdzIGNsaWVudCBtZXNzYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBBZGQgdGhlIHNldCBlbmNvZGluZ3MgY2xpZW50IG1lc3NhZ2UKCjIwMDctMTAtMTYgMTg6MzM6NDQgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogcmVtb3ZlIHRoZSByZmJieXRlc3RyZWFtIGRlYWQgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvcmZiLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJieXRlc3RyZWFtLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJieXRlc3RyZWFtLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHJlbW92ZSB0aGUgcmZiYnl0ZXN0cmVhbSBkZWFkIGNvZGUKCjIwMDctMTAtMTYgMTc6Mzg6MDUgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgc3lzL2R2Yi86IEludGVncmF0ZSBTb0Mgd29yayBkb25lIGJ5IEFsZXNzYW5kcm8gZm9yIHRoZSBGcmVldm8gcHJvamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYQoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9jYW0uYzoKCSAgKiBzeXMvZHZiL2NhbS5oOgoJICAqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uYzoKCSAgKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmg6CgkgICogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uYzoKCSAgKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5oOgoJICAqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSAgKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmg6CgkgICogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSAgKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJICAqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmM6CgkgICogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuaDoKCSAgKiBzeXMvZHZiL2NhbXNlc3Npb24uYzoKCSAgKiBzeXMvZHZiL2NhbXNlc3Npb24uaDoKCSAgKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgICogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJICAqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkgICogc3lzL2R2Yi9jYW10cmFuc3BvcnQuaDoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5oOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5oOgoJICAqIHN5cy9kdmIvZ3N0ZHZiLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBJbnRlZ3JhdGUgU29DIHdvcmsgZG9uZSBieSBBbGVzc2FuZHJvIGZvciB0aGUgRnJlZXZvIHByb2plY3QuCgkgIEFkZHMgY2FtIHN1cHBvcnQgdG8gdGhlIGR2YiBzdGFjayBpbiBHU3RyZWFtZXIgYW5kIGEgbmV3CgkgIGVsZW1lbnQgKGFjdHVhbGx5IGEgYmluKSBjYWxsZWQgZHZiYmFzZWJpbiB0aGF0IGludGVncmF0ZXMKCSAgZHZic3JjIGFuZCBtcGVndHNwYXJzZSB0byBhKSBoYW5kbGUgZGVjcnlwdGlvbiBhbmQgYikgYWxsb3cKCSAgYWNxdWlyaW5nIG11bHRpcGxlIGNoYW5uZWxzIG9uIHNhbWUgdHJhbnNwb25kZXIgd2l0aG91dAoJICBrbm93aW5nIHBpZCBudW1iZXJzLgoKMjAwNy0xMC0xNiAxNjo1MToyMyArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBBZGQgcmVxdWVzdCBwYWQgZm9yIGdldHRpbmcgdGhlIGZ1bGwgdHJhbnNwb3J0IHN0cmVhbSBjb21pbmcgaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5oOgoJICBBZGQgcmVxdWVzdCBwYWQgZm9yIGdldHRpbmcgdGhlIGZ1bGwgdHJhbnNwb3J0IHN0cmVhbSBjb21pbmcgaW4uCgoyMDA3LTEwLTE0IDE3OjIyOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFVwZGF0ZSB0aGUgaGlnaGVzdCBhbGxvd2VkIG5lb24gdmVyc2lvbiBmcm9tIDAuMjYuOTkgdG8gMC4yNy45OS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgdGhlIGhpZ2hlc3QgYWxsb3dlZCBuZW9uIHZlcnNpb24gZnJvbSAwLjI2Ljk5IHRvIDAuMjcuOTkuCgkgIE5vIGNvZGUgY2hhbmdlcyBhcmUgcmVxdWlyZWQgdG8gd29yayB3aXRoIHRoZSBuZXdlc3QgbmVvbiB2ZXJzaW9uLgoKMjAwNy0xMC0xMCAxMTo0NDowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBjb3JlIENWUy4gIFRoaXMgaXMgaW1wbGljaXQgaW4gdGhlIC1iYXNlIENWUyByZXF1aXJlbWVudCBhbHJlYWR5LCBzbyB3ZSBtaWdodCBqdXN0IHdlbGwgc3BlbGwgaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgY29yZSBDVlMuICBUaGlzIGlzIGltcGxpY2l0IGluIHRoZSAtYmFzZSBDVlMKCSAgcmVxdWlyZW1lbnQgYWxyZWFkeSwgc28gd2UgbWlnaHQganVzdCB3ZWxsIHNwZWxsIGl0CgkgIG91dC4gIEFsc28sIHdlIGRvIG5lZWQgYXQgbGVhc3QgMC4xMC4xNCBmb3IKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuICBNYWtlIGNoZWNrCgkgIGZvciBnbXl0aCBhIGJpdCBtb3JlIHJlc3RyaWN0aXZlIHNvIHRoaW5ncyBkb24ndCBicmVhawoJICBpZiB0aGUgbmV4dCB2ZXJzaW9uIGNoYW5nZXMgQVBJLgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICBXb3JrIGFyb3VuZCBhbHNhIGFsbG9jYSBtYWNyb3MgdHJpZ2dlcmluZyAnYWx3YXlzIGV2YWx1YXRlcyB0bwoJICB0cnVlJyB3YXJuaW5ncyB3aXRoIGdjYy00LjIgYW5kIGZpeCBjb21waWxhdGlvbiB3aXRoIGdjYy00LjIuCgkgIEFsc28gZG9uJ3QgbGVhayB0aGUgZGV2aWNlIHN0cmluZy4KCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggZysrNC4yIGFuZCAtV2FsbCAtV2Vycm9yIChhbHNvIG5lZWRzIHBsdWdpbgoJICBkZWZpbmUgZml4IGZyb20gY29yZSBDVlMpLiBGaXhlcyAjNDYyNzM3LgoKMjAwNy0xMC0wOSAxMDowMTozOSArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBtZW1sZWFrLiBGaXhlcyAjNDg0OTkwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZSBhdCB5YWhvbyBkb3QgZnI+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICBGaXggbWVtbGVhay4gRml4ZXMgIzQ4NDk5MC4KCjIwMDctMTAtMDggMTc6NDY6NDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHNob3duIGJ5IEZvcnRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5jOiAocmZiX2J1ZmZlcl9uZXdfYW5kX2FsbG9jKToKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5oOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiAocmZiX3NvY2tldF9nZXRfYnVmZmVyKToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbik6CgkgICogZ3N0L25zZi9uZXM2NTAyLmM6IChuZXM2NTAyX2V4ZWN1dGUpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAob3Blbl9saWJyYXJ5KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgc2hvd24gYnkgRm9ydGUuCgoyMDA3LTEwLTA4IDEwOjM5OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBjYXBzIHJlZmNvdW50aW5nIGZvciBwYXlsb2FkIG1hcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X3B0X21hcCksCgkgIChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgIEZpeCBjYXBzIHJlZmNvdW50aW5nIGZvciBwYXlsb2FkIG1hcHMuCgkgIFdoZW4gY2xlYXJpbmcgcGF5bG9hZCBtYXBzLCBhbHNvIGNsZWFyIHNlc3Npb25zIGFuZCBzdHJlYW1zIHBheWxvYWQKCSAgbWFwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2dldF9jYXBzKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pLAoJICAoZmluZF9wYWRfZm9yX3B0KToKCSAgSW1wbGVtZW50IGNsZWFyaW5nIHRoZSBwYXlsb2FkIG1hcC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgIEZvcndhcmQgZmx1c2ggZXZlbnRzIGluc3RlYWQgb2YgbGVha2luZyB0aGVtLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3Bfc2lua19ldmVudCk6CgkgIENvcnJlY3RseSByZWZjb3VudCBldmVudHMgYmVmb3JlIHB1c2hpbmcgdGhlbS4KCjIwMDctMTAtMDggMDY6MDc6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9naW8vZ3N0Z2lvLmM6IFVzZSBHSU8gZnVuY3Rpb24gdG8gZ2V0IGEgbGlzdCBvZiBzdXBwb3J0ZWQgVVJJIHNjaGVtZXMgaW5zdGVhZCBvZiBoYXJkIGNvZGluZyBzb21ldGhpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChnc3RfZ2lvX2dldF9zdXBwb3J0ZWRfcHJvdG9jb2xzKToKCSAgVXNlIEdJTyBmdW5jdGlvbiB0byBnZXQgYSBsaXN0IG9mIHN1cHBvcnRlZCBVUkkgc2NoZW1lcyBpbnN0ZWFkIG9mCgkgIGhhcmQgY29kaW5nIHNvbWV0aGluZy4KCjIwMDctMTAtMDUgMTc6MjY6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IFdoZW4gcmVjb25zaWRlcmluZyBSVENQIHRpbWVvdXRzLCBzZXQgdGhlIG5leHQgdGltZW91dCBhZ2FpbnN0IHRoZSBsYXN0IHJlcG9ydCB0aW1lIGluc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwKCSAgV2hlbiByZWNvbnNpZGVyaW5nIFJUQ1AgdGltZW91dHMsIHNldCB0aGUgbmV4dCB0aW1lb3V0IGFnYWluc3QgdGhlIGxhc3QKCSAgcmVwb3J0IHRpbWUgaW5zdGVhZCBvZiB0aGUgY3VycmVudCBjbG9jayB0aW1lIHNvIHRoYXQgd2UgZG9uJ3QgZW5kIHVwCgkgIHJlY29uc2lkZXJpbmcgZm9yZXZlci4KCjIwMDctMTAtMDUgMTI6MDc6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogT25seSBwZWVrIGF0IHRoZSB0YWlsIGVsZW1lbnQgaW5zdGVhZCBvZiBwb3BwaW5nIGl0IG9mZiwgd2hpY2ggYWxsb3dzIHVzIHRvIGdyZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBPbmx5IHBlZWsgYXQgdGhlIHRhaWwgZWxlbWVudCBpbnN0ZWFkIG9mIHBvcHBpbmcgaXQgb2ZmLCB3aGljaCBhbGxvd3MKCSAgdXMgdG8gZ3JlYXRseSBzaW1wbGlmeSB0aGluZ3Mgd2hlbiB0aGUgdGFpbCBlbGVtZW50IGNoYW5nZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpOgoJICBGb3J3YXJkIEZMVVNIIGV2ZW50cyBpbnN0ZWFkIG9mIGxlYWtpbmcgdGhlbS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmVtb3ZlIHRoZSB0YWlsLWNoYW5nZWQgY2FsbGJhY2sgaW4gZmF2b3VyIG9mIGEgc2ltcGxlIGJvb2xlYW4gd2hlbiB3ZQoJICBpbnNlcnQgYSBidWZmZXIgaW4gdGhlIHF1ZXVlLgoJICBBZGQgbWV0aG9kIHRvIHBlZWsgdGhlIHRhaWwgb2YgdGhlIGJ1ZmZlci4KCjIwMDctMTAtMDUgMDg6NTE6NDQgKzAwMDAgIEdhdXRpZXIgUG9ydGV0IDxrYXNzb3VsZXRAZ21haWwuY29tPgoKCSAgZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiBUaGUgc2l6ZSBvZiB0aGUgWGluZyBoZWFkZXIgaXMgYWN0dWFsbHkgNDE3IGFzIGl0J3Mgcm91bmRlZCB0byB0aGUgbmV4dCBzbWFsbGVyIGludGVnZXIuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogR2F1dGllciBQb3J0ZXQgPGthc3NvdWxldCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzoKCSAgVGhlIHNpemUgb2YgdGhlIFhpbmcgaGVhZGVyIGlzIGFjdHVhbGx5IDQxNyBhcyBpdCdzIHJvdW5kZWQgdG8gdGhlCgkgIG5leHQgc21hbGxlciBpbnRlZ2VyLiBGaXhlcyAjMzk3NzU5LgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKHhpbmdfZ2VuZXJhdGVfaGVhZGVyKSwKCSAgKHhpbmdfcHVzaF9oZWFkZXIpOgoJICBTb21lIHJhbmRvbSBjbGVhbnVwLCBhZGQgRklYTUVzIGFuZCBUT0RPcyBhbmQgY2hlY2sgaWYgdGhlIG5ld3NlZ21lbnQKCSAgZXZlbnQgdG8gdGhlIGJlZ2lubmluZyB3YXMgc3VjY2Vzc2Z1bCBiZWZvcmUgcHVzaGluZyB0aGUgaGVhZGVyIGFnYWluLgoKMjAwNy0xMC0wNSAwODowNToxNCArMDAwMCAgV2FpLU1pbmcgSG8gPHdlYnJlZ2JveEB5YWhvby5jby51az4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IERvbid0IHNraXAgUEFUIHdpdGggdmVyc2lvbiBudW1iZXIgMC4gRml4ZXMgIzQ4MzQwMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXYWktTWluZyBIbyA8d2VicmVnYm94IGF0IHlhaG9vIGRvdCBjbyBkb3QgdWs+CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKG1wZWd0c19wYWNrZXRpemVyX3N0cmVhbV9uZXcpOgoJICBEb24ndCBza2lwIFBBVCB3aXRoIHZlcnNpb24gbnVtYmVyIDAuIEZpeGVzICM0ODM0MDAuCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IChtcGVndHNfcGFyc2VfYXBwbHlfcGF0KToKCSAgTWFrZSBhbGwgdmFsdWVzIGFib3ZlIDAgbWFyayBhIHJlZmVyZW5jZWQgcHJvZ3JhbSBhcyB0aGV5IGNhbiBiZQoJICBpbmNyZW1lbnRlZCBhbmQgb25seSAxIGhhZCBtYXJrZWQgYSByZWZlcmVuY2VkIHByb2dyYW0gYmVmb3JlLCBjYXVzaW5nCgkgIGFjdHVhbGx5IHJlZmVyZW5jZWQgcHJvZ3JhbXMgdG8gYmUgdW5yZWZlcmVuY2VkLgoKMjAwNy0xMC0wMiAxMDoyOTo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDogQ2hhbmdlIHNpZ25hdHVyZSBvZiBwdCB0byBmaXggY29tcGlsYXRpb24gb24gc29tZSBwbGF0Zm9ybXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSAgQ2hhbmdlIHNpZ25hdHVyZSBvZiBwdCB0byBmaXggY29tcGlsYXRpb24gb24gc29tZSBwbGF0Zm9ybXMuCgoyMDA3LTEwLTAyIDEwOjI3OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBzb21lIG9sZCB1bnVzZWQgdmFyaWFibGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGFwcGx5X29mZnNldCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlbW92ZSBzb21lIG9sZCB1bnVzZWQgdmFyaWFibGVzLgoJICBEb24ndCBhZGQgdGhlIGxhdGVuY3kgdG8gdGhlIHNrZXcgY29ycmVjdGVkIHRpbWVzdGFtcCwgbGF0ZW5jeSBpcyBvbmx5CgkgIHVzZWQgdG8gc3luYyBhZ2FpbnN0IHRoZSBjbG9jay4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLCAoY2FsY3VsYXRlX3NrZXcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBIYW5kbGUgY2FzZSB3aGVyZSBzZXJ2ZXIgdGltZXN0YW1wIGdvZXMgYmFja3dhcmRzIG9yIHdpbGRseSBqdW1wcyBieQoJICB0ZW1wb3JhcmlseSBwYXVzaW5nIHRoZSBza2V3IGNvcnJlY3Rpb24uCgkgIEltcHJvdmUgZGVidWdnaW5nLgoKMjAwNy0xMC0wMiAxMDoxMjo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZHAvTWFrZWZpbGUuYW06IEZvcmdvdCB0byBjb21taXQgbWFrZWZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgIEZvcmdvdCB0byBjb21taXQgbWFrZWZpbGUuCgoyMDA3LTEwLTAyIDA3OjQzOjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvL2dzdGdpb3NpbmsuYzogVXBkYXRlIHRvIEFQSSBjaGFuZ2VzIGluIEdJTy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3Npbmtfc3RhcnQpOgoJICBVcGRhdGUgdG8gQVBJIGNoYW5nZXMgaW4gR0lPLgoKMjAwNy0xMC0wMSAxNDowMTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogVXNlIG5ldyBmdW5jdGlvbiBpbiAtYmFzZSB0byBnZXQgdGhlIGRlZmF1bHQgY2xvY2stcmF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAoZ3N0X3NkcF9kZW11eF9tZWRpYV90b19jYXBzKToKCSAgVXNlIG5ldyBmdW5jdGlvbiBpbiAtYmFzZSB0byBnZXQgdGhlIGRlZmF1bHQgY2xvY2stcmF0ZS4KCjIwMDctMTAtMDEgMTE6NDM6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCBTRFAgZGVtdXhlciBlbGVtZW50LiBGaXhlcyAjNDI2NjU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAoX2RvX2luaXQpLCAoZ3N0X3NkcF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3NkcF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9zZHBfZGVtdXhfaW5pdCksCgkgIChnc3Rfc2RwX2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9zZHBfZGVtdXhfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZHBfZGVtdXhfZ2V0X3Byb3BlcnR5KSwgKGZpbmRfc3RyZWFtX2J5X2lkKSwKCSAgKGZpbmRfc3RyZWFtX2J5X3B0KSwgKGZpbmRfc3RyZWFtX2J5X3VkcHNyYyksIChmaW5kX3N0cmVhbSksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9mcmVlKSwgKGdzdF9zZHBfZGVtdXhfY3JlYXRlX3N0cmVhbSksCgkgIChnc3Rfc2RwX2RlbXV4X2NsZWFudXApLCAoZ2V0X2RlZmF1bHRfcmF0ZV9mb3JfcHQpLAoJICAoZ3N0X3NkcF9kZW11eF9wYXJzZV9ydHBtYXApLCAoZ3N0X3NkcF9kZW11eF9tZWRpYV90b19jYXBzKSwKCSAgKG5ld19zZXNzaW9uX3BhZCksIChyZXF1ZXN0X3B0X21hcCksIChnc3Rfc2RwX2RlbXV4X2RvX3N0cmVhbV9lb3MpLAoJICAob25fYnllX3NzcmMpLCAob25fdGltZW91dCksIChnc3Rfc2RwX2RlbXV4X2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9zZHBfZGVtdXhfY29tYmluZV9mbG93cyksIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9wdXNoX2V2ZW50KSwKCSAgKGdzdF9zZHBfZGVtdXhfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3NkcF9kZW11eF9zdGFydCksCgkgIChnc3Rfc2RwX2RlbXV4X3NpbmtfZXZlbnQpLCAoZ3N0X3NkcF9kZW11eF9zaW5rX2NoYWluKSwKCSAgKGdzdF9zZHBfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkgICogZ3N0L3NkcC9nc3RzZHBlbGVtLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZGVkIFNEUCBkZW11eGVyIGVsZW1lbnQuIEZpeGVzICM0MjY2NTcuCgoyMDA3LTEwLTAxIDA5OjIxOjE5ICswMDAwICBtdXRleCBhdCBydW5ib3ggZG90IGNvbSA8bXV0ZXhAcnVuYm94LmNvbT4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFJlbW92ZSB1c2VsZXNzIHNyYyBwYWQgdGhhdCBvbmx5IHJlc3VsdHMgaW4gbm90IGxpbmtlZCBlcnJvcnMsIGZpeCBhIGJyb2tlbiBwb2ludGVyIGRlcmVmZXJlbmNlIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IG11dGV4IGF0IHJ1bmJveCBkb3QgY29tCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX2FkYXB0YXRpb25fZmllbGRfY29udHJvbCk6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IChtcGVndHNfcGFyc2VfYmFzZV9pbml0KSwKCSAgKG1wZWd0c19wYXJzZV9pbml0KSwgKG1wZWd0c19wYXJzZV9wdXNoKToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuaDoKCSAgUmVtb3ZlIHVzZWxlc3Mgc3JjIHBhZCB0aGF0IG9ubHkgcmVzdWx0cyBpbiBub3QgbGlua2VkIGVycm9ycywKCSAgZml4IGEgYnJva2VuIHBvaW50ZXIgZGVyZWZlcmVuY2UgYW5kIG1ha2UgTUFYX0NPTlRJTlVJVFkgY29uc3RhbnQKCSAgY29uZm9ybSB0byB0aGUgc3RhbmRhcmQgdG8gc3RvcCBvdXRwdXR0aW5nIGNvcnJ1cHRlZCBkYXRhLgoJICBGaXhlcyAjNDgxMjc2LCAjNDgxMjc5LgoKMjAwNy0wOS0yOSAxOTozNjozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IFJlLWFwcGx5IGRvY3MgcGF0Y2ggZnJvbSAjNDY4MDM5OyBmaXggdGFiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICBSZS1hcHBseSBkb2NzIHBhdGNoIGZyb20gIzQ2ODAzOTsgZml4IHRhYi4KCSAgKiBnc3QvbXBlZ3RzcGFyc2UvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1hcnNoYWxsZXIgZmlsZXMgZ2VuZXJhdGVkIGF0IGJ1aWxkIHRpbWUuCgoyMDA3LTA5LTI5IDA3OjAxOjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvLzogU29tZSBtaW5vciBjbGVhbnVwIGFuZCBhbGxvdyBzZXR0aW5nIHRoZSBsb2NhdGlvbiBvbmx5IHdoZW4gdGhlIGVsZW1lbnQgaXMgbm90IHBsYXlpbmcgb3IgcGF1c2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfZ2lvX3NpbmtfcmVuZGVyKToKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc3JjX3NldF9wcm9wZXJ0eSk6CgkgIFNvbWUgbWlub3IgY2xlYW51cCBhbmQgYWxsb3cgc2V0dGluZyB0aGUgbG9jYXRpb24gb25seSB3aGVuIHRoZQoJICBlbGVtZW50IGlzIG5vdCBwbGF5aW5nIG9yIHBhdXNlZC4KCjIwMDctMDktMjkgMDU6MjY6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogVXBkYXRlIGdpbydzIHBrZy1jb25maWcgZmlsZSBuYW1lIGFzIGN1cnJlbnRseSBpbiBTVk4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIGdpbydzIHBrZy1jb25maWcgZmlsZSBuYW1lIGFzIGN1cnJlbnRseSBpbiBTVk4uCgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc2V0X2xvY2F0aW9uKToKCSAgUmVtb3ZlIHNwZWNpYWwgY2FzaW5nIGZvciBhIE5VTEwgcXVlcnkgc3RyaW5nLiBnX3N0cmpvaW4gd29uJ3QgYWRkCgkgIHRoZSBzZXBhcmF0b3IgaWYgdGhlcmUncyBvbmx5IG9uZSBzdHJpbmcuCgoyMDA3LTA5LTI4IDE0OjUxOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBjcmFzaGVyIGluIGRpc3Bvc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZnJlZV9jbGllbnQpOgoJICBGaXggY3Jhc2hlciBpbiBkaXNwb3NlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBIYW5kbGUgY2FzZXMgd2hlcmUgaW5wdXQgYnVmZmVycyBoYXZlIG5vIHRpbWVzdGFtcHMgc28gdGhhdCBubyBjbG9jawoJICBza2V3IGNhbiBiZSBjYWxjdWxhdGVkLCBpbiB0aGlzIGNhc2UgaW50ZXJwb2xsYXRlIHRpbWVzdGFtcHMgYmFzZWQgb24KCSAgcnRwIHRpbWVzdGFtcCBhbmQgYXNzdW1lIGEgMCBjbG9jayBza2V3LgoKMjAwNy0wOS0yOCAxMToxNzozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgaml0dGVyIGNvcnJlY3Rpb24gY29kZSwgaXQncyBub3cgaW4gdGhlIGxvd2VyIGxldmVsIG9iamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IChhcHBseV9sYXRlbmN5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIFJlbW92ZSBqaXR0ZXIgY29ycmVjdGlvbiBjb2RlLCBpdCdzIG5vdyBpbiB0aGUgbG93ZXIgbGV2ZWwgb2JqZWN0LgoJICBVc2UgbmV3IC1jb3JlIG1ldGhvZCBmb3IgZG9pbmcgYSBwZWVyIHF1ZXJ5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBNb3ZlIGppdHRlciBjb3JyZWN0aW9uIHRvIHRoZSBsb3dsZXZlbCBqaXR0ZXJidWZmZXIuCgkgIEluY3JlYXNlIHRoZSBtYXggd2luZG93IHNpemUuCgkgIFdoZW4gZmlsbGluZyB0aGUgd2luZG93LCBhbHJlYWR5IHN0YXJ0IGVzdGltYXRpbmcgdGhlIHNrZXcgdXNpbmcgYQoJICBwYXJhYm9saWMgd2VpZ2h0aW5nIGZhY3RvciBzbyB0aGF0IHdlIGhhdmUgYSBtdWNoIGJldHRlciBzdGFydHVwCgkgIGJlaGF2aW91ciB0aGF0IGdldHMgbW9yZSBhY2N1cmF0ZSB3aXRoIHRoZSBtb3JlIHNhbXBsZXMgd2UgaGF2ZS4KCSAgSW5jcmVhc2UgdGhlIGRlZmF1bHQgd2VpZ2h0aW5nIGZhY3RvciBmb3IgdGhlIHN0ZWFkeSBzdGF0ZSB0byBnZXQKCSAgc21vb3RoZXIgdGltZXN0YW1wcy4KCjIwMDctMDktMjggMTE6MDc6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IE5vdyB0aGF0IHdlIHJlcXVpcmUgbGlibmVvbiA+PSAwLjI2IHJlbW92ZSB0aGUgbmVvbiAwLjI1IGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgc3R1ZmYuIEFscy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJveHkpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgTm93IHRoYXQgd2UgcmVxdWlyZSBsaWJuZW9uID49IDAuMjYgcmVtb3ZlIHRoZSBuZW9uIDAuMjUgYmFja3dhcmQKCSAgY29tcGF0aWJpbGl0eSBzdHVmZi4gQWxzbyBmaXggdGhlIGRlZmF1bHQgbG9jYXRpb24uCgoyMDA3LTA5LTI4IDEwOjUxOjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBXZSByZXF1aXJlIGxpYm5lb24gPj0gMjYgbm93IGZvciB0aGUgcXVlcnkgZmllbGQgaW4gbmVfdXJpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFdlIHJlcXVpcmUgbGlibmVvbiA+PSAyNiBub3cgZm9yIHRoZSBxdWVyeSBmaWVsZCBpbiBuZV91cmkuCgoyMDA3LTA5LTI4IDA5OjI5OjA5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuKjogRG9uJ3QgZGlzY2FyZCBHRVQgcGFyYW1ldGVycyBmcm9tIFVSTCBpZiBleGlzdGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZXRfbG9jYXRpb24pLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBEb24ndCBkaXNjYXJkIEdFVCBwYXJhbWV0ZXJzIGZyb20gVVJMIGlmIGV4aXN0aW5nLgoJICBGaXhlcyAjNDgxMjAwLgoKMjAwNy0wOS0yNyAxNDo1Mjo1OCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLio6IEFkZGVkIGEgcHJvcGVydHkgZm9yIGluY3JlbWVudGFsIHNjcmVlbiB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSAgQWRkZWQgYSBwcm9wZXJ0eSBmb3IgaW5jcmVtZW50YWwgc2NyZWVuIHVwZGF0ZXMKCjIwMDctMDktMjcgMTM6MDI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLio6IFJlbW92ZSBzdXBlcmZsdW91cyAnZnJhbWUtZW5jb2RlZCcgc2lnbmFsIChwZW9wbGUgY2FuIHVzZSBhbiB1cHN0cmVhbSBpZGVudGl0eSdzICdoYW5kb2ZmJyBzaWcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgUmVtb3ZlIHN1cGVyZmx1b3VzICdmcmFtZS1lbmNvZGVkJyBzaWduYWwgKHBlb3BsZSBjYW4KCSAgdXNlIGFuIHVwc3RyZWFtIGlkZW50aXR5J3MgJ2hhbmRvZmYnIHNpZ25hbCBvciBhIHBhZAoJICBwcm9iZSBmb3IgdGhpcyBpZiB0aGV5IG11c3Qga25vdykuCgoyMDA3LTA5LTI3IDEwOjA2OjIzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogSSBnb3QgaXQgd3JvbmcgYWdhaW4sIGF1ZGlvIHJhdGUgd2FzIG5vdCBkZXRlY3RlZCBjb3JyZWN0bHkgaW4gYWxsIGNhc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogSSBnb3QgaXQgd3JvbmcgYWdhaW4sIGF1ZGlvIHJhdGUKCSAgd2FzIG5vdCBkZXRlY3RlZCBjb3JyZWN0bHkgaW4gYWxsIGNhc2VzLgoKMjAwNy0wOS0yNiAyMDowODoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggY2xlYW51cCBjcmFzaGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Rpc3Bvc2UpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpOgoJICBGaXggY2xlYW51cCBjcmFzaGVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChjYWxjdWxhdGVfc2tldyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIER5bmFtaWNhbGx5IGFkanVzdCB0aGUgc2tldyBjYWxjdWxhdGlvbiB3aW5kb3cgc28gdGhhdCB3ZSBjYWxjdWxhdGUgaXQKCSAgb3ZlciBhIHBlcmlvZCBvZiBhcm91bmQgMiBzZWNvbmRzLgoKMjAwNy0wOS0yNiAxNjo0NDo0MiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IGZpeCBidWcgZnJvbSBnZW5lcmljL3N0YXRlcy5nZGIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgZml4IGJ1ZyBmcm9tIGdlbmVyaWMvc3RhdGVzLmdkYgoKMjAwNy0wOS0yNiAxNjozMDo1MCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IGNvZGVjX2RhdGEgaXMgbmVlZGVkIGZvciBldmVyeSB0YWcgbm90IGp1c3QgdGhlIGZpcnN0IG9uZS4gKEZpeCBhIHN0dXBpZCBidWcgaSBpbnRyb2R1Y2VkIHdpdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IGNvZGVjX2RhdGEgaXMgbmVlZGVkIGZvciBldmVyeSB0YWcKCSAgbm90IGp1c3QgdGhlIGZpcnN0IG9uZS4gKEZpeCBhIHN0dXBpZCBidWcgaSBpbnRyb2R1Y2VkIHdpdGhvdXQKCSAgdGVzdGluZykKCjIwMDctMDktMjYgMTE6MTc6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBGaXggYml0IG1hc2tzIG9wZXJhdGlvbnMgdG8gYmUgc3VyZSB3ZSBkZXRlY3QgdGhlIGNvZGVjX3RhZ3MgYW5kIHNhbXBsZSByYXRlcyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBGaXggYml0IG1hc2tzIG9wZXJhdGlvbnMgdG8gYmUKCSAgc3VyZSB3ZSBkZXRlY3QgdGhlIGNvZGVjX3RhZ3MgYW5kIHNhbXBsZSByYXRlcyBjb3JyZWN0bHkuCgkgIEZpeCByYXcgYXVkaW8gY2FwcyBnZW5lcmF0aW9uLgoKMjAwNy0wOS0yNCAxMDo1MzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFzc2l2ZSBsZWFrIGZpeGluZywgcGx1cyBjb2RlIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICBNYXNzaXZlIGxlYWsgZml4aW5nLCBwbHVzIGNvZGUgY2xlYW51cHMuCgoyMDA3LTA5LTIyIDE4OjMxOjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL0xJTkdVQVM6IEFkZGVkIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vTElOR1VBUzoKCSAgQWRkZWQgdHJhbnNsYXRpb25zLgoKMjAwNy0wOS0yMiAxODoyOTo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9wbC5wbzogQWRkZWQgUG9saXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogSmFrdWIgQm9ndXN6IDxxYm9vc2hAcGxkLWxpbnV4Lm9yZz4KCSAgKiBwby9wbC5wbzoKCSAgQWRkZWQgUG9saXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODoyOToxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9maS5wbzogQWRkZWQgRmlubmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IElsa2thIFR1b2hlbGEgPGhpbGVAaWtpLmZpPgoJICAqIHBvL2ZpLnBvOgoJICBBZGRlZCBGaW5uaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODoyODozMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9lcy5wbzogQWRkZWQgU3BhbmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEpvcmdlIEdvbnrDoWxleiBHb256w6FsZXogPGFsb3JpZWxAZ21haWwuY29tPgoJICAqIHBvL2VzLnBvOgoJICBBZGRlZCBTcGFuaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODoyNzo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9iZy5wbzogQWRkZWQgQnVsZ2FyaWFuIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogQWxleGFuZGVyIFNob3BvdiA8YXNoQGNvbnRhY3QuYmc+CgkgICogcG8vYmcucG86CgkgIEFkZGVkIEJ1bGdhcmlhbiB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjEgMTg6MDA6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6IFVwZGF0ZSBoaWVyYXJjaHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIFVwZGF0ZSBoaWVyYXJjaHkuCgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuaDoKCSAgTWFyayBwcml2YXRlIGZpZWxkcyBvZiB0aGUgaW5zdGFuY2Ugc3RydWN0cyBwcml2YXRlLgoKMjAwNy0wOS0yMSAxNzozMTowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHRoZSBHSU8gcGx1Z2luIHRvIHRoZSBkb2NzIGFuZCBkbyBhIG1ha2UgdXBkYXRlIHdoaWxlIGRvaW5nIHRoYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2lvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgQWRkIHRoZSBHSU8gcGx1Z2luIHRvIHRoZSBkb2NzIGFuZCBkbyBhIG1ha2UgdXBkYXRlCgkgIHdoaWxlIGRvaW5nIHRoYXQuCgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX3N0YXJ0KToKCSAgRml4IGEgc21hbGwgbWVtbGVhay4KCjIwMDctMDktMjEgMTc6MDc6NTYgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBBZGQgYSBHSU8vR1ZGUyBwbHVnaW4gd2l0aCBzb3VyY2UgYW5kIHNpbmsgZWxlbWVudHMuIFRoaXMgd2lsbCBvbmx5IGJlIGVuYWJsZWQgd2hlbiAtLWVuYWJsZS1leHBlcmltZW50YWwgaXMgZ2l2ZW4gdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9nc3RnaW8uYzogKGdzdF9naW9fZXJyb3IpLCAoZ3N0X2dpb19zZWVrKSwKCSAgKGdzdF9naW9fZ2V0X3N1cHBvcnRlZF9wcm90b2NvbHMpLAoJICAoZ3N0X2dpb191cmlfaGFuZGxlcl9nZXRfdHlwZV9zaW5rKSwKCSAgKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3R5cGVfc3JjKSwKCSAgKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3Byb3RvY29scyksIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF91cmkpLAoJICAoZ3N0X2dpb191cmlfaGFuZGxlcl9zZXRfdXJpKSwgKGdzdF9naW9fdXJpX2hhbmRsZXJfaW5pdCksCgkgIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2RvX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmg6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9naW9fc2lua19pbml0KSwKCSAgKGdzdF9naW9fc2lua19maW5hbGl6ZSksIChnc3RfZ2lvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9naW9fc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X2dpb19zaW5rX3N0YXJ0KSwKCSAgKGdzdF9naW9fc2lua19zdG9wKSwgKGdzdF9naW9fc2lua191bmxvY2spLAoJICAoZ3N0X2dpb19zaW5rX3VubG9ja19zdG9wKSwgKGdzdF9naW9fc2lua19ldmVudCksCgkgIChnc3RfZ2lvX3NpbmtfcmVuZGVyKSwgKGdzdF9naW9fc2lua19xdWVyeSk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3NyY19jbGFzc19pbml0KSwgKGdzdF9naW9fc3JjX2luaXQpLAoJICAoZ3N0X2dpb19zcmNfZmluYWxpemUpLCAoZ3N0X2dpb19zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9naW9fc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfZ2lvX3NyY19zdGFydCksCgkgIChnc3RfZ2lvX3NyY19zdG9wKSwgKGdzdF9naW9fc3JjX2dldF9zaXplKSwKCSAgKGdzdF9naW9fc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9naW9fc3JjX3VubG9jayksCgkgIChnc3RfZ2lvX3NyY191bmxvY2tfc3RvcCksIChnc3RfZ2lvX3NyY19jaGVja19nZXRfcmFuZ2UpLAoJICAoZ3N0X2dpb19zcmNfY3JlYXRlKToKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5oOgoJICBBZGQgYSBHSU8vR1ZGUyBwbHVnaW4gd2l0aCBzb3VyY2UgYW5kIHNpbmsgZWxlbWVudHMuIFRoaXMgd2lsbAoJICBvbmx5IGJlIGVuYWJsZWQgd2hlbiAtLWVuYWJsZS1leHBlcmltZW50YWwgaXMgZ2l2ZW4gdG8gY29uZmlndXJlCgkgIGZvciBub3cgYXMgdGhlIEdJTyBBUEkgaXMgbm90IHN0YWJsZSB5ZXQuIEZpeGVzICM0NzY5MTYuCgoyMDA3LTA5LTIxIDE1OjQ5OjI0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIHZhcmlvdXMgbmV3IHBsdWctaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggdmFyaW91cyBuZXcgcGx1Zy1pbnMKCjIwMDctMDktMjEgMTQ6NTU6MTkgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogQWRkZWQgb2Zmc2V0LXgsIG9mZnNldC15LCB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnR5IGZvciBzZWxlY3RpbmcgYSByZWdpb24gZnJvbSB0aGUgc2NyZWVuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZGVkIG9mZnNldC14LCBvZmZzZXQteSwgd2lkdGggYW5kIGhlaWdodCBwcm9wZXJ0eQoJICBmb3Igc2VsZWN0aW5nIGEgcmVnaW9uIGZyb20gdGhlIHNjcmVlbgoKMjAwNy0wOS0yMSAxMDoyNzowMiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IE1pbmltdW0gcmF3IGVuY29kaW5nIGlzIHdvcmtpbmcgbm93CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIE1pbmltdW0gcmF3IGVuY29kaW5nIGlzIHdvcmtpbmcgbm93CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIGZpeCBhZGRyZXNzIHdoaWxlIHJlYWRpbmcgZnJvbSBzdHJlYW0KCjIwMDctMDktMjAgMjA6NDA6MDUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiByYXcgZW5jb2RpbmcgaXMgd29ya2luZywgYnV0IGl0IGxvb2tzIGxpa2UgdGhlIGZmbXBlZ2NvbG9yc3BhY2UgcGx1Z2luIGNhbid0IGhhbmRsZSBoaWdoIHJlc28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgcmF3IGVuY29kaW5nIGlzIHdvcmtpbmcsIGJ1dCBpdCBsb29rcyBsaWtlIHRoZQoJICBmZm1wZWdjb2xvcnNwYWNlIHBsdWdpbiBjYW4ndCBoYW5kbGUgaGlnaCByZXNvbHV0aW9ucwoKMjAwNy0wOS0yMCAxODozMDozNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IGJwcCwgZGVwdGggYW5kIGVuZGlhbm5lc3MgYXJlIG5vdyBzZXQgZnJvbSB0aGUgc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBicHAsIGRlcHRoIGFuZCBlbmRpYW5uZXNzIGFyZSBub3cgc2V0IGZyb20gdGhlCgkgIHN0cmVhbS4KCjIwMDctMDktMjAgMTc6Mzg6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6IEZpeCBjb21waWxhdGlvbiBhZnRlciBjaGFuZ2luZyB0aGUgbmFtZSBvZiBhIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOiAobWFpbik6CgkgIEZpeCBjb21waWxhdGlvbiBhZnRlciBjaGFuZ2luZyB0aGUgbmFtZSBvZiBhIG1ldGhvZC4KCjIwMDctMDktMjAgMTU6MDY6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtZW1vcnkgbGVha3MuIE1vcmUgdG8gY29tZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIEZpeCBtZW1vcnkgbGVha3MuIE1vcmUgdG8gY29tZS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICBJbXByb3ZlZCBzdGF0ZSBjaGFuZ2UgdW5pdCB0ZXN0LgoKMjAwNy0wOS0yMCAxNDozNDo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkIG5vdGlmaWNhdGlvbiBvZiBhY3RpdmUgU1NSQ3MgdG8gdmFyaW91cyBSVFAgZWxlbWVudHMuIEZpeGVzICM0Nzg1NjYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fc3NyY19hY3RpdmUpLCAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fc3NyY19hY3RpdmUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKG9uX3NzcmNfYWN0aXZlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIG5vdGlmaWNhdGlvbiBvZiBhY3RpdmUgU1NSQ3MgdG8gdmFyaW91cyBSVFAgZWxlbWVudHMuIEZpeGVzICM0Nzg1NjYuCgoyMDA3LTA5LTIwIDEzOjU5OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLio6IEFkZCBwcm9wZXJ0aWVzLCBzaWduYWxzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyB0aGUgZWxlbWVudCBldmVuIHdpdGhvdXQgbGlua2luZyB0byB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9tYXJzaGFsX09CSkVDVF9fVk9JRCksCgkgIChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYXBwX3NpbmtfaW5pdCksCgkgIChnc3RfYXBwX3NpbmtfZGlzcG9zZSksIChnc3RfYXBwX3NpbmtfZmluYWxpemUpLAoJICAoZ3N0X2FwcF9zaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc2lua19mbHVzaF91bmxvY2tlZCksIChnc3RfYXBwX3Npbmtfc3RhcnQpLAoJICAoZ3N0X2FwcF9zaW5rX2V2ZW50KSwgKGdzdF9hcHBfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfY2FwcyksIChnc3RfYXBwX3NpbmtfZ2V0X2NhcHMpLAoJICAoZ3N0X2FwcF9zaW5rX2lzX2VvcyksIChnc3RfYXBwX3NpbmtfcHVsbF9wcmVyb2xsKSwKCSAgKGdzdF9hcHBfc2lua19wdWxsX2J1ZmZlcik6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkgIEFkZCBwcm9wZXJ0aWVzLCBzaWduYWxzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyB0aGUgZWxlbWVudCBldmVuIHdpdGhvdXQKCSAgbGlua2luZyB0byB0aGUgbGlicmFyeS4KCSAgRml4IHNvbWUgbWV0aG9kIG5hbWVzIGFuZCBzaWduYXR1cmVzLgoKMjAwNy0wOS0xOSAyMToxODoyNyArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5Aa2FvbGluLndoOS5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IERvbid0IHNldCBjaGFubmVsIHBvc2l0aW9ucyBvbiByZWd1bGFyIG1vbm8gYW5kIHN0ZXJlbyBjYXNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3ICA8am9uYXRoYW4gYXQga2FvbGluIHdoOSBuZXQ+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhbnBvc190b19nc3QpLAoJICAoZ3N0X2ZhYWRfc3JjZ2V0Y2FwcyksIChnc3RfZmFhZF91cGRhdGVfY2Fwcyk6CgkgIERvbid0IHNldCBjaGFubmVsIHBvc2l0aW9ucyBvbiByZWd1bGFyIG1vbm8gYW5kIHN0ZXJlbyBjYXNlcy4KCSAgRml4ZXMgIzQ3NjM3MC4KCjIwMDctMDktMTkgMjA6NTU6NDMgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogSXQgaXMgbm93IHBvc3NpYmxlIHRvIGNvbm5lY3QgdG8gYSB2bmNzZXJ2ZXIuIHRoZXJlIGFyZSBzdGlsbCBzb21lIGlzc3VlcyB3aXRoIHRoZSBvdXB1dCBvZiB0aGUgc2NyZWVuLiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgSXQgaXMgbm93IHBvc3NpYmxlIHRvIGNvbm5lY3QgdG8gYSB2bmNzZXJ2ZXIuCgkgIHRoZXJlIGFyZSBzdGlsbCBzb21lIGlzc3VlcyB3aXRoIHRoZSBvdXB1dCBvZgoJICB0aGUgc2NyZWVuLiBMb29rcyBsaWtlIHNvbWUgbGluZXMgYXJlIGNvbmZ1c2VkCgoyMDA3LTA5LTE5IDE4OjIyOjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBJZ25vcmUgcmVnaXN0cmllcyBpbiBhbnkgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay8uY3ZzaWdub3JlOgoJICBJZ25vcmUgcmVnaXN0cmllcyBpbiBhbnkgZm9ybWF0LgoKMjAwNy0wOS0xOSAxMzo1MDo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy4qOiBEb24ndCBnZW5lcmF0ZSBhbiBlcnJvciBmb3Igb2NjYXNpb25hbCBkZWNvZGluZyBlcnJvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKG9wZW5fbGlicmFyeSksIChnc3RfcmVhbF92aWRlb19kZWNfaW5pdCksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBEb24ndCBnZW5lcmF0ZSBhbiBlcnJvciBmb3Igb2NjYXNpb25hbCBkZWNvZGluZyBlcnJvcnMuCgkgIEFkZCBtYXgtZXJyb3JzIHByb3BlcnR5LgoJICBFcnJvciBvdXQgd2hlbiB3ZSByZWNlaXZlIG1heC1lcnJvcnMgaW4gYSByb3cuIEZpeGVzICM0NzgxNTkuCgoyMDA3LTA5LTE5IDEzOjA2OjE3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogQWRkIHBhc3N3b3JkIHByb3BlcnR5ICh3cml0ZSBvbmx5KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBBZGQgcGFzc3dvcmQgcHJvcGVydHkgKHdyaXRlIG9ubHkpCgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIFJlYWQgdGhlIHJlYXNvbiBvbiBmYWlsdXJlCgkgIFVzZSB0aGUgcGFzc3dvcmQgcHJvcGVydHkgZm9yIGF1dGhlbnRpY2F0aW9uCgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZCBkZWZpbmVzIGZvciB2ZXJzaW9uIGNoZWNraW5nCgoyMDA3LTA5LTE5IDEyOjUwOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IFdoZW4gZmluYWxpemluZyBHc3REZmJTdXJmYWNlLCBhIHN1YmNsYXNzIG9mIEdzdEJ1ZmZlciwgY29ycmVjdGx5IGNoYWluIHVwIHRvIHRoZSBwYXJlbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2Rlc3Ryb3kpLAoJICAoZ3N0X2RmYnN1cmZhY2VfY2xhc3NfaW5pdCk6CgkgIFdoZW4gZmluYWxpemluZyBHc3REZmJTdXJmYWNlLCBhIHN1YmNsYXNzIG9mIEdzdEJ1ZmZlciwgY29ycmVjdGx5CgkgIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MgdG8gZnJlZSBldmVyeXRoaW5nLCBpbmNsdWRpbmcgY2Fwcy4KCjIwMDctMDktMTkgMTI6NTA6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogV2hlbiBmaW5hbGl6aW5nIEdzdERmYlN1cmZhY2UsIGEgc3ViY2xhc3Mgb2YgR3N0QnVmZmVyLCBjb3JyZWN0bHkgY2hhaW4gdXAgdG8gdGhlIHBhcmVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfZGVzdHJveSksCgkgIChnc3RfZGZic3VyZmFjZV9jbGFzc19pbml0KToKCSAgV2hlbiBmaW5hbGl6aW5nIEdzdERmYlN1cmZhY2UsIGEgc3ViY2xhc3Mgb2YgR3N0QnVmZmVyLCBjb3JyZWN0bHkKCSAgY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcyB0byBmcmVlIGV2ZXJ5dGhpbmcsIGluY2x1ZGluZyBjYXBzLgoKMjAwNy0wOS0xOSAwODozNToxMyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiBWTkMgQXV0aGVudGljYXRpb24gc2hvdWxkIGJlIHdvcmtpbmcgbm93IHRlbXBlcmFseSB3aXRoIGZha2UgcGFzc3dvcmQgJ3Rlc3R0ZXN0JwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvZDNkZXMuYzoKCSAgKiBnc3QvbGlicmZiL2QzZGVzLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkgICogZ3N0L2xpYnJmYi92bmNhdXRoLmg6CgkgIFZOQyBBdXRoZW50aWNhdGlvbiBzaG91bGQgYmUgd29ya2luZyBub3cKCSAgdGVtcGVyYWx5IHdpdGggZmFrZSBwYXNzd29yZCAndGVzdHRlc3QnCgoyMDA3LTA5LTE4IDE2OjMyOjE5ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLio6IEFkZGVkIHNvbWUgZG9jdW1lbnRhdGlvbiBhYm91dCBzZWN1cml0eSBoYW5kbGluZyBzdGFydCBpbXBsZW1lbnRpbmcgc2VjdXJpdHkgaGFuZGxpbmcgZm9yIHJmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBBZGRlZCBzb21lIGRvY3VtZW50YXRpb24gYWJvdXQgc2VjdXJpdHkgaGFuZGxpbmcKCSAgc3RhcnQgaW1wbGVtZW50aW5nIHNlY3VyaXR5IGhhbmRsaW5nIGZvciByZmIgMy4zCgoyMDA3LTA5LTE4IDEzOjU1OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBIYW5kbGluZyB3aW5kb3cgcmVzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgSGFuZGxpbmcgd2luZG93IHJlc2l6ZS4KCjIwMDctMDktMTggMTE6NDU6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENoYW5nZUxvZzogQWRkIG1pc3NpbmcgbmV3bGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBBZGQgbWlzc2luZyBuZXdsaW5lLgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBGaXggdGhlIGJ1aWxkIChtaXNzaW5nIHN0ZGxpYi5oKS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgVXNlIGJhc2V0cmFuc2Zvcm0gc2VnbWVudCBzbyB0aGF0IGl0IGlzIGNvcnJlY3RseSBtYW5hZ2VkIG9uIGZsdXNoZXMKCSAgYW5kIHN0YXJ0L3N0b3AuIFJlcG9ydCBtZXNzYWdlIHRpbWVzdGFtcCBhcyBzdHJlYW0gdGltZSwgd2hpY2ggaXMgd2hhdAoJICBhbiBhcHBsaWNhdGlvbiBjYW4gdW5kZXJzdGFuZC4gKFllcyB0aGVzZSBhcmUgYWRhcHRlZCBmcm9tIHdpbSByZWNlbnQKCSAgbGV2ZWwgZWxlbWVudCBjaGFuZ2VzKQoKMjAwNy0wOS0xNyAyMToxMjoxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgQWRkZWQgYSBuZXcgcHJvcGVydHkgZm9yIHRoZSByZmIgdmVyc2lvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSBuZXcgcHJvcGVydHkgZm9yIHRoZSByZmIgdmVyc2lvbgoKMjAwNy0wOS0xNyAwMjowMTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBMaW5rIHRvIHRoZSByaWdodCBwYWRzIHJlZ2FyZGxlc3Mgb2Ygd2hpY2ggb25lIHdhcyBjcmVhdGVkIGZpcnN0IGluIHRoZSBzc3JjIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgTGluayB0byB0aGUgcmlnaHQgcGFkcyByZWdhcmRsZXNzIG9mIHdoaWNoIG9uZSB3YXMgY3JlYXRlZCBmaXJzdCBpbiB0aGUKCSAgc3NyYyBkZW11eGVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW50ZXJuYWxfbGlua3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBGaXggcmFjZSBpbiBjcmVhdGluZyB0aGUgUlRQIGFuZCBSVENQIHBhZHMgd2hlbiBhIG5ldyBTU1JDIGlzIGRldGVjdGVkLgoKMjAwNy0wOS0xNiAxOTo0MDozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBVc2UgbG9jayB0byBwcm90ZWN0IHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICBVc2UgbG9jayB0byBwcm90ZWN0IHZhcmlhYmxlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChjb252ZXJ0X3J0cHRpbWVfdG9fZ3N0dGltZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlY29uc3RydWN0IEdTVCB0aW1lc3RhbXAgZnJvbSBSVFAgdGltZXN0YW1wcyBiYXNlZCBvbiBtZWFzdXJlZCBjbG9jawoJICBza2V3IGFuZCBzeW5jIG9mZnNldC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfc2V0X3RhaWxfY2hhbmdlZCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9zZXRfY2xvY2tfcmF0ZSksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLCAocnRwX2ppdHRlcl9idWZmZXJfcGVlayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIE1lYXN1cmUgY2xvY2sgc2tldy4KCSAgQWRkIGNhbGxiYWNrIHRvIGJlIG5vdGZpZWQgd2hlbiBhIG5ldyBwYWNrZXQgd2FzIGluc2VydGVkIGF0IHRoZSB0YWlsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKGNhbGN1bGF0ZV9qaXR0ZXIpLCAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFJlbW92ZSBjbG9jayBza2V3IGRldGVjdGlvbiwgaXQncyBtb3ZlIHRvIHRoZSBqaXR0ZXJidWZmZXIgbm93LgoKMjAwNy0wOS0xNiAwNzoyODoxOCArMDAwMCAgRGFuaWVsIENoYXJsZXMgPGRjaGFybGVzQHRpLmNvbT4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy4qOiBBZGQgcHJvcGVydHkgdG8gY29udHJvbCBiYW5kbW9kZS4gRml4ZXMgIzQ3NzMwNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW5pZWwgQ2hhcmxlcyA8ZGNoYXJsZXMgYXQgdGkgZG90IGNvbT4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19iYW5kbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYW1yd2JlbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9hbXJ3YmVuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpLCAoZ3N0X2FtcndiZW5jX2NoYWluKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgYmFuZG1vZGUuIEZpeGVzICM0NzczMDYuCgoyMDA3LTA5LTE1IDE4OjQ4OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsc28gc2V0IE5UUCBiYXNlIHRpbWUgb24gbmV3IHNlc3Npb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKToKCSAgQWxzbyBzZXQgTlRQIGJhc2UgdGltZSBvbiBuZXcgc2Vzc2lvbnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgVXNlIHRoZSByaWdodCBsb2NrIHRvIHByb3RlY3Qgb3VyIHZhcmlhYmxlcy4KCSAgRml4IHNvbWUgY29tbWVudC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBJbXBsZW1lbnQgZ2V0Y2FwcyBvbiB0aGUgc2VuZGVyIHNpbmtwYWQgc28gdGhhdCBwYXlsb2FkZXJzIGNhbiBuZWdvdGlhdGUKCSAgdGhlIHJpZ2h0IFNTUkMuCgoyMDA3LTA5LTEyIDIxOjIzOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBWYXJpb3VzIGxlYWsgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZnJlZV9zZXNzaW9uKSwKCSAgKGdldF9jbGllbnQpLCAoZnJlZV9jbGllbnQpLCAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGZyZWVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5fZGlzcG9zZSksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfZGlzcG9zZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVmFyaW91cyBsZWFrIGZpeGVzLgoKMjAwNy0wOS0xMiAxODowNDozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBDYWxjdWxhdGUgYW5kIGNvbmZpZ3VyZSB0aGUgTlRQIGJhc2UgdGltZSBzbyB0aGF0IHdlIGNhbiBnZW5lcmF0ZSBiZXR0ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjYWxjX250cF9uc19iYXNlKSwKCSAgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSksIChuZXdfcGF5bG9hZF9mb3VuZCksIChjcmVhdGVfc2VuZF9ydHApOgoJICBDYWxjdWxhdGUgYW5kIGNvbmZpZ3VyZSB0aGUgTlRQIGJhc2UgdGltZSBzbyB0aGF0IHdlIGNhbiBnZW5lcmF0ZSBiZXR0ZXIKCSAgTlRQIHRpbWVzIGluIFNSIHBhY2tldHMuCgkgIFNldCBjYXBzIG9uIG5ldyBnaG9zdHBhZC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQ2xlYW4gZGVidWcgc3RhdGVtZW50LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnZXRfY3VycmVudF9udHBfbnNfdGltZSksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25faW50ZXJuYWxfbGlua3MpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgbnRwLW5zLWJhc2UgcHJvcGVydHkgdG8gY29udmVydCBydW5uaW5nX3RpbWUgdG8gTlRQIHRpbWUuCgkgIEhhbmRsZSBORVdTRUdNRU5UIGV2ZW50cyBvbiBzZW5kIGFuZCByZWN2IFJUUCBwYWRzIHNvIHRoYXQgd2UgY2FuCgkgIGNhbGN1bGF0ZSB0aGUgcnVubmluZyB0aW1lIGFuZCB0aHVzIE5UUCB0aW1lIG9mIHRoZSBwYWNrZXRzLgoJICBTaW1wbGlmeSBnZXR0aW5nIHRoZSBjdXJyZW50IE5UUCB0aW1lIHVzaW5nIHRoZSBwaXBlbGluZSBjbG9jay4KCSAgSW1wbGVtZW50IGludGVybmFsIGxpbmtzIGZ1bmN0aW9ucy4KCSAgVXNlIHRoZSBidWZmZXIgdGltZXN0YW1wIHRvIGNhbGN1bGF0ZSB0aGUgTlRQIHRpbWUgaW5zdGVhZCBvZiB0aGUgY2xvY2suCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW50ZXJuYWxfbGlua3MpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19xdWVyeSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEltcGxlbWVudCBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbi4KCSAgQ2FsY3VsYXRlIHRoZSBkaWZmIGJldHdlZW4gZGlmZmVyZW50IHN0cmVhbXMsIHRoaXMgbWlnaHQgYmUgdXNlZCBsYXRlcgoJICB0byBnZXQgdGhlIGludGVyIHN0cmVhbSBsYXRlbmN5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKToKCSAgU2ltcGxlIGNsZWFudXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAoY2FsY3VsYXRlX2ppdHRlciksIChydHBfc291cmNlX3NlbmRfcnRwKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19zcik6CgkgIE1ha2UgdGhlIGNsb2NrIHNrZXcgd2luZG93IGEgbGl0dGxlIGJpZ2dlci4KCSAgQXBwbHkgdGhlIGNsb2NrIHNrZXcgdG8gYWxsIGJ1ZmZlcnMsIG5vdCBqdXN0IG9uZSB3aXRoIGEgbmV3IHRpbWVzdGFtcC4KCSAgQ2FsY3VsYXRlIGFuZCBkZWJ1ZyBzZW5kZXIgY2xvY2sgZHJpZnQuCgkgIFVzZSBleHRlbmRlZCBsYXN0IHRpbWVzdGFtcCB0byBpbnRlcnBvbGxhdGUgZm9yIFNSIHJlcG9ydHMuCgoyMDA3LTA5LTEyIDA4OjM4OjIyICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC86IFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoKMjAwNy0wOS0wOSAxOTowNToxOSArMDAwMCAgVGhvbWFzIEdyZWVuIDx0b203ODk5OUBnbWFpbC5jb20+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBXaXRoIGxpYm5lb24gMi42LCB3ZSBuZWVkIHRvIHNldCB0aGUgTkVfU0VTU0ZMQUdfSUNZUFJPVE8gZmxhZyBpZiB3ZSB3YW50IElDWSBzdHJlYW1zIHRvIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaG9tYXMgR3JlZW4gIDx0b203ODk5OSBnbWFpbCBjb20+CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgV2l0aCBsaWJuZW9uIDIuNiwgd2UgbmVlZCB0byBzZXQgdGhlIE5FX1NFU1NGTEFHX0lDWVBST1RPCgkgIGZsYWcgaWYgd2Ugd2FudCBJQ1kgc3RyZWFtcyB0byBiZSBoYW5kbGVkIHRvbywgb3RoZXJ3aXNlCgkgIGxpYm5lb24gd2lsbCBlcnJvciBvdXQgd2l0aCBhICdjYW4ndCBwYXJzZSByZXBvbnNlJyBlcnJvci4KCSAgRml4ZXMgIzQ3NDY5Ni4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOgoJICBVbml0IHRlc3QgZm9yIHRoZSBhYm92ZSBieSBZb3VycyBUcnVseS4KCjIwMDctMDktMDkgMTg6MjI6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFVzZSBBQ19UUllfQ09NUElMRSBpbnN0ZWFkIG9mIEFDX1RSWV9SVU4gZm9yIHRoZSBmYWFkIGFuZCB0aGUgeHZpZCBjb25maWd1cmUgY2hlY2tzLCBzbyB0aGV5IHN0aWxsIHdvcmsuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQUNfVFJZX0NPTVBJTEUgaW5zdGVhZCBvZiBBQ19UUllfUlVOIGZvciB0aGUgZmFhZCBhbmQgdGhlCgkgIHh2aWQgY29uZmlndXJlIGNoZWNrcywgc28gdGhleSBzdGlsbCB3b3JrIHdoZW4gY3Jvc3MtY29tcGlsaW5nLgoJICBGaXhlcyAjNDUyMDA5LgoKMjAwNy0wOS0wNyAxNTo1NDozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFVzZSB0aGUgY29ycmVjdCBwYXJhbWV0ZXIgb3JkZXIgZm9yIHRoZSBtZW1zZXQgY2FsbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBVc2UgdGhlIGNvcnJlY3QgcGFyYW1ldGVyIG9yZGVyIGZvciB0aGUgbWVtc2V0IGNhbGxzLgoJICBUaGFua3MgdG8gQ2hyaXN0aWFuIFNjaGFsbGVyIGZvciBub3RpY2luZy4KCjIwMDctMDktMDYgMjA6Mzc6NTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBGaXggdGhlIGJ1aWxkIChtaXNzaW5nIHN0ZGxpYi5oKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEZpeCB0aGUgYnVpbGQgKG1pc3Npbmcgc3RkbGliLmgpLgoKMjAwNy0wOS0wNiAwNzoyNjo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2ZpeF9mZnQuYzogUmVtb3ZlIGZpeGVkIHBvaW50IEZGVCBhcyBpdCdzIG5vdCB1c2VkIGFueW1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9maXhfZmZ0LmM6CgkgIFJlbW92ZSBmaXhlZCBwb2ludCBGRlQgYXMgaXQncyBub3QgdXNlZCBhbnltb3JlLgoKMjAwNy0wOS0wNiAwNzoyMToyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUG9ydCBHc3RTcGVjdHJ1bSB0byBHc3RBdWRpb0ZpbHRlciBhbmQgbGliZ3N0ZmZ0LCBhZGQgc3VwcG9ydCBmb3IgaW50MzIsIGZsb2F0IGFuZCBkb3VibGUsIHVzZSBmbG9hdHMgZm9yIHRoZSBtZXNzYWdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChkcmF3X3NwZWN0cnVtKSwKCSAgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKGRyYXdfc3BlY3RydW0pLCAobWVzc2FnZV9oYW5kbGVyKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9iYXNlX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLCAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fc2V0dXApLCAoZ3N0X3NwZWN0cnVtX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBQb3J0IEdzdFNwZWN0cnVtIHRvIEdzdEF1ZGlvRmlsdGVyIGFuZCBsaWJnc3RmZnQsIGFkZCBzdXBwb3J0CgkgIGZvciBpbnQzMiwgZmxvYXQgYW5kIGRvdWJsZSwgdXNlIGZsb2F0cyBmb3IgdGhlIG1lc3NhZ2UgY29udGVudHMsCgkgIGF2ZXJhZ2UgYWxsIEZGVHMgZG9uZSBpbiBvbmUgaW50ZXJ2YWwgZm9yIGJldHRlciByZXN1bHRzLCB1c2UKCSAgYSBiZXR0ZXIgd2luZG93aW5nIGZ1bmN0aW9uLCBhbGxvdyBwb3N0aW5nIHRoZSBwaGFzZSBpbiB0aGUgbWVzc2FnZQoJICBhbmQgYWN0dWFsbHkgZG8gYW4gRkZUIHdpdGggdGhlIHJlcXVlc3RlZCBudW1iZXIgb2YgYmFuZHMgaW5zdGVhZAoJICBvZiBpbnRlcnBvbGF0aW5nLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChzcGVjdHJ1bV9zdWl0ZSk6CgkgIEltcHJvdmUgdGhlIHVuaXRzIHRlc3RzIGJ5IGNoZWNraW5nIGZvciBhIDExMDI1SHogc2luZSB3YXZlCgkgIGFuZCBhZGQgdW5pdCB0ZXN0cyBmb3IgYWxsIDQgc3VwcG9ydGVkIHNhbXBsZSB0eXBlcy4KCjIwMDctMDktMDUgMjE6MDk6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRjYXBzKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIERvbid0IHNldCBMT05HIGZvciB3aWR0aC9oZWlnaHQgaW4gY2Fwcy4KCSAgU2V0IGNvcnJlY3Qgb3V0cHV0IGJ1ZmZlciBzaXplIHdoZW4gY2FwcyBjaGFuZ2VkLgoJICBUaGUgY3VzdG9tIG1lc3NhZ2Ugc2VudCB0byB0aGUgZGVjb2RlciBzaG91bGQgbm90IGluY2x1ZGUgdGhlIGZvcm1hdCBhbmQKCSAgc3ViZm9ybWF0LiBGaXhlcyAjNDcxNTU0LgoKMjAwNy0wOS0wNCAxNToyMzozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogTWFrZSBjb21waWxlciBoYXBweTogZml4IGNvbXBpbGF0aW9uIHdpdGggLVdhbGwgLVdlcnJvciAoIzQ3MzU2MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgTWFrZSBjb21waWxlciBoYXBweTogZml4IGNvbXBpbGF0aW9uIHdpdGggLVdhbGwgLVdlcnJvcgoJICAoIzQ3MzU2MikuCgoyMDA3LTA5LTA0IDAyOjIyOjIwICswMDAwICBKb2hhbiBEYWhsaW4gPGpvaGFuQGdub21lLm9yZz4KCgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkgIE5vc2VmYXJ0IC0+IE5FUyBTb3VuZCBGb3JtYXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vc2VmYXJ0IC0+IE5FUyBTb3VuZCBGb3JtYXQKCjIwMDctMDktMDQgMDI6MTY6NTMgKzAwMDAgIEpvaGFuIERhaGxpbiA8am9oYW5AZ25vbWUub3JnPgoKCSAgZ3N0L25zZi9nc3Ruc2YuKjogQWRkIHN1cHBvcnQgZm9yICh2ZXJ5KSBiYXNpYyB0YWdnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0wMyAgSm9oYW4gRGFobGluICA8am9oYW5AZ25vbWUub3JnPgoJICAqIGdzdC9uc2YvZ3N0bnNmLmM6IChnc3RfbnNmZGVjX2ZpbmFsaXplKSwgKHN0YXJ0X3BsYXlfdHVuZSk6CgkgICogZ3N0L25zZi9nc3Ruc2YuaDoKCSAgQWRkIHN1cHBvcnQgZm9yICh2ZXJ5KSBiYXNpYyB0YWdnaW5nLgoKMjAwNy0wOS0wMyAyMToxOTozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVXBkYXRlZCBleGFtcGxlIHBpcGVsaW5lcyBpbiBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZ2V0X2NsaWVudCksCgkgIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLCAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2luaXQpLCAoY2Fwc19jaGFuZ2VkKSwgKG5ld19zc3JjX3BhZF9mb3VuZCksCgkgIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksIChjcmVhdGVfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBVcGRhdGVkIGV4YW1wbGUgcGlwZWxpbmVzIGluIGRvY3MuCgkgIEhhbmRsZSBzeW5jX3J0Y3AgYnVmZmVycyBmcm9tIHRoZSBTU1JDIGRlbXV4ZXIgdG8gcGVyZm9ybSBsaXAtc3luYy4KCSAgU2V0IHRoZSBkZWZhdWx0IGxhdGVuY3kgY29ycmVjdGx5LgoJICBBZGQgc29tZSBtb3JlIHBvaW50cyB3aGVyZSB3ZSBjYW4gZ2V0IGNhcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCB0cy1vZmZzZXQgcHJvcGVydHkgdG8gY29udHJvbCB0aW1lc3RhbXBpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdldF9jdXJyZW50X250cF9uc190aW1lKSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKHN0b3BfcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9zeW5jX3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NhY2hlX2NhcHMpLCAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIFZhcmlvdXMgY2xlYW51cHMuCgkgIEZlZWQgcnRwc2Vzc2lvbiBtYW5hZ2VyIHdpdGggTlRQIHRpbWUgYmFzZWQgb24gcGlwZWxpbmUgY2xvY2sgd2hlbgoJICBoYW5kbGluZyBSVFAgcGFja2V0cyBhbmQgUlRDUCB0aW1lb3V0cy4KCSAgUGVyZm9ybSBhbGwgUlRDUCB3aXRoIHRoZSBzeXN0ZW0gY2xvY2suCgkgIFNldCBjYXBzIG9uIFJUQ1Agb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGZpbmRfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEFsc28gZGVtdXggUlRDUCBtZXNzYWdlcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcmIpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChzZXNzaW9uX3N0YXJ0X3J0Y3ApLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwgKHNlc3Npb25fY2xlYW51cCksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFJlbW92ZSB0aGUgZ2V0X3RpbWUgY2FsbGJhY2ssIHRoZSBHU3RyZWFtZXIgcGFydCB3aWxsIGZlZWQgdXMgd2l0aAoJICBlbm91Z2ggdGltaW5nIGluZm9ybWF0aW9uLgoJICBTcGxpdCBzeW5jIHRpbWluZyBhbmQgUlRDUCB0aW1pbmcgaW5mb3JtYXRpb24uCgkgIEZhY3RvciBvdXQgY29tbW9uIFJCIGhhbmRsaW5nIGZvciBTUiBhbmQgUlIuCgkgIFNlbmQgb3V0IFNSIFJUQ1AgcGFja2V0cyBmb3IgbGlwLXN5bmMuCgkgIE1vdmUgU1IgYW5kIFJSIHBhY2tldCBpbmZvIGdlbmVyYXRpb24gdG8gdGhlIHNvdXJjZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChydHBfc291cmNlX3VwZGF0ZV9jYXBzKSwgKGdldF9jbG9ja19yYXRlKSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3NlbmRfcnRwKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksIChydHBfc291cmNlX3Byb2Nlc3NfcmIpLAoJICAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19yYiksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3NyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBVc2UgY2FwcyBvbiBpbmNvbW1pbmcgYnVmZmVycyB0byBnZXQgdGltaW5nIGluZm9ybWF0aW9uIHdoZW4gdGhleSBhcmUKCSAgdGhlcmUuCgkgIENhbGN1bGF0ZSBjbG9jayBzY2V3IG9mIHRoZSByZWNlaXZlciBjb21wYXJlZCB0byB0aGUgc2VuZGVyIGFuZCBhZGp1c3QKCSAgdGhlIHJ0cCB0aW1lc3RhbXBzLgoJICBDYWxjdWxhdGUgdGhlIHJvdW5kIHRyaXAgaW4gc291cmNlcy4KCSAgRG8gU1IgYW5kIFJSIGNhbGN1bGF0aW9ucyBpbiB0aGUgc291cmNlLgoKMjAwNy0wOS0wMyAyMDowNzoxNyArMDAwMCAgUmVuYXRvIEZpbGhvIDxyZW5hdG8uZmlsaG9AaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuaDoKCSAgZ215dGhzcmMgY29kZSByZXdyaXRlOwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZ215dGhzcmMgY29kZSByZXdyaXRlOwoKMjAwNy0wOC0zMSAxNToyNjoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBVc2UgZXh0ZW5kZWQgdGltZXN0YW1wIHRvIHJlbGVhc2UgYnVmZmVycyBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgc28gdGhhdCB3ZSBjYW4gaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBVc2UgZXh0ZW5kZWQgdGltZXN0YW1wIHRvIHJlbGVhc2UgYnVmZmVycyBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgc28gdGhhdAoJICB3ZSBjYW4gaGFuZGxlIHRoZSBydHAgd3JhcGFyb3VuZCBjb3JyZWN0bHkuCgoyMDA3LTA4LTI5IDE2OjU2OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEltcHJvdmUgQ29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBJbXByb3ZlIENvbW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHN0b3BfcnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX3Nlc3Npb25fcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSksIChnc3RfcnRwX3Nlc3Npb25fc2lua19zZXRjYXBzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgQWxzbyBwYXJzZSB0aGUgc2luayBjYXBzIGZvciBjbG9jay1yYXRlIGluc3RlYWQgb2Ygb25seSByZWx5aW5nIG9uIHRoZQoJICByZXN1bHQgb2YgdGhlIHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBNYWtlIHN1cmUgd2UgZmV0Y2ggdGhlIGNsb2NrIHJhdGUgZm9yIHBheWxvYWRzIHdlIGFyZSBzZW5kaW5nIG91dCBzbwoJICB0aGF0IHdlIGNhbiB1c2UgaXQgZm9yIFNSIHJlcG9ydHMuCgoyMDA3LTA4LTI5IDE2OjIwOjI4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N3aXRjaF9jaGFpbiwgZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHkpOiBJZiBhbGwgaW5mb3JtYXRpb24gaXMga25vd24gYXQgdGltZSBvZiBzZXR0aW5nIHN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5KToKCSAgSWYgYWxsIGluZm9ybWF0aW9uIGlzIGtub3duIGF0IHRpbWUgb2Ygc2V0dGluZyBzdGFydC10aW1lCgkgIHByb3BlcnR5LCBzZW5kIG5ldyBzZWdtZW50cyB0aGVuLgoKMjAwNy0wOC0yOSAwMToyMjo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uKjogRGlzdHJpYnV0ZSBzeW5jaHJvbmlzYXRpb24gcGFyYW1ldGVycyB0byB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHNvIHRoYXQgaXQgY2FuIGdlbmVyYXRlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgRGlzdHJpYnV0ZSBzeW5jaHJvbmlzYXRpb24gcGFyYW1ldGVycyB0byB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHNvIHRoYXQgaXQKCSAgY2FuIGdlbmVyYXRlIGNvcnJlY3QgU1IgcGFja2V0cyBmb3IgbGlwLXN5bmMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2Jhc2VfdGltZSksCgkgIChydHBfc2Vzc2lvbl9zZXRfdGltZXN0YW1wX3N5bmMpLCAoc2Vzc2lvbl9zdGFydF9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBtZXRob2RzIGZvciBzZXR0aW5nIHN5bmMgcGFyYW1ldGVycy4KCSAgU2V0IGNvcnJlY3QgUlRQIHRpbWUgaW4gU1IgcGFja2V0cyB1c2luZyB0aGUgc3luYyBwYXJhbXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgUmVjb3JkIGxhc3QgUlRQIDwtPiBHU1QgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIHRvIGNvbnZlcnQgTlRQCgkgIHRvIFJUUCB0aW1lc3RhbXBzIGluIFNSIHBhY2tldHMuCgoyMDA3LTA4LTI4IDIwOjMwOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFkZCBzb21lIG1vcmUgYWR2YW5jZWQgZXhhbXBsZSBwaXBlbGluZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKToKCSAgQWRkIHNvbWUgbW9yZSBhZHZhbmNlZCBleGFtcGxlIHBpcGVsaW5lcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApOgoJICBBZGQgc29tZSBkZWJ1ZyBhbmQgRklYTUUuCgkgIFJlbGVhc2UgTE9DSyB3aGVuIHBlcmZvcm1pbmcgc2Vzc2lvbiBjbGVhbnVwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgIEFkZCBzb21lIGRlYnVnLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBzZW5kIFJUUCBwYWNrZXRzIHdpdGggdGhlIHNlc3Npb24gU1NSQy4KCjIwMDctMDgtMjggMDg6MTA6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOiBEb24ndCBuZWVkIHRoaXMgaW5jbHVkZSAoZml4ZXMgY29tcGlsYXRpb24gaW4gdW5pbnN0YWxsZWQgc2V0dXApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBEb24ndCBuZWVkIHRoaXMgaW5jbHVkZSAoZml4ZXMgY29tcGlsYXRpb24gaW4gdW5pbnN0YWxsZWQgc2V0dXApLgoKMjAwNy0wOC0yNyAyMToxNzoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBXaGVuIHN5bmNocm9uaXppbmcgYnVmZmVycywgdGFrZSBwZWVyIGxhdGVuY3kgaW50byBhY2NvdW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgV2hlbiBzeW5jaHJvbml6aW5nIGJ1ZmZlcnMsIHRha2UgcGVlciBsYXRlbmN5IGludG8gYWNjb3VudC4KCSAgRG9uJ3QgdHJ5IHRvIGFkZCBvdXIgbGF0ZW5jeSB0byBpbnZhbGlkIHBlZXIgbWF4IGxhdGVuY3kgdmFsdWVzLgoKMjAwNy0wOC0yNyAxNDo1NjowNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IE1ha2Ugc3VyZSB3ZSBpbml0aWFsaXplIHRoZSBzZWVrIHJlc3VsdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpOgoJICBNYWtlIHN1cmUgd2UgaW5pdGlhbGl6ZSB0aGUgc2VlayByZXN1bHQuCgoyMDA3LTA4LTI3IDE0OjQxOjAxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06IENvbW1pdCB0aGUgbWFrZWZpbGUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICBDb21taXQgdGhlIG1ha2VmaWxlIHRvby4KCjIwMDctMDgtMjcgMTQ6MzM6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZHZkc3B1IGVsZW1lbnQgZG9uYXRlZCBieSBGbHVlbmRvLiBJdCBpbXBsZW1lbnRzIGEgRFZEIFN1Yi1QaWN0dXJlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZHZkc3B1Ly5jdnNpZ25vcmU6CgkgICogZ3N0L2R2ZHNwdS9Ob3Rlcy50eHQ6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6IChkdmRzcHVfcmVjYWxjX3BhbGV0dGUpLAoJICAoZHZkc3B1X3VwZGF0ZV9wYWxldHRlcyksIChkdmRzcHVfY2xlYXJfY29tcF9idWZmZXJzKSwKCSAgKGR2ZHNwdV9nZXRfbmliYmxlKSwgKGR2ZHNwdV9nZXRfcmxlX2NvZGUpLCAoZHZkc3B1X2RyYXdfcmxlX3J1biksCgkgIChybGVfZW5kX3gpLCAoZHZkc3B1X3JlbmRlcl9saW5lKSwgKGR2ZHNwdV91cGRhdGVfY2hnY29sKSwKCSAgKGR2ZHNwdV9yZW5kZXJfbGluZV93aXRoX2NoZ2NvbCksIChkdmRzcHVfYmxlbmRfY29tcF9idWZmZXJzKSwKCSAgKGdzdGR2ZHNwdV9yZW5kZXJfc3B1KToKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOiAoZHZkc3B1X2Jhc2VfaW5pdCksIChkdmRzcHVfY2xhc3NfaW5pdCksCgkgIChkdmRzcHVfaW5pdCksIChkdmRzcHVfY2xlYXIpLCAoZHZkc3B1X2Rpc3Bvc2UpLCAoZHZkc3B1X2ZpbmFsaXplKSwKCSAgKGR2ZHNwdV9mbHVzaF9zcHVfaW5mbyksIChkdmRzcHVfYnVmZmVyX2FsbG9jKSwgKGR2ZHNwdV9zcmNfZXZlbnQpLAoJICAoZHZkc3B1X3ZpZGVvX3NldF9jYXBzKSwgKGR2ZHNwdV92aWRlb19wcm94eV9nZXRjYXBzKSwKCSAgKGR2ZHNwdV92aWRlb19ldmVudCksIChkdmRzcHVfdmlkZW9fY2hhaW4pLAoJICAoZHZzcHVfaGFuZGxlX3ZpZF9idWZmZXIpLCAoZHZkc3B1X3JlZHJhd19zdGlsbCksCgkgIChnc3RkdmRzcHVfcGFyc2VfY2hnX2NvbGNvbiksIChkdmRzcHVfZXhlY19jbWRfYmxrKSwKCSAgKGR2ZHNwdV9maW5pc2hfc3B1X2J1ZiksIChkdmRzcHVfc2V0dXBfY21kX2JsayksCgkgIChkdmRzcHVfaGFuZGxlX25ld19zcHVfYnVmKSwgKGR2ZHNwdV9oYW5kbGVfZHZkX2V2ZW50KSwKCSAgKGR2ZHNwdV9kdW1wX2Rjc3EpLCAoZHZkc3B1X2FkdmFuY2Vfc3B1KSwKCSAgKGR2ZHNwdV9jaGVja19zdGlsbF91cGRhdGVzKSwgKGR2ZHNwdV9zdWJwaWNfY2hhaW4pLAoJICAoZHZkc3B1X3N1YnBpY19ldmVudCksIChkdmRzcHVfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdGR2ZHNwdV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgZHZkc3B1IGVsZW1lbnQgZG9uYXRlZCBieSBGbHVlbmRvLiBJdCBpbXBsZW1lbnRzIGEgRFZEIFN1Yi1QaWN0dXJlCgkgIFVuaXQsIGRlY29kaW5nIGFuZCBvdmVybGF5aW5nIERWRCBzdWJ0aXRsZXMgYW5kIG1lbnUgZ3JhcGhpY3MuCgkgICogZ3N0L21wZWcyc3ViLy5jdnNpZ25vcmU6CgkgICogZ3N0L21wZWcyc3ViL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMnN1Yi9Ob3Rlcy50eHQ6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSAgKiBnc3QvbXBlZzJzdWIvbXBlZzJzdWJ0LnZjcHJvajoKCSAgRGVsZXRlIG9sZCBhbmQgYnJva2VuIG1wZWcyc3VidCBlbGVtZW50IHRoYXQgd2FzIG5ldmVyIHBvcnRlZCBmcm9tIDAuOAoKMjAwNy0wOC0yNCAxNzowMzoxNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFJlbW92ZSBzb21lIHVzZWxlc3MgaWZkZWYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NoYWluKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCk6IFJlbW92ZSBzb21lIHVzZWxlc3MgaWZkZWYuCgoyMDA3LTA4LTI0IDE1OjU2OjUyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgTWFrZSBzd2l0Y2ggbW9yZSByZWxpYWJsZSBhbmQgYWxzbyBub3QgbG9jayB1cCB3aGVuIHNpbmsgcGFkIGNhcHMgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYyAobWFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N3aXRjaF9jaGFpbik6CgkgIE1ha2Ugc3dpdGNoIG1vcmUgcmVsaWFibGUgYW5kIGFsc28gbm90IGxvY2sgdXAgd2hlbgoJICBzaW5rIHBhZCBjYXBzIGNoYW5nZS4KCjIwMDctMDgtMjQgMTU6MzE6MjYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXBsZW1lbnQgc2Vla2luZyBpbiBwdXNoIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NsZWFudXApLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLCAoZ3N0X2Zsdl9kZW11eF9zcmNfZXZlbnQpOiBJbXBsZW1lbnQKCSAgc2Vla2luZyBpbiBwdXNoIG1vZGUuCgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoKMjAwNy0wOC0yNCAxMToyMzoyOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFVwZGF0ZSBsaWNlbmNlcyB0byByZWZsZWN0IExHUEwtbmVzcyBvZiB0aGVzZSBmaWxlcyBhbHNvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwYXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdGluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmg6CgkgIFVwZGF0ZSBsaWNlbmNlcyB0byByZWZsZWN0IExHUEwtbmVzcyBvZiB0aGVzZSBmaWxlcyBhbHNvLgoKMjAwNy0wOC0yMyAyMTozOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJlbmFtZSBhbGwgR3N0UlRQRm9vIHN0cnVjdHMgdG8gR3N0UnRwRm9vIHNvIHRoYXQgR1NUX0JPSUxFUlBMQVRFIHJlZ2lzdGVycyBhIEdUeXBlIHRoYXQncyBkaWZmZXJlbnQgdGhhbiB0aGUgR3N0UlRQRi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBSZW5hbWUgYWxsIEdzdFJUUEZvbyBzdHJ1Y3RzIHRvIEdzdFJ0cEZvbyBzbyB0aGF0IEdTVF9CT0lMRVJQTEFURQoJICByZWdpc3RlcnMgYSBHVHlwZSB0aGF0J3MgZGlmZmVyZW50IHRoYW4gdGhlIEdzdFJUUEZvbyB0eXBlcyB0aGF0CgkgIGZhcnNpZ2h0IHJlZ2lzdGVycyAobHVja2lseSBHVHlwZSBuYW1lcyBhcmUgY2FzZSBzZW5zaXRpdmUpLiBTaG91bGQKCSAgZmluYWxseSBmaXggIzQzMDY2NC4KCjIwMDctMDgtMjMgMTc6MjE6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlIHdpbjMyL2NvbW1vbi9jb25maWcuaCB2aWEgY29uZmlndXJlICh0aGlzIGVuc3VyZXMgdGhlIHdpbjMyIHZlcnNpb24gb2YgY29uZmlnLmggaXMgdXAtdG8tZGF0ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgd2luMzIvY29tbW9uL2NvbmZpZy5oIHZpYSBjb25maWd1cmUgKHRoaXMKCSAgZW5zdXJlcyB0aGUgd2luMzIgdmVyc2lvbiBvZiBjb25maWcuaCBpcyB1cC10by1kYXRlIHdoZW4gYSByZWxlYXNlCgkgIGlzIG1hZGUsICM0MzMzNzMpLiBjb25maWcuaC5pbiBmaWxlIG1pZ2h0IG5lZWQgc29tZSBtb3JlIHdvcmsuCgoyMDA3LTA4LTIzIDEzOjI0OjMzICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBrYW9saW4ud2g5Lm5ldD4KCgkgIFBvcnQgZmVzdGl2YWwgcGx1Z2luIHRvIEdTdHJlYW1lci0wLjEwICgjNDYxMzc3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3ICA8am9uYXRoYW4gYXQga2FvbGluIHdoOSBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgUG9ydCBmZXN0aXZhbCBwbHVnaW4gdG8gR1N0cmVhbWVyLTAuMTAgKCM0NjEzNzcpLgoKMjAwNy0wOC0yMiAxNTozMjowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRG9uJ3QgdW5yZWYgdGhlIGJ1ZmZlciB3aGVuIGl0IHdhcyBjbGlwcGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFpbik6CgkgIERvbid0IHVucmVmIHRoZSBidWZmZXIgd2hlbiBpdCB3YXMgY2xpcHBlZC4KCjIwMDctMDgtMjIgMTQ6NTA6NTEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi86IEhhbmRsZSBwaXhlbCBhc3BlY3QgcmF0aW8gdGhyb3VnaCBtZXRhZGF0YSB0YWdzIGxpa2UgQVNGIGRvZXMuIEZsdWVuZG8gbXV4ZXIgc3VwcG9ydHMgdGhpcyBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLCAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBIYW5kbGUgcGl4ZWwgYXNwZWN0IHJhdGlvIHRocm91Z2gKCSAgbWV0YWRhdGEgdGFncyBsaWtlIEFTRiBkb2VzLiBGbHVlbmRvIG11eGVyIHN1cHBvcnRzIHRoaXMgYW5kCgkgIEZsYXNoIHBsYXllcnMgY2FuIHN1cHBvcnQgaXQgYXMgd2VsbCB0aGlzIHdheS4KCjIwMDctMDgtMjIgMTQ6MDM6NDIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi86IE1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgZmlsbGluZyB1cCB0aGUgaW5kZXggaWYgbm8gdGltZXMgb2JqZWN0IHdhcyBwYXJzZWQuIEZpeCB0aGUgd2F5IHdlIGRlY2lkZSB0byBwdXNoIHRhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IE1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgZmlsbGluZyB1cCB0aGUKCSAgaW5kZXggaWYgbm8gdGltZXMgb2JqZWN0IHdhcyBwYXJzZWQuIEZpeCB0aGUgd2F5IHdlIGRlY2lkZSB0bwoJICBwdXNoCgkgIHRhZ3MgYW5kIGVtaXQgbm8tbW9yZS1wYWRzLiBGaXggc29tZSBwcmludGYgdHlwaW5nIGluIGRlYnVnZ2luZy4KCjIwMDctMDgtMjEgMTc6MTg6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogV2hlbiBkcm9wLW9uLWxhdGVuY3kgaXMgc2V0IGJ1dCB3ZSBoYXZlIG5vIGxhdGVuY3kgY29uZmlndXJlZCwganVzdCBwdXNoIHRoZSBidWYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSk6CgkgIFdoZW4gZHJvcC1vbi1sYXRlbmN5IGlzIHNldCBidXQgd2UgaGF2ZSBubyBsYXRlbmN5IGNvbmZpZ3VyZWQsIGp1c3QgcHVzaAoJICB0aGUgYnVmZmVyIGFzIGZhc3QgYXMgcG9zc2libGUuCgkgIEZpeCB0eXBvIGluIGNvbW1lbnQuCgoyMDA3LTA4LTIxIDE2OjA0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLio6IEZpeCB1bmRlZmluZWQgb3ZlcmZsb3cgcHJvbmUgdHNfZGlmZiBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfdHNfZGlmZik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEZpeCB1bmRlZmluZWQgb3ZlcmZsb3cgcHJvbmUgdHNfZGlmZiBoYW5kbGluZy4KCjIwMDctMDgtMjEgMTU6NTk6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBGaXggY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA3LTA4LTIxIDEyOjU5OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBEb24ndCB1c2UgTlVMTCBjYXBzIGZvciBzcmNwYWQgaXMgbm90IHlldCBjb25uZWN0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIERvbid0IHVzZSBOVUxMIGNhcHMgZm9yIHNyY3BhZCBpcyBub3QgeWV0IGNvbm5lY3RlZC4KCjIwMDctMDgtMjAgMTQ6MjM6NDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBBZGQgbXBlZyB0cmFuc3BvcnQgc3RyZWFtIHBhcnNlciB3cml0dGVuIGJ5OgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21wZWd0c3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BhdGluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwYXRpbmZvLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10aW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdGluZm8uaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10c3RyZWFtaW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2VtYXJzaGFsLmxpc3Q6CgkgIEFkZCBtcGVnIHRyYW5zcG9ydCBzdHJlYW0gcGFyc2VyIHdyaXR0ZW4gYnk6CgkgIEFsZXNzYW5kcm8gRGVjaW5hLiBJbmNsdWRlcyBhIGNvdXBsZSBvZiBmaWxlcyBmcm9tIHRoZQoJICBGbHVlbmRvIHRyYW5zcG9ydCBzdHJlYW0gZGVtdXhlciB0aGF0IEZsdWVuZG8gaGF2ZQoJICBraW5kbHkgYWxsb3dlZCB0byBiZSBsaWNlbmNlZCB1bmRlciBMR1BMIGFsc28uCgoyMDA3LTA4LTIwIDA5OjEzOjQ3ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBBZGQgZXhhbXBsZXMgZm9yIGxpdmUgbXl0aHR2Oi8vIFVSSXMgdG8gZG9jcyAoIzQ2ODAzOSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmFzdGllbiBOb2NlcmEgIDxoYWRlc3MgYXQgaGFkZXNzIG5ldD4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICBBZGQgZXhhbXBsZXMgZm9yIGxpdmUgbXl0aHR2Oi8vIFVSSXMgdG8gZG9jcyAoIzQ2ODAzOSkuCgkgIEFsc28gY29udmVydCBzb21lIHRhYnMgaW50byBzcGFjZXMuCgoyMDA3LTA4LTE5IDE5OjE2OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIGNoZWJ5c2hldiBmaWx0ZXJzIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIGNoZWJ5c2hldiBmaWx0ZXJzIGluIHRoZSBkb2NzLgoKMjAwNy0wOC0xOSAxOTowMTo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBBbHNvIHRlc3QgZXZlcnl0aGluZyBpbiAzMiBiaXQgZmxvYXQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYnB3c2luY19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAobHB3c2luY19zdWl0ZSk6CgkgIEFsc28gdGVzdCBldmVyeXRoaW5nIGluIDMyIGJpdCBmbG9hdCBtb2RlLgoKMjAwNy0wOC0xNyAxNTowNToxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudCBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaWVzIGZvciB0aGUgR09iLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChicHdzaW5jX3NldF9wcm9wZXJ0eSksIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudAoJICBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaWVzIGZvciB0aGUgR09iamVjdCBwcm9wZXJ0aWVzCgkgIHNvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIFVJcyBjYW4gdXNlIHNsaWRlcnMgYW5kIGNoYW5nZSBmcmVxdWVuY3kKCSAgcHJvcGVydGllcyB0byBmbG9hdHMgdG8gc2F2ZSBhIGJpdCBvZiBtZW1vcnksIGV2ZW4gaW50cyB3b3VsZCBpbgoJICB0aGVvcnkgYmUgZW5vdWdoLiBBbHNvIHJlbmFtZSBmcmVxdWVuY3kgdG8gY3V0b2ZmIGZvciBjb25zaXN0ZW5jeQoJICByZWFzb25zLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgUmVnZW5lcmF0ZWQgZm9yIHRoZSBhYm92ZSBjaGFuZ2VzLgoKMjAwNy0wOC0xNyAwNjo1NTozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogRG9uJ3QgbGVhayB0aGUgYWRhcHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgRG9uJ3QgbGVhayB0aGUgYWRhcHRlci4KCjIwMDctMDgtMTYgMTk6MjI6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbSB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19wdXNoX3Jlc2lkdWUpLAoJICAoYnB3c2luY190cmFuc2Zvcm0pLCAoYnB3c2luY19zdGFydCksIChicHdzaW5jX3F1ZXJ5KSwKCSAgKGJwd3NpbmNfcXVlcnlfdHlwZSksIChicHdzaW5jX2V2ZW50KSwgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0KCSAgdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSBkYXRhIHdlIHdhbnQsIGkuZS4gZHJvcCBrZXJuZWxfbGVuZ3RoLzIKCSAgaW4gdGhlIGJlZ2lubmluZyBhbmQgYXBwZW5kIGtlcm5lbF9sZW5ndGgvMiAoY3JlYXRlZCBieSBjb252b2x2aW5nCgkgIHRoZSBmaWx0ZXIga2VybmVsIHdpdGggemVyb2VzKSB0byB0aGUgZW5kLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRqdXN0IHRoZSB1bml0IHRlc3QgZm9yIHRoaXMgc2xpZ2h0bHkgY2hhbmdlZCBiZWhhdmlvdXIuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIFJlc2V0IHJlc2lkdWUgbGVuZ3RoIG9ubHkgd2hlbiBhY3R1YWxseSBjcmVhdGluZyBhIHJlc2lkdWUuCgoyMDA3LTA4LTE2IDE3OjExOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IE92ZXJyaWRlIHRoZSBwcmVyb2xsIHZtZXRob2QgaW5zdGVhZCBvZiBvdmVycmlkaW5nIHRoZSByZW5kZXIgbWV0aG9kIHR3aWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19jbGFzc19pbml0KToKCSAgT3ZlcnJpZGUgdGhlIHByZXJvbGwgdm1ldGhvZCBpbnN0ZWFkIG9mIG92ZXJyaWRpbmcgdGhlIHJlbmRlciBtZXRob2QKCSAgdHdpY2UuCgoyMDA3LTA4LTE2IDExOjQwOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEZpeCBFT1MgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgRml4IEVPUyBoYW5kbGluZy4KCSAgQ29udmVydCBzb21lIERFQlVHIGludG8gV0FSTklOR3MuCgkgIFBhdXNlIHRhc2sgd2hlbiBmbHVzaGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspOgoJICBVc2Ugc3lzdGVtIGNsb2NrIGZvciBSVENQIHNlc3Npb24gbWFuYWdlbWVudCB0aW1lb3V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KToKCSAgUmVsZWFzZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gZW1pdGluZyBzaWduYWxzLgoKMjAwNy0wOC0xNiAxMTozNDo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksCgkgIChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCk6CgkgIEFkZCBzb21lIGRlYnVnIGluZm8uCgoyMDA3LTA4LTE2IDA5OjQ4OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0gdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfcHVzaF9yZXNpZHVlKSwKCSAgKGxwd3NpbmNfdHJhbnNmb3JtKSwgKGxwd3NpbmNfc3RhcnQpLCAobHB3c2luY19xdWVyeSksCgkgIChscHdzaW5jX3F1ZXJ5X3R5cGUpLCAobHB3c2luY19ldmVudCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtCgkgIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgZGF0YSB3ZSB3YW50LCBpLmUuIGRyb3Aga2VybmVsX2xlbmd0aC8yCgkgIGluIHRoZSBiZWdpbm5pbmcgYW5kIGFwcGVuZCBrZXJuZWxfbGVuZ3RoLzIgKGNyZWF0ZWQgYnkgY29udm9sdmluZwoJICB0aGUgZmlsdGVyIGtlcm5lbCB3aXRoIHplcm9lcykgdG8gdGhlIGVuZC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkanVzdCB0aGUgdW5pdCB0ZXN0IGZvciB0aGlzIHNsaWdodGx5IGNoYW5nZWQgYmVoYXZpb3VyLgoKMjAwNy0wOC0xNiAwNzowNzo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogRG9uJ3QgbGVhayBsaWtlIGhlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIERvbid0IGxlYWsgbGlrZSBoZWxsLgoKMjAwNy0wOC0xNiAwNjo0OTozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgZ2VuZXJpYyBzdGF0ZS1jaGFuZ2UgdGVzdCBzdWl0ZSB0byBoZWxwIHRvIGZpIGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgQWRkIGdlbmVyaWMgc3RhdGUtY2hhbmdlIHRlc3Qgc3VpdGUgdG8gaGVscCB0byBmaSBsZWFrcy4KCjIwMDctMDgtMTUgMTM6Mjg6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5CgoyMDA3LTA4LTE1IDEzOjI2OjU3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuKjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiA8ZGVsZXRlIGlmIG5vdCB1c2luZyBhIGJ1ZGR5PgoJICBwYXRjaCBieTogPGRlbGV0ZSBpZiBub3Qgc29tZW9uZSBlbHNlJ3MgcGF0Y2g+CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgoyMDA3LTA4LTE0IDE3OjQ3OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IERvbid0IHVzZSBuZXcgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19mbHVzaF91bmxvY2tlZCk6CgkgIERvbid0IHVzZSBuZXcgQVBJLgoKMjAwNy0wOC0xNCAxNzozODowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay4qOiBNYWtlIGxvdmUgdG8gYXBwc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9hcHBfc2lua19jbGFzc19pbml0KSwgKGdzdF9hcHBfc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hcHBfc2lua19mbHVzaF91bmxvY2tlZCksIChnc3RfYXBwX3Npbmtfc3RhcnQpLAoJICAoZ3N0X2FwcF9zaW5rX3N0b3ApLCAoZ3N0X2FwcF9zaW5rX2V2ZW50KSwgKGdzdF9hcHBfc2lua19wcmVyb2xsKSwKCSAgKGdzdF9hcHBfc2lua19yZW5kZXIpLCAoZ3N0X2FwcF9zaW5rX2dldF9jYXBzKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfY2FwcyksIChnc3RfYXBwX3NpbmtfZW5kX29mX3N0cmVhbSksCgkgIChnc3RfYXBwX3NpbmtfcHVsbF9wcmVyb2xsKSwgKGdzdF9hcHBfc2lua19wdWxsX2J1ZmZlcik6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkgIE1ha2UgbG92ZSB0byBhcHBzaW5rLgoJICBNYWtlIGl0IHN1cHBvcnQgcHVsbGluZyBvZiB0aGUgcHJlcm9sbCBidWZmZXIuCgkgIEFkZCBkb2NzIGFuZCBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBGaXggc29tZSByYWNlcyB3cnQgdG8gRU9TIGhhbmRsaW5nIGFuZCBzdG9wcGluZy4KCSAgSW1wbGVtZW50IGdldGNhcHMuCgkgIEltcGxlbWVudCBGTFVTSElORy4KCSAgQVBJOiBnc3RfYXBwX3NpbmtfcHVsbF9wcmVyb2xsKCkKCjIwMDctMDgtMTQgMTQ6NTY6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpeCBsb2NraW5nIGFuZCByZWZjb3VudGluZyBvbiB0aGUgaW5kZXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfc2V0X2luZGV4KSwKCSAgKGdzdF9mbHZfZGVtdXhfZ2V0X2luZGV4KToKCSAgRml4IGxvY2tpbmcgYW5kIHJlZmNvdW50aW5nIG9uIHRoZSBpbmRleC4KCjIwMDctMDgtMTQgMTQ6MjI6MDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXJzdCBtZXRob2QgZm9yIHNlZWtpbmcgaW4gcHVsbCBtb2RlIHVzaW5nIHRoZSBpbmRleCBidWlsdCBzdGVwIGJ5IHN0ZXAgb3IgY29taW5nIGZyb20gbWV0YWRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTE0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfYWRhcHRlcl9mbHVzaCksIChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfc3JjX2V2ZW50KSwgKGdzdF9mbHZfZGVtdXhfcXVlcnkpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9nZXRfaW5kZXgpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2xhc3NfaW5pdCk6IEZpcnN0IG1ldGhvZCBmb3Igc2Vla2luZyBpbiBwdWxsCgkgIG1vZGUgdXNpbmcgdGhlIGluZGV4IGJ1aWx0IHN0ZXAgYnkgc3RlcCBvciBjb21pbmcgZnJvbSBtZXRhZGF0YS4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IFBhcnNlCgkgIG1vcmUgbWV0YWRhdGEgdHlwZXMgYW5kIGtleWZyYW1lcyBpbmRleC4KCjIwMDctMDgtMTMgMTM6NTA6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2NzIGZvciBscHdzaW5jIGFuZCBicHdzaW5jIGFuZCBpbnRlZ3JhdGUgdGhlbSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0uIFdoaWxlIGRvaW5nIHRoYXQgYWxzbyB1cGRhdGUgYWxsIG90aGVyIGRvYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFkZCBkb2NzIGZvciBscHdzaW5jIGFuZCBicHdzaW5jIGFuZCBpbnRlZ3JhdGUgdGhlbQoJICBpbnRvIHRoZSBidWlsZCBzeXN0ZW0uIFdoaWxlIGRvaW5nIHRoYXQgYWxzbyB1cGRhdGUKCSAgYWxsIG90aGVyIGRvY3MgdmlhIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCjIwMDctMDgtMTMgMDY6MTY6NDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiBJbmNsdWRlIHN0ZGxpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIEluY2x1ZGUgc3RkbGliLgoKMjAwNy0wOC0xMiAyMDo1NTowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiBNYWtlIG9uZSB0ZXN0IGNvbnN0cmFpbnQgYSBiaXQgc3RyaWN0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgTWFrZSBvbmUgdGVzdCBjb25zdHJhaW50IGEgYml0IHN0cmljdGVyLgoKMjAwNy0wOC0xMiAyMDo1MzoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgYnB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKHNldHVwX2Jwd3NpbmMpLAoJICAoY2xlYW51cF9icHdzaW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKGJwd3NpbmNfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBicHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkgYWdhaW4uCgoyMDA3LTA4LTEyIDIwOjE5OjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBscHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoc2V0dXBfbHB3c2luYyksCgkgIChjbGVhbnVwX2xwd3NpbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAobHB3c2luY19zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGxwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eS4KCjIwMDctMDgtMTIgMTU6NDE6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwNy0wOC0xMiAxMjo0NjoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFJlc2V0IHRoZSByZXNpZHVlIGluIEJhc2VUcmFuc2Zvcm06OnN0YXJ0IHRvIGdldCBhIGNsZWFuIHJlc2lkdWUgb24gc3RyZWFtIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChicHdzaW5jX3N0YXJ0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAobHB3c2luY19zdGFydCk6CgkgIFJlc2V0IHRoZSByZXNpZHVlIGluIEJhc2VUcmFuc2Zvcm06OnN0YXJ0IHRvIGdldCBhIGNsZWFuIHJlc2lkdWUKCSAgb24gc3RyZWFtIGNoYW5nZXMuCgoyMDA3LTA4LTExIDIxOjMwOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZWxvZyBzdXJnZXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeQoKMjAwNy0wOC0xMSAxNTo1ODozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IEZpeCBwcm9jZXNzaW5nIHdpdGggYnVmZmVyIHNpemVzIHRoYXQgYXJlIGxhcmdlciB0aGFuIHRoZSBmaWx0ZXIga2VybmVsIHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCk6CgkgIEZpeCBwcm9jZXNzaW5nIHdpdGggYnVmZmVyIHNpemVzIHRoYXQgYXJlIGxhcmdlciB0aGFuIHRoZSBmaWx0ZXIKCSAga2VybmVsIHNpemUuCgoyMDA3LTA4LTEwIDE3OjE2OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW1vdmUgY29tcGxpY2F0ZWQgYXN5bmMgcXVldWUgYW5kIHJlcGxhY2Ugd2l0aCBtb3JlIHNpbXBsZSBqaXR0ZXJidWZmZXIgY29kZSB3aGlsZSBhbHNvIGZpeGluZyBzb21lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX25ldyksIChjb21wYXJlX3NlcW51bSksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLCAocnRwX2ppdHRlcl9idWZmZXJfcG9wKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoKSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX251bV9wYWNrZXRzKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF90c19kaWZmKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmVtb3ZlIGNvbXBsaWNhdGVkIGFzeW5jIHF1ZXVlIGFuZCByZXBsYWNlIHdpdGggbW9yZSBzaW1wbGUgaml0dGVyYnVmZmVyCgkgIGNvZGUgd2hpbGUgYWxzbyBmaXhpbmcgc29tZSBidWdzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZGlzcG9zZSksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX25ld19zc3JjKSwKCSAgKG9uX3NzcmNfY29sbGlzaW9uKSwgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX2J5ZV9zc3JjKSwKCSAgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9ieWVfc3NyYyksIChzZXNzaW9uX2NsZWFudXApOgoJICBVc2UgbmV3IGppdHRlcmJ1ZmZlciBjb2RlLgoJICBFeHBvc2Ugc29tZSBuZXcgc2lnbmFscyBpbiBwcmVwYXJhdGlvbiBmb3IgaGFuZGxpbmcgRU9TLgoKMjAwNy0wOC0xMCAwNTo1MTo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IEZpeCBhIHNlZ2ZhdWx0IHdpdGggbW9yZSB0aGFuIG9uZSBjaGFubmVsIGFuZCBkb24ndCByZWJ1aWxkIHRoZSBrZXJuZWwgJiByZXNpZHVlIHdpdGggZXZlcnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19idWlsZF9rZXJuZWwpOgoJICBGaXggYSBzZWdmYXVsdCB3aXRoIG1vcmUgdGhhbiBvbmUgY2hhbm5lbCBhbmQgZG9uJ3QgcmVidWlsZAoJICB0aGUga2VybmVsICYgcmVzaWR1ZSB3aXRoIGV2ZXJ5IGJ1ZmZlci4KCjIwMDctMDgtMTAgMDU6MzU6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBBZGQgc3VwcG9ydCBmb3IgYSBiYW5kcmVqZWN0IG1vZGUgYW5kIGFsbG93IHNwZWNpZnlpbmcgdGhlIHdpbmRvdyBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSB1c2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2Jwd3NpbmNfd2luZG93X2dldF90eXBlKSwgKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX2J1aWxkX2tlcm5lbCksIChicHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBhIGJhbmRyZWplY3QgbW9kZSBhbmQgYWxsb3cgc3BlY2lmeWluZyB0aGUgd2luZG93CgkgIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIHVzZWQuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEFuZCBhbm90aGVyIHNtYWxsIGZvcm1hdHRpbmcgZml4LgoKMjAwNy0wOC0xMCAwNToyMDowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLio6IEFwcGx5IHRoZSBzYW1lIGNoYW5nZXMgdG8gdGhlIGJhbmRwYXNzIGZpbHRlcjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGJwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGJwd3NpbmNfc2V0dXApLCAoYnB3c2luY19nZXRfdW5pdF9zaXplKSwKCSAgKGJwd3NpbmNfdHJhbnNmb3JtKSwgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgQXBwbHkgdGhlIHNhbWUgY2hhbmdlcyB0byB0aGUgYmFuZHBhc3MgZmlsdGVyOgoJICAtIFN1cHBvcnQgZG91YmxlIGlucHV0CgkgIC0gRml4IHByb2Nlc3NpbmcgZm9yIGlucHV0IHdpdGggPjEgY2hhbm5lbHMKCSAgLSBTcGVjaWZ5IGZyZXF1ZW5jeSBpbiBIegoJICAtIFNwZWNpZnkgYWN0dWFsIGZpbHRlciBrZXJuZWwgbGVuZ3RoCgkgIC0gVXNlIHRyYW5zZm9ybSBpbnN0ZWFkIG9mIHRyYW5zZm9ybV9pcCBhcyB3ZSdyZSB3b3JraW5nCgkgIG91dCBvZiBwbGFjZSBhbnl3YXkKCSAgLSBGYWN0b3Igb3V0IGZpbHRlciBrZXJuZWwgZ2VuZXJhdGlvbiBhbmQgdXBkYXRlIHRoZSBmaWx0ZXIKCSAga2VybmVsIHdoZW4gdGhlIHByb3BlcnRpZXMgYXJlIHNldAoJICBGaXggYmFuZHBhc3MgZmlsdGVyIGtlcm5lbCBnZW5lcmF0aW9uIHRvIGFjdHVhbGx5IGdlbmVyYXRlCgkgIGEgYmFuZHBhc3MgZmlsdGVyIGJ5IGNyZWF0aW5nIGEgaGlnaHBhc3MgaW5zdGVhZCBvZiBhIHNlY29uZAoJICBsb3dwYXNzLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgIFNtYWxsIGZvcm1hdHRpbmcgZml4LgoKMjAwNy0wOC0xMCAwNDo0NDo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IFNwZWNpZnkgdGhlIGFjdHVhbCBmaWx0ZXIgbGVuZ3RoIGluc3RlYWQgb2YgYSB3ZWlyZCAyTisxLiBTZXR0aW5nIHRoZSBwcm9wZXJ0eSB3aWxsIHJvdW5kIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIFNwZWNpZnkgdGhlIGFjdHVhbCBmaWx0ZXIgbGVuZ3RoIGluc3RlYWQgb2YgYSB3ZWlyZAoJICAyTisxLiBTZXR0aW5nIHRoZSBwcm9wZXJ0eSB3aWxsIHJvdW5kIHRvIHRoZSBuZXh0IG9kZCBudW1iZXIuCgkgIEFsc28gcmVtb3ZlIG5vdyBvYnNvbGV0ZSBGSVhNRXMuCgoyMDA3LTA4LTEwIDA0OjMyOjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogQWxsb3cgY2hvb3NpbmcgYmV0d2VlbiBoYW1taW5nIGFuZCBibGFja21hbiB3aW5kb3cuIFRoZSBibGFja21hbiB3aW5kb3cgcHJvdmlkZXMgYSBiZXR0ZXIgc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY193aW5kb3dfZ2V0X3R5cGUpLAoJICAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksIChnc3RfbHB3c2luY19pbml0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWxsb3cgY2hvb3NpbmcgYmV0d2VlbiBoYW1taW5nIGFuZCBibGFja21hbiB3aW5kb3cuIFRoZSBibGFja21hbgoJICB3aW5kb3cgcHJvdmlkZXMgYSBiZXR0ZXIgc3RvcGJhbmQgYXR0ZW51YXRpb24gYnV0IGEgYml0IHNsb3dlcgoJICByb2xsb2ZmLgoKMjAwNy0wOC0xMCAwNDoyMTozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEFkZCBhIGhpZ2hwYXNzIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFkZCBhIGhpZ2hwYXNzIG1vZGUuCgoyMDA3LTA4LTEwIDA0OjA2OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogRml4IHByb2Nlc3NpbmcgaWYgdGhlIGlucHV0IGhhcyBtb3JlIHRoYW4gb25lIGNoYW5uZWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgRml4IHByb2Nlc3NpbmcgaWYgdGhlIGlucHV0IGhhcyBtb3JlIHRoYW4gb25lIGNoYW5uZWwuCgoyMDA3LTA4LTA5IDE5OjIzOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogInRoaXMiIGlzIGEgQysrIGtleXdvcmQsIHVzZSAic2VsZiIgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19zZXR1cCksIChicHdzaW5jX3RyYW5zZm9ybV9pcCksCgkgIChicHdzaW5jX3NldF9wcm9wZXJ0eSksIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICJ0aGlzIiBpcyBhIEMrKyBrZXl3b3JkLCB1c2UgInNlbGYiIGluc3RlYWQuCgkgIEFkZCBUT0RPcyBhbmQgRklYTUVzIGFuZCByZW1vdmUgdHdvIHdyb25nIEZJWE1Fcy4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgQWRkIEZJWE1FcyBhbmQgYSBuZXcgVE9ETy4KCjIwMDctMDgtMDkgMTg6MDg6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBBZGQgZG91YmxlIHN1cHBvcnQsIHJlcGxhY2UgInRoaXMiIHdpdGggInNlbGYiIGFzIHRoZSBmb3JtZXIgaXMgYSBDKysga2V5d29yZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLCAoZ3N0X2xwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwKCSAgKHByb2Nlc3NfNjQpLCAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXR1cCksCgkgIChscHdzaW5jX2dldF91bml0X3NpemUpLCAobHB3c2luY190cmFuc2Zvcm0pLAoJICAobHB3c2luY19zZXRfcHJvcGVydHkpLCAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgZG91YmxlIHN1cHBvcnQsIHJlcGxhY2UgInRoaXMiIHdpdGggInNlbGYiIGFzIHRoZSBmb3JtZXIKCSAgaXMgYSBDKysga2V5d29yZC4KCSAgSW1wbGVtZW50IHRoZSBmcmVxdWVuY3kgcHJvcGVydHkgaW4gSHogaW5zdGVhZCBvZiBmcmFjdGlvbgoJICBvZiBzYW1wbGluZyBmcmVxdWVuY3kuCgkgIFJlbW92ZSBzb21lIHVuZWNlc3NhcnkgRklYTUVzIGFuZCBhZGQgc29tZSBUT0RPcywgYWRkIHNvbWUKCSAgcmVxdWlyZWQgbG9ja2luZyBhbmQgcmVmYWN0b3IgdGhlIGtlcm5lbCBnZW5lcmF0aW9uIGludG8gYQoJICBzZXBhcmF0ZSBmdW5jdGlvbiB0aGF0IGlzIGFsc28gY2FsbGVkIHdoZW4gdGhlIHByb3BlcnRpZXMKCSAgY2hhbmdlIG5vdy4KCSAgQW5kIHVzZSBCYXNlVHJhbnNmb3JtOjp0cmFuc2Zvcm0gaW5zdGVhZCBvZiB0cmFuc2Zvcm1faXAKCSAgYXMgdGhlIGNvbnZvbHV0aW9uIGlzIGRvbmUgb3V0IG9mIHBsYWNlIGFueXdheS4gU2hvdWxkCgkgIGJlIGRvbmUgaW4gcGxhY2UgbGF0ZXIuCgoyMDA3LTA4LTA5IDE3OjM5OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBQb3J0IHRoZSBzdGVyZW8gZWxlbWVudCB0byBHU3RyZWFtZXIgMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzogKGdzdF9zdGVyZW9fYmFzZV9pbml0KSwKCSAgKGdzdF9zdGVyZW9fY2xhc3NfaW5pdCksIChnc3Rfc3RlcmVvX2luaXQpLAoJICAoZ3N0X3N0ZXJlb190cmFuc2Zvcm1faXApLCAoZ3N0X3N0ZXJlb19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3N0ZXJlb19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmg6CgkgIFBvcnQgdGhlIHN0ZXJlbyBlbGVtZW50IHRvIEdTdHJlYW1lciAwLjEwLgoKMjAwNy0wOC0wOSAxMTowMToxNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IEFkZGVkIFBvcnR1Z3Vlc2UgKEJyYXppbGlhbikgdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzdWJtaXR0ZWQgYnk6IFJhcGhhZWwgSGlnaW5vIDxwaGhpZ2lub0BnbWFpbC5jb20+CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9wdF9CUi5wbzoKCSAgQWRkZWQgUG9ydHVndWVzZSAoQnJhemlsaWFuKSB0cmFuc2xhdGlvbi4KCjIwMDctMDgtMDkgMTE6MDA6MDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vdWsucG86CgkgICogcG8vdmkucG86CgkgIFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoKMjAwNy0wOC0wOCAyMDo0NzozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFVzZSBHc3RBdWRpb0ZpbHRlciBhcyBiYXNlIGNsYXNzIGFuZCBkb24ndCBsZWFrIHRoZSBtZW1vcnkgb2YgdGhlIGZpbHRlciBrZXJuZWwgYW5kIHJlc2lkdWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9icHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19zZXR1cCk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19zZXR1cCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIFVzZSBHc3RBdWRpb0ZpbHRlciBhcyBiYXNlIGNsYXNzIGFuZCBkb24ndCBsZWFrIHRoZSBtZW1vcnkKCSAgb2YgdGhlIGZpbHRlciBrZXJuZWwgYW5kIHJlc2lkdWUuCgoyMDA3LTA4LTA4IDE1OjE1OjU2ICswMDAwICBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgQWRkIGNvbm5lY3Rpb24gc3BlZWQgcHJvcGVydHkgdG8gbGlibW1zLiBGaXhlcyAjNDY0Njc4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfY2xhc3NfaW5pdCksIChnc3RfbW1zX2luaXQpLAoJICAoZ3N0X21tc19zdGFydCksIChnc3RfbW1zX3NldF9wcm9wZXJ0eSksIChnc3RfbW1zX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgQWRkIGNvbm5lY3Rpb24gc3BlZWQgcHJvcGVydHkgdG8gbGlibW1zLiBGaXhlcyAjNDY0Njc4LgoKMjAwNy0wOC0wNyAxNToyMToxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy4qOiBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19hY3RpdmF0ZV9wdXNoKSwgKG9wZW5fbGlicmFyeSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfaW5pdCksIChnc3RfcmVhbF92aWRlb19kZWNfZmluYWxpemUpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcnMuCgoyMDA3LTA4LTA3IDEwOjUxOjU5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IFNtYWxsIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKToKCSAgU21hbGwgY2xlYW51cHMuCgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pLAoJICAob3Blbl9saWJyYXJ5KToKCSAgUmVtb3ZlIGZyYWdtZW50IGFuZCB0aW1lc3RhbXAgY29ycmVjdGlvbiBjb2RlIGZyb20gdGhlIGRlY29kZXIgdG8gbWFrZQoJICB0aGUgY2FwcyBhbmQgYnVmZmVyIGNvbnRlbnRzIGNvbXBhdGlibGUgd2l0aCBtYXRyb3NrYS9mZmRlY19ydngwLy4uLgoKMjAwNy0wNy0zMCAxMjo0MzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLnNraXA6IEFkZCBQT1RGSUxFUy5za2lwIHdpdGggbGlzdCBvZiBzb3VyY2UgZmlsZXMgdGhhdCBhcmVuJ3QgZGlzdGVkIGF0IHRoZSBtb21lbnQgYnV0IGNvbnRhaW4gdHJhbnNsYXRhYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5za2lwOgoJICBBZGQgUE9URklMRVMuc2tpcCB3aXRoIGxpc3Qgb2Ygc291cmNlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZCBhdCB0aGUKCSAgbW9tZW50IGJ1dCBjb250YWluIHRyYW5zbGF0YWJsZSBzdHJpbmdzLiBTaG91bGQgaG9wZWZ1bGx5IHBhY2lmeQoJICBicm9rZW4gdG9vbHMgYW5kIG1ha2UgaXQgY2xlYXJlciB0aGF0IHRoZXNlIGZpbGVzIGFyZSBsZWZ0IG91dAoJICBpbnRlbnRpb25hbGx5ICgjNDYxNjAxIGFuZCBvdGhlcnMpLgoKMjAwNy0wNy0zMCAwOTo1MjozNiArMDAwMCAgSWFuIE11bnJvIDxpbXVucm9AbmV0c3BhY2UubmV0LmF1PgoKCSAgZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBJbmNsdWRlIG91ciBvd24gIl9zdGRpbnQuaCIgaW5zdGVhZCBvZiA8c3RkaW50Lmg+ICh3aGljaCBtYXkgbm90IGJlIGF2YWlsYWJsZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSWFuIE11bnJvICA8aW11bnJvIGF0IG5ldHNwYWNlIG5ldCBhdT4KCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIEluY2x1ZGUgb3VyIG93biAiX3N0ZGludC5oIiBpbnN0ZWFkIG9mIDxzdGRpbnQuaD4gKHdoaWNoIG1heSBub3QKCSAgYmUgYXZhaWxhYmxlKS4KCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgTmF0aXZlIEhQLVVYIGNvbXBpbGVyIGRvc24ndCBzZWVtIHRvIGxpa2UgZW51bSB0eXBlZGVmcyBiZWZvcmUgdGhlCgkgIGFjdHVhbCBlbnVtIHdhcyBkZWZpbmVkLgoJICAqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgRml4IHdyb25nIHVzYWdlIG9mIEdTVF9FTEVNRU5UX0VSUk9SIG1hY3JvICgjNDYxMzczKS4KCjIwMDctMDctMjYgMTY6MTY6MDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogVXNlIHRoZSBwcm9wZXIgY29udGV4dCB2YXJpYWJsZSB3aGVuIHNldHRpbmcgdGhlIHBhc3N3b3JkICEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgIFVzZSB0aGUgcHJvcGVyIGNvbnRleHQgdmFyaWFibGUgd2hlbiBzZXR0aW5nIHRoZSBwYXNzd29yZCAhCgkgIExPRyA9PiBXQVJOSU5HIGZvciBlcnJvcnMuCgkgIEdpdmUgcHJvcGVyIHBhdGggd2hlbiBvcGVuaW5nIHRoZSBjb2RlYyAobmVlZHMgYSAnLycgYXQgdGhlIGVuZCkuCgoyMDA3LTA3LTI1IDE4OjEwOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvTWFrZWZpbGUuYW06IEFuZCBkaXN0IHRoZSBuZXcgaGVhZGVyIGZpbGUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgQW5kIGRpc3QgdGhlIG5ldyBoZWFkZXIgZmlsZSB0b28uCgoyMDA3LTA3LTI1IDE0OjM2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbC5oOiBBZGQgbWlzc2luZyBoZWFkZXIgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbC5oOgoJICBBZGQgbWlzc2luZyBoZWFkZXIgZmlsZS4KCjIwMDctMDctMjUgMTM6Mjk6MDQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi86IEhhbmRsZSBub3QgbGlua2VkIHBhZHMsIHRyeSB0byBtYWtlIGl0IHJldXNhYmxlLCBtb3JlIHNhZmV0eSBjaGVja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA3LTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgIChnc3RfZmx2X2RlbXV4X2NoYWluKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDogSGFuZGxlIG5vdCBsaW5rZWQgcGFkcywgdHJ5IHRvIG1ha2UgaXQKCSAgcmV1c2FibGUsIG1vcmUgc2FmZXR5IGNoZWNrcy4KCjIwMDctMDctMjUgMDU6NTU6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS4qOiBEb24ndCBpbml0aWFsaXplIHRpbWlkaXR5IGluIHBsdWdpbl9pbml0IGZvciBzaW1pbGFyIHJlYXNvbiBhcyBiZWxvdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IChnc3RfdGltaWRpdHlfaW5pdCksCgkgIChnc3RfdGltaWRpdHlfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuaDoKCSAgRG9uJ3QgaW5pdGlhbGl6ZSB0aW1pZGl0eSBpbiBwbHVnaW5faW5pdCBmb3Igc2ltaWxhciByZWFzb24gYXMgYmVsb3cuCgoyMDA3LTA3LTI0IDE1OjEzOjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuKjogRG9uJ3QgaW5pdGlhbGl6ZSB3aWxkbWlkaSBpbiBwbHVnaW5faW5pdCBhcyBpdCBhbHNvIHNldHVwcyBhdWRpbyBmaWx0ZXJzIHdoaWNoIGlzIHNsb3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAod2lsZG1pZGlfb3Blbl9jb25maWcpLAoJICAoZ3N0X3dpbGRtaWRpX2luaXQpLCAoZ3N0X3dpbGRtaWRpX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIERvbid0IGluaXRpYWxpemUgd2lsZG1pZGkgaW4gcGx1Z2luX2luaXQgYXMgaXQgYWxzbyBzZXR1cHMgYXVkaW8KCSAgZmlsdGVycyB3aGljaCBpcyBzbG93LgoKMjAwNy0wNy0yNCAxNDozNjo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9yZWFsLzogSW1wcm92ZWQgc2VhcmNoIGFsZ29yaXRobSBmb3IgbG9jYXRpb24gb2YgcmVhbCAuc28gZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgkgICogZ3N0L3JlYWwvZ3N0cmVhbC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2ZpbmFsaXplKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcmVhbF9hdWRpb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2ZpbmFsaXplKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcmVhbF92aWRlb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIEltcHJvdmVkIHNlYXJjaCBhbGdvcml0aG0gZm9yIGxvY2F0aW9uIG9mIHJlYWwgLnNvIGZpbGVzLgoJICBGaXhlcyAjMzkzNDYxCgoyMDA3LTA3LTI0IDA1OjE1OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgdGhlIG5ldyBidWZmZXIgY2xpcHBpbmcgZnVuY3Rpb24gZnJvbSBnc3RhdWRpbyBoZXJlIGFuZCByZXF1aXJlIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhaW4pLCAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgVXNlIHRoZSBuZXcgYnVmZmVyIGNsaXBwaW5nIGZ1bmN0aW9uIGZyb20gZ3N0YXVkaW8gaGVyZSBhbmQKCSAgcmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUy4KCjIwMDctMDctMjMgMDk6MTM6NDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogU3luYyBsaWJvaWwgY2hlY2sgd2l0aCBwbHVnaW5zLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgU3luYyBsaWJvaWwgY2hlY2sgd2l0aCBwbHVnaW5zLWJhc2UuCgoyMDA3LTA3LTIwIDExOjM3OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQmV0dGVyIGFsZ29yaXRoIGZvciB0aGUgY2VudGVyIGZyZXF1ZW5jaWVzLiBTdWJ0cmFjdCBiYW5kIGZpbHRlcnMgZnJvbSBpbnB1dCBmb3IgbmVnYXRpdmUgZ2FpbnMuIFJld28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksIChhcmdfdG9fc2NhbGUpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIEJldHRlciBhbGdvcml0aCBmb3IgdGhlIGNlbnRlciBmcmVxdWVuY2llcy4gU3VidHJhY3QgYmFuZCBmaWx0ZXJzIGZyb20KCSAgaW5wdXQgZm9yIG5lZ2F0aXZlIGdhaW5zLiBSZXdvcmsgdGhlIGdhaW4gbWFwcGluZy4KCjIwMDctMDctMjAgMTE6MDM6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9kaXJhYy9NYWtlZmlsZS5hbTogQWxzbyBpbmNsdWRlIHN0ZGxpYiBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgIEFsc28gaW5jbHVkZSBzdGRsaWIgaGVyZS4KCjIwMDctMDctMTkgMTU6Mjk6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogRml4IHRoZSBidWlsZGJvdCB3aXRoIHRoZSBjdnNpZ25vcmUgaXQgd2FudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEZpeCB0aGUgYnVpbGRib3Qgd2l0aCB0aGUgY3ZzaWdub3JlIGl0IHdhbnRzLgoKMjAwNy0wNy0xOSAxNTowNTozMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBBZGRzIGEgZmlyc3QgZHJhZnQgb2YgYW4gRkxWIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA3LTE5ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NsZWFudXApLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpLAoJICAoZ3N0X2Zsdl9kZW11eF9zZWVrX3RvX3ByZXZfa2V5ZnJhbWUpLCAoZ3N0X2Zsdl9kZW11eF9sb29wKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9mbHZfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfZmx2X2RlbXV4X2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX0JFVUkyNCksIChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X2RlbXV4X3F1ZXJ5X3R5cGVzKSwgKGdzdF9mbHZfZGVtdXhfcXVlcnkpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKSwgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6IEFkZHMgYSBmaXJzdCBkcmFmdCBvZiBhbiBGTFYgZGVtdXhlci4KCSAgSXQgZG9lcyBub3QgZG8gc2Vla2luZyB5ZXQsIGl0IHN1cHBvcnRzIHB1bGwgYW5kIHB1c2ggbW9kZSBzbwoJICBZRVMKCSAgeW91IGNhbiB1c2UgaXQgdG8gcGxheSB5b3V0dWJlIHZpZGVvcyBkaXJlY3RseSBmcm9tIGFuIEhUVFAgdXJpLgoJICBOb3Qgc28gbXVjaCB0ZXN0aW5nIGRvbmUgeWV0IGJ1dCBpdCBwYXJzZXMgbWV0YWRhdGEsIHJlcGx5IHRvCgkgIGR1cmF0aW9uIHF1ZXJpZXMsIGV0Yy4uLgoKMjAwNy0wNy0xOSAwOTowODozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RpbWlkaXR5LmMgKEdTVF9TVEFSVF9URVNULCB0aW1pZGl0eV9zdWl0ZSwgbWFpbik6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RpbWlkaXR5LmMgKEdTVF9TVEFSVF9URVNULCB0aW1pZGl0eV9zdWl0ZSwKCSAgbWFpbik6CgkgIEFkZCB0eXBlZmluZCB0ZXN0IGZvciBtaWRpLgoKMjAwNy0wNy0xOCAyMDo1NjoyMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6IElmIHdlIHJlY2VpdmUgYSBuZXcgc2VnbWVudCBldmVudCwgZG9uJ3QgdHJ5IHRvIHB1c2ggYnVmZmVycyBvdXQgaW4gcmVzcG9uc2UgKHdpdGhvdXQgZmlyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBJZiB3ZSByZWNlaXZlIGEgbmV3IHNlZ21lbnQgZXZlbnQsIGRvbid0IHRyeSB0byBwdXNoIGJ1ZmZlcnMgb3V0CgkgIGluIHJlc3BvbnNlICh3aXRob3V0IGZpcnN0IHNlbmRpbmcgaXQgb24hKS4KCSAgSW5zdGVhZCwgZmx1c2ggaW50ZXJuYWwgYnVmZmVycyBvbiByZWNlaXZpbmcgZmx1c2ggZXZlbnRzLgoJICBGaXhlcyBwbGF5YmFjayBhZnRlciBzZWVraW5nLgoKMjAwNy0wNy0xOCAwODowMDowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBBZGQgYmFzaWMgZG9jcy4gVXNlIGdsaWJzIG1lbSByb3V0aW5lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiAoZ3N0X2JheWVyMnJnYl9zZXRfY2FwcyksCgkgIChnc3RfYmF5ZXIycmdiX3Jlc2V0KToKCSAgQWRkIGJhc2ljIGRvY3MuIFVzZSBnbGlicyBtZW0gcm91dGluZXMuCgoyMDA3LTA3LTE4IDA3OjUxOjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBBZGQgZXhhbXBsZSB0byB0aGUgZG9jcy4gRml4IGJ1ZmZlci1vZmZzZXQtZW5kIGFuZCBhZGQgc29tZSBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jcmVhdGUpOgoJICBBZGQgZXhhbXBsZSB0byB0aGUgZG9jcy4gRml4IGJ1ZmZlci1vZmZzZXQtZW5kIGFuZCBhZGQgc29tZSBkZWJ1Zy4KCjIwMDctMDctMTggMDc6NDI6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogQWRkIHN0ZGxpYiBpbmNsdWRlIGhlcmUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIGhlcmUgdG9vLgoKMjAwNy0wNy0xOCAwNzozNTozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIChmcmVlLCBhdG9pLCBleGl0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzogKG12ZV9jb21wcmVzc19hdWRpbyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIChmcmVlLCBhdG9pLCBleGl0KS4KCjIwMDctMDctMTYgMDk6MTk6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRml4IGJ1ZmZlciBjbGlwcGluZyB0byBjb3JyZWN0bHkgY2xpcCB0byB0aGUgc2VnbWVudCBzdG9wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChjbGlwX291dGdvaW5nX2J1ZmZlcik6CgkgIEZpeCBidWZmZXIgY2xpcHBpbmcgdG8gY29ycmVjdGx5IGNsaXAgdG8gdGhlIHNlZ21lbnQgc3RvcC4KCjIwMDctMDctMTQgMTg6NDg6MjUgKzAwMDAgIEhhbnMgZGUgR29lZGUgPGoudy5yLmRlZ29lZGVAaGhzLm5sPgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogYWRkIHNldmVyYWwgbWlzc2luZyBzdXBwb3J0ZWQgbWltZS10eXBlcyB0byB0aGUgbW9kcGx1ZyBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSGFucyBkZSBHb2VkZSA8ai53LnIuZGVnb2VkZSBhdCBoaHMgZG90IG5sPgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIGFkZCBzZXZlcmFsIG1pc3Npbmcgc3VwcG9ydGVkIG1pbWUtdHlwZXMgdG8gdGhlIG1vZHBsdWcgcGx1Z2luLgoJICBGaXhlcyAjNDU2OTAxLgoKMjAwNy0wNy0xMyAxNjo0NjowMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgYm9ndXMgY2hlY2sgZm9yIGxpYmNoZWNrLCBzaW5jZSB3ZSBjaGVjayBmb3IgZ3N0cmVhbWVyLWNoZWNrIGFuZCBpdCBwdWxscyBpbiB0aGUgcmVxdWlyZWQgaW5mbyBmcm9tIHRoZXJlLCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgYm9ndXMgY2hlY2sgZm9yIGxpYmNoZWNrLCBzaW5jZSB3ZSBjaGVjayBmb3IKCSAgZ3N0cmVhbWVyLWNoZWNrIGFuZCBpdCBwdWxscyBpbiB0aGUgcmVxdWlyZWQgaW5mbyBmcm9tIHRoZXJlLCBhbmQgd2UKCSAgd2VyZW4ndCBhY3R1YWxseSBfdXNpbmdfIHRoZSBpbmZvcm1hdGlvbiBmb3IgbGliY2hlY2sgb3Vyc2VsdmVzCgkgIGFueXdheS4KCjIwMDctMDctMTIgMTE6NTU6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIHBrZy1jb25maWcgdG8gbG9jYXRlIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBwa2ctY29uZmlnIHRvIGxvY2F0ZSBjaGVjay4KCjIwMDctMDctMTEgMjM6NDM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpOgoJICAqIGdzdC92bW5jL3ZtbmNkZWMuYzogKHZtbmNfbWFrZV9idWZmZXIpOgoJICBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCjIwMDctMDctMDkgMDY6MDU6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJFUVVJUkVNRU5UUzogU3luYyB3aXRoIGNoYW5nZXMgaW4gLXVnbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFUVVJUkVNRU5UUzoKCSAgU3luYyB3aXRoIGNoYW5nZXMgaW4gLXVnbHkuCgoyMDA3LTA3LTA4IDE5OjA2OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUkVRVUlSRU1FTlRTOiBBZGQgZG93bmxvYWQgbG9jYXRpb24gb2YgbGliYW1yd2IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFUVVJUkVNRU5UUzoKCSAgQWRkIGRvd25sb2FkIGxvY2F0aW9uIG9mIGxpYmFtcndiLgoKMjAwNy0wNy0wNiAyMTowNzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIG1pc3NpbmcgaW5zcGVjdCBmaWxlcy4gRml4ZXMgYnVpbGQgKCM0NTQzMTMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgQWRkIG1pc3NpbmcgaW5zcGVjdCBmaWxlcy4gRml4ZXMgYnVpbGQgKCM0NTQzMTMpLgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAod2lsZG1pZGlfb3Blbl9jb25maWcpOgoJICBTY3JlYW0gYSBiaXQgbG91ZGVyIHdoZW4gaW5pdGlhbGlzYXRpb24gZmFpbHMuCgkgICogZ3N0LWxpYnMvUkVBRE1FOgoJICAqIGdzdC1saWJzL2V4dC8uY3ZzaWdub3JlOgoJICBSZW1vdmUgc29tZSBjcnVmdC4KCjIwMDctMDctMDUgMjI6Mjg6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbTogRGlzdCBoZWFkZXIgZmlsZXMuIEZpeGVzICM0NTQwNzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICBEaXN0IGhlYWRlciBmaWxlcy4gRml4ZXMgIzQ1NDA3OC4KCjIwMDctMDctMDUgMDg6NDU6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogU2ltcGxpZnkgLS1leHRyYS1kaXIgYXMgZ3RrZG9jIHNjYW5zIHJlY3Vyc2l2ZWx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFNpbXBsaWZ5IC0tZXh0cmEtZGlyIGFzIGd0a2RvYyBzY2FucyByZWN1cnNpdmVseS4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgRml4IGNvbW1lbnQgc3RhcnQuCgoyMDA3LTA3LTA0IDExOjU2OjU1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYyAoZHZic3JjX2RldGFpbHMsIEFSR19EVkJTUkNfQURBUFRFUiwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYyAoZHZic3JjX2RldGFpbHMsIEFSR19EVkJTUkNfQURBUFRFUiwKCSAgQVJHX0RWQlNSQ19GUk9OVEVORCwgQVJHX0RWQlNSQ19ESVNFUUNfU1JDLCBBUkdfRFZCU1JDX0ZSRVFVRU5DWSwKCSAgQVJHX0RWQlNSQ19QT0xBUklUWSwgZ3N0X2R2YnNyY19jbGFzc19pbml0LCBnc3RfZHZic3JjX2luaXQsCgkgIGdzdF9kdmJzcmNfc2V0X3Byb3BlcnR5LCBnc3RfZHZic3JjX2dldF9wcm9wZXJ0eSwKCSAgZ3N0X2R2YnNyY19vcGVuX2Zyb250ZW5kLCBnc3RfZHZic3JjX29wZW5fZHZyLCByZWFkX2RldmljZSwKCSAgZ3N0X2R2YnNyY19jcmVhdGUsIGdzdF9kdmJzcmNfc2V0X3Blc19maWx0ZXJzKToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5oIChhZGFwdGVyX251bWJlciwgZnJvbnRlbmRfbnVtYmVyKToKCSAgUmVtb3ZlZCBwcm9wZXJ0eSAiZGV2aWNlIi4gQWRkZWQgcHJvcGVydGllcyAiYWRhcHRlciIgYW5kICJmcm9udGVuZCIuCgkgIEZpeGVzICM0NTM2MzYuCgkgIFJlbmFtZSBmcmVxIHByb3BlcnR5IHRvIGZyZXF1ZW5jeS4KCjIwMDctMDctMDMgMTc6MDk6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogRml4IHByb3BlcnR5IGRlc2NyaXB0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IChnc3RfdmlkZW9fZGV0ZWN0X2NsYXNzX2luaXQpOgoJICBGaXggcHJvcGVydHkgZGVzY3JpcHRpb25zLgoKMjAwNy0wNy0wMyAwOToxODoyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWxzbyBkb2N1bWVudCBBTVItV0IgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgQWxzbyBkb2N1bWVudCBBTVItV0IgZWxlbWVudHMuCgoyMDA3LTA3LTAzIDA4OjE2OjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBDbGVhbnVwIHRoZSBzZWN0aW9uIGZpbGUgc28gdGhhdCAtdW51c2VkIGlzIGVtcHR5IGFnYWluIChhbmQgdXNlZnVsIHRvIHNwb3QgbmV3IGRvY3MpLiBBZGQgbm90IHlldCBhZGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgQ2xlYW51cCB0aGUgc2VjdGlvbiBmaWxlIHNvIHRoYXQgLXVudXNlZCBpcyBlbXB0eSBhZ2FpbiAoYW5kIHVzZWZ1bCB0bwoJICBzcG90IG5ldyBkb2NzKS4gQWRkIG5vdCB5ZXQgYWRkZWQgZG9jcyB0byBzZ21sIGZpbGUuIEFkZCBtb3JlIGhlYWRlcgoJICB0byBNYWtlZmlsZS5hbSB0byBtYWtlIHRoZW0gaW50cm9zcGVjdGFibGUuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIFVwZGF0ZSB0aGUgZG9jIGJsb2JzLgoKMjAwNy0wNy0wMyAwODowMToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS86IEFkZCAuaCBmaWxlcyB0byBiZSBhYmxlIHRvIGFkZCBpdCB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgQWRkIC5oIGZpbGVzIHRvIGJlIGFibGUgdG8gYWRkIGl0IHRvIHRoZSBkb2NzLgoKMjAwNy0wNy0wMyAwNzo1Mjo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogQWN0aXZhdGUgZG9jIHNlY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIEFjdGl2YXRlIGRvYyBzZWN0aW9uLgoKMjAwNy0wNy0wMyAwNzo0MTozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RpbWlkaXR5LzogRml4IGxpY2VuY2UgKGJvdGggYXJlIEdQTCkuIEFkZCBlbGVtZW50IGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICBGaXggbGljZW5jZSAoYm90aCBhcmUgR1BMKS4gQWRkIGVsZW1lbnQgZG9jcy4KCjIwMDctMDctMDMgMDc6MzA6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uaDogRml4IF9nZXRfdHlwZSBzaWduYXR1cmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uaDoKCSAgRml4IF9nZXRfdHlwZSBzaWduYXR1cmUuCgoyMDA3LTA3LTAzIDA3OjE2OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOiBGaXggR09iamVjdCBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6CgkgIEZpeCBHT2JqZWN0IG1hY3Jvcy4KCjIwMDctMDYtMjkgMTU6MjM6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogTWFrZSBhIGJ1bmNoIG9mIGZ1bmN0aW9ucyBzdGF0aWMsIGFuZCBtb3ZlIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgc3RhcnQgb2YgYmxvY2tzIHRvIGF2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IChnc3RfZGMxMzk0X3NyY19maXhhdGUpLAoJICAoZ3N0X2RjMTM5NF9jcmVhdGUpLCAoZ3N0X2RjMTM5NF9jYXBzX3NldF9mb3JtYXRfdm1vZGVfY2FwcyksCgkgIChnc3RfZGMxMzk0X3NldF9jYXBzX2ZyYW1lc2l6ZV9yYW5nZSksCgkgIChnc3RfZGMxMzk0X2NhcHNfc2V0X2ZyYW1lcmF0ZV9saXN0KSwgKGdzdF9kYzEzOTRfZ2V0X2NhbV9jYXBzKSwKCSAgKGdzdF9kYzEzOTRfZnJhbWVyYXRlX2ZyYWNfdG9fY29uc3QpLAoJICAoZ3N0X2RjMTM5NF9vcGVuX2NhbV93aXRoX2Jlc3RfY2Fwcyk6CgkgIE1ha2UgYSBidW5jaCBvZiBmdW5jdGlvbnMgc3RhdGljLCBhbmQgbW92ZSB2YXJpYWJsZSBkZWNsYXJhdGlvbnMKCSAgdG8gdGhlIHN0YXJ0IG9mIGJsb2NrcyB0byBhdm9pZCBwcm9ibGVtcyBvbiBvbGRlciBnY2MuCgkgIE1ha2Ugc3VyZSB0byB1bnNldCB2YWx1ZSB0eXBlcy4KCjIwMDctMDYtMjkgMTQ6NDg6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogVGhlIGNvcnJlY3QgZm91cmNjIGZvciB0aGUgNDoxOjEgcGFja2VkIGZvcm1hdCBpcyAnSVlVMScuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IChnc3RfZGMxMzk0X3NldF9jYXBzX2NvbG9yKToKCSAgVGhlIGNvcnJlY3QgZm91cmNjIGZvciB0aGUgNDoxOjEgcGFja2VkIGZvcm1hdCBpcyAnSVlVMScuCgkgIFdpdGggQ1ZTIG9mIGZmbXBlZ2NvbG9yc3BhY2UgZnJvbSBwbHVnaW5zLWJhc2UsIEkgY2FuIG5vdwoJICBnZXQgMzAgZnBzIGZyb20gdGhlIGlTaWdodC4KCjIwMDctMDYtMjkgMTQ6MTE6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogQ2hhbmdlIGEgZ19wcmludCB0byBhIEdTVF9ERUJVRyBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiAoZ3N0X2RjMTM5NF9zZXRfY2Fwc19jb2xvcik6CgkgIENoYW5nZSBhIGdfcHJpbnQgdG8gYSBHU1RfREVCVUcgbWVzc2FnZS4KCjIwMDctMDYtMjkgMTM6MDk6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBPb3BzLCBhZGQgYW4gYXR0cmlidXRpb24gZm9yIEFudG9pbmUgVHJlbWJsYXkgdG9vIC0gdGhlIG9yaWdpbmFsIHBhdGNoIGF1dGhvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE9vcHMsIGFkZCBhbiBhdHRyaWJ1dGlvbiBmb3IgQW50b2luZSBUcmVtYmxheSB0b28gLSB0aGUgb3JpZ2luYWwgcGF0Y2ggYXV0aG9yLgoKMjAwNy0wNi0yOSAxMzowMzoyNyArMDAwMCAgRXJpYyBKb25hcyA8am9uYXNAbWl0LmVkdT4KCgkgIENvbW1pdCBuZXcgZGMxMzk0c3JjIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiAoZ3N0X2RjMTM5NF9iYXNlX2luaXQpLAoJICAoZ3N0X2RjMTM5NF9jbGFzc19pbml0KSwgKGdzdF9kYzEzOTRfaW5pdCksCgkgIChnc3RfZGMxMzk0X3NyY19maXhhdGUpLCAoZ3N0X2RjMTM5NF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RjMTM5NF9nZXRfcHJvcGVydHkpLCAoZ3N0X2RjMTM5NF9nZXRjYXBzKSwKCSAgKGdzdF9kYzEzOTRfc2V0Y2FwcyksIChnc3RfZGMxMzk0X2dldF90aW1lcyksIChnc3RfZGMxMzk0X2NyZWF0ZSksCgkgIChnc3RfZGMxMzk0X3BhcnNlX2NhcHMpLCAoZ3N0X2RjMTM5NF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RjMTM5NF9jYXBzX3NldF9mb3JtYXRfdm1vZGVfY2FwcyksCgkgIChnc3RfZGMxMzk0X3NldF9jYXBzX2NvbG9yKSwgKGdzdF9kYzEzOTRfc2V0X2NhcHNfZnJhbWVzaXplKSwKCSAgKGdzdF9kYzEzOTRfc2V0X2NhcHNfZnJhbWVzaXplX3JhbmdlKSwKCSAgKGdzdF9kYzEzOTRfY2Fwc19zZXRfZnJhbWVyYXRlX2xpc3QpLAoJICAoZ3N0X2RjMTM5NF9mcmFtZXJhdGVfY29uc3RfdG9fZnJhYyksCgkgIChnc3RfZGMxMzk0X2dldF9hbGxfZGMxMzk0X2NhcHMpLCAoZ3N0X2RjMTM5NF9nZXRfY2FtX2NhcHMpLAoJICAoZ3N0X2RjMTM5NF9mcmFtZXJhdGVfZnJhY190b19jb25zdCksCgkgIChnc3RfZGMxMzk0X29wZW5fY2FtX3dpdGhfYmVzdF9jYXBzKSwKCSAgKGdzdF9kYzEzOTRfY2hhbmdlX2NhbWVyYV90cmFuc21pc3Npb24pLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0Lmg6CgkgIENvbW1pdCBuZXcgZGMxMzk0c3JjIGVsZW1lbnQuCgkgIFBhdGNoIEJ5OiBFcmljIEpvbmFzIDwgam9uYXMgYXQgbWl0IGRvdCBlZHUgPgoJICBDbG9zZTogIzM4NzI1MQoKMjAwNy0wNi0yOCAxMDo0MDoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiBSZWdpc3RlciBuZXcgcHJvcGVydHkgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IChnc3RfdmlkZW9fZGV0ZWN0X2NsYXNzX2luaXQpOgoJICBSZWdpc3RlciBuZXcgcHJvcGVydHkgYXMgd2VsbC4KCjIwMDctMDYtMjggMDk6MzY6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuKjogQWRkIHByb3BlcnR5IHRvIGFkanVzdCB0aGUgY2VudGVyLCBzZW5zaXRpdml0eSBpcyBub3cgdGhlIGRpc3RhbmNlIGZyb20gdGhpcyBjZW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiAoZ3N0X3ZpZGVvX2RldGVjdF80MjApLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2RldGVjdF9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJICBBZGQgcHJvcGVydHkgdG8gYWRqdXN0IHRoZSBjZW50ZXIsIHNlbnNpdGl2aXR5IGlzIG5vdyB0aGUgZGlzdGFuY2UgZnJvbQoJICB0aGlzIGNlbnRlci4KCjIwMDctMDYtMjcgMTU6MzM6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9zaWduYWwvOiBBZGQgbGVmdCBhbmQgYm90dG9tIG9mZnNldCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgdGhlIHBvc2l0aW9uIG9mIHRoZSBwYXR0ZXJuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogKGdzdF92aWRlb19kZXRlY3RfNDIwKSwKCSAgKGdzdF92aWRlb19kZXRlY3Rfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19kZXRlY3RfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19kZXRlY3RfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOiAoZ3N0X3ZpZGVvX21hcmtfZHJhd19ib3gpLAoJICAoZ3N0X3ZpZGVvX21hcmtfNDIwKSwgKGdzdF92aWRlb19tYXJrX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fbWFya19nZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX21hcmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJICBBZGQgbGVmdCBhbmQgYm90dG9tIG9mZnNldCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgdGhlIHBvc2l0aW9uIG9mIHRoZQoJICBwYXR0ZXJuLgoKMjAwNy0wNi0yNSAxMjo0Nzo0MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIGRvY3Mgd2l0aCBjYXBzIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgVXBkYXRlIGRvY3Mgd2l0aCBjYXBzIGluZm8uCgoyMDA3LTA2LTI1IDExOjAyOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ2NvbmYvOiBSZW1vdmUgZHlzZnVuY3Rpb25hbCBkaXJlY3RvcnkgKHRoaXMgc3R1ZmYgaXMgaW4gLWdvb2QpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnY29uZi8uY3ZzaWdub3JlOgoJICAqIGdjb25mL01ha2VmaWxlLmFtOgoJICAqIGdjb25mL2dzdHJlYW1lci5zY2hlbWFzLmluOgoJICBSZW1vdmUgZHlzZnVuY3Rpb25hbCBkaXJlY3RvcnkgKHRoaXMgc3R1ZmYgaXMgaW4gLWdvb2QpLgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIGkxOG4gYmluZHRleHRkb21haW4gc3R1ZmYuCgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6IChnc3RfbnV2X2RlbXV4X2NsYXNzX2luaXQpLAoJICAocGx1Z2luX2luaXQpOgoJICBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiByZXR1cm5pbmcgR1NUX0ZMT1dfRVJST1I7IG1pbm9yIGNsZWFudXBzLgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBBZGQgbW9yZSBzb3VyY2UgZmlsZXMgd2l0aCB0cmFuc2xhdGFibGUgc3RyaW5ncyAoZml4ZXMgIzQ1MDYwNSkuCgoyMDA3LTA2LTIzIDExOjI0OjQ0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogQWRkZWQgQ2hpbmVzZSAoc2ltcGxpZmllZCkgdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDb250cmlidXRlZCBieTogV2VuemhlbmcgSHUgPGRiX2xvYnN0ZXJAMTYzLmNvbT4KCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL3poX0NOLnBvOgoJICBBZGRlZCBDaGluZXNlIChzaW1wbGlmaWVkKSB0cmFuc2xhdGlvbi4KCjIwMDctMDYtMjIgMjA6MjM6MTggKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdzdC86IEJ1aWxkIGZpeGVzIGZvciBnY2MtMi45eCAobm8gbWlkLWJsb2NrIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBldGMuKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciAgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBCdWlsZCBmaXhlcyBmb3IgZ2NjLTIuOXggKG5vIG1pZC1ibG9jayB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZXRjLikuCgkgIEZpeGVzICM0NTAxODUuCgoyMDA3LTA2LTIyIDE1OjMwOjAwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmMgKG15X2J1c19jYWxsYmFjaywgc3dpdGNoX3RpbWVyLCBsYXN0X21lc3NhZ2VfcmVjZWl2ZWQsIG1haW4pOiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3RfLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jIChteV9idXNfY2FsbGJhY2ssIHN3aXRjaF90aW1lciwKCSAgbGFzdF9tZXNzYWdlX3JlY2VpdmVkLCBtYWluKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3dpdGNoX3JlbGVhc2VfcGFkLAoJICBnc3Rfc3dpdGNoX3JlcXVlc3RfbmV3X3BhZCwgZ3N0X3N3aXRjaF9jaGFpbiwgZ3N0X3N3aXRjaF9ldmVudCwKCSAgZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHksIGdzdF9zd2l0Y2hfZ2V0X3Byb3BlcnR5LAoJICBnc3Rfc3dpdGNoX2dldF9saW5rZWRfcGFkLCBnc3Rfc3dpdGNoX2dldGNhcHMsCgkgIGdzdF9zd2l0Y2hfYnVmZmVyYWxsb2MsIGdzdF9zd2l0Y2hfZGlzcG9zZSwgZ3N0X3N3aXRjaF9pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzd2l0Y2hfbXV0ZXgsIEdTVF9TV0lUQ0hfTE9DSywKCSAgR1NUX1NXSVRDSF9VTkxPQ0spOgoJICBBZGQgYW4gZXh0cmEgbG9jayB0byBwcm90ZWN0IGFnYWluc3QgY2VydGFpbiB2YXJpYWJsZXMgaW5zdGVhZCBvZgoJICB1c2luZyB0aGUgb2JqZWN0IGxvY2suIEZpeCBjYXNlIHdoZXJlIGNhcHMgYXJlIGRpZmZlcmVudCBpbiB0aGUKCSAgc2luayBwYWRzIGNhdXNlcyBkZWFkbG9jay4gVXBkYXRlIGV4YW1wbGUgdG8gdXNlIGRpZmZlcmVudCBjYXBzCgkgIG9uIGVhY2ggc2luayBwYWQuCgoyMDA3LTA2LTIyIDE0OjI3OjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1BSU5UQUlORVJTOiBVcGRhdGluZyBhbGwgdGhlIG1haW50YWluZXJzIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1BSU5UQUlORVJTOgoJICBVcGRhdGluZyBhbGwgdGhlIG1haW50YWluZXJzIGZpbGVzCgoyMDA3LTA2LTIyIDEwOjQ2OjMzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgRml4IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfaW5pdCk6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6IChnc3RfYnoyZGVjX2luaXQpOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6IChnc3RfYnoyZW5jX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKGdzdF9kaXZ4ZGVjX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzogKGdzdF9kaXZ4ZW5jX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2luaXQpOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6IChnc3RfZ3NtZGVjX2luaXQpOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6IChnc3RfZ3NtZW5jX2luaXQpOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOiAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2luaXQpOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfaW5pdCk6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfaW5pdCk6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6IChnc3Rfc25hcHNob3RfaW5pdCk6CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKGdzdF9zcGNfZGVjX2luaXQpOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzogKGdzdF9jaGFydF9pbml0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9pbml0KToKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOiAoZ3N0X2ZyZWV6ZV9pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOiAoZ3N0X21peG1hdHJpeF9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOiAoZ3N0X3N5c3RlbV9lbmNvZGVfaW5pdCk6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9pbml0KToKCSAgKiBnc3QvbnNmL2dzdG5zZi5jOiAoZ3N0X25zZmRlY19pbml0KToKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6IChnc3Rfb3ZlcmxheV9pbml0KToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzogKHBhc3N0aHJvdWdoX2luaXQpOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6IChwbGF5X29uX2RlbWFuZF9pbml0KToKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOiAoZ3N0X3Ntb290aF9pbml0KToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9pbml0KToKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6IChnc3RfdmJpZGVjX2luaXQpOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6IChnc3RfdmlkZW9kcm9wX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2luaXQpOgoJICBGaXggbGVha3MuCgoyMDA3LTA2LTIxIDE4OjQxOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmUtZW5hYmxlIFZDRCBzb3VyY2UgYW5kIGZpeCB1cCByZWxlYXNlIG5vdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRUxFQVNFOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgUmUtZW5hYmxlIFZDRCBzb3VyY2UgYW5kIGZpeCB1cCByZWxlYXNlIG5vdGVzLgoKMjAwNy0wNi0yMCAxMDoxNTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRG9jdW1lbnQgcGFyYW1ldGVyIG1hcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIERvY3VtZW50IHBhcmFtZXRlciBtYXBwaW5nLgoKMjAwNy0wNi0yMCAwODo1NjoxNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBsZWFraW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2V2ZW50KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggbGVha2luZyBidWZmZXJzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IChzZXR1cF9zcGVjdHJ1bSksCgkgIChjbGVhbnVwX3NwZWN0cnVtKSwgKEdTVF9TVEFSVF9URVNUKSwgKHNwZWN0cnVtX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgc2ltcGxlIHRlc3QgZm9yIHNwZWN0cnVtIGVsZW1lbnQuCgoyMDA3LTA2LTIwIDA4OjQyOjE3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvYW1yd2IvOiBBZGQgbmV3c2VnbWVudCBhbmQgZGlzY29udCBoYW5kbGluZy4gU29tZSBjb2RlIGNsZWFudXBzLiBEb24ndCBsZWFrIHRoZSBhZGFwdGVyLCB1bnJlZiBpdCBpbiBhIG5ldyBmaW5hbGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KSwgKGdzdF9hbXJ3YmRlY19maW5hbGl6ZSksCgkgIChnc3RfYW1yd2JkZWNfZXZlbnQpLCAoZ3N0X2FtcndiZGVjX2NoYWluKSwKCSAgKGdzdF9hbXJ3YmRlY19zdGF0ZV9jaGFuZ2UpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2FtcndicGFyc2VfcHVsbF9oZWFkZXIpLCAoZ3N0X2FtcndicGFyc2VfbG9vcCk6CgkgIEFkZCBuZXdzZWdtZW50IGFuZCBkaXNjb250IGhhbmRsaW5nLiBTb21lIGNvZGUgY2xlYW51cHMuIERvbid0IGxlYWsKCSAgdGhlIGFkYXB0ZXIsIHVucmVmIGl0IGluIGEgbmV3IGZpbmFsaXplIG1ldGhvZCBpbnN0ZWFkLiBTeW5jIHRoZQoJICBwYXJzZXIgd2l0aCB0aGUgYW1yLW5iIGNoYW5nZXMuCgoyMDA3LTA2LTE5IDEwOjQ1OjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMuCgkgICogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIEFkZCAwLjEwLjUgdG8gdGhlIGRvYXAgZmlsZS4KCj09PSByZWxlYXNlIDAuMTAuNSA9PT0KCjIwMDctMDYtMTkgMTA6MzI6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBSZWxlYXNlIDAuMTAuNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjUKCjIwMDctMDYtMTkgMDk6Mzc6NDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNy0wNi0xNSAwOToyNzo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB3aW4zMi92czYvOiBDb252ZXJ0IGxpbmUgZW5kaW5ncyB0byBDUkxGIGFuZCBtYXJrIGFzIGJpbmFyeSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmRzaG93c3Jjd3JhcHBlci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRzaG93LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXBlZ3ZpZGVvcGFyc2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RuZW9uLmRzcDoKCSAgQ29udmVydCBsaW5lIGVuZGluZ3MgdG8gQ1JMRiBhbmQgbWFyayBhcyBiaW5hcnkgZmlsZXMuCgoyMDA3LTA2LTEzIDExOjQ4OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL01ha2VmaWxlLmFtOiBEaXNhYmxlIFZDRCBidWlsZCBiZWNhdXNlIHdlJ3JlIGZyb3plbi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBWQ0QgYnVpbGQgYmVjYXVzZSB3ZSdyZSBmcm96ZW4uLgoKMjAwNy0wNi0xMyAxMTozNzozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFBvcnQgVkNEIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19zZXR1cF9pbnRlcmZhY2VzKSwKCSAgKGdzdF92Y2RzcmNfYmFzZV9pbml0KSwgKGdzdF92Y2RzcmNfY2xhc3NfaW5pdCksIChnc3RfdmNkc3JjX2luaXQpLAoJICAoZ3N0X3ZjZHNyY19tc2YpLCAoZ3N0X3ZjZHNyY19yZWNhbGN1bGF0ZSksCgkgIChnc3RfdmNkc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdmNkc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdmNkc3JjX2NyZWF0ZSksIChnc3RfdmNkc3JjX3N0YXJ0KSwgKGdzdF92Y2RzcmNfc3RvcCksCgkgIChnc3RfdmNkc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBQb3J0IFZDRCBlbGVtZW50LgoKMjAwNy0wNi0xMiAyMToyODoxMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvTUFOSUZFU1Q6IEFkZCBtZWd2aWRlb3BhcnNlLCBsaWJkc2hvdyBhbmQgZHNob3dzcmN3cmFwcGVyIHRvIHdpbjMyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgbWVndmlkZW9wYXJzZSwgbGliZHNob3cgYW5kIGRzaG93c3Jjd3JhcHBlciB0byB3aW4zMgoJICBNQU5JRkVTVC4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgUmVtb3ZlIHF0ZGVtdXgsIGRpcmVjdGRyYXcsIGRpcmVjdHNvdW5kIGFuZCB3YXZlZm9ybSBwcm9qZWN0IGZpbGVzCgkgIGZyb20gdGhlIHdvcmtzcGFjZSBhcyB0aGV5IGhhdmUgYmVlbiBtb3ZlZCB0byAtZ29vZC4KCjIwMDctMDYtMTIgMjA6MjI6MjMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgcG8vUE9URklMRVMuaW46IFJlbW92ZSBxdGRlbXV4IGZyb20gdGhlIHRyYW5zbGF0aW9uIGxpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBSZW1vdmUgcXRkZW11eCBmcm9tIHRoZSB0cmFuc2xhdGlvbiBsaXN0LgoKMjAwNy0wNi0xMiAyMDoxNToxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHZpZGVvY3JvcCBhbmQgb3N4dmlkZW8gdG8gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3h2aWRlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgICogZ3N0L3ZpZGVvY3JvcC92aWRlb2Nyb3AudmNwcm9qOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICBNb3ZlIHZpZGVvY3JvcCBhbmQgb3N4dmlkZW8gdG8gLWdvb2QuCgoyMDA3LTA2LTEyIDE5OjM2OjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgcXRkZW11eCB0byAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC52Y3Byb2o6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0cGFsZXR0ZS5oOgoJICAqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgTW92ZSBxdGRlbXV4IHRvIC1nb29kLgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHRvIHJlZmxlY3Qgd2F2cGFjayAmIHF0ZGVtdXggbW92aW5nIHRvIC1nb29kLgoKMjAwNy0wNi0xMiAxODo1MzowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgdGhlIHdhdmVmb3JtIHBsdWdpbiBub3cgdGhhdCBpdCBpcyBpbiAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZWZvcm0ueG1sOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXBsdWdpbi5jOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmg6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVmb3JtLmRzcDoKCSAgUmVtb3ZlIHRoZSB3YXZlZm9ybSBwbHVnaW4gbm93IHRoYXQgaXQgaXMgaW4gLWdvb2QuCgoyMDA3LTA2LTA4IDIwOjIwOjM0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIE1vdmUgd2F2cGFjayB0byBnb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmg6CgkgICogZXh0L3dhdnBhY2svbWQ1LmM6CgkgICogZXh0L3dhdnBhY2svbWQ1Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSAgTW92ZSB3YXZwYWNrIHRvIGdvb2QuCgoyMDA3LTA2LTA4IDE3OjM2OjQ2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBEaXJlY3REcmF3ICYgRGlyZWN0U291bmQgcGx1Z2lucywgYXMgdGhleSd2ZSBtb3ZlZCB0byBHb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0c291bmQueG1sOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICAqIHdpbjMyL2dzdC5zbG46CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM3L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzNy9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgIFJlbW92ZSBEaXJlY3REcmF3ICYgRGlyZWN0U291bmQgcGx1Z2lucywgYXMgdGhleSd2ZSBtb3ZlZCB0byBHb29kCgoyMDA3LTA2LTA4IDE2OjQ5OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgV2hlbiBkcml2aW5nIHRoZSBwaXBlbGluZSwgYWxzbyBwb3N0IGFuIGVycm9yIHdoZW4gd2UgZ2V0IGEgbm90LWxpbmtlZCBmbG93IHJldHVybiBmcm9tIGRvd25zdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAoZ3N0X3RpbWlkaXR5X2xvb3ApOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAoZ3N0X3dpbGRtaWRpX2xvb3ApOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfbG9vcCk6CgkgIFdoZW4gZHJpdmluZyB0aGUgcGlwZWxpbmUsIGFsc28gcG9zdCBhbiBlcnJvciB3aGVuIHdlIGdldCBhCgkgIG5vdC1saW5rZWQgZmxvdyByZXR1cm4gZnJvbSBkb3duc3RyZWFtLgoKMjAwNy0wNi0wOCAxNjozMToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW5hbWUgdGhlIGtlZXAtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGZvcmNlLWFzcGVjdC1yYXRpbyB0byBtYWtlIGl0IGNvbnNpc3RlbnQgd2l0aCB4dmltYWdlc2luayBhbmQgeGltYWdlc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2xhc3NfaW5pdCk6CgkgIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UKCSAgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoKMjAwNy0wNi0wOCAwODoxMjo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IERlZmF1bHQgdG8geHZpbWFnZXNpbmsgaW5zdGVhZCBvZiBhdXRvdmlkZW9zaW5rIHdoaWxlIGF1dG92aWRlb3NpbmsvZ2hvc3RwYWRzL3doYXRldmVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAobWFpbik6CgkgIERlZmF1bHQgdG8geHZpbWFnZXNpbmsgaW5zdGVhZCBvZiBhdXRvdmlkZW9zaW5rIHdoaWxlCgkgIGF1dG92aWRlb3NpbmsvZ2hvc3RwYWRzL3doYXRldmVyIGRvbid0IGhhbmRsZSB0aGUgd2F5IHdlIHVzZSBpdCBpbgoJICB0aGUgd2F5IHdlIGV4cGVjdCBpdCB0by4KCjIwMDctMDYtMDYgMTg6MzA6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIC1iYXNlLCBhbmQgcmVtb3ZlIHNwZWNpYWwtY2FzaW5nIGZvciBlcXVhbGl6ZXIgYW5kIHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCAtYmFzZSwgYW5kIHJlbW92ZQoJICBzcGVjaWFsLWNhc2luZyBmb3IgZXF1YWxpemVyIGFuZCBydHBtYW5hZ2VyIGFzIGl0J3Mgbm90IG5lZWRlZCBhbnkKCSAgbG9uZ2VyLgoKMjAwNy0wNi0wNiAxNTo1ODozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IFNwcmlua2xlIGluIHNvbWUgWFN5bmMgY2FsbHMgdG8gYXZvaWQgcmFjaW5lc3Mgd2l0aCBicm9rZW4gZHJpdmVycyAoQVRJKSB3aGVuIHJlLXVzaW5nIGEgc2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19zdG9wKSwKCSAgKGdzdF9nbGltYWdlX3NpbmtfY3JlYXRlX3dpbmRvdyksIChnc3RfZ2xpbWFnZV9zaW5rX2luaXRfZGlzcGxheSk6CgkgIFNwcmlua2xlIGluIHNvbWUgWFN5bmMgY2FsbHMgdG8gYXZvaWQgcmFjaW5lc3Mgd2l0aCBicm9rZW4KCSAgZHJpdmVycyAoQVRJKSB3aGVuIHJlLXVzaW5nIGEgc2luZ2xlIGdsaW1hZ2VzaW5rLgoKMjAwNy0wNi0wNiAxMTowMzoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvOiBGaXggc29tZSBzaWxseSBidWdzIHdpdGggY2FsY3VsYXRpbmcgdGhlIGd1YXJkIHNpemVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgKG1wZWdfdXRpbF9wYXJzZV9leHRlbnNpb25fcGFja2V0KSwgKG1wZWdfdXRpbF9wYXJzZV9zZXF1ZW5jZV9oZHIpLAoJICAobXBlZ191dGlsX3BhcnNlX3BpY3R1cmVfaGRyKToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgKG1wZWd2aWRlb3BhcnNlX2hhbmRsZV9zZXF1ZW5jZSksIChtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCk6CgkgIEZpeCBzb21lIHNpbGx5IGJ1Z3Mgd2l0aCBjYWxjdWxhdGluZyB0aGUgZ3VhcmQgc2l6ZXMuCgkgIFByb3Blcmx5IGNvbXBhcmUgdGhlIG9sZCBzZXF1ZW5jZSBoZWFkZXIgc3RydWN0dXJlIHdpdGggdGhlIG5ldyBvbmUuCgkgIERvbid0IGVycm9yIG91dCBvbiBhbiBpbnZhbGlkIHNlcXVlbmNlIC0ganVzdCBpZ25vcmUgaXQuCgoyMDA3LTA2LTA2IDA5OjExOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IFByaW50ZiBmaXggaW4gZGVidWcgc3RhdGVtZW50OyBhbHNvIHByaW50IHRoZSByaWdodCBudW1iZXIgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2RlY29kZSk6CgkgIFByaW50ZiBmaXggaW4gZGVidWcgc3RhdGVtZW50OyBhbHNvIHByaW50IHRoZSByaWdodCBudW1iZXIgdGhlcmUuCgoyMDA3LTA2LTA2IDA4OjA2OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NkbC86IEFkZCBHU1RfQ0ZMQUdTLCB3aGljaCBhcHBhcmVudGx5IHNvbWVob3cgZml4ZXMgdGhlIGJ1aWxkIHNvbWV3aGVyZSAoIzQ0NDQ5OSk7IGluaXRpYWxpc2UgdmFyaWFibGUgdG8gYXZvaWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2X3Byb2Nlc3NfZXZlbnRzKToKCSAgQWRkIEdTVF9DRkxBR1MsIHdoaWNoIGFwcGFyZW50bHkgc29tZWhvdyBmaXhlcyB0aGUgYnVpbGQgc29tZXdoZXJlCgkgICgjNDQ0NDk5KTsgaW5pdGlhbGlzZSB2YXJpYWJsZSB0byBhdm9pZCBmYWxzZSBjb21waWxlciB3YXJuaW5nLgoKMjAwNy0wNi0wNSAxNDoxNzozNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeCB1cCBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB1cCBzcGVjIGZpbGUKCjIwMDctMDYtMDEgMTQ6MzY6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGQgcGx1Z2luIHRvIGdlbmVyYXRlIGEgcGF0dGVybiBkZXRlY3RhYmxlIGJ5IHZpZGVvZGV0ZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzogKGdzdF92aWRlb19tYXJrX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19tYXJrX2RyYXdfYm94KSwgKGdzdF92aWRlb19tYXJrXzQyMCksCgkgIChnc3RfdmlkZW9fbWFya190cmFuc2Zvcm1faXApLCAoZ3N0X3ZpZGVvX21hcmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19tYXJrX2dldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fbWFya19iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX21hcmtfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fbWFya19pbml0KSwKCSAgKGdzdF92aWRlb19tYXJrX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBwbHVnaW4gdG8gZ2VuZXJhdGUgYSBwYXR0ZXJuIGRldGVjdGFibGUgYnkgdmlkZW9kZXRlY3QuCgoyMDA3LTA2LTAxIDExOjU5OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogRG9uJ3QgbGVhayBidWZmZXIgd2hlbiByZXR1cm5pbmcgYW4gZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NyZWF0ZSk6CgkgIERvbid0IGxlYWsgYnVmZmVyIHdoZW4gcmV0dXJuaW5nIGFuIGVycm9yLgoKMjAwNy0wNi0wMSAwOTo1ODowMSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLio6IERlcHJlY2F0ZWQgInVyaSIgcHJvcGVydHkuICBDbGVhbiB1cCBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieSBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT46CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX2luaXQpLCAoZ3N0X25lb25odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9uZW9uaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X25lb25odHRwX3NyY19kb19zZWVrKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9uZW9uaHR0cF9zcmNfdXJpX3NldF91cmkpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIERlcHJlY2F0ZWQgInVyaSIgcHJvcGVydHkuICBDbGVhbiB1cCBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMuCgkgIENoYW5nZSBkZWZhdWx0IFVzZXItQWdlbnQgdG8gdGhlIHNsaWdodGx5IG1vcmUgZGVzY3JpcHRpdmUKCSAgIkdTdHJlYW1lciBuZW9uaHR0cHNyYyIuCgkgIFZhcmlvdXMgb3RoZXIgc21hbGwgY2xlYW51cHMsIG1vc3RseSBwcm9wZXJ0eSByZWxhdGVkLgoKMjAwNy0wNS0zMSAxOToxMjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLmg6IE5vIHJlYXNvbiB0byB1c2UgZ3BvaW50ZXJzIGluc3RlYWQgb2YgdHlwZWQgcG9pbnRlcyBoZXJlIGFzIGZhciBhcyBJIGNhbiBzZWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIE5vIHJlYXNvbiB0byB1c2UgZ3BvaW50ZXJzIGluc3RlYWQgb2YgdHlwZWQgcG9pbnRlcyBoZXJlIGFzIGZhciBhcyBJCgkgIGNhbiBzZWUuCgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIERvbid0IHVzZSBndGstZG9jIG1hZ2ljIG1hcmtlcnMgZm9yIHRoaW5ncyB0aGF0IGFyZW4ndCBtZWFudCB0byBiZQoJICBwYXJzZWQgYnkgZ3RrLWRvYy4gTWFrZXMgZ3RrLWRvYyBjb21wbGFpbiBhIGJpdCBsZXNzLgoKMjAwNy0wNS0zMCAxNDo1MjowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZGVkIHZpZGVvc2lnbmFsIHBsdWdpbiB3aXRoIHR3byBwbHVnaW5zIHRvIGFuYWx5c2UgdmlkZW8gZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6IChnc3RfdmlkZW9fYW5hbHlzZV9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fYW5hbHlzZV9wb3N0X21lc3NhZ2UpLCAoZ3N0X3ZpZGVvX2FuYWx5c2VfNDIwKSwKCSAgKGdzdF92aWRlb19hbmFseXNlX3RyYW5zZm9ybV9pcCksIChnc3RfdmlkZW9fYW5hbHlzZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX2FuYWx5c2VfZ2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19hbmFseXNlX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fYW5hbHlzZV9jbGFzc19pbml0KSwgKGdzdF92aWRlb19hbmFseXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2FuYWx5c2VfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuaDoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogKGdzdF92aWRlb19kZXRlY3Rfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9wb3N0X21lc3NhZ2UpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9jYWxjX2JyaWdodG5lc3MpLCAoZ3N0X3ZpZGVvX2RldGVjdF80MjApLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF90cmFuc2Zvcm1faXApLCAoZ3N0X3ZpZGVvX2RldGVjdF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9nZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2RldGVjdF9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9jbGFzc19pbml0KSwgKGdzdF92aWRlb19kZXRlY3RfaW5pdCksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuaDoKCSAgQWRkZWQgdmlkZW9zaWduYWwgcGx1Z2luIHdpdGggdHdvIHBsdWdpbnMgdG8gYW5hbHlzZSB2aWRlbyBmcmFtZXMuCgkgIEFkZGVkIHZpZGVvYW5hbHlzZSB0byByZXBvcnQgYWJvdXQgYnJpZ2h0bmVzcyBhbmQgdmFyaWFuY2UgaW4gdmlkZW8KCSAgZnJhbWVzLgoJICBBZGRlZCB2aWRlb2RldGVjdCB0byBkZXRlY3QgcHJlZGVmaW5lZCBwYXR0ZXJucyBpbiBhIHZpZGVvIHNpZ25hbC4KCjIwMDctMDUtMzAgMDk6MzA6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuKjogTW9yZSB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICBNb3JlIHVwZGF0ZXMuCgoyMDA3LTA1LTMwIDA5OjA4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlczsgdXBkYXRlIGluc3BlY3QgaW5mbyBmb3IgcnRwbWFuYWdlciA9PiBnc3RydHBtYW5hZ2VyIHJlbmFtZSwgaG9wZWZ1bGx5IHRoYXQgbWFrZXMgdGhlIGJ1aWxkIGJvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dmZGVjLnhtbDoKCSAgVXBkYXRlczsgdXBkYXRlIGluc3BlY3QgaW5mbyBmb3IgcnRwbWFuYWdlciA9PiBnc3RydHBtYW5hZ2VyIHJlbmFtZSwKCSAgaG9wZWZ1bGx5IHRoYXQgbWFrZXMgdGhlIGJ1aWxkIGJvdHMgaGFwcHkgYWdhaW4uCgoyMDA3LTA1LTI4IDE2OjM3OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgUmVuYW1lIGVsZW1lbnRzIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggZmFyc2lnaHQgZWxlbWVudHMgd2l0aCB0aGUgc2FtZSBuYW1lLiBGaXhlcyAjNDMwNjY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLAoJICAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfY2xpZW50X3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBSZW5hbWUgZWxlbWVudHMgdG8gYXZvaWQgY29uZmxpY3Qgd2l0aCBmYXJzaWdodCBlbGVtZW50cyB3aXRoIHRoZSBzYW1lCgkgIG5hbWUuIEZpeGVzICM0MzA2NjQuCgoyMDA3LTA1LTI0IDA4OjM1OjIzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuKjogRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX3ByaW1hcnlfc3VyZmFjZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX29mZnNjcmVlbl9zdXJmYWNlKSwKCSAgKEVudW1Nb2Rlc0NhbGxiYWNrMiksIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgoyMDA3LTA1LTIzIDIyOjQ0OjEyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczogUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSBkb2MgYXMgdGhpcyBzaW5rIHVzZSB0aGUgbWl4ZXIgaW50ZXJmYWNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIFJlbW92ZSBkaXJlY3Rzb3VuZHNpbmsgcHJvcGVydHkgZG9jIGFzIHRoaXMgc2luayB1c2UgdGhlIG1peGVyCgkgIGludGVyZmFjZSBub3cuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIEFkZCBpbnRlcmZhY2VzIGltcGxlbWVudGVkIGJ5IFdpbmRvd3Mgc2lua3MuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSAgYW5kIGltcGxlbWVudCB0aGUgbWl4ZXIgaW50ZXJmYWNlLgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvdy5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93Lmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5oOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2ludGVyZmFjZS5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93aW50ZXJmYWNlLmg6CgkgICogd2luMzIvY29tbW9uL2xpYmdzdGRzaG93LmRlZjoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZHNob3cuZHNwOgoJICBBZGQgYSBuZXcgZ3N0IGxpYnJhcnkgd2hpY2ggYWxsb3cgdG8gY3JlYXRlIGludGVybmFsIERpcmVjdCBTaG93CgkgIGdyYXBoIChwaXBlbGluZXMpIHRvIHdyYXAgV2luZG93cyBzb3VyY2VzLCBkZWNvZGVycyBvciBlbmNvZGVycy4KCSAgSXQgaW5jbHVkZXMgYSBEaXJlY3RTaG93IGZha2Ugc291cmNlIGFuZCBzaW5rIGFuZCB1dGlsaXR5IGZ1bmN0aW9ucy4KCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmg6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgICogd2luMzIvdnM2L2xpYmRzaG93c3Jjd3JhcHBlci5kc3A6CgkgIEFkZCBhIG5ldyBwbHVnaW4gdG8gd3JhcCBEaXJlY3RTaG93IHNvdXJjZXMgb24gV2luZG93cy4KCSAgSXQgZ2V0cyBkYXRhIGZyb20gYW55IHdlYmNhbSwgZHYgY2FtLCBtaWNyby4gV2UgY291bGQgYWRkCgkgIHR2IHR1bm5lciBjYXJkIGxhdGVyLgoKMjAwNy0wNS0yMyAxODowMDoxNSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IFNlcGFyYXRlIHRoZSBhdXRob3JzIGJ5IG5ld2xpbmVzIGluc3RlYWQgb2Ygbm90aGluZy4gRml4ZXMgIzQ0MDc3NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPjoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBTZXBhcmF0ZSB0aGUgYXV0aG9ycyBieSBuZXdsaW5lcyBpbnN0ZWFkIG9mIG5vdGhpbmcuIEZpeGVzICM0NDA3NzQuCgoyMDA3LTA1LTIzIDE2OjE0OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOiBBZGQgZG9jIHhtbCBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkgIEFkZCBkb2MgeG1sIGZpbGUuCgoyMDA3LTA1LTIzIDEzOjA4OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9jdW1lbnQgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NsZWFyX3B0X21hcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbGVhcl9wdF9tYXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KToKCSAgRG9jdW1lbnQgc3R1ZmYuCgkgIEFkZCBjbGVhci1wdC1tYXAgYWN0aW9uIHNpZ25hbCB3aGVyZSBuZWVkZWQuCgoyMDA3LTA1LTIyIDExOjE0OjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERlcGVuZCBvbiBnc3RyZWFtZXItMC4xMC4xMi4xLiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLCBfR3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEZXBlbmQgb24gZ3N0cmVhbWVyLTAuMTAuMTIuMS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLAoJICBfR3N0SWlyRXF1YWxpemVyQmFuZCwgb2JqZWN0LCBfR3N0SWlyRXF1YWxpemVyQmFuZENsYXNzLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5LAoJICBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCwgc2V0dXBfZmlsdGVyLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzLAoJICBnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHksIGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSwKCSAgcGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmggKGF1ZGlvZmlsdGVyKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jIChBUkdfTlVNX0JBTkRTLAoJICBnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfYmFzZV9pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX3NldF9wcm9wZXJ0eSk6CgkgIFVzZSBuZXcgbG9ja2luZyBtYWNyb3MuCgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmMgKGJwd3NpbmNfc2V0X2NhcHMpOgoJICBBZGQgZml4bWUuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmMgKFNQRUNUUlVNX1dJTkRPV19CQVNFLAoJICBTUEVDVFJVTV9XSU5ET1dfTEVOLCBnc3Rfc3BlY3RydW1faW5pdCwgZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIG5ldyBsb2NraW5nIG1hY3Jvcy4gVHVybiB0d28gZml4ZWQgdmFsdWVzIGludG8gI2RlZmluZXMuCgoyMDA3LTA1LTIyIDExOjAzOjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBBbHNvIGxvb2sgZm9yIC5tIChvYmplY3RpdmVjKSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBBbHNvIGxvb2sgZm9yIC5tIChvYmplY3RpdmVjKSBmaWxlcy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGVsZW1lbnQgYW5kIHByb3BlcnRpZXMuCgoyMDA3LTA1LTIxIDE0OjAxOjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDaGFuZ2VMb2c6IENoYW5nZUxvZyBzdXJnZXJ5LiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLCBfR3N0SWlyRXF1YWxpemVyQmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLAoJICBfR3N0SWlyRXF1YWxpemVyQmFuZCwgb2JqZWN0LCBfR3N0SWlyRXF1YWxpemVyQmFuZENsYXNzLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5LAoJICBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCwgc2V0dXBfZmlsdGVyLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzLCBwbHVnaW5faW5pdCk6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgQWRkIGZpeG1lIGFuZCBjb21tZW50IGZvciBleGFtcGxlLgoKMjAwNy0wNS0yMSAxMjo0MzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmMgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHksIGdzdF9zcGVjdHJ1bV9ldmVudCwgZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5LAoJICBnc3Rfc3BlY3RydW1fZXZlbnQsIGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBVc2UgbG9jayB0byBwcm90ZWN0IGZyb20gY29uY3VycmVudCBhY2Nlc3MuCgoyMDA3LTA1LTIxIDExOjM3OjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IFNwZWNpZnkgYW5kIHVzZSBwcm9wZXJ0aWVzIGFzIHVuc2lnbmVkIGludCB0aGF0IGFyZSBhbiB1bnNpZ25lZCBpbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgIFNwZWNpZnkgYW5kIHVzZSBwcm9wZXJ0aWVzIGFzIHVuc2lnbmVkIGludCB0aGF0IGFyZSBhbiB1bnNpZ25lZCBpbnQuCgoyMDA3LTA1LTIxIDExOjE3OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IEZpeHVwIGRvY3MsIG1ha2UgdGhlIGJpdHJhdGUgcHJvcGVydHkgYW4gaW50IGFzIGl0IHNob3VsZCBiZSBhbmQgYWxsb3cgdG8gc2V0IHRoZSBkaWZmZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIEZpeHVwIGRvY3MsIG1ha2UgdGhlIGJpdHJhdGUgcHJvcGVydHkgYW4gaW50IGFzIGl0IHNob3VsZCBiZSBhbmQKCSAgYWxsb3cgdG8gc2V0IHRoZSBkaWZmZXJlbnQgZXh0cmEgcHJvY2Vzc2luZyBtb2RlcyBpbnN0ZWFkIG9mIG9ubHkKCSAgYWxsb3dpbmcgbm9uZSBhbmQgdGhlIGRlZmF1bHQgb25lLgoKMjAwNy0wNS0yMCAyMTozMTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBBZGQgbWlzc2luZyBhdWRpb2NvbnZlcnRzIGluIHRoZSBleGFtcGxlIHBpcGVsaW5lcyBvZiB3YXZwYWNrZW5jLiBBcyB0aGUgd2F2cGFjayBzdHVmZiBuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgQWRkIG1pc3NpbmcgYXVkaW9jb252ZXJ0cyBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZXMgb2Ygd2F2cGFja2VuYy4gQXMKCSAgdGhlIHdhdnBhY2sgc3R1ZmYgbm93IG5lZWRzIGlucHV0IHdpdGggMzIgYml0IHdpZHRoIChhbmQgcmFuZG9tIGRlcHRoKQoJICB0aGlzIGlzIG5lZWRlZCBub3cuIFRoZSBleGFtcGxlIHBpcGVsaW5lcyBmb3IgdGhlIHBhcnNlciBhbmQgZGVjb2RlcgoJICBhcmUgc3RpbGwgZmluZS4KCjIwMDctMDUtMjAgMTU6MTI6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogRml4IGRvY3MgYnVpbGQgYW5kIGhpZXJhcmNoeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIEZpeCBkb2NzIGJ1aWxkIGFuZCBoaWVyYXJjaHkuCgoyMDA3LTA1LTIwIDE0OjU5OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogQnVuY2ggb2Ygc21hbGwgZml4ZXM6IHJlbW92ZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0OyBkZWNsYXJlIGFub3RoZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IChnc3RfZGRyYXdzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgQnVuY2ggb2Ygc21hbGwgZml4ZXM6IHJlbW92ZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0OwoJICBkZWNsYXJlIGFub3RoZXIgb25lIHRoYXQgZG9lczsgcHJpbnRmIGZvcm1hdCBmaXg7IHVzZSByaWdodCBtYWNybwoJICB3aGVuIHNwZWNpZnlpbmcgZGVidWcgY2F0ZWdvcnk7IHJlbW92ZSBhIGJ1bmNoIG9mIHVudXNlZCB2YXJpYWJsZXM7CgkgICNpZiAwIG91dCBhbiB1bnVzZWQgY2h1bmsgb2YgY29kZSAocGFydGlhbGx5IGZpeGVzICM0Mzk5MTQpLgoKMjAwNy0wNS0yMCAxNDoxNDo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0Mzk5MTAsICM0Mzk5MTEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jaGFpbik6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0Mzk5MTAsICM0Mzk5MTEpLgoKMjAwNy0wNS0xOSAxMDowNjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBSZW1vdmUgYml0cyBmb3IgZGVpbnRlcmxlYXZlIGNoZWNrIHdoaWNoIGlzbid0IGluIENWUyB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgYml0cyBmb3IgZGVpbnRlcmxlYXZlIGNoZWNrIHdoaWNoIGlzbid0IGluIENWUyB5ZXQuCgoyMDA3LTA1LTE5IDEwOjAxOjQ1ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgQWRkIHJlcGxheWdhaW4gcGxheWJhY2sgZWxlbWVudHMgKCM0MTI3MTApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiAoZ3N0X3JnX2FuYWx5c2lzX2NsYXNzX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0YXJ0KSwgKGdzdF9yZ19hbmFseXNpc19zZXRfY2FwcyksCgkgIChnc3RfcmdfYW5hbHlzaXNfdHJhbnNmb3JtX2lwKSwgKGdzdF9yZ19hbmFseXNpc19ldmVudCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RvcCksIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX3RhZ3MpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV9lb3MpLCAoZ3N0X3JnX2FuYWx5c2lzX3RyYWNrX3Jlc3VsdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfYWxidW1fcmVzdWx0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6IChnc3RfcmdfbGltaXRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfY2xhc3NfaW5pdCksIChnc3RfcmdfbGltaXRlcl9pbml0KSwKCSAgKGdzdF9yZ19saW1pdGVyX3NldF9wcm9wZXJ0eSksIChnc3RfcmdfbGltaXRlcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOiAoZ3N0X3JnX3ZvbHVtZV9iYXNlX2luaXQpLAoJICAoZ3N0X3JnX3ZvbHVtZV9jbGFzc19pbml0KSwgKGdzdF9yZ192b2x1bWVfaW5pdCksCgkgIChnc3Rfcmdfdm9sdW1lX3NldF9wcm9wZXJ0eSksIChnc3Rfcmdfdm9sdW1lX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfcmdfdm9sdW1lX2Rpc3Bvc2UpLCAoZ3N0X3JnX3ZvbHVtZV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3JnX3ZvbHVtZV9zaW5rX2V2ZW50KSwgKGdzdF9yZ192b2x1bWVfdGFnX2V2ZW50KSwKCSAgKGdzdF9yZ192b2x1bWVfcmVzZXQpLCAoZ3N0X3JnX3ZvbHVtZV91cGRhdGVfZ2FpbiksCgkgIChnc3Rfcmdfdm9sdW1lX2RldGVybWluZV9nYWluKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoc2VuZF9lb3NfZXZlbnQpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOiAoc2V0dXBfcmdsaW1pdGVyKSwKCSAgKGNsZWFudXBfcmdsaW1pdGVyKSwgKHNldF9wbGF5aW5nX3N0YXRlKSwgKGNyZWF0ZV90ZXN0X2J1ZmZlciksCgkgICh2ZXJpZnlfdGVzdF9idWZmZXIpLCAoR1NUX1NUQVJUX1RFU1QpLCAocmdsaW1pdGVyX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6IChldmVudF9mdW5jKSwgKHNldHVwX3Jndm9sdW1lKSwKCSAgKGNsZWFudXBfcmd2b2x1bWUpLCAoc2V0X3BsYXlpbmdfc3RhdGUpLCAoc2V0X251bGxfc3RhdGUpLAoJICAoc2VuZF9lb3NfZXZlbnQpLCAoc2VuZF90YWdfZXZlbnQpLCAodGVzdF9idWZmZXJfbmV3KSwKCSAgKGZhaWxfdW5sZXNzX3RhcmdldF9nYWluKSwgKGZhaWxfdW5sZXNzX3Jlc3VsdF9nYWluKSwKCSAgKGZhaWxfdW5sZXNzX2dhaW4pLCAoR1NUX1NUQVJUX1RFU1QpLCAocmd2b2x1bWVfc3VpdGUpLCAobWFpbik6CgkgIEFkZCByZXBsYXlnYWluIHBsYXliYWNrIGVsZW1lbnRzICgjNDEyNzEwKS4KCjIwMDctMDUtMTggMTY6NDU6NTQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZQoKMjAwNy0wNS0xOCAxMjozOTo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IFVwZGF0ZSB0aGUgY2FjaGVkIGNhcHMgYWZ0ZXIgb3BlbmluZyB0aGUgZGlzcGxheSBzbyB0aGF0IHdlIHJlcG9ydCBvbmx5IHRoZSBzdXBwb3J0ZWQgY2FwcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0X2Rpc3BsYXkpOgoJICBVcGRhdGUgdGhlIGNhY2hlZCBjYXBzIGFmdGVyIG9wZW5pbmcgdGhlIGRpc3BsYXkgc28gdGhhdCB3ZSByZXBvcnQKCSAgb25seSB0aGUgc3VwcG9ydGVkIGNhcHMgZm9ybWF0cywgbm90IGp1c3QgdGhlIHRlbXBsYXRlIGNhcHMuCgkgIEZpeGVzOiAjNDM5NDA1CgoyMDA3LTA1LTE4IDA5OjM1OjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgZXh0L2FtcndiL2dzdGFtcndiZGVjLmMgKGdzdF9hbXJ3YmRlY19kZWJ1ZywgR1NUX0NBVF9ERUZBVUxULCBfZG9faW5pdCwgZ3N0X2FtcndiZGVjX2Jhc2VfaW5pdCwgZ3N0X2FtcndiZGVjX2NsYXNzX2luLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jIChnc3RfYW1yd2JkZWNfZGVidWcsIEdTVF9DQVRfREVGQVVMVCwKCSAgX2RvX2luaXQsIGdzdF9hbXJ3YmRlY19iYXNlX2luaXQsIGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYyAoZ3N0X2FtcndiZW5jX2RlYnVnLCBHU1RfQ0FUX0RFRkFVTFQsCgkgIF9kb19pbml0LCBnc3RfYW1yd2JlbmNfYmFzZV9pbml0LCBnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYyAoZ3N0X2FtcndicGFyc2VfZGVidWcsIEdTVF9DQVRfREVGQVVMVCwKCSAgX2RvX2luaXQsIGdzdF9hbXJ3YnBhcnNlX2Jhc2VfaW5pdCwgZ3N0X2FtcndicGFyc2VfY2xhc3NfaW5pdCk6CgkgIEZpcnN0IHJvdW5kIG9mIGNsZWFudXBzLCB0aGF0IHVzZSBHU1RfQk9JTEVSUExBVEUsIEdTVF9FTEVNRU5UX0RFVEFJTFMsCgkgIEdTVF9ERUJVR19GVU5DUFRSIGFuZCBhZGQgbG9nLWNhdGVnb3J5LgoKMjAwNy0wNS0xNyAxMDo1OTowMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogUmVtb3ZlIHRoZSBldmVudC1sb29wLWluLXNlcGFyYXRlLXRocmVhZCBtb2RpZmljYXRpb25zLCBiZWNhdXNlIE1hY09TWCBpcyAkI0AoKiUkIyAhIEZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBSZW1vdmUgdGhlIGV2ZW50LWxvb3AtaW4tc2VwYXJhdGUtdGhyZWFkIG1vZGlmaWNhdGlvbnMsIGJlY2F1c2UgTWFjT1NYCgkgIGlzICQjQCgqJSQjICEgRm9yIHRob3NlIHdvbmRlcmluZywgdGhlIGV2ZW50IGhhbmRsaW5nIG5lZWRzIHRvIGJlIGRvbmUKCSAgaW4gdGhlIG1haW4gdGhyZWFkIGFmdGVyIGFsbC4uCgoyMDA3LTA1LTE3IDEwOjA4OjI0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChBUkdfMCwgQVJHX05CX1NPVVJDRVMsIEFSR19BQ1RJVkVfU09VUkNFLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChBUkdfMCwgQVJHX05CX1NPVVJDRVMsIEFSR19BQ1RJVkVfU09VUkNFLAoJICBBUkdfU1RBUlRfVkFMVUUsIEFSR19TVE9QX1ZBTFVFLCBBUkdfTEFTVF9UUywgQVJHX1FVRVVFX0JVRkZFUlMsCgkgIHBhcmVudF9jbGFzcywgZ3N0X3N3aXRjaF9yZWxlYXNlX3BhZCwgZ3N0X3N3aXRjaF9yZXF1ZXN0X25ld19wYWQsCgkgIGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfZXZlbnQsIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5LAoJICBnc3Rfc3dpdGNoX2dldF9wcm9wZXJ0eSwgZ3N0X3N3aXRjaF9nZXRjYXBzLCBnc3Rfc3dpdGNoX2Rpc3Bvc2UsCgkgIHVucmVmX2J1ZmZlciwgdW5yZWZfYnVmZmVyc19hbmRfZGVzdHJveV9saXN0LCBnc3Rfc3dpdGNoX2luaXQsCgkgIGdzdF9zd2l0Y2hfYmFzZV9pbml0LCBnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKG5lZWRfdG9fc2VuZF9uZXdzZWdtZW50LCBxdWV1ZV9idWZmZXJzLAoJICBzdG9wX3ZhbHVlLCBzdGFydF92YWx1ZSwgY3VycmVudF9zdGFydCwgbGFzdF90cywgc3RvcmVkX2J1ZmZlcnMpOgoJICBBZGQgaGFuZGxpbmcgb2YgYXBwbGljYXRpb24gcHJvdmlkZWQgc3RvcCBhbmQgc3RhcnQgdmFsdWVzLCBhbGxvd2luZwoJICBBL1Ygc3luYyBhY3Jvc3MgMiBzd2l0Y2ggZWxlbWVudHMuCgoyMDA3LTA1LTE3IDA5OjQxOjQ4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay4qOiBGaXggYSBzdHVwaWQgI2lmIHZzICNpZmRlZiBidWcuIFNob3VsZCB1c2UgdGhlIHByb3BlciBjb2xvcnNwYWNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IGEgc3R1cGlkICNpZiB2cyAjaWZkZWYgYnVnLiBTaG91bGQgdXNlIHRoZSBwcm9wZXIgY29sb3JzcGFjZSBub3cuCgkgIFVzZSBhIHNlcGFyYXRlIHRocmVhZC90YXNrIGZvciB0aGUgY29jb2EgZXZlbnRfbG9vcCwgZWxzZSBpdCB3b3VsZG4ndAoJICBzdG9wLgoKMjAwNy0wNS0xNiAxNzoxNDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsLzogRG9uJ3QgY3Jhc2ggd2hlbiB3ZSBnZXQgYSBidWZmZXIgYW5kIG91ciBpbnB1dCBjYXBzIGhhdmVuJ3QgYmVlbiBzZXQgeWV0OyBhbHNvLCBkb24ndCBsZWFrIGFsbCB0aGUgaW5wdXQgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pOgoJICBEb24ndCBjcmFzaCB3aGVuIHdlIGdldCBhIGJ1ZmZlciBhbmQgb3VyIGlucHV0IGNhcHMgaGF2ZW4ndCBiZWVuIHNldAoJICB5ZXQ7IGFsc28sIGRvbid0IGxlYWsgYWxsIHRoZSBpbnB1dCBidWZmZXJzIChyZWFsYXVkaW9kZWMgb25seSkuCgoyMDA3LTA1LTE2IDEzOjUwOjUxICswMDAwICBTdGFuaXNsYXYgQnJhYmVjIDxzYnJhYmVjQHN1c2UuY3o+CgoJICBVc2UgZXh0ZXJuYWwgc2hhcmVkIGxpYmFtcndiLiBGaXhlcyAjNDIzNzQxICh3aXRoIGxvdHMgb2YgY2xlYW51cCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU3RhbmlzbGF2IEJyYWJlYyA8c2JyYWJlY0BzdXNlLmN6PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvYW1yd2IvUkVBRE1FOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oIChfX0dTVF9BTVJXQkRFQ19IX18pOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oIChfX0dTVF9BTVJXQkVOQ19IX18pOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaCAoX19HU1RfQU1SV0JQQVJTRV9IX18pOgoJICAqIGdzdC1saWJzL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2V4dC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9leHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZXh0L2FtcndiL1JFQURNRToKCSAgVXNlIGV4dGVybmFsIHNoYXJlZCBsaWJhbXJ3Yi4gRml4ZXMgIzQyMzc0MSAod2l0aCBsb3RzIG9mIGNsZWFudXApLgoKMjAwNy0wNS0xNSAyMToyMzo1MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jIChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKTogVGhpcyBuZWVkcyBhIHZlcnNpb24gY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYyAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2Rlcik6CgkgIFRoaXMgbmVlZHMgYSB2ZXJzaW9uIGNoZWNrLgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgRml4IHRoZSBidWlsZC4KCjIwMDctMDUtMTUgMTc6MjI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgRElSRUNURFJBV19DRkxBR1MgYW5kIERJUkVDVFNPVU5EX0NGTEFHUyB0byBNYWtlZmlsZS5hbTsgc2F2ZSBhbmQgcmVzdG9yZSB0aGUgdmFyaW91cyBmbGFncyBpbiB0aGUgZGlyZWN0ZHJhdy9kaXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUKCSAgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyZWN0c291bmQKCSAgZGV0ZWN0aW9uIHNlY3Rpb24uIEFwcGFyZW50bHkgaW1wcm92ZXMgY3Jvc3MtY29tcGlsaW5nIGZvciB3aW4zMgoJICB3aXRoIG1pbmd3MzIgdW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzICgjNDM3NTM5KS4KCjIwMDctMDUtMTUgMTM6Mjk6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IFdlIGFsd2F5cyB1c2UgZml4ZWQgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIFdlIGFsd2F5cyB1c2UgZml4ZWQgY2Fwcy4KCjIwMDctMDUtMTUgMDM6NDU6NDUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IGdfaGFzaF90YWJsZV9yZW1vdmVfYWxsKCkgb25seSBleGlzdHMgaW4gMi4xMi4gIFdvcmsgYXJvdW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgZ19oYXNoX3RhYmxlX3JlbW92ZV9hbGwoKSBvbmx5IGV4aXN0cyBpbiAyLjEyLiAgV29yayBhcm91bmQuCgoyMDA3LTA1LTE1IDAyOjU0OjUyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEFkZCBhIEJheWVyLXRvLVJHQiBjb252ZXJ0ZXIuICBZb3Uga25vdyB5b3Ugd2FudCBvbmUsIHVoLWh1aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIuYzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIEFkZCBhIEJheWVyLXRvLVJHQiBjb252ZXJ0ZXIuICBZb3Uga25vdyB5b3Ugd2FudCBvbmUsIHVoLWh1aC4KCSAgUGFydGlhbCBmaXggZm9yICMzMTQxNjAuCgoyMDA3LTA1LTE0IDE4OjAzOjU4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChBUkdfQUNUSVZFX1NPVVJDRSwgQVJHX1NUT1BfVkFMVUUsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKEFSR19BQ1RJVkVfU09VUkNFLCBBUkdfU1RPUF9WQUxVRSwKCSAgQVJHX0xBU1RfVFMsIHBhcmVudF9jbGFzcywgZ3N0X3N3aXRjaF9yZWxlYXNlX3BhZCwKCSAgZ3N0X3N3aXRjaF9yZXF1ZXN0X25ld19wYWQsIGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfZXZlbnQsCgkgIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5LCBnc3Rfc3dpdGNoX2dldF9wcm9wZXJ0eSwgZ3N0X3N3aXRjaF9nZXRjYXBzLAoJICBnc3Rfc3dpdGNoX2Rpc3Bvc2UsIGdzdF9zd2l0Y2hfaW5pdCwgZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChwcmV2aW91c19zaW5rcGFkLCBuYl9zaW5rcGFkcywgc3RvcF92YWx1ZSwKCSAgY3VycmVudF9zdGFydCwgbGFzdF90cyk6CgkgIEFsbG93IGFwcGxpY2F0aW9uIHRvIHByb3ZpZGUgYSBzdG9wIHRpbWVzdGFtcCwgc28gYSBuZXcgc2VnbWVudAoJICB1cGRhdGUgY2FuIGJlIHNlbnQgYmVmb3JlIHN3aXRjaGluZy4KCjIwMDctMDUtMTQgMTU6Mjg6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogRml4IGxlYWsgd2hlbiBmbHVzaGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2ZsdXNoaW5nX3VubG9ja2VkKToKCSAgRml4IGxlYWsgd2hlbiBmbHVzaGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIGNsZWFyLXB0LW1hcCBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEluaXQgY2xvY2stcmF0ZSB0byAtMSB0byBtYXJrIHVua25vdyBjbG9jayByYXRlLgoJICBGaXggZmx1c2hpbmcuCgoyMDA3LTA1LTEzIDE5OjU3OjQ1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogRml4IHdyb25nIGlmZGVmIGZvciB2aXN1YWwgQysrLiAgRml4ZXM6ICM0Mzc0MDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzoKCSAgRml4IHdyb25nIGlmZGVmIGZvciB2aXN1YWwgQysrLiAgRml4ZXM6ICM0Mzc0MDMuCgkgIEJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4uCgoyMDA3LTA1LTEzIDA3OjA4OjA2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IE1ha2UgcmVkaXJlY3Rpb24gdGhlIGRlZmF1bHQgYmVoYXZpb3IuICBGaXhlcyAjNDEzODE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBNYWtlIHJlZGlyZWN0aW9uIHRoZSBkZWZhdWx0IGJlaGF2aW9yLiAgRml4ZXMgIzQxMzgxOC4KCjIwMDctMDUtMTEgMTE6MjA6MzMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbGF0ZXN0IHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxhdGVzdCBwbHVnaW4KCjIwMDctMDUtMTAgMTQ6MDI6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0sIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyLCBnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50LCBnc3RfcXRkZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtLAoJICBnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciwgZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCwKCSAgZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSwgZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cywKCSAgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSwgZ3N0X3F0ZGVtdXhfbG9vcCwKCSAgcXRkZW11eF9wYXJzZV9zZWdtZW50cywgcXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmMgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgsCgkgIHJ0cF9zZXNzaW9uX2dldF9ydGNwX2JhbmR3aWR0aCwgcnRwX3Nlc3Npb25fZ2V0X2NuYW1lLAoJICBydHBfc2Vzc2lvbl9nZXRfbmFtZSwgcnRwX3Nlc3Npb25fZ2V0X2VtYWlsLCBydHBfc2Vzc2lvbl9nZXRfcGhvbmUsCgkgIHJ0cF9zZXNzaW9uX2dldF9sb2NhdGlvbiwgcnRwX3Nlc3Npb25fZ2V0X3Rvb2wsCgkgIHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllLCBzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jIChydHBfc291cmNlX3Byb2Nlc3NfcnRwLAoJICBydHBfc291cmNlX3NlbmRfcnRwLCBydHBfc291cmNlX3Byb2Nlc3Nfc3IsIHJ0cF9zb3VyY2VfcHJvY2Vzc19yYik6CgkgIE1vcmUgZm9ybWF0IGFyZyBmaXhpbmcgKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgkgICogZ3N0L3N3aXRjaC9NYWtlZmlsZS5hbToKCSAgQWRkIHJlcXVpcmUgbGlicmFyaWVzKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgoyMDA3LTA1LTEwIDEyOjM4OjQ5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jICh0YWlsX2J1ZmZlcl9kdXJhdGlvbiwgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZiwgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZl91bmxvY2tlZCwgYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYyAodGFpbF9idWZmZXJfZHVyYXRpb24sCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWYsIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWZfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbG93X3RocmVzaG9sZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF90c191bml0c191bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmX2FuZF91bmxvY2ssIGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZiwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX2xvY2ssIGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcHVzaF91bmxvY2tlZCwgYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcG9wX2ludGVybl91bmxvY2tlZCwgYXN5bmNfaml0dGVyX3F1ZXVlX3BvcCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF91bmxvY2tlZCwgYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF91bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9mbHVzaGluZ191bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3Vuc2V0X2ZsdXNoaW5nX3VubG9ja2VkKToKCSAgRm9ybWF0IGFyZyBmaXggKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikKCjIwMDctMDUtMTAgMDc6NDE6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbW1vbi9tNC9nc3QteDExLm00OiBSZXN0b3JlIENGTEFHUyBhbmQgTElCUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29tbW9uL200L2dzdC14MTEubTQ6CgkgIFJlc3RvcmUgQ0ZMQUdTIGFuZCBMSUJTLgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0IHByZXZpb3VzIHBhdGNoLgoKMjAwNy0wNS0xMCAwNjozNTozMSArMDAwMCAgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBTYXZlIGFuZCByZXN0b3JlIENGTEFHUyBmb3IgT3BlbkdMIGNoZWNrLiBGaXhlcyAjNDM3MjYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFNhdmUgYW5kIHJlc3RvcmUgQ0ZMQUdTIGZvciBPcGVuR0wgY2hlY2suIEZpeGVzICM0MzcyNjAuCgoyMDA3LTA1LTA5IDIwOjAxOjIxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczogQWRkIGRpcmVjdHJhdyBhbmQgZGlyZWN0c291bmQgc2lua3MgcHJvcGVydGllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIEFkZCBkaXJlY3RyYXcgYW5kIGRpcmVjdHNvdW5kIHNpbmtzIHByb3BlcnRpZXMuCgoyMDA3LTA1LTA5IDE3OjU4OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChob3BlZnVsbHkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgKGhvcGVmdWxseSkuCgoyMDA3LTA1LTA5IDExOjI0OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFBhc3MgcXVlcmllcyB1cHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBQYXNzIHF1ZXJpZXMgdXBzdHJlYW0uCgoyMDA3LTA1LTA2IDE1OjI1OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvOiBVc2UgR01vZHVsZSBpbnN0ZWFkIG9mIHVzaW5nIGRsc3ltKCkgZGlyZWN0bHkuIEZpeGVzICM0MzA1OTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2ZpbmFsaXplKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuaDoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKG9wZW5fbGlicmFyeSksIChjbG9zZV9saWJyYXJ5KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgVXNlIEdNb2R1bGUgaW5zdGVhZCBvZiB1c2luZyBkbHN5bSgpIGRpcmVjdGx5LiBGaXhlcyAjNDMwNTk4LgoKMjAwNy0wNS0wNCAyMTowMjo1OCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGRvY3MgZm9yIFdpbmRvd3Mgc2lua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBBZGQgZG9jcyBmb3IgV2luZG93cyBzaW5rcy4KCjIwMDctMDUtMDQgMTc6MjA6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogRml4IGV2ZW50IGhhbmRsaW5nIGEgYml0IGJ5IHJlcGxhY2luZyBjb21wbGV0ZWx5IGR1YmlvdXMgY29kZSB3cml0dGVuIGJ5IHNvbWVvbmUgZWxzZSB3aXRoIGNvbXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9zcmNfZXZlbnQpLCAoc3BlZWRfc2lua19ldmVudCksCgkgIChzcGVlZF9jaGFpbiksIChzcGVlZF9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggZXZlbnQgaGFuZGxpbmcgYSBiaXQgYnkgcmVwbGFjaW5nIGNvbXBsZXRlbHkgZHViaW91cyBjb2RlCgkgIHdyaXR0ZW4gYnkgc29tZW9uZSBlbHNlIHdpdGggY29tcGxldGVseSBkdWJpb3VzIGNvZGUgd3JpdHRlbgoJICBieSBtZS4gU2hvdWxkIGF0IGxlYXN0IGZpeCAjNDEyMDc3IHRob3VnaC4KCjIwMDctMDUtMDQgMTY6MTE6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogQWRkIGRlYnVnIGNhdGVnb3J5OyB1c2UgZ3N0X3BhZF9xdWVyeV9wZWVyXyooKSB1dGlsaXR5IGZ1bmN0aW9uczsgdXNlIGdzdF91dGlsX3NjYWxlKigpOyBhZGQgZ3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9zcmNfcXVlcnkpLCAoc3BlZWRfY2hhaW4pLAoJICAocGx1Z2luX2luaXQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnk7IHVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfKigpIHV0aWxpdHkgZnVuY3Rpb25zOwoJICB1c2UgZ3N0X3V0aWxfc2NhbGUqKCk7IGFkZCBndGstZG9jIGJsdXJiLgoKMjAwNy0wNS0wNCAxMjozMjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIEFkZCBzb21lIGRlYnVnIGluZm8uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25faW5pdCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCk6CgkgIFN0b3JlIHJlYWwgdXNlciBuYW1lIGluIHRoZSBzZXNzaW9uLgoKMjAwNy0wNS0wMyAxNjo0OTowNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jIChsb29wLCBteV9idXNfY2FsbGJhY2ssIHN3aXRjaF90aW1lciwgbGFzdF9tZXNzYWdlX3JlY2VpdmVkLCBtYWluKTogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmMgKGxvb3AsIG15X2J1c19jYWxsYmFjaywgc3dpdGNoX3RpbWVyLAoJICBsYXN0X21lc3NhZ2VfcmVjZWl2ZWQsIG1haW4pOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKEdTVF9DQVRfREVGQVVMVCwgZ3N0X3N3aXRjaF9kZXRhaWxzLAoJICBnc3Rfc3dpdGNoX3NyY19mYWN0b3J5LCBwYXJlbnRfY2xhc3MsIGdzdF9zd2l0Y2hfcmVsZWFzZV9wYWQsCgkgIGdzdF9zd2l0Y2hfcmVxdWVzdF9uZXdfcGFkLCBnc3Rfc3dpdGNoX2NoYWluLCBnc3Rfc3dpdGNoX2V2ZW50LAoJICBnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSwgZ3N0X3N3aXRjaF9nZXRfcHJvcGVydHksCgkgIGdzdF9zd2l0Y2hfZ2V0X2xpbmtlZF9wYWQsIGdzdF9zd2l0Y2hfZ2V0Y2FwcywKCSAgZ3N0X3N3aXRjaF9idWZmZXJhbGxvYywgZ3N0X3N3aXRjaF9nZXRfbGlua2VkX3BhZHMsCgkgIGdzdF9zd2l0Y2hfZGlzcG9zZSwgZ3N0X3N3aXRjaF9pbml0LCBnc3Rfc3dpdGNoX2Jhc2VfaW5pdCwKCSAgZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChHc3RTd2l0Y2gsIEdzdFN3aXRjaENsYXNzLCBfR3N0U3dpdGNoLAoJICBlbGVtZW50LCBhY3RpdmVfc2lua3BhZCwgc3JjcGFkLCBuYl9zaW5rcGFkcywgbmV3c2VnbWVudF9ldmVudHMsCgkgIG5lZWRfdG9fc2VuZF9uZXdzZWdtZW50KToKCSAgUG9ydCBzd2l0Y2ggZWxlbWVudCBhbmQgZXhhbXBsZSBwcm9ncmFtIHRvIDAuMTAuCgoyMDA3LTA1LTAyIDE4OjMxOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IENhbGwgYmluZHRleHRkb21haW4oKSB0byBnZXQgbG9jYWxpemVkIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgQ2FsbCBiaW5kdGV4dGRvbWFpbigpIHRvIGdldCBsb2NhbGl6ZWQgc3RyaW5ncy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBIYW5kbGUgRElTQ09OVCBidWZmZXJzIGJ5IGNvcnJlY3RseSBzZXR0aW5nIHRoZSBESVNDT05UIGZsYWcKCSAgb24gb3V0Z29pbmcgYnVmZmVycyB3aGVuIG5lY2Vzc2FyeS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KQoJICBTZW5kIG5ld3NlZ21lbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMDctMDUtMDIgMTY6NTg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBSZW1vdmUgb2xkIHdvcmthcm91bmQgdGhhdCB3YXMgbmVlZGVkIHdoZW4gc2Vla2luZyBhZnRlciB0aGUgbGFzdCBzYW1wbGUuIFdpdGggdGhlIGZpeC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgUmVtb3ZlIG9sZCB3b3JrYXJvdW5kIHRoYXQgd2FzIG5lZWRlZCB3aGVuIHNlZWtpbmcgYWZ0ZXIgdGhlIGxhc3QKCSAgc2FtcGxlLiBXaXRoIHRoZSBmaXhlZCBlcnJvciBoYW5kbGluZyB0aGlzIHdvcmtzIG5vdyBhcyBleHBlY3RlZAoJICB3aXRob3V0IHB1c2hpbmcgdGhlIGxhc3Qgc2FtcGxlIGFsdGhvdWdoIGl0IHdhc24ndCByZXF1ZXN0ZWQuCgoyMDA3LTA1LTAyIDE2OjQ1OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogSGFuZGxlIHNlZ21lbnQgc2Vla3MgaW4gdGhlIHNlZWsgZXZlbnQgaGFuZGxlciwgY29ycmVjdGx5IHdvcmsgd2l0aCBzdG9wIHBvc2l0aW9uID09IC0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCk6CgkgIEhhbmRsZSBzZWdtZW50IHNlZWtzIGluIHRoZSBzZWVrIGV2ZW50IGhhbmRsZXIsIGNvcnJlY3RseSB3b3JrIHdpdGgKCSAgc3RvcCBwb3NpdGlvbiA9PSAtMSBhbmQgaW5zdGVhZCBvZiBzdG9wcGluZyB0aGUgdGFzayBvbiBzZWVrIGp1c3QKCSAgcGF1c2UgaXQuCgoyMDA3LTA1LTAyIDE2OjE5OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogQWRkIGhhbmRsaW5nIGZvciBzZWdtZW50IHNlZWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICBBZGQgaGFuZGxpbmcgZm9yIHNlZ21lbnQgc2Vla3MuCgoyMDA3LTA1LTAyIDE1OjEzOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogQ29ycmVjdGx5IGhhbmRsZSBlcnJvcnMsIGVzcGVjaWFsbHkgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIEJlZm9yZSBpdCB3YXMgZWFzeSB0byBnZXQgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wdWxsX2J1ZmZlciksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfbG9vcCksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgQ29ycmVjdGx5IGhhbmRsZSBlcnJvcnMsIGVzcGVjaWFsbHkgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIEJlZm9yZSBpdAoJICB3YXMgZWFzeSB0byBnZXQgdGhlIHRhc2sgcGF1c2VkIGJ1dCBubyBlcnJvciBiZWluZyBwb3N0ZWQgb24gdGhlIGJ1cy4KCjIwMDctMDQtMzAgMTU6Mzk6MDkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMKCjIwMDctMDQtMzAgMTM6NDE6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogRml4IHRoZSBjYXNlIHdoZXJlIHRoZSBidWZmZXIgdW5kZXJydW5zIGFuZCBkb2VzIG5vdCBibG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IChzaWduYWxfd2FpdGluZ190aHJlYWRzKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfaW50ZXJuX3VubG9ja2VkKToKCSAgRml4IHRoZSBjYXNlIHdoZXJlIHRoZSBidWZmZXIgdW5kZXJydW5zIGFuZCBkb2VzIG5vdCBibG9jay4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Jhc2VfaW5pdCksCgkgIChjcmVhdGVfcmVjdl9ydGNwKSwgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICBSZW5hbWUgUlRDUCBzZW5kIHBhZCwgbGlrZSBpbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBBbGxvdyBnZXR0aW5nIGFuIFJUQ1AgcGFkIGZvciByZWNlaXZpbmcgZXZlbiBpZiB3ZSBkb24ndCByZWNlaXZlIFJUUC4KCSAgZml4IGhhbmRsaW5nIG9mIHNlbmRfcnRwX3NyYyBwYWQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIFdoZW4gbm8gcHQgbWFwIGNvdWxkIGJlIGZvdW5kLCBmYWxsIGJhY2sgdG8gdGhlIHNpbmtwYWQgY2Fwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIEZpeCBwYWQgbmFtZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVW5sb2NrIHNlc3Npb24gd2hlbiBwZXJmb3JtaW5nIGEgY2FsbGJhY2suCgkgIEFkZCBjYWxsYmFja3MgZm9yIHRoZSBpbnRlcm5hbCBzZXNzaW9uIG9iamVjdC4KCSAgRml4IHNlbmRpbmcgb2YgUlRQIHBhY2tldHMuCgkgIGZpcnN0IGF0dGVtcHQgYXQgYWRkaW5nIE5UUCB0aW1lcyBpbiB0aGUgU1IgcGFja2V0cy4KCSAgU21hbGwgZGVidWcgYW5kIGRvYyBpbXByb3ZlbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgVXBkYXRlIHN0YXRzIGZvciBTUiByZXBvcnRzLgoKMjAwNy0wNC0yOSAxNDo0NjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogUmVtb3ZlIGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKToKCSAgUmVtb3ZlIGRlYnVnLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKGNhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpOgoJICBJbXByb3ZlIGRlYnVnZ2luZwoJICBGaXggaW50ZXJ2YWwgZm9yIEJZRS9SVENQIHBhY2tldHMuCgoyMDA3LTA0LTI5IDE0OjAxOjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy4qOiBDb21taXQgcmVzdWx0IG9mIHJ1bm5pbmcgc2Nhbm9iai11cGRhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgIENvbW1pdCByZXN1bHQgb2YgcnVubmluZyBzY2Fub2JqLXVwZGF0ZQoKMjAwNy0wNC0yOSAxMzo1NjoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIDgwIGNoYXIgcG9saWNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA4MCBjaGFyIHBvbGljZQoKMjAwNy0wNC0yOSAxMzo1MzoxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhdXRvZ2VuLnNoOiBSZXF1aXJlIGF1dG9tYWtlIDEuNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICBSZXF1aXJlIGF1dG9tYWtlIDEuNwoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICBGaXggdXAgTWFrZWZpbGUuYW0gYWNjb3JkaW5nbHkuCgoyMDA3LTA0LTI5IDEzOjQ5OjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIGphY2sgYW5kIHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgQWRkIGphY2sgYW5kIHVwZGF0ZS4KCjIwMDctMDQtMjggMTI6NDY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGJ1aWxkIGVxdWFsaXplciB1bmxlc3Mgd2UgaGF2ZSBjb3JlIGZyb20gQ1ZTIChpdCB3b24ndCB3b3JrIHdpdGggZWFybGllciB2ZXJzaW9ucyBkdWUgdG8gR3N0Q2hpbGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBidWlsZCBlcXVhbGl6ZXIgdW5sZXNzIHdlIGhhdmUgY29yZSBmcm9tIENWUyAoaXQgd29uJ3QKCSAgd29yayB3aXRoIGVhcmxpZXIgdmVyc2lvbnMgZHVlIHRvIEdzdENoaWxkUHJveHkgYnJva2VuZXNzKS4KCSAgQWxzbyB1cCByZXF1aXJlbWVudHMgdG8gbGFzdCByZWxlYXNlZCBjb3JlL2Jhc2UuCgoyMDA3LTA0LTI3IDE1OjMzOjQ2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IENhbGN1bGF0ZSBidWZmZXIgZHVyYXRpb24gY29ycmVjdGx5IHRvIGdlbmVyYXRlIGEgcGVyZmVjdCBzdHJlYW0gKCM0MzM4ODgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNC0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IChfdGhlb3JhX2dyYW51bGVfdGltZSksCgkgICh0aGVvcmFfZGVjX3B1c2hfZm9yd2FyZCksICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KSwKCSAgKHRoZW9yYV9kZWNfZGVjb2RlX2J1ZmZlcik6IENhbGN1bGF0ZSBidWZmZXIgZHVyYXRpb24gY29ycmVjdGx5CgkgIHRvIGdlbmVyYXRlIGEgcGVyZmVjdCBzdHJlYW0gKCM0MzM4ODgpLgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGF1ZGlvcmVzYW1wbGVfY2hlY2tfZGlzY29udCk6IEdsaWIgcHJvdmlkZXMgQUJTLgoKMjAwNy0wNC0yNyAxNTowOToxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogTW92ZSByZWNvbnNpZGVyYXRpb24gY29kZSB0byB0aGUgcnRwc2Vzc2lvbiBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX3JlY29uc2lkZXIpOgoJICBNb3ZlIHJlY29uc2lkZXJhdGlvbiBjb2RlIHRvIHRoZSBydHBzZXNzaW9uIG9iamVjdC4KCSAgU2ltcGxpZnkgdGltb3V0IGhhbmRsaW5nIGFuZCBhZGQgcmVjb25zaWRlcmF0aW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChvbl9ieWVfc3NyYyksCgkgIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwgKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAob2J0YWluX3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLAoJICAoY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fc3RhcnRfcnRjcCksCgkgIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLCAoc2Vzc2lvbl9jbGVhbnVwKSwgKHNlc3Npb25fc2RlcyksCgkgIChzZXNzaW9uX2J5ZSksIChpc19ydGNwX3RpbWUpLCAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBIYW5kbGUgdGltZW91dCBvZiBpbmFjdGl2ZSBzb3VyY2VzIGFuZCBzZW5kZXJzLgoJICBJbXBsZW1lbnQgQllFIHNjaGVkdWxpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksIChydHBfc291cmNlX2dldF9sYXN0X3NyKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgbWVtYmVycyB0byBjaGVjayBmb3IgdGltZW91dHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19pbml0X2RlZmF1bHRzKSwKCSAgKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksIChydHBfc3RhdHNfYWRkX3J0Y3Bfaml0dGVyKSwKCSAgKHJ0cF9zdGF0c19jYWxjdWxhdGVfYnllX2ludGVydmFsKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBVc2UgUkZDIGFsZ29yaXRobSBmb3IgY2FsY3VsYXRpbmcgdGhlIHJlcG9ydGluZyBpbnRlcnZhbC4KCjIwMDctMDQtMjYgMTQ6MzE6MzIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgZG9jdW1lbnRhdGlvbiBmb3Igb3N4dmlkZW8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zeHZpZGVvLnhtbDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeHZpZGVvCgoyMDA3LTA0LTI1IDE2OjM4OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJbXBsZW1lbnQgZm9yd2FyZCBhbmQgcmV2ZXJzZSByZWNvbnNpZGVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKToKCSAgSW1wbGVtZW50IGZvcndhcmQgYW5kIHJldmVyc2UgcmVjb25zaWRlcmF0aW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2dldF9udW1fc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfbnVtX2FjdGl2ZV9zb3VyY2VzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwNy0wNC0yNSAxNTo0ODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBNYWtlIGRlZmF1bHQgaml0dGVyYnVmZmVyIGxhdGVuY3kgY29uZmlndXJhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IDxkZWxldGUgaWYgbm90IHVzaW5nIGEgYnVkZHk+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIE1ha2UgZGVmYXVsdCBqaXR0ZXJidWZmZXIgbGF0ZW5jeSBjb25maWd1cmFibGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgRGVidWdpbmcgY2xlYW51cHMuCgoyMDA3LTA0LTI1IDEzOjE5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlcG9ydCBOT19QUkVST0xMIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpOgoJICBSZXBvcnQgTk9fUFJFUk9MTCB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCk6CgkgIERvbid0IHNlbmQgUlRDUCByaWdodCBiZWZvcmUgd2UgYXJlIHNodXR0aW5nIGRvd24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLAoJICAocnRwX3Nlc3Npb25fcGVyZm9ybV9yZXBvcnRpbmcpOgoJICBJbXByb3ZlIHJlcG9ydCBibG9ja3MuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKSwgKGluaXRfc2VxKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYiksIChydHBfc291cmNlX2dldF9sYXN0X3NyKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIENsZWFudXBzLCBhZGQgbWV0aG9kcyB0byBhY2Nlc3Mgc3RhdHMuCgoyMDA3LTA0LTI1IDA4OjMwOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IGZpeCBmb3IgcGFkIG5hbWUgY2hhbmdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3J0Y3ApOgoJICBmaXggZm9yIHBhZCBuYW1lIGNoYW5nZQoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBGaXggZm9yIHJlbmFtZWQgbWV0aG9kcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKHJ0cF9zZXNzaW9uX3NldF9jbmFtZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfY25hbWUpLCAocnRwX3Nlc3Npb25fc2V0X25hbWUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X25hbWUpLCAocnRwX3Nlc3Npb25fc2V0X2VtYWlsKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9lbWFpbCksIChydHBfc2Vzc2lvbl9zZXRfcGhvbmUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Bob25lKSwgKHJ0cF9zZXNzaW9uX3NldF9sb2NhdGlvbiksCgkgIChydHBfc2Vzc2lvbl9nZXRfbG9jYXRpb24pLCAocnRwX3Nlc3Npb25fc2V0X3Rvb2wpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Rvb2wpLCAocnRwX3Nlc3Npb25fc2V0X25vdGUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X25vdGUpLCAoc291cmNlX3B1c2hfcnRwKSwgKG9idGFpbl9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fYWRkX3NvdXJjZSksIChydHBfc2Vzc2lvbl9nZXRfc291cmNlX2J5X3NzcmMpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAocnRwX3Nlc3Npb25fZ2V0X3JlcG9ydGluZ19pbnRlcnZhbCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLAoJICAoc2Vzc2lvbl9zZGVzKSwgKHJ0cF9zZXNzaW9uX3BlcmZvcm1fcmVwb3J0aW5nKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFByZXBhcmUgZm9yIGltcGxlbWVudGluZyBTU1JDIHNhbXBsaW5nLgoJICBDcmVhdGUgU1NSQyBmb3IgdGhlIHNlc3Npb24uCgkgIEFkZCBtZXRob2RzIHRvIHNldCB0aGUgU0RFUyBlbnRyaWVzLgoJICBmaXggYWNjb3VudGluZyBvZiBzZW5kZXJzL3JlY2VpdmVycy4KCSAgSW1wbGVtZW50IFNSL1JSL1NERVMgUlRDUCByZXBvcnRpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLCAoaW5pdF9zZXEpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBJbXBsZW1lbnQgZXh0ZW5kZWQgc2VxdWVuY2UgbnVtYmVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFJlbmFtZSBzb21lIGZpZWxkcy4KCjIwMDctMDQtMjQgMTU6NDk6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQbHVnIHNvbWUgbGVha3M7IHRyeSB0byBtYWtlIGJ1aWxkIGJvdCBoYXBweSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1fZW5jb2RlX2luaXQpLAoJICAoZ3N0X3k0bV9lbmNvZGVfc2V0Y2Fwcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFBsdWcgc29tZSBsZWFrczsgdHJ5IHRvIG1ha2UgYnVpbGQgYm90IGhhcHB5IGFnYWluLgoKMjAwNy0wNC0yMSAxOTozOTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9NYWtlZmlsZS5hbTogRml4IGRpc3RjaGVjaywgaG9wZWZ1bGx5IChydHBtYW5hZ2VyIGlzIGFscmVhZHkgaW4gR1NUX1BMVUdJTlNfQUxMKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L01ha2VmaWxlLmFtOgoJICBGaXggZGlzdGNoZWNrLCBob3BlZnVsbHkgKHJ0cG1hbmFnZXIgaXMgYWxyZWFkeSBpbiBHU1RfUExVR0lOU19BTEwpLgoKMjAwNy0wNC0yMSAxOToyMTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogRG9uJ3QgdXNlIEdMaWItMi4xMCBBUEksIHdlIG9ubHkgcmVxdWlyZSBHTGliIDIuOCBhdCB0aGUgbW9tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9maW5hbGl6ZSk6CgkgIERvbid0IHVzZSBHTGliLTIuMTAgQVBJLCB3ZSBvbmx5IHJlcXVpcmUgR0xpYiAyLjggYXQgdGhlIG1vbWVudC4KCjIwMDctMDQtMjEgMTQ6MTQ6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IE1ha2UgbW9yZSBmdW5jdGlvbnMgc3RhdGljLCBqdXN0IGJlY2F1c2Ugd2UgY2FuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIE1ha2UgbW9yZSBmdW5jdGlvbnMgc3RhdGljLCBqdXN0IGJlY2F1c2Ugd2UgY2FuLgoKMjAwNy0wNC0yMSAxMzo1NDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogQWRkIHVuaXQgdGVzdCBmb3IgYXVkaW9yZXNhbXBsZSBzaHV0ZG93biBjcmFzaGVyICgjNDIwMTA2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBhdWRpb3Jlc2FtcGxlIHNodXRkb3duIGNyYXNoZXIgKCM0MjAxMDYpLgoKMjAwNy0wNC0yMCAxNTozMTozMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBGQUFEIGZhaWxzIHRvIGRlY29kZSBsb3cgKGUuZy4gOCBrSHopIHNhbXBsZSByYXRlIEFBQyBkYXRhIGluIHF1aWNrdGltZSBiZWNhdXNlIG9mIHNhbXBsZSByYXRlIG1pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX29wZW5fZGVjb2Rlcik6CgkgIEZBQUQgZmFpbHMgdG8gZGVjb2RlIGxvdyAoZS5nLiA4IGtIeikgc2FtcGxlIHJhdGUgQUFDIGRhdGEgaW4KCSAgcXVpY2t0aW1lIGJlY2F1c2Ugb2Ygc2FtcGxlIHJhdGUgbWlzbWF0Y2hlcy4KCSAgUmVlbmFibGUgb3ZlcnJpZGluZyB0aGUgaW1wbGljaXQgU0JSIGJlaGF2aW91ciAoYWNjaWRlbnRseSBjaGFuZ2VkPykKCSAgdG8gYWxsb3cgcGxheWJhY2sgb2YgdGhlc2UgZmlsZXMuCgoyMDA3LTA0LTE5IDE1OjQzOjI2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hhbmdlIHJ0cG1hbmFnZXIgZGlzYWJsaW5nIHRvIGtlZXAgLWJhZCByZWxlYXNhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoYW5nZSBydHBtYW5hZ2VyIGRpc2FibGluZyB0byBrZWVwIC1iYWQgcmVsZWFzYWJsZS4KCjIwMDctMDQtMTggMTk6NDU6MzIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgRml4IHd0YXkncyBoYWNrLiAgcnRwbWFuYWdlciBpcyBkaXNhYmxlZCBpbiBjb25maWd1cmUuYWMgb24gbGluZSAyNjguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvTWFrZWZpbGUuYW06CgkgIEZpeCB3dGF5J3MgaGFjay4gIHJ0cG1hbmFnZXIgaXMgZGlzYWJsZWQgaW4gY29uZmlndXJlLmFjIG9uCgkgIGxpbmUgMjY4LgoKMjAwNy0wNC0xOCAxOToyNjo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9NYWtlZmlsZS5hbTogQWRkIHJ0cG1hbmFnZXIgZGlyIHRvIGRpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9NYWtlZmlsZS5hbToKCSAgQWRkIHJ0cG1hbmFnZXIgZGlyIHRvIGRpc3QuCgoyMDA3LTA0LTE4IDE4OjU4OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBEaXNhYmxlIHJ0cG1hbmFnZXIgZm9yIG5vdyBiZWNhdXNlIGl0IGRlcGVuZHMgb24gQ1ZTIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERpc2FibGUgcnRwbWFuYWdlciBmb3Igbm93IGJlY2F1c2UgaXQgZGVwZW5kcyBvbiBDVlMgLWJhc2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEFkZGVkIG5ldyBmaWxlcyBmb3Igc2Vzc2lvbiBtYW5hZ2VyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChjcmVhdGVfc3RyZWFtKSwgKHB0X21hcF9yZXF1ZXN0ZWQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgU29tZSBjbGVhbnVwcy4KCSAgdGhlIHNlc3Npb24gbWFuYWdlciBjYW4gbm93IGFsc28gcmVxdWVzdCBhIHB0LW1hcC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydGNwX3RocmVhZCksIChzdGFydF9ydGNwX3RocmVhZCksCgkgIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfdGltZSksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgV2UgY2FuIGFzayBmb3IgcHQtbWFwIG5vdyB0b28gd2hlbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyIG5lZWRzIGl0LgoJICBIb29rIHVwIHRvIHRoZSBuZXcgc2Vzc2lvbiBtYW5hZ2VyLCBpbXBsZW1lbnQgdGhlIG5lZWRlZCBjYWxsYmFja3MgZm9yCgkgIHB1c2hpbmcgZGF0YSwgZ2V0dGluZyBjbG9jayB0aW1lIGFuZCByZXF1ZXN0aW5nIGNsb2NrLXJhdGVzLgoJICBSZW5hbWUgcnRjcF9zcmMgdG8gc2VuZF9ydGNwX3NyYyB0byBtYWtlIGl0IGNsZWFyIHRoYXQgdGhpcyBSVENQIGlzIHRvCgkgIGJlIHNlbmQgdG8gY2xpZW50cy4KCSAgQWRkIGNvZGUgdG8gc3RhcnQgYW5kIHN0b3AgdGhlIHRocmVhZCB0aGF0IHdpbGwgc2NoZWR1bGUgUlRDUCB0aHJvdWdoCgkgIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLAoJICAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLCAob25fc3NyY192YWxpZGF0ZWQpLAoJICAob25fYnllX3NzcmMpLCAocnRwX3Nlc3Npb25fbmV3KSwgKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3Nlc3Npb25fc2V0X2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9ydGNwX2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9iYW5kd2lkdGgpLAoJICAoc291cmNlX3B1c2hfcnRwKSwgKHNvdXJjZV9jbG9ja19yYXRlKSwgKGNoZWNrX2NvbGxpc2lvbiksCgkgIChvYnRhaW5fc291cmNlKSwgKHJ0cF9zZXNzaW9uX2FkZF9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fZ2V0X251bV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9udW1fYWN0aXZlX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3NvdXJjZV9ieV9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9zb3VyY2VfYnlfY25hbWUpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYXBwKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9pbnRlcnZhbCksCgkgIChydHBfc2Vzc2lvbl9wcm9kdWNlX3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVGhlIGFkdmFuY2VkIGJlZ2lubmluZ3Mgb2YgdGhlIG1haW4gc2Vzc2lvbiBtYW5hZ2VyIHRoYXQgaGFuZGxlcyB0aGUKCSAgcGFydGljaXBhbnQgZGF0YWJhc2Ugb2YgUlRQU291cmNlcywgU1NSQyBwcm9iYXRpb24sIFNTUkMgY29sbGlzaW9ucywKCSAgcGFyc2UgUlRDUCB0byB1cGRhdGUgc291cmNlIHN0YXRzLiBldGMuLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfaW5pdCksIChydHBfc291cmNlX2ZpbmFsaXplKSwgKHJ0cF9zb3VyY2VfbmV3KSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X2NhbGxiYWNrcyksIChydHBfc291cmNlX3NldF9hc19jc3JjKSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X3J0cF9mcm9tKSwgKHJ0cF9zb3VyY2Vfc2V0X3J0Y3BfZnJvbSksCgkgIChwdXNoX3BhY2tldCksIChnZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX2J5ZSksCgkgIChydHBfc291cmNlX3NlbmRfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBPYmplY3QgdGhhdCBlbmNhcHN1bGF0ZXMgYW4gU1NSQyBhbmQgaXRzIHN0YXRlIGluIHRoZSBkYXRhYmFzZS4KCSAgQ2FsY3VsYXRlcyB0aGUgaml0dGVyIGFuZCB0cmFuc2l0IHRpbWVzIG9mIGRhdGEgcGFja2V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2luaXRfZGVmYXVsdHMpLAoJICAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwgKHJ0cF9zdGF0c19hZGRfcnRjcF9qaXR0ZXIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFZhcmlvdXMgc3RhdHMgcmVnYXJkaW5nIHRoZSBzZXNzaW9uIGFuZCBzb3VyY2VzLgoJICBVc2VkIHRvIGNhbGN1bGF0ZSB0aGUgUlRDUCBpbnRlcnZhbC4KCjIwMDctMDQtMTcgMTA6NTY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBwL01ha2VmaWxlLmFtOiBGaXggQ0ZMQUdTIGFuZCBob3BlZnVsbHkgIzQzMDU5NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgRml4IENGTEFHUyBhbmQgaG9wZWZ1bGx5ICM0MzA1OTQuCgoyMDA3LTA0LTE3IDA4OjQ4OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L25zZi90eXBlcy5oOiBSZW5hbWUgI2lmbmRlZiBoZWFkZXIgZ3VhcmQgc3ltYm9sIHRvIHNvbWV0aGluZyBsZXNzIGdlbmVyaWMsIHNvIHR5cGVzLmggZG9lc24ndCBnZXQgc2tpcHBlZCBvdmVyIHdoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvdHlwZXMuaDoKCSAgUmVuYW1lICNpZm5kZWYgaGVhZGVyIGd1YXJkIHN5bWJvbCB0byBzb21ldGhpbmcgbGVzcyBnZW5lcmljLCBzbwoJICB0eXBlcy5oIGRvZXNuJ3QgZ2V0IHNraXBwZWQgb3ZlciB3aGVuIGNvbXBpbGluZyBvbiBNaW5nVy4gSW5jbHVkZQoJICBHTGliIGhlYWRlcnMgYW5kIHVzZSB0aG9zZSB0byBzZXQgdGhlIGVuZGlhbm5lc3MgYW5kIHRoZSBiYXNpYwoJICB0eXBlcyBzbyB0aGF0IHRoaXMgaXNuJ3QgZW50aXJlbHkgYnJva2VuIGZvciBub24teDg2IGFyY2hpdGVjdHVyZXMuCgoyMDA3LTA0LTE3IDA4OjA0OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L212ZS9nc3RtdmVkZW11eC5jOiBVc2UgR19MSVRUTEVfRU5ESUFOIGluc3RlYWQgb2YgTElUVExFX0VORElBTiwgc28gc3R1ZmYgY29tcGlsZXMgb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOiAoZ3N0X212ZV9hdWRpb19pbml0KToKCSAgVXNlIEdfTElUVExFX0VORElBTiBpbnN0ZWFkIG9mIExJVFRMRV9FTkRJQU4sIHNvIHN0dWZmIGNvbXBpbGVzIG9uCgkgIE1pbmdXIChubyBpZGVhIHRob3VnaCB3aHkgd2UgYWRkIGEgQllURV9PUkRFUiBlbmRpYW5uZXNzIGZpZWxkIGlmCgkgIHRoZSBhdWRpbyBpcyBjb21wcmVzc2VkKS4KCjIwMDctMDQtMTYgMjI6MjA6MDMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6IEZpeCB1bnVzZWQgdmFyaWFibGUgd2FybmluZyBpZiBIQVZFX0xPQ0FMVElNRV9SIGlzIHVuZGVmaW5pZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGRvdCBmcj4KCSAgKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6IChnc3RfY2xvY2tfb3ZlcmxheV9yZW5kZXJfdGltZSk6CgkgIEZpeCB1bnVzZWQgdmFyaWFibGUgd2FybmluZyBpZiBIQVZFX0xPQ0FMVElNRV9SIGlzIHVuZGVmaW5pZWQKCSAgKiBnc3QtbGlicy9nc3QvcmlmZi9yaWZmLW1lZGlhLmM6IChnc3RfcmlmZl9jcmVhdGVfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoYXVkaW9yZXNhbXBsZV9kb19vdXRwdXQpOgoJICBVc2UgdGhlIGNvcnJlY3QgZm9ybWF0IHN0cmluZ3MgZm9yIGludGVnZXIgZm9ybWF0cy4KCjIwMDctMDQtMTQgMTc6MTg6MTQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIHhtbCBkb2MgZmlsZXMgZm9yIFdpbmRvd3Mgc2lua3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdGRyYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3Rzb3VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVmb3JtLnhtbDoKCSAgQWRkIHhtbCBkb2MgZmlsZXMgZm9yIFdpbmRvd3Mgc2lua3MKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1wZWd2aWRlb3BhcnNlLmRzcDoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgVXBkYXRlIHByb2plY3RzIGZpbGVzLgoKMjAwNy0wNC0xMyAwOToyMDo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUHJvdGVjdCBsaXN0cyBhbmQgc3RydWN0dXJlcyB3aXRoIGxvY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoZ3N0X3J0cF9iaW5faW5pdCksIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksIChuZXdfc3NyY19wYWRfZm91bmQpLAoJICAoY3JlYXRlX3JlY3ZfcnRwKSwgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICBQcm90ZWN0IGxpc3RzIGFuZCBzdHJ1Y3R1cmVzIHdpdGggbG9ja3MuCgkgIFJldHVybiBGTE9XX09LIGZyb20gUlRDUCBtZXNzYWdlcyBmb3Igbm93LgoKMjAwNy0wNC0xMiAxMDo1MjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSB0aW1lc2NhbGUgMzIgYml0cyBhZ2FpbiBzbyB3ZSBkb24ndCBzY3JldyB1cCB0aGUgcHRzX29mZnNldCBjYWxjdWxhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgTWFrZSB0aW1lc2NhbGUgMzIgYml0cyBhZ2FpbiBzbyB3ZSBkb24ndCBzY3JldyB1cCB0aGUgcHRzX29mZnNldAoJICBjYWxjdWxhdGlvbnMuCgoyMDA3LTA0LTEyIDA4OjE4OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEVtaXQgcHQgbWFwIHJlcXVlc3RzIGFuZCBjYWNoZSByZXN1bHRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoY3JlYXRlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKHB0X21hcF9yZXF1ZXN0ZWQpOgoJICBFbWl0IHB0IG1hcCByZXF1ZXN0cyBhbmQgY2FjaGUgcmVzdWx0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEVtaXQgcmVxdWVzdC1wdC1tYXAgc2lnbmFscy4KCjIwMDctMDQtMTEgMTM6NDk6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OiBTb21lIG1vcmUgY3VzdG9tIG1hcnNoYWxsZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICBTb21lIG1vcmUgY3VzdG9tIG1hcnNoYWxsZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChjbG9ja19yYXRlX3JlcXVlc3QpLCAoY3JlYXRlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKHB0X21hcF9yZXF1ZXN0ZWQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKSwgKGNyZWF0ZV9yZWN2X3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFByZXBhcmUgZm9yIGNhY2hpbmcgcHQgbWFwcy4KCSAgQ29ubmVjdCB0byBzaWduYWxzIHRvIGNvbGxlY3QgcHQgbWFwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCByZXF1ZXN0X2Nsb2NrX3JhdGUgc2lnbmFsLgoJICBVc2Ugc2NhbGUgaW5zdGVhdCBvZiBzY2FsZV9pbnQgYmVjYXVzZSB0aGUgbGF0ZXIgZG9lcyBub3QgZGVhbCB3aXRoCgkgIG5lZ2F0aXZlIG51bWJlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgSW1wbGVtZW50IHJlcXVlc3QtcHQtbWFwIHNpZ25hbC4KCjIwMDctMDQtMTEgMDk6NTM6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IEhhbmRsZSB2ZXJzaW9uIDEgbWRoZCBhdG9tcyB0byBnZXQgZXh0ZW5kZWQgcHJlY2lzaW9uIGR1cmF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyksIChxdGRlbXV4X3BhcnNlX3NlZ21lbnRzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOiAocXRkZW11eF9kdW1wX21kaGQpOgoJICBIYW5kbGUgdmVyc2lvbiAxIG1kaGQgYXRvbXMgdG8gZ2V0IGV4dGVuZGVkIHByZWNpc2lvbiBkdXJhdGlvbnMuCgkgIEZpeGVzICM0MjY5NzIuCgoyMDA3LTA0LTEwIDA5OjE0OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGRlZCBjdXN0b20gbWFyc2hhbGxlcnMgZm9yIHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyLy5jdnNpZ25vcmU6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgQWRkZWQgY3VzdG9tIG1hcnNoYWxsZXJzIGZvciBzaWduYWxzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFByZXBhcmUgZm9yIGVtaXRpbmcgcHQgbWFwIHNpZ25hbHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KToKCSAgRml4IHNpZ25hbHMuCgoyMDA3LTA0LTA2IDEyOjI4OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IFByb3ZpZGUgYSBjbG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYmluX2luaXQpLCAoZ3N0X3J0cF9iaW5fcHJvdmlkZV9jbG9jayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFByb3ZpZGUgYSBjbG9jay4KCjIwMDctMDQtMDYgMTI6MDc6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IHBhZCB0ZW1wbGF0ZSBuYW1lIHBhcnNpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3J0Y3ApOgoJICBGaXggcGFkIHRlbXBsYXRlIG5hbWUgcGFyc2luZy4KCjIwMDctMDQtMDUgMTY6MTA6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQWRkIHNvbWUgZGVidWcgYW5kIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBBZGQgc29tZSBkZWJ1ZyBhbmQgY29tbWVudHMuCgkgIEZpeCBkb3VibGUgdW5yZWYoKSBpbiBlcnJvciBjYXNlcy4KCjIwMDctMDQtMDUgMTU6MDU6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS4qOiBUcnkgdG8gcmVjb3ZlciBmcm9tIHBhY2tldCBsb3NzIGEgbGl0dGxlIGJldHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogKGdzdF9ydHBfeHF0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJICBUcnkgdG8gcmVjb3ZlciBmcm9tIHBhY2tldCBsb3NzIGEgbGl0dGxlIGJldHRlci4KCjIwMDctMDQtMDUgMTM6NTQ6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogQWRkIGRlYnVnZ2luZyBjYXRlZ29yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmaW5kX3Nlc3Npb25fYnlfaWQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZmluZF9zdHJlYW1fYnlfc3NyYyksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAobmV3X3BheWxvYWRfZm91bmQpLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKSwgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgkgIEFkZGVkIFJUUFN0cmVhbSB0byBtYW5hZ2Ugc3RyZWFtIHBlciBTU1JDLCBlYWNoIHdpdGggaXRzIG93bgoJICBqaXR0ZXJidWZmZXIgYW5kIHB0ZGVtdXguCgkgIEFkZGVkIFNTUkNEZW11eC4KCSAgQ29ubmVjdCB0byB2YXJpb3VzIFNTUkMgYW5kIFBUIHNpZ25hbHMgYW5kIGNyZWF0ZSBnaG9zdHBhZHMsIGxpbmsgc3R1ZmYuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICBBZGRlZCBydHBiaW4gdG8gZWxlbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEZpeCBjYXBzIGFuZCBmb3J3YXJkIEdzdEZsb3dSZXR1cm4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksIChjcmVhdGVfcnRjcF9zcmMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgQWRkIGV2ZW50IGhhbmRsaW5nCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX3J0cF9wYWRfZm9yX3NzcmMpLAoJICAoY3JlYXRlX3J0cF9wYWRfZm9yX3NzcmMpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBZGQgZGVidWcgY2F0ZWdvcnkuCgkgIEFkZCBuZXctcHQtcGFkIHNpZ25hbC4KCjIwMDctMDQtMDUgMTM6NDk6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vbmwucG86CgkgIHVwZGF0ZSBkdXRjaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGR1dGNoCgoyMDA3LTA0LTA1IDEzOjQ1OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogQWRkZWQgRGFuaXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc3VibWl0dGVkIGJ5OiBNb2dlbnMgSmFlZ2VyIDxtb2dlbnNAamFlZ2VyLnRmPgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vZGEucG86CgkgIEFkZGVkIERhbmlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDQtMDQgMTA6MjM6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZGVkIHNpbXBsZSBTU1JDIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGZpbmRfcGFkX2Zvcl9zc3JjKSwKCSAgKGNyZWF0ZV9wYWRfZm9yX3NzcmMpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfZmluYWxpemUpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEFkZGVkIHNpbXBsZSBTU1JDIGRlbXV4ZXIuCgoyMDA3LTA0LTA0IDA3OjM2OjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IFRyeSB0IGJldHRlciBuYW1lIGNsaWVudHMuIHByb3Blcmx5IGhhbmRsZSByZXR1cm4gY29kZXMgd2hlbiByZS0gZXN0YWJsaXNoaW5nIGxpbmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgVHJ5IHQgYmV0dGVyIG5hbWUgY2xpZW50cy4gcHJvcGVybHkgaGFuZGxlIHJldHVybiBjb2RlcyB3aGVuIHJlLQoJICBlc3RhYmxpc2hpbmcgbGlua3MuCgoyMDA3LTA0LTAzIDIyOjM2OjQ3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogRml4IGhhbmRsaW5nIG9mIHZpZGVvL3gtcmF3LXl1di4gIEFkZCBvdmVybGF5IGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgIEZpeCBoYW5kbGluZyBvZiB2aWRlby94LXJhdy15dXYuICBBZGQgb3ZlcmxheSBoYW5kbGluZy4KCjIwMDctMDQtMDMgMTM6Mjc6MjEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgd2l0aCBydHAgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgd2l0aCBydHAgcGx1Z2luCgoyMDA3LTA0LTAzIDExOjM1OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBTb21lIG1vcmUgZ2hvc3RwYWQgbWFnaWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZmluZF9zZXNzaW9uX2J5X2lkKSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2Jhc2VfaW5pdCksIChjcmVhdGVfcmVjdl9ydHApLAoJICAoY3JlYXRlX3JlY3ZfcnRjcCksIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgU29tZSBtb3JlIGdob3N0cGFkIG1hZ2ljLgoKMjAwNy0wNC0wMyAwOTo1MToxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOiBBZGQgLmggZmlsZSBzbyBpdCBjYW4gYmUgZGlzdGVkIHByb3Blcmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgQWRkIC5oIGZpbGUgc28gaXQgY2FuIGJlIGRpc3RlZCBwcm9wZXJseS4KCjIwMDctMDQtMDMgMDk6MTM6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGQgUlRQIHNlc3Npb24gbWFuYWdlbWVudCBlbGVtZW50cy4gU3RpbGwgaW4gcHJvZ3Jlc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogKGFzeW5jX2ppdHRlcl9xdWV1ZV9uZXcpLAoJICAoc2lnbmFsX3dhaXRpbmdfdGhyZWFkcyksIChhc3luY19qaXR0ZXJfcXVldWVfcmVmKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWZfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9sb3dfdGhyZXNob2xkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfaGlnaF90aHJlc2hvbGQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9tYXhfcXVldWVfbGVuZ3RoKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9nZXRfZ19xdWV1ZSksIChjYWxjdWxhdGVfdHNfZGlmZiksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3RzX3VuaXRzX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZl9hbmRfdW5sb2NrKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZiksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfbG9jayksIChhc3luY19qaXR0ZXJfcXVldWVfdW5sb2NrKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWRfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2luc2VydF9hZnRlcl91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcG9wX2ludGVybl91bmxvY2tlZCksIChhc3luY19qaXR0ZXJfcXVldWVfcG9wKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfdW5sb2NrZWQpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfZmx1c2hpbmdfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3Vuc2V0X2ZsdXNoaW5nX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfYmxvY2tpbmdfdW5sb2NrZWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5faW5pdCksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAobmV3X3BhZCksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGZyZWVfc3RyZWFtKSwgKGZpbmRfc3RyZWFtX2J5X3NzcmMpLCAoZ3N0X3J0cF9jbGllbnRfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfY2xpZW50X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9jbGllbnRfaW5pdCksCgkgIChnc3RfcnRwX2NsaWVudF9maW5hbGl6ZSksIChnc3RfcnRwX2NsaWVudF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9jbGllbnRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfY2xpZW50X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2NsaWVudF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3J0cF9jbGllbnRfcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZGlzcG9zZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0Y2FwcyksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLCAoZnJlZV9mdW5jKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc3JjX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChwcml2X2NvbXBhcmVfcnRwX3NlcV9sdCksCgkgIChjb21wYXJlX3J0cF9idWZmZXJzX3NlcV9udW0pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9wdF9kZW11eF9pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfZmluYWxpemUpLCAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2dldGNhcHMpLCAoZmluZF9wYWRfZm9yX3B0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfc2V0dXApLCAoZ3N0X3J0cF9wdF9kZW11eF9yZWxlYXNlKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLCAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksIChjcmVhdGVfcnRjcF9zcmMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIFJUUCBzZXNzaW9uIG1hbmFnZW1lbnQgZWxlbWVudHMuIFN0aWxsIGluIHByb2dyZXNzLgoKMjAwNy0wMy0zMCAwNDo1MDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBEb24ndCBwbGF5IGF1ZGlvY29udmVydC4gQXMgd2F2cGFjayB3YW50cy9vdXRwdXRzIGFsbCBzYW1wbGVzIHdpdGggd2lkdGg9PTMyIGFuZCBkZXB0aD1bMSwzMl0gYWNjZXB0IHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc2lua19zZXRfY2FwcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3Bvc3RfdGFncyksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIERvbid0IHBsYXkgYXVkaW9jb252ZXJ0LiBBcyB3YXZwYWNrIHdhbnRzL291dHB1dHMgYWxsIHNhbXBsZXMgd2l0aAoJICB3aWR0aD09MzIgYW5kIGRlcHRoPVsxLDMyXSBhY2NlcHQgdGhpcyBhbmQgbGV0IGF1ZGlvY29udmVydCBjb252ZXJ0CgkgIHRvIGFjY2VwdGVkIGZvcm1hdHMgaW5zdGVhZCBvZiBkb2luZyBpdCBpbiB0aGUgZWxlbWVudCBmb3Igbio4IGRlcHRocy4KCSAgVGhpcyBhbHNvIGFkZHMgc3VwcG9ydCBmb3Igbm9uLW4qOCBkZXB0aHMgYW5kIHByZXZlbnRzIHNvbWUgdXNlbGVzcwoJICBtZW1vcnkgYWxsb2NhdGlvbnMuIEZpeGVzICM0MjE1OTgKCSAgQWxzbyBhZGQgYSB3b3JrYXJvdW5kIGZvciBidWcgIzQyMTU0MiBpbiB3YXZwYWNrZW5jIGZvciBub3cuLi4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBDb25zaWRlciB0aGUgY2hhbmdlIGFib3ZlIGluIHRoZSB1bml0IHRlc3RzIGFuZCB0ZXN0IGlmIHRoZSBjb3JyZWN0CgkgIGNhcHMgYXJlIGFjY2VwdGVkIGFuZCBzZXQuIEFsc28gY2hlY2sgZm9yIEdTVF9CVUZGRVJfT0ZGU0VUX0VORCBpbgoJICB0aGUgd2F2cGFja3BhcnNlIHVuaXQgdGVzdC4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19zZXRfY2Fwcyk6CgkgIFNldCBjYXBzIG9uIHRoZSBzcmMgcGFkIGFzIHNvb24gYXMgcG9zc2libGUuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEZpeCBpbmRlbnRpb24uIGdzdC1pbmRlbnQgaXMgbm93IGNhbGxlZCBieSBjaWNsLgoKMjAwNy0wMy0yOCAxNToxNzoyNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogUHJvY2VzcyAnY3R0cycgYXRvbXMsIHdoaWNoIGFyZSBwcmVzZW50IGluIEFWQyBJU08gZmlsZXMgKC5tb3YgZmlsZXMgd2l0aCBoMjY0IHZpZGVvKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOiAocXRkZW11eF9kdW1wX2N0dHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBQcm9jZXNzICdjdHRzJyBhdG9tcywgd2hpY2ggYXJlIHByZXNlbnQgaW4gQVZDIElTTyBmaWxlcyAoLm1vdiBmaWxlcwoJICB3aXRoIGgyNjQgdmlkZW8pLgoJICBVc2UgdGhlIG9mZnNldCBwcmVzZW50IGluICdjdHRzJyB0byBjYWxjdWxhdGUgdGhlIFBUUyBmb3IgZWFjaCBwYWNrZXQKCSAgYW5kIHNldCB0aGUgUFRTIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIEZpeGVzICM0MjMyODMKCjIwMDctMDMtMjcgMTg6MDA6NTYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiBBZGQgc29tZSBkZWJ1ZyBsb2cgYW5kIGZpeCBhIHN0dXBpZCBvdXRwdXQgYnVmZmVyIGR1cmF0aW9uIGJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDMtMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6IChnc3RfeHZpZGRlY19jaGFpbik6IEFkZCBzb21lCgkgIGRlYnVnIGxvZyBhbmQgZml4IGEgc3R1cGlkIG91dHB1dCBidWZmZXIgZHVyYXRpb24gYnVnLgoKMjAwNy0wMy0yNiAxNDo0OTo0NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSBmb3IgeDI2NCBlbmNvZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIGZvciB4MjY0IGVuY29kZXIKCjIwMDctMDMtMjUgMTM6MDY6MjYgKzAwMDAgIE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQGl0b25pcy50dj4KCgkgIEFkZCBsaWJ4MjY0LWJhc2VkIGgyNjQgZW5jb2RlciBwbHVnaW4gKCM0MjExMTApLiBQcm9iYWJseSBkb2Vzbid0IGhhbmRsZSAnb2RkJyB3aWR0aHMgYW5kIGhlaWdodHMgY29ycmVjdGx5IHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lcyBhdCBpdG9uaXMgdHY+CgkgIFBhdGNoIGJ5OiBKb3NlZiBabG9tZWsgPGpvc2VmLnpsb21layBhdCBpdG9uaXMgdHY+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfbWVfZ2V0X3R5cGUpLAoJICAoZ3N0X3gyNjRfZW5jX2FuYWx5c2VfZ2V0X3R5cGUpLAoJICAoZ3N0X3gyNjRfZW5jX3RpbWVzdGFtcF9xdWV1ZV9pbml0KSwKCSAgKGdzdF94MjY0X2VuY190aW1lc3RhbXBfcXVldWVfZnJlZSksCgkgIChnc3RfeDI2NF9lbmNfdGltZXN0YW1wX3F1ZXVlX3B1dCksCgkgIChnc3RfeDI2NF9lbmNfdGltZXN0YW1wX3F1ZXVlX2dldCksIChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksCgkgIChnc3RfeDI2NF9lbmNfc2V0X3NyY19jYXBzKSwgKGdzdF94MjY0X2VuY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF94MjY0X2VuY19iYXNlX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2RlciksCgkgIChnc3RfeDI2NF9lbmNfY2xvc2VfZW5jb2RlciksIChnc3RfeDI2NF9lbmNfZGlzcG9zZSksCgkgIChnc3RfeDI2NF9lbmNfc2lua19ldmVudCksIChnc3RfeDI2NF9lbmNfY2hhaW4pLAoJICAoZ3N0X3gyNjRfZW5jX2VuY29kZV9mcmFtZSksIChnc3RfeDI2NF9lbmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF94MjY0X2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3gyNjRfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICBBZGQgbGlieDI2NC1iYXNlZCBoMjY0IGVuY29kZXIgcGx1Z2luICgjNDIxMTEwKS4gUHJvYmFibHkgZG9lc24ndAoJICBoYW5kbGUgJ29kZCcgd2lkdGhzIGFuZCBoZWlnaHRzIGNvcnJlY3RseSB5ZXQuCgoyMDA3LTAzLTI0IDE5OjQ2OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IFJlbW92ZSAnY2hhbm5lbC1wb3NpdGlvbnMnIGZpZWxkIHdoZW4gbXVuZ2luZyBpbnB1dCBjYXBzIGludG8gMS1jaGFubmVsIG91dHB1dCBjYXBzIChJLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpOgoJICBSZW1vdmUgJ2NoYW5uZWwtcG9zaXRpb25zJyBmaWVsZCB3aGVuIG11bmdpbmcgaW5wdXQgY2FwcyBpbnRvCgkgIDEtY2hhbm5lbCBvdXRwdXQgY2FwcyAoSSBndWVzcyB0ZWNobmljYWxseSB3ZSBzaG91bGQgc2V0IHRoZQoJICBwb3NpdGlvbiBmb3IgZWFjaCBjaGFubmVsIG9uIHRoZSBvdXRwdXQgY2FwcyBpZiBpdCdzIG5vbi1OT05FLAoJICBidXQgSSdsbCBzYXZlIHRoYXQgYXMgYSB0YXNrIGZvciBhbm90aGVyIGRheSkuCgoyMDA3LTAzLTIzIDE4OjQxOjUyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3Qvdm1uYy92bW5jZGVjLmM6IFJlZGVzaWduIHRvIGluY2x1ZGUgYSBwYXJzZXIgZm9yIHJhdyBmaWxlcyAobm8gdGltZXN0YW1wcyBpbiB0aGF0IG1vZGUgeWV0LCB0aG91Z2gpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvdm1uYy92bW5jZGVjLmM6IChnc3Rfdm1uY19kZWNfY2xhc3NfaW5pdCksCgkgIChnc3Rfdm1uY19kZWNfaW5pdCksICh2bW5jX2RlY19maW5hbGl6ZSksIChnc3Rfdm1uY19kZWNfcmVzZXQpLAoJICAodm1uY19oYW5kbGVfd212aV9yZWN0YW5nbGUpLCAocmVuZGVyX2NvbG91cl9jdXJzb3IpLAoJICAocmVuZGVyX2N1cnNvciksICh2bW5jX21ha2VfYnVmZmVyKSwgKHZtbmNfaGFuZGxlX3dtdmRfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmVfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3dtdmZfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmdfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3dtdmhfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmpfcmVjdGFuZ2xlKSwgKHJlbmRlcl9yYXdfdGlsZSksIChyZW5kZXJfc3VicmVjdCksCgkgICh2bW5jX2hhbmRsZV9yYXdfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX2NvcHlfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX2hleHRpbGVfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3BhY2tldCksCgkgICh2bW5jX2RlY19zZXRjYXBzKSwgKHZtbmNfZGVjX2NoYWluX2ZyYW1lKSwgKHZtbmNfZGVjX2NoYWluKSwKCSAgKHZtbmNfZGVjX3NldF9wcm9wZXJ0eSksICh2bW5jX2RlY19nZXRfcHJvcGVydHkpOgoJICBSZWRlc2lnbiB0byBpbmNsdWRlIGEgcGFyc2VyIGZvciByYXcgZmlsZXMgKG5vIHRpbWVzdGFtcHMgaW4gdGhhdAoJICBtb2RlIHlldCwgdGhvdWdoKS4KCjIwMDctMDMtMjIgMjI6MTQ6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb247IG1haW50YWluIG91ciBvd24gbGlzdCBvZiBzb3VyY2UgcGFkcyAtIHRoZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3JlbW92ZV9wYWRzKSwgKGdzdF9kZWludGVybGVhdmVfcHJvY2VzcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NoYWluKToKCSAgRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb247IG1haW50YWluIG91ciBvd24gbGlzdCBvZgoJICBzb3VyY2UgcGFkcyAtIHRoZXJlIGFyZSBubyBndWFyYW50ZWVzIGFib3V0IHRoZSBvcmRlciBvZiB0aGUgbGlzdAoJICBpbiB0aGUgR3N0RWxlbWVudCBzdHJ1Y3QsIGFuZCB3ZSB3YW50IGEgdmVyeSBzcGVjaWZpYyBvcmRlcjsgbGFzdGx5LAoJICBzb21lIG1vcmUgZGVidWdnaW5nLgoKMjAwNy0wMy0yMiAyMTowNzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IEFsbG9jIHVzZXIgYWdlbnQgc3RyaW5nIG9ubHkgb25jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfaW5pdCk6CgkgIEFsbG9jIHVzZXIgYWdlbnQgc3RyaW5nIG9ubHkgb25jZS4KCjIwMDctMDMtMjIgMTY6MjU6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBSZXZlcnQgbGFzdCBjb21taXQsIHByZXZlbnRpbmcgaW5maW5pdGUgcGx1Z2dpbmcgbG9vcHMgd2l0aCByYW5rcyBpcyBubyBjbGVhbiBzb2x1dGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgUmV2ZXJ0IGxhc3QgY29tbWl0LCBwcmV2ZW50aW5nIGluZmluaXRlIHBsdWdnaW5nIGxvb3BzIHdpdGggcmFua3MKCSAgaXMgbm8gY2xlYW4gc29sdXRpb24gYW5kIGluIGdlbmVyYWwgdGhlcmUncyBubyByZWFzb24gd2h5IG9uZSB3YW50cwoJICB0byBwYXJzZSBmcmFtZWQgd2F2cGFjayBkYXRhIGFnYWluLgoKMjAwNy0wMy0yMiAxNTo1Mjo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBTZW5kIHRoZSBuZXcgc2VnbWVudCBldmVudCBpbiB0aW1lIGZvcm1hdCBpbnN0ZWFkIG9mIGJ5dGVzLiBUaGlzIGFsbG93cyAid2F2cGFja2VuYyAhIHdhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKToKCSAgU2VuZCB0aGUgbmV3IHNlZ21lbnQgZXZlbnQgaW4gdGltZSBmb3JtYXQgaW5zdGVhZCBvZiBieXRlcy4gVGhpcwoJICBhbGxvd3MgIndhdnBhY2tlbmMgISB3YXZwYWNrZGVjICEgc29tZWF1ZGlvc2luayIgcGlwZWxpbmVzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBBY2NlcHQgZnJhbWVkIGFuZCBub24tZnJhbWVkIGlucHV0LCB3YXZwYWNrcGFyc2UgZG9lc24ndCBjYXJlLiBUbwoJICBwcmV2ZW50ICJ3YXZwYWNrcGFyc2UgISB3YXZwYWNrcGFyc2UgISAuLi4iIHBpcGVsaW5lcyBsb3dlciB0aGUKCSAgcmFuayBvZiB3YXZwYWNrcGFyc2UgYnkgb25lLiBUaGlzIGFsbG93cyAid2F2cGFja2VuYyAhIHdhdnBhY2twYXJzZSAhCgkgIC4uLiIgcGlwZWxpbmVzLgoKMjAwNy0wMy0yMiAxNDozNzowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOiBVc2UgR1NUX0FMTF9MREZMQUdTLCB3aGljaCBhY3R1YWxseSBleGlzdHMsIGJ1dCBtYXliZSBEYXZpZCBjYW4gY29uZmlybSB0aGF0IHdhcyB3aGF0IGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgVXNlIEdTVF9BTExfTERGTEFHUywgd2hpY2ggYWN0dWFsbHkgZXhpc3RzLCBidXQgbWF5YmUgRGF2aWQKCSAgY2FuIGNvbmZpcm0gdGhhdCB3YXMgd2hhdCBoZSB3YW50ZWQuCgoyMDA3LTAzLTIyIDExOjA4OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IFJldmVydCB0byB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBoZXJlLiBXZSBjYW4gYW5kIHNob3VsZCB1c2UgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIFJldmVydCB0byB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBoZXJlLiBXZSBjYW4gYW5kIHNob3VsZCB1c2UgaXQuCgkgIFRoYW5rcyB0byBKYW4gYW5kIE1pa2UgZm9yIG5vdGljaW5nIG15IG1pc3Rha2UuCgoyMDA3LTAzLTIyIDAwOjE3OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IFB1dCB0aGUgd3JpdGUgaGVscGVycyBpbnRvIHRoZSBHc3RXYXZwYWNrRW5jIHN0cnVjdCBkaXJlY3RseSBhbmQgbm90IGFzIGEgcG9pbnRlciB0byBzYXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIFB1dCB0aGUgd3JpdGUgaGVscGVycyBpbnRvIHRoZSBHc3RXYXZwYWNrRW5jIHN0cnVjdCBkaXJlY3RseSBhbmQgbm90CgkgIGFzIGEgcG9pbnRlciB0byBzYXZlIHR3byBzbWFsbCwgYnV0IHVzZWxlc3MgbWFsbG9jcy4gVGhpcyBhbHNvIG1ha2VzCgkgIGl0IHBvc3NpYmxlIHRvIGRyb3AgdGhlIGZpbmFsaXplIG1ldGhvZC4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKToKCSAgRm9yIGNvbnNpc3RlbmN5IHJlYXNvbnMgYWxzbyBzZXQgR1NUX0JVRkZFUl9PRkZTRVRfRU5EIG9uIHRoZSBvdXRnb2luZwoJICBidWZmZXJzIHRoZSBzYW1lIHdheSB3YXZwYWNrZW5jIGRvZXMgaXQuCgoyMDA3LTAzLTIxIDIzOjUwOjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IERvbid0IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFzIHdlIG1pZ2h0IGNsaXAgdGhlIGJ1ZmZlciBsYXRlciBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgRG9uJ3QgdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgYXMgd2UgbWlnaHQgY2xpcCB0aGUgYnVmZmVyIGxhdGVyIGFuZAoJICBCYXNlVHJhbnNmb3JtLWJhc2VkIGVsZW1lbnRzIHdpbGwgbGlrZWx5IGJyZWFrIGJlY2F1c2Ugb2Ygd3JvbmcKCSAgdW5pdC1zaXplLiBBbHNvIHBsdWcgYSBwb3NzaWJsZSBtZW1sZWFrIHRoYXQgaGFwcGVucyB3aGVuIGRlY29kaW5nCgkgIGZhaWxzIGZvciBzb21lIHJlYXNvbi4KCjIwMDctMDMtMTggMTc6NTc6NDggKzAwMDAgIFBhdWwgRGF2aXMgPHBhdWxAbGludXhhdWRpb3N5c3RlbXMuY29tPgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6IERvbid0IG5lZWQgdG8gdGFrZSB0aGUgY29ubmVjdGlvbiBsb2NrLCBpdCB3aWxsIG5vdCBiZSB1c2VkIGFuZCBjb3VsZCBjYXVzZSBkZWFkbG9ja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogUGF1bCBEYXZpcyA8cGF1bCBhdCBsaW51eGF1ZGlvc3lzdGVtcyBkb3QgY29tPgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOiAoZ3N0X2phY2tfYXVkaW9fdW5yZWZfY29ubmVjdGlvbik6CgkgIERvbid0IG5lZWQgdG8gdGFrZSB0aGUgY29ubmVjdGlvbiBsb2NrLCBpdCB3aWxsIG5vdCBiZSB1c2VkIGFuZCBjb3VsZAoJICBjYXVzZSBkZWFkbG9ja3MuCgoyMDA3LTAzLTE2IDE4OjM4OjE4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOiBGaXggcHJldmlvdXMgY29tbWl0LCB3ZSB3YW50IHRvIHBhc3MgdGhlIE5TVmlldyBpbiB0aGUgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggcHJldmlvdXMgY29tbWl0LCB3ZSB3YW50IHRvIHBhc3MgdGhlIE5TVmlldyBpbiB0aGUgbWVzc2FnZS4KCjIwMDctMDMtMTYgMTY6Mjc6MjAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06IEVtaXQgJ2hhdmUtbnMtdmlldycgbWVzc2FnZSB3aGVuIHdvcmtpbmcgaW4gZW1iZWRkZWQgbW9kZS4gVGhlIG1lc3NhZ2Ugd2lsbCBjb250YWluIGEgcG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBFbWl0ICdoYXZlLW5zLXZpZXcnIG1lc3NhZ2Ugd2hlbiB3b3JraW5nIGluIGVtYmVkZGVkIG1vZGUuIFRoZSBtZXNzYWdlCgkgIHdpbGwgY29udGFpbiBhIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGNyZWF0ZWQgTlNWaWV3LgoKMjAwNy0wMy0xNiAxMToyMjo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvOiBNb3ZlIHRoZSBNUEVHIHNwZWNpZmljIGJ5dGUgcGFyc2luZyBpbnRvIHRoZSBtcGVncGFja2V0aXNlciBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzogKG1wZWdfdXRpbF9maW5kX3N0YXJ0X2NvZGUpLAoJICAoY29sbGVjdF9wYWNrZXRzKSwgKHNldF9wYXJfZnJvbV9kYXIpLCAoc2V0X2Zwc19mcm9tX2NvZGUpLAoJICAobXBlZ191dGlsX3BhcnNlX2V4dGVuc2lvbl9wYWNrZXQpLCAobXBlZ191dGlsX3BhcnNlX3NlcXVlbmNlX2hkciksCgkgIChtcGVnX3V0aWxfcGFyc2VfcGljdHVyZV9oZHIpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICAobXBlZ3ZpZGVvcGFyc2VfaGFuZGxlX3NlcXVlbmNlKSwgKG1wZWd2aWRlb3BhcnNlX2hhbmRsZV9waWN0dXJlKSwKCSAgKG1wZWd2aWRlb3BhcnNlX2RyYWluX2F2YWlsKSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbiksCgkgIChtcHZfcGFyc2Vfc2lua19ldmVudCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgIE1vdmUgdGhlIE1QRUcgc3BlY2lmaWMgYnl0ZSBwYXJzaW5nIGludG8gdGhlIG1wZWdwYWNrZXRpc2VyIGNvZGUuCgkgIEFkZCBwYXJzaW5nIG9mIHBpY3R1cmUgdHlwZXMsIHRoYXQganVzdCBmZWVkcyBpbnRvIGEgZGVidWcgbWVzc2FnZQoJICBmb3Igbm93LgoJICBGaXggc29tZSA2NC1iaXQgZm9ybWF0IHN0cmluZ3MuCgoyMDA3LTAzLTE2IDEwOjE1OjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZWxvZyBzdXJnZXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeQoKMjAwNy0wMy0xNiAwOTo1Nzo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6IEEgMTAgYmFuZCBFUSBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgdG8gMSBiYW5kcyBhbmQgbm90IHRvIDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19pbml0KToKCSAgQSAxMCBiYW5kIEVRIHNob3VsZCBiZSBpbml0aWFsaXplZCB0byAxIGJhbmRzIGFuZCBub3QgdG8gMy4KCjIwMDctMDMtMTUgMjA6NDg6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUG9ydCBtcGVnMXZpZGVvcGFyc2UgdG8gMC4xMCBhbmQgZ2l2ZSBpdCByYW5rIFNFQ09OREFSWS0xLCBzbyB0aGF0IGl0J3MgYmVsb3cgZXhpc3RpbmcgZGVjb2RlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvbXAxdmlkZW9wYXJzZS52Y3Byb2o6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOiAobXBlZ19wYWNrZXRpc2VyX2luaXQpLAoJICAobXBlZ19wYWNrZXRpc2VyX2ZyZWUpLCAobXBlZ19wYWNrZXRpc2VyX2FkZF9idWYpLAoJICAobXBlZ19wYWNrZXRpc2VyX2ZsdXNoKSwgKG1wZWdfZmluZF9zdGFydF9jb2RlKSwKCSAgKGdldF9uZXh0X2ZyZWVfYmxvY2spLCAoY29tcGxldGVfY3VycmVudF9ibG9jayksCgkgIChhcHBlbmRfdG9fY3VycmVudF9ibG9jayksIChzdGFydF9uZXdfYmxvY2spLCAoaGFuZGxlX3BhY2tldCksCgkgIChjb2xsZWN0X3BhY2tldHMpLCAobXBlZ19wYWNrZXRpc2VyX2hhbmRsZV9lb3MpLAoJICAobXBlZ19wYWNrZXRpc2VyX2dldF9ibG9jayksIChtcGVnX3BhY2tldGlzZXJfbmV4dF9ibG9jayk6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IChtcGVndmlkZW9wYXJzZV9nZXRfdHlwZSksCgkgIChnc3RfbXBlZ3ZpZGVvcGFyc2VfYmFzZV9pbml0KSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jbGFzc19pbml0KSwKCSAgKG1wdl9wYXJzZV9yZXNldCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfaW5pdCksCgkgIChnc3RfbXBlZ3ZpZGVvcGFyc2VfZGlzcG9zZSksIChzZXRfcGFyX2Zyb21fZGFyKSwKCSAgKHNldF9mcHNfZnJvbV9jb2RlKSwgKG1wZWd2aWRlb3BhcnNlX3BhcnNlX3NlcSksCgkgIChnc3RfbXBlZ3ZpZGVvcGFyc2VfdGltZV9jb2RlKSwgKGdzdF9tcGVndmlkZW9wYXJzZV9mbHVzaCksCgkgIChtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW4pLAoJICAobXB2X3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLnZjcHJvajoKCSAgUG9ydCBtcGVnMXZpZGVvcGFyc2UgdG8gMC4xMCBhbmQgZ2l2ZSBpdCByYW5rIFNFQ09OREFSWS0xLCBzbwoJICB0aGF0IGl0J3MgYmVsb3cgZXhpc3RpbmcgZGVjb2RlcnMuCgkgIFJlbmFtZSBpdCB0byBtcGVndmlkZW9wYXJzZSB0byByZWZsZWN0IHRoYXQgaXQgaGFuZGxlcyBNUEVHLTEgYW5kCgkgIE1QRUctMiBub3cuCgkgIFJlLXdyaXRlIHRoZSBwYXJzaW5nIGNvZGUgc28gdGhhdCBpdCBjb2xsZWN0cyBwYWNrZXRzIGRpZmZlcmVudGx5CgkgIGFuZCB0aW1lc3RhbXBzIFBpY3R1cmUgcGFja2V0cyBjb3JyZWN0bHkuCgkgIEFkZCBhIGxpc3Qgb2YgRklYTUUncyBhdCB0aGUgdG9wLgoKMjAwNy0wMy0xNSAxMDo1MjoyMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBEb24ndCB0cmlnZ2VyIGRpc2NvbnRpbnVpdGllcyBmb3IgdmVyeSBzbWFsbCBpbXBlcmZlY3Rpb25zOyBhIGZpbHRlciBmbHVzaCB3aWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGF1ZGlvcmVzYW1wbGVfY2hlY2tfZGlzY29udCksIChhdWRpb3Jlc2FtcGxlX3RyYW5zZm9ybSk6CgkgIERvbid0IHRyaWdnZXIgZGlzY29udGludWl0aWVzIGZvciB2ZXJ5IHNtYWxsIGltcGVyZmVjdGlvbnM7IGEgZmlsdGVyCgkgIGZsdXNoIHdpbGwgc291bmQgYmFkLCBhbmQgbWFueSBwbHVnaW5zIGhhdmUgcm91bmRpbmcgZXJyb3JzIGxlYWRpbmcKCSAgdG8gdGhlc2UuCgoyMDA3LTAzLTE0IDE3OjE2OjMwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogSGFuZGxlIGRpc2NvbnRpbnVvdXMgc3RyZWFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDMtMTQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KSwKCSAgKGF1ZGlvcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLCAoYXVkaW9yZXNhbXBsZV9kb19vdXRwdXQpLAoJICAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm0pLCAoYXVkaW9yZXNhbXBsZV9wdXNodGhyb3VnaCk6IEhhbmRsZQoJICBkaXNjb250aW51b3VzIHN0cmVhbXMuCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgKHRlc3RfZGlzY29udF9zdHJlYW1faW5zdGFuY2UpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXVkaW9yZXNhbXBsZV9zdWl0ZSk6IEFkZCBhIHRlc3QgZm9yIGRpc2NvbnRpbnVvdXMgc3RyZWFtcy4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6IFVwZGF0ZWQuCgoyMDA3LTAzLTE0IDE2OjMzOjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiBQb3J0IHRoZSBleGFtcGxlIHRvIG5ldyBlcXVhbGl6ZXIgYXBpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlKSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZV9hbmRfd2FpdCksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlc19hbmRfd2FpdCksIChkb19zbGlkZXJfZmlkZGxpbmcpLAoJICAobWFpbik6CgkgIFBvcnQgdGhlIGV4YW1wbGUgdG8gbmV3IGVxdWFsaXplciBhcGkuCgoyMDA3LTAzLTE0IDE2OjMwOjE5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvLzogRml4IGxlYWtzIHdoZW4gcnVubmluZyBhIE5TQXBwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggbGVha3Mgd2hlbiBydW5uaW5nIGEgTlNBcHAuCgkgIEFjY2VwdCBhbnkga2luZCBvZiByZXNvbHV0aW9ucy4KCSAgV29ya3MgaW4gZnVsbHNjcmVlbi4gQ2FuIG1heGltaXplLgoJICBPbmx5IHRoaW5nIGxlZnQgYmVmb3JlIGJlaW5nIGFibGUgdG8gbW92ZSB0aGlzIHRvIC1nb29kIGlzIGRvY3VtZW50YXRpb24KCSAgYW5kIGVtYmVkZGVkIHdpbmRvdyBzdXBwb3J0LgoKMjAwNy0wMy0xNCAxNTozMzoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9odS5wbzoKCSAgKiBwby9pdC5wbzoKCSAgKiBwby9zdi5wbzoKCSAgVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgoyMDA3LTAzLTE0IDE0OjQ4OjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlLzogU2luY2UgSSByZWFsbHkgYW0gbm90IGludGVyZXN0ZWQgaW4gYSBkZWJ1ZyBsaW5lIGZvciBlYWNoIHNhbXBsZSBiZWluZyBwcm9jZXNzZWQsIG1vdmUgdGhlIGxpYnJhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9kZWJ1Zy5oOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6IChyZXNhbXBsZV9pbml0KToKCSAgU2luY2UgSSByZWFsbHkgYW0gbm90IGludGVyZXN0ZWQgaW4gYSBkZWJ1ZyBsaW5lIGZvciBlYWNoIHNhbXBsZQoJICBiZWluZyBwcm9jZXNzZWQsIG1vdmUgdGhlIGxpYnJhcnkncyBkZWJ1Z2dpbmcgdG8gaXRzIG93biBjYXRlZ29yeSwKCSAgbGliYXVkaW9yZXNhbXBsZQoKMjAwNy0wMy0xNCAxNDo0ODowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEFkZCAzIGFuZCAxMCBiYW5kIHZlcnNpb24gYW5kIGFkZCBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKF9kb19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCk6CgkgIEFkZCAzIGFuZCAxMCBiYW5kIHZlcnNpb24gYW5kIGFkZCBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fZXZlbnQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEFkZCBzb21lIGNvbW1lbnRzIGFib3V0IGZsb2F0IHN1cHBvcnQuCgoyMDA3LTAzLTE0IDE0OjA5OjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgYWRkIGRlYnVnZ2luZyBhbmQgcmVmb3JtYXQgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGRlYnVnZ2luZyBhbmQgcmVmb3JtYXQgZG9jcwoKMjAwNy0wMy0xMyAxODowMTo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbXBlZ2F1ZGlvcGFyc2UvOiBSZW1vdmUgYm9ndXMgMm5kIGNvcHkgb2YgbXAzcGFyc2UgLSBpdCdzIGFjdHVhbGx5IGluIC11Z2x5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL21wZWdhdWRpb3BhcnNlLnZjcHJvajoKCSAgUmVtb3ZlIGJvZ3VzIDJuZCBjb3B5IG9mIG1wM3BhcnNlIC0gaXQncyBhY3R1YWxseQoJICBpbiAtdWdseS4KCjIwMDctMDMtMTIgMTE6NDc6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6IFRoZSBidWlsZGJvdCBkZW1hbmRzIC5jdnNpZ25vcmUgZmlsZXMsIGFuZCBJIGNvbXBseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6CgkgIFRoZSBidWlsZGJvdCBkZW1hbmRzIC5jdnNpZ25vcmUgZmlsZXMsIGFuZCBJIGNvbXBseS4KCjIwMDctMDMtMTEgMjI6MjM6MDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgSGFuZGxlIGRpc3BsYXkgbW9kZSBjaGFuZ2VzIGR1cmluZyBwbGF5YmFjay4KCjIwMDctMDMtMTEgMDA6NDg6MjYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgQWRkIGFwcHNyYy9hcHBzaW5rIGV4YW1wbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICBBZGQgYXBwc3JjL2FwcHNpbmsgZXhhbXBsZS4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkgICogZ3N0L2FwcC9nc3RhcHAuYzoKCSAgQWRkIGFwcHNpbmsuCgoyMDA3LTAzLTEwIDIwOjEwOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0LzogUHJpbnRmIGZvcm1hdCBzdHJpbmcgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoTkFTX2NyZWF0ZUZsb3cpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6IChnc3Rfc2Zfc3JjX2NyZWF0ZSk6CgkgIFByaW50ZiBmb3JtYXQgc3RyaW5nIGZpeGVzLgoKMjAwNy0wMy0wOSAwODo1ODoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IFJlZmFjdG9yIHBsdWdpbiBpbnRvIGEgYmFzZSBjbGFzcyBhbmQgYSBmaXJzdCBzdWJjbGFzcyAobmJhbmQgZXEpLiBUaGUgbmJhbmQgZXEgdXNlcyBHc3RDaGlsZFByb3h5IGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKF9kb19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmluYWxpemUpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmg6CgkgIFJlZmFjdG9yIHBsdWdpbiBpbnRvIGEgYmFzZSBjbGFzcyBhbmQgYSBmaXJzdCBzdWJjbGFzcyAobmJhbmQgZXEpLiBUaGUKCSAgbmJhbmQgZXEgdXNlcyBHc3RDaGlsZFByb3h5IGFuZCBpcyBjb250cm9sYWJsZS4gTW9yZSBzdWJjbGFzc2VzIHdpbGwKCSAgZm9sbG93LgoKMjAwNy0wMy0wOCAxNToyNDo1MiArMDAwMCAgUGF1bCBEYXZpcyA8cGF1bEBsaW51eGF1ZGlvc3lzdGVtcy5jb20+CgoJICBleHQvamFjay86IE1ha2UgYW4gb2JqZWN0IHRvIG1hbmFnZSBjbGllbnQgY29ubmVjdGlvbnMgdG8gdGhlIGphY2sgc2VydmVyIHdoaWNoIHdlIHdpbGwgdXNlIGluIHRoZSBmdXR1cmUgdG8gcnVuIHNlbGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEluY2x1ZGVzIHBhdGNoIGJ5OiBQYXVsIERhdmlzIDxwYXVsIGF0IGxpbnV4YXVkaW9zeXN0ZW1zIGRvdCBjb20+CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6IChnc3RfamFja19hdWRpb19jbGllbnRfaW5pdCksCgkgIChqYWNrX3Byb2Nlc3NfY2IpLCAoamFja19zYW1wbGVfcmF0ZV9jYiksIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwKCSAgKGphY2tfc2h1dGRvd25fY2IpLCAoY29ubmVjdGlvbl9maW5kKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX21ha2VfY29ubmVjdGlvbiksIChnc3RfamFja19hdWRpb19nZXRfY29ubmVjdGlvbiksCgkgIChnc3RfamFja19hdWRpb191bnJlZl9jb25uZWN0aW9uKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2Nvbm5lY3Rpb25fYWRkX2NsaWVudCksCgkgIChnc3RfamFja19hdWRpb19jb25uZWN0aW9uX3JlbW92ZV9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X25ldyksIChnc3RfamFja19hdWRpb19jbGllbnRfZnJlZSksCgkgIChnc3RfamFja19hdWRpb19jbGllbnRfZ2V0X2NsaWVudCksCgkgIChnc3RfamFja19hdWRpb19jbGllbnRfc2V0X2FjdGl2ZSk6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkgIE1ha2UgYW4gb2JqZWN0IHRvIG1hbmFnZSBjbGllbnQgY29ubmVjdGlvbnMgdG8gdGhlIGphY2sgc2VydmVyIHdoaWNoIHdlCgkgIHdpbGwgdXNlIGluIHRoZSBmdXR1cmUgdG8gcnVuIHNlbGVjdGVkIGphY2sgZWxlbWVudHMgd2l0aCB0aGUgc2FtZSBqYWNrCgkgIGNvbm5lY3Rpb24uCgkgIE1ha2Ugc29tZSBzdHVmZiBhIGJpdCBtb3JlIHRocmVhZHNhZmUuCgkgIEFjdGl2YXRlIHRoZSBqYWNrIGNsaWVudCBBU0FQLgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfYWxsb2NhdGVfY2hhbm5lbHMpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19mcmVlX2NoYW5uZWxzKSwgKGphY2tfcHJvY2Vzc19jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9jbG9zZV9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSksIChnc3RfamFja19yaW5nX2J1ZmZlcl9yZWxlYXNlKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfamFja19hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19nZXRjYXBzKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgIFVzZSBuZXcgY2xpZW50IG9iamVjdCB0byBtYW5hZ2UgY29ubmVjdGlvbnMuCgkgIERvbid0IHJlbW92ZSBhbmQgcmVjcmVhdGUgYWxsIHBvcnRzLCB0cnkgdG8gcmV1c2UgdGhlbS4KCjIwMDctMDMtMDcgMTI6MDc6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogVXNlIGEgZ2VuZXJhbCB3YXZwYWNrIGRlYnVnIGNhdGVnb3J5IGZvciBjb21tb24gY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSAgVXNlIGEgZ2VuZXJhbCB3YXZwYWNrIGRlYnVnIGNhdGVnb3J5IGZvciBjb21tb24gY29kZS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3NldF9wb3NfYWJzKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfc2V0X3Bvc19yZWwpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl93cml0ZV9ieXRlcyk6CgkgIFVzZSB0aGUgZ2VuZXJhbCB3YXZwYWNrIGRlYnVnIGNhdGVnb3J5IGhlcmUgdG9vIGFuZCBhZGQgZGVidWcKCSAgb3V0cHV0IHRvIHRoZSBmdW5jdGlvbnMgdGhhdCBzaG91bGQgbm90IGJlIGNhbGxlZCBhdCBhbGwgYnkKCSAgdGhlIHdhdnBhY2sgbGlicmFyeS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgIENoYW5nZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgbmFtZXMgdG8gY29uZm9ybSB0byB0aGUgY29udmVudGlvbnMuCgoyMDA3LTAzLTA3IDExOjM3OjIzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBTaGFyZSBxdGRlbXV4IGRlYnVnIGNhdGVnb3J5IGFjcm9zcyBhbGwgZmlsZXMsIG90aGVyd2lzZSBhbGwgZGVidWdnaW5nIGluIGZpbGVzIG90aGVyIHRoYW4gcXRkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFNoYXJlIHF0ZGVtdXggZGVidWcgY2F0ZWdvcnkgYWNyb3NzIGFsbCBmaWxlcywgb3RoZXJ3aXNlIGFsbCBkZWJ1Z2dpbmcKCSAgaW4gZmlsZXMgb3RoZXIgdGhhbiBxdGRlbXV4LmMgd291bGQgZW5kIHVwIGluIHRoZSBkZWZhdWx0IGNhdGVnb3J5LgoKMjAwNy0wMy0wNyAxMToyMzoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IE9uZSBGSVhNRSBsZXNzLCBieSByZXNvbHZpbmcgbWVzc2FnZSB0aW1lc3RhbXBzIGFnYWluc3QgdGhlIHBsYXliYWNrIHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9ldmVudCksIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgT25lIEZJWE1FIGxlc3MsIGJ5IHJlc29sdmluZyBtZXNzYWdlIHRpbWVzdGFtcHMgYWdhaW5zdCB0aGUgcGxheWJhY2sKCSAgc2VnbWVudC4KCjIwMDctMDMtMDYgMTM6NTc6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IGFuZCBjbGVhbnVwIGRlZmF1bHQgcHJvcGVydHkgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBhbmQgY2xlYW51cCBkZWZhdWx0IHByb3BlcnR5IHZhbHVlcy4KCSAgQWRkIEZJWE1FcyBmb3Igc3R1ZmYgdGhhdCBsb29rcyByYXRoZXIgd3JvbmcuCgoyMDA3LTAzLTA1IDA4OjMwOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBSZW1vdmUgdHdvIG9ic29sZXRlIGFuZCBjb25mdXNpbmcgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1lc3NhZ2VfaGFuZGxlcik6CgkgIFJlbW92ZSB0d28gb2Jzb2xldGUgYW5kIGNvbmZ1c2luZyBjb21tZW50cy4KCjIwMDctMDMtMDQgMjE6MzY6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmFzL25hc3NpbmsuYzogU29tZSBtb3JlIGNsZWFudXBzL2NoYW5nZXM7IHVzZSBib2lsZXJwbGF0ZSBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbmFzX3NpbmtfaW5pdCksIChnc3RfbmFzX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfbmFzX3NpbmtfdW5wcmVwYXJlKToKCSAgU29tZSBtb3JlIGNsZWFudXBzL2NoYW5nZXM7IHVzZSBib2lsZXJwbGF0ZSBtYWNyby4KCjIwMDctMDMtMDQgMjA6MzU6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmFzLzogQnVuY2ggb2YgbmFzc2luayBjbGVhbi11cHM6IG1ha2UgYnVpbGQgYnkgYWRkaW5nIHRoZSByaWdodCBDRkxBR1MgYW5kIExJQlMgdG8gTWFrZWZpbGUuYW07IHJlbmFtZSBzdHJ1Y3R1cmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL1JFQURNRToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNfc2lua19nZXRfdHlwZSksCgkgIChnc3RfbmFzX3NpbmtfYmFzZV9pbml0KSwgKGdzdF9uYXNfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9uYXNfc2lua19pbml0KSwgKGdzdF9uYXNfc2lua19maW5hbGl6ZSksCgkgIChnc3RfbmFzX3NpbmtfZ2V0Y2FwcyksIChnc3RfbmFzX3NpbmtfcHJlcGFyZSksCgkgIChnc3RfbmFzX3NpbmtfdW5wcmVwYXJlKSwgKGdzdF9uYXNfc2lua19kZWxheSksCgkgIChnc3RfbmFzX3NpbmtfcmVzZXQpLCAoZ3N0X25hc19zaW5rX3dyaXRlKSwKCSAgKGdzdF9uYXNfc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X25hc19zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbmFzX3Npbmtfb3BlbiksIChnc3RfbmFzX3NpbmtfY2xvc2UpLCAoTkFTX2ZsdXNoKSwKCSAgKE5BU19zZW5kRGF0YSksIChOQVNfRXZlbnRIYW5kbGVyKSwgKGdzdF9uYXNfc2lua19zaW5rX2dldF9mb3JtYXQpLAoJICAoTkFTX2NyZWF0ZUZsb3cpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICBCdW5jaCBvZiBuYXNzaW5rIGNsZWFuLXVwczogbWFrZSBidWlsZCBieSBhZGRpbmcgdGhlIHJpZ2h0IENGTEFHUwoJICBhbmQgTElCUyB0byBNYWtlZmlsZS5hbTsgcmVuYW1lIHN0cnVjdHVyZSwgbWFjcm9zIGFuZCBmdW5jdGlvbnMKCSAgYWNjb3JkaW5nIHRvIGNhbm9uaWNhbCBuYW1pbmcgc2NoZW1lOyBtb3ZlIHNvbWUgdGhpbmdzIGFyb3VuZCBhIGJpdDsKCSAgdXNlIEdTVF9DQVRfREVGQVVMVCBpbnN0ZWFkIG9mIEdTVF9DQVRfKiBldmVyeXdoZXJlOyByZW1vdmUgUkVBRE1FCgkgIGZpbGUgdGhhdCBkaWRuJ3QgcmVhbGx5IGNvbnRhaW4gYW55IHVzZWZ1bCBpbmZvcm1hdGlvbiBhbnl3YXkgKHRoZQoJICB1c2VmdWwgYml0cyBoYXZlIGJlZW4gbW92ZWQgaW50byB0aGUgJ2hvc3QnIHByb3BlcnR5IGRlc2NyaXB0aW9uKS4KCjIwMDctMDMtMDQgMTY6Mzg6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBDaGFpbiB1cCBpbiBmaW5hbGl6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19maW5hbGl6ZSk6CgkgIENoYWluIHVwIGluIGZpbmFsaXplLgoKMjAwNy0wMy0wMyAyMjoyODowMyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgRml4IHVwIGRpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgRml4IHVwIGRpc3QuCgoyMDA3LTAzLTAzIDIyOjEzOjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgVk1uYyBkZWNvZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvdm1uY2RlYy5jOiAoZ3N0X3ZtbmNfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfdm1uY19kZWNfY2xhc3NfaW5pdCksIChnc3Rfdm1uY19kZWNfaW5pdCksCgkgIChnc3Rfdm1uY19kZWNfcmVzZXQpLCAodm1uY19oYW5kbGVfd212aV9yZWN0YW5nbGUpLAoJICAocmVuZGVyX2NvbG91cl9jdXJzb3IpLCAocmVuZGVyX2N1cnNvciksICh2bW5jX21ha2VfYnVmZmVyKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmRfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3dtdmVfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmZfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3dtdmdfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmhfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3dtdmpfcmVjdGFuZ2xlKSwKCSAgKHJlbmRlcl9yYXdfdGlsZSksIChyZW5kZXJfc3VicmVjdCksICh2bW5jX2hhbmRsZV9yYXdfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX2hleHRpbGVfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3BhY2tldCksCgkgICh2bW5jX2RlY19zZXRjYXBzKSwgKHZtbmNfZGVjX2NoYWluKSwgKHZtbmNfZGVjX2NoYW5nZV9zdGF0ZSksCgkgICh2bW5jX2RlY19zZXRfcHJvcGVydHkpLCAodm1uY19kZWNfZ2V0X3Byb3BlcnR5KSwgKHBsdWdpbl9pbml0KToKCSAgQWRkIFZNbmMgZGVjb2Rlci4KCSAgU3RpbGwgbWlzc2luZyBzdXBwb3J0IGZvcjoKCSAgLSByZWN0YW5nbGUgdHlwZXMgSSBkaWRuJ3QgZmluZCBpbiBteSBzYW1wbGVzIChlLmcuIGNvcHksIFJSRSwKCSAgWlJMRSkKCSAgLSBhbHBoYS1jb21wb3NpdGVkIGN1cnNvcnMKCjIwMDctMDMtMDMgMTA6MjM6MDMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbTogSW5zdGFsbCB0aGUgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgSW5zdGFsbCB0aGUgaGVhZGVycy4KCjIwMDctMDMtMDMgMTA6MTA6MzAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC86IEFkZCBHc3RBcHBCdWZmZXIgdGhhdCBpbmNsdWRlcyBhIGNhbGxiYWNrIGFuZCBjbG9zdXJlIGZvciBwcm9wZXIgaGFuZGxpbmcgb2YgZGF0YSBjaHVua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcGJ1ZmZlci5oOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgIEFkZCBHc3RBcHBCdWZmZXIgdGhhdCBpbmNsdWRlcyBhIGNhbGxiYWNrIGFuZCBjbG9zdXJlIGZvcgoJICBwcm9wZXIgaGFuZGxpbmcgb2YgZGF0YSBjaHVua3MuCgoyMDA3LTAzLTAzIDA5OjA2OjA2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLio6IEhhY2tpbmcgdG8gYWRkcmVzcyBpc3N1ZXMgaW4gNDEzNDE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIEhhY2tpbmcgdG8gYWRkcmVzcyBpc3N1ZXMgaW4gNDEzNDE4LgoKMjAwNy0wMy0wMyAwODoxNjo1NyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBNb3ZlIHRoZSBhcHAgbGlicmFyeSB0byBnc3QtbGlicy9nc3QvYXBwIChkdWghKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9nc3RhcHAuYzoKCSAgKiBnc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIE1vdmUgdGhlIGFwcCBsaWJyYXJ5IHRvIGdzdC1saWJzL2dzdC9hcHAgKGR1aCEpCgoyMDA3LTAzLTAyIDE5OjQzOjQ4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25hcy9uYXNzaW5rLmg6CgkgIENvbW1pdCBOQVMgU2luaywgY2xvc2VkIGJ1Z3ppbGxhIDM0NTYzMwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ29tbWl0IE5BUyBTaW5rLCBjbG9zZWQgYnVnemlsbGEgMzQ1NjMzCgoyMDA3LTAzLTAyIDE4OjI0OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2R0cy9nc3RkdHNkZWMuYzogQSBmZXcgc21hbGwgY2xlYW4tdXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19pbml0KSwgKGdzdF9kdHNkZWNfc2lua19ldmVudCk6CgkgIEEgZmV3IHNtYWxsIGNsZWFuLXVwcy4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKToKCSAgTW9yZSBkZWJ1ZyBvdXRwdXQgZm9yIGZhaWx1cmUgY2FzZXMuCgoyMDA3LTAzLTAyIDE4OjEwOjA2ICswMDAwICBZb3VuZy1IbyBDaGEgPGdhbmFkaXN0QGNob2xsaWFuLm5ldD4KCgkgIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IERvbid0IGRvIGZvcmNlZCBkb3dubWl4aW5nIHRvIHN0ZXJlbywgYnV0IGNoZWNrIHdoYXQgZG93bnN0cmVhbSBjYW4gZG8gYW5kIGxldCBsaWJkdHMgZG8gdGhlIGRvdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFlvdW5nLUhvIENoYSAgPGdhbmFkaXN0IGF0IGNob2xsaWFuIG5ldD4KCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19oYW5kbGVfZnJhbWUpLAoJICAoZ3N0X2R0c2RlY19jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBkbyBmb3JjZWQgZG93bm1peGluZyB0byBzdGVyZW8sIGJ1dCBjaGVjayB3aGF0IGRvd25zdHJlYW0KCSAgY2FuIGRvIGFuZCBsZXQgbGliZHRzIGRvIHRoZSBkb3dubWl4aW5nIGJhc2VkIG9uIHRoYXQgKCM0MDA1NTUpLgoKMjAwNy0wMy0wMiAxMzozMzozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIFJlbW92ZSBzcHVyaW91cyBjb25mbGljdCBtYXJrZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSBzcHVyaW91cyBjb25mbGljdCBtYXJrZXIKCjIwMDctMDMtMDIgMTI6MDQ6MDIgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLio6IFNpbXBsaWZ5IF9zZXRfdXJpKCkgYW5kIF9zZXRfcHJveHkoKSBhbmQgcmVtb3ZlIHRoZSB1bnVzZWQgaXNodHRwIG1lbWJlciAoIzM4ODA1MCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHV0eiBNdWVsbGVyICA8bHV0eiB0b3Bmcm9zZSBkZT4KCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfaW5pdCksIChnc3RfbmVvbmh0dHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NldF91cmkpLCAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJveHkpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfdXJpX3NldF91cmkpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIFNpbXBsaWZ5IF9zZXRfdXJpKCkgYW5kIF9zZXRfcHJveHkoKSBhbmQgcmVtb3ZlIHRoZSB1bnVzZWQgaXNodHRwCgkgIG1lbWJlciAoIzM4ODA1MCkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbmVvbmh0dHBzcmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGJvZ3VzIFVSSSB0byBzb21ldGhpbmcgdGhhdCBhY3R1YWxseSBleGlzdHMsIG90aGVyd2lzZSB3ZSBqdXN0CgkgIGJ5cGFzcyB0aGUgdGVzdCAoYW5kIGFsc28gdG8gc29tZXRoaW5nIHRoYXQgZG9lc24ndCByZWRpcmVjdCwgc2luY2UKCSAgbmVvbmh0dHBzcmMgZG9lc24ndCBzZWVtIHRvIGhhbmRsZSB0aGlzIHZlcnkgZ3JhY2VmdWxseSB5ZXQpCgoyMDA3LTAzLTAyIDExOjE0OjMzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkqIGV4dC9pdm9yYmlzL3ZvcmJpcy5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmg6CgkgIEFkZCBwYXRjaCBmcm9tIEJ1ZyAzNTcwNTUgZnJvbSBDaHJpcyBMb3JkLCBhZGRpbmcgc3VwcG9ydCBmb3IgVm9yYmlzIHN0cmVhbXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBwYXRjaCBmcm9tIEJ1ZyAzNTcwNTUgZnJvbSBDaHJpcyBMb3JkLCBhZGRpbmcgc3VwcG9ydCBmb3IgVm9yYmlzIHN0cmVhbXMKCjIwMDctMDMtMDEgMTc6Mjc6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERyYXcgcGx1Z2lucyBpbiBmcm9tIHRoZSBidWlsZCB0cmVlIHN5cy8gZGlyLCByYXRoZXIgdGhhbiBwaWNraW5nIHVwIHRoZSBhbHJlYWR5IGluc3RhbGxlZCB2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEcmF3IHBsdWdpbnMgaW4gZnJvbSB0aGUgYnVpbGQgdHJlZSBzeXMvIGRpciwgcmF0aGVyIHRoYW4KCSAgcGlja2luZyB1cCB0aGUgYWxyZWFkeSBpbnN0YWxsZWQgdmVyc2lvbnMuCgoyMDA3LTAyLTI4IDE5OjMxOjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ29udmVydCB0byBuZXcgQUdfR1NUIHN0eWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbnZlcnQgdG8gbmV3IEFHX0dTVCBzdHlsZS4KCjIwMDctMDItMjcgMTI6MDI6MDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgoyMDA3LTAyLTI3IDExOjMwOjE5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvLzogRGlzYWJsZSB0aGUgY29jb2EgZXZlbnQgbG9vcCBzaW5jZSBpdCdzIGEgaHVnZSBtZW1vcnkgbGVhay4gU2hvdWxkIG9ubHkgbWF0dGVyIGlmIHRoZSBzaW5rIGlzbid0IHVzZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIERpc2FibGUgdGhlIGNvY29hIGV2ZW50IGxvb3Agc2luY2UgaXQncyBhIGh1Z2UgbWVtb3J5IGxlYWsuIFNob3VsZCBvbmx5CgkgIG1hdHRlciBpZiB0aGUgc2luayBpc24ndCB1c2VkIHdpdGhpbiBhbiBOU0FwcCAod2hpY2ggaGFzIGFscmVhZHkgZ290CgkgIGEgY29jYSBldmVudCBsb29wKS4KCSAgUmVtb3ZlIGFsbCB1bnVzZWQgY29kZS4KCjIwMDctMDItMjYgMjE6MDE6MDMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgQWRkIGEgbmV3IHBsdWdpbi9saWJyYXJ5IHRvIG1ha2UgaXQgZWFzeSBmb3IgYXBwcyB0byBzaG92ZSBkYXRhIGludG8gYSBwaXBlbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9nc3RhcHAuYzoKCSAgKiBnc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIEFkZCBhIG5ldyBwbHVnaW4vbGlicmFyeSB0byBtYWtlIGl0IGVhc3kgZm9yIGFwcHMgdG8gc2hvdmUKCSAgZGF0YSBpbnRvIGEgcGlwZWxpbmUuCgoyMDA3LTAyLTI2IDEwOjMyOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvOiBVc2UgZ3N0X3BhZF91c2VfZml4ZWRfY2FwcygpIG9uIHNvdXJjZSBwYWRzLCB0byBhdm9pZCBuZWdvdGlhdGlvbiBlcnJvcnMgaW4gY2VydGFpbiBzaXR1YXRpb25zIChlLmcuIGRlYyAhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2luaXQpOgoJICBVc2UgZ3N0X3BhZF91c2VfZml4ZWRfY2FwcygpIG9uIHNvdXJjZSBwYWRzLCB0byBhdm9pZCBuZWdvdGlhdGlvbgoJICBlcnJvcnMgaW4gY2VydGFpbiBzaXR1YXRpb25zIChlLmcuIGRlYyAhIGNzICEgeGltYWdlc2luayBhbmQgdGhlCgkgIGltYWdlc2luayB3aW5kb3cgaXMgcmVzaXplZCk7IGFsc28sIHNvbWUgbWlub3IgY2xlYW4tdXBzLgoKMjAwNy0wMi0yNCAyMjo1Mjo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBidWlsZCB3aXRoIExERkxBR1M9Jy1XbCwteixkZWZzJy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnLgoKMjAwNy0wMi0yMCAyMTozNDowMCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBSZW1vdmUgaW5jbHVkZSBvZiB1bnVzZWQgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUmVtb3ZlIGluY2x1ZGUgb2YgdW51c2VkIGhlYWRlcnMuCgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3JtcGx1Z2luLmM6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuaDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZWZvcm0uZHNwOgoJICBBZGQgYSBuZXcgd2F2ZWZvcm0gcGx1Z2luIHdoaWNoIGluY2x1ZGVzIGFuIGF1ZGlvIHNpbmsKCSAgZWxlbWVudCB1c2luZyB0aGUgV2F2ZUZvcm0gd2luMzIgQVBJLgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgdGhlIG5ldyBwcm9qZWN0IGZpbGUgZm9ybSB3YXZlZm9ybSBwbHVnaW4uCgoyMDA3LTAyLTE4IDE4OjAwOjUxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy86IFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIFJlbW92ZSB1bnVzZWQvdW50ZXN0ZWQgY29kZSAocmVuZGVyaW5nIHRvIGFuIGV4dGVybiBzdXJmYWNlLAoJICB5dXYgZm9ybWF0IHJlbmRlcmluZykuVXNlIEdTVF8oREVCVUcvKilfT0JKRUNUIG1hY3JvcwoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3RkcmF3c2luayB0byBnc3RfZGlyZWN0ZHJhd19zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgIEZpeCBhIGJ1ZyBpbiBnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsIG1lbWNweSBsaW5lIGJ5IGxpbmUKCSAgcmVzcGVjdGluZyBkZXN0aW5hdGlvbiBzdXJmYWNlIHN0cmlkZS4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3Rzb3VuZHNpbmsgdG8gZ3N0X2RpcmVjdHNvdW5kX3NpbmsuCgkgIEFkZCBndGsgZG9jIHNlY3Rpb24KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBjb25maWcuaC5pbgoKMjAwNy0wMi0xNiAxNjoyNjozMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBlcXVhbGl6ZXIgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgZXF1YWxpemVyIHBsdWdpbgoKMjAwNy0wMi0xMyAxNDoyMjo1MyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBhZGQgbWlzc2luZyBcIGluIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbWlzc2luZyBcIGluIE1ha2VmaWxlLmFtCgoyMDA3LTAyLTEzIDA5OjQ0OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgY3Jvc3NyZWZlcmVuY2VzIHRvIGdsaWIvZ29iamVjdC9nc3RyZWFtIGRvY3MuIEFsc28gZml4IHR5cG8gaW4gdGltaWRpdHkuY2ZnIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBBZGQgY3Jvc3NyZWZlcmVuY2VzIHRvIGdsaWIvZ29iamVjdC9nc3RyZWFtIGRvY3MuIEFsc28gZml4IHR5cG8gaW4KCSAgdGltaWRpdHkuY2ZnIGNoZWNrLgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAocGx1Z2luX2luaXQpOgoJICBBbHNvIGJ1aWxkIGlmIG5vIGNvbmZpZyB3YXMgZGV0ZWN0ZWQgYXQgY29uZmlndXJlIHRpbWUuCgoyMDA3LTAyLTExIDE1OjQ2OjI0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgc2Vjb25kIG1pZGkgcmVuZGVyZXIuIEZpeCBzb21lIGRvdWJsZSBmcmVlcyBhbmQgbGVha3MuIENsZWFuIHVwIGxvZ2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IChnc3Rfd2lsZG1pZGlfYmFzZV9pbml0KSwKCSAgKGdzdF93aWxkbWlkaV9jbGFzc19pbml0KSwgKGdzdF93aWxkbWlkaV9pbml0KSwKCSAgKGdzdF93aWxkbWlkaV9zcmNfY29udmVydCksIChnc3Rfd2lsZG1pZGlfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93aWxkbWlkaV9nZXRfdXBzdHJlYW1fc2l6ZSksIChnc3Rfd2lsZG1pZGlfZ2V0X3NlZ21lbnQpLAoJICAoZ3N0X3dpbGRtaWRpX2dldF9uZXdfc2VnbWVudF9ldmVudCksIChnc3Rfd2lsZG1pZGlfc3JjX2V2ZW50KSwKCSAgKGdzdF93aWxkbWlkaV9hY3RpdmF0ZSksIChnc3Rfd2lsZG1pZGlfYWN0aXZhdGVwdWxsKSwKCSAgKGdzdF93aWxkbWlkaV9hbGxvY2F0ZV9idWZmZXIpLCAoZ3N0X3dpbGRtaWRpX2NsaXBfYnVmZmVyKSwKCSAgKGdzdF93aWxkbWlkaV9maWxsX2J1ZmZlciksIChnc3Rfd2lsZG1pZGlfZ2V0X2J1ZmZlciksCgkgIChnc3Rfd2lsZG1pZGlfbG9vcCksIChnc3Rfd2lsZG1pZGlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93aWxkbWlkaV9zZXRfcHJvcGVydHkpLCAoZ3N0X3dpbGRtaWRpX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfd2lsZG1pZGlfdHlwZWZpbmQpLCAod2lsZG1pZGlfb3Blbl9jb25maWcpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICBBZGQgc2Vjb25kIG1pZGkgcmVuZGVyZXIuIEZpeCBzb21lIGRvdWJsZSBmcmVlcyBhbmQgbGVha3MuIENsZWFuIHVwCgkgIGxvZ2dpbmcuCgoyMDA3LTAyLTExIDE1OjI2OjQ5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBNYWtlZmlsZS5hbTogQWRkIHdpbjMyIE1BTklGRVNUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBBZGQgd2luMzIgTUFOSUZFU1QKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIENsZWFyIHVudXNlZCBjb2RlIGFuZCBhZGQgY29tbWVudHMuCgkgIFJlbW92ZSB5dXYgZnJvbSB0ZW1wbGF0ZSBjYXBzLCBpdCBvbmx5IHN1cHBvcnRzIFJHQgoJICBhY3R1YWxseS4KCSAgSW1wbGVtZW50IFhPdmVybGF5IGludGVyZmFjZSBhbmQgcmVtb3ZlIHdpbmRvdyBhbmQgZnVsbHNjcmVlbgoJICBwcm9wZXJ0aWVzLgoJICBBZGQgZGVidWcgbG9ncy4KCSAgVGVzdCBmb3IgYmxpdCBjYXBhYmlsaXRpZXMgdG8gcmV0dXJuIG9ubHkgdGhlIGN1cnJlbnQgY29sb3JzcGFjZSBpZgoJICB0aGUgaGFyZHdhcmUgY2FuJ3QgYmxpdCBmb3Igb25lIGNvbG9yc3BhY2UgdG8gYW5vdGhlci4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBzb21lIGRlYnVncy4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIFZTNyBwcm9qZWN0IGZpbGVzIGFuZCBzb2x1dGlvbi4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNy0wMi0xMSAxMTo1OTo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBbHNvIHVwZGF0ZSB0aGUgY29tbWVudCB0aGF0IGRlc2NyaWJlcyB0aGUgaGFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBBbHNvIHVwZGF0ZSB0aGUgY29tbWVudCB0aGF0IGRlc2NyaWJlcyB0aGUgaGFjay4KCjIwMDctMDItMTEgMTE6MzU6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVGVsbCB0aGUgY29kZSB3aGljaCBmYWFkIGl0IGlzLCBzbyB0aGF0IHdlIGNhbiBhZGp1c3QgdGhlIGhhY2tzIG5lZWRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBUZWxsIHRoZSBjb2RlIHdoaWNoIGZhYWQgaXQgaXMsIHNvIHRoYXQgd2UgY2FuIGFkanVzdCB0aGUgaGFja3MKCSAgbmVlZGVkLgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgTWFrZSBvdXIgaGFja3MgZGVwZW5kZW50IG9uIHRoZSBmYWRkIGxpYiBpbiB1c2UuCgoyMDA3LTAyLTExIDEwOjU4OjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCBmYWFkIGRldGVjdGlvbiB0byBzdXBwb3J0IGFsc28gZmFkZCB3aXRoIG5ldyBzeW1ib2wgcHJlZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBmYWFkIGRldGVjdGlvbiB0byBzdXBwb3J0IGFsc28gZmFkZCB3aXRoIG5ldyBzeW1ib2wgcHJlZml4LgoJICBDaGFuZ2VMb2cgc3VyZ2VyeS4KCjIwMDctMDItMDggMTU6MDA6MDAgKzAwMDAgIFdvdXRlciBQYWVzZW4gPHdvdXRlckBibHVlLWdhdGUuYmU+CgoJICBBZGQgdGltaXRpdHkgbWlkaSByZW5kZXIgcGx1Z2luICgjNDAzOTkyKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBQYWVzZW4gPHdvdXRlckBibHVlLWdhdGUuYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IChnc3RfdGltaWRpdHlfYmFzZV9pbml0KSwKCSAgKGdzdF90aW1pZGl0eV9jbGFzc19pbml0KSwgKGdzdF90aW1pZGl0eV9pbml0KSwKCSAgKGdzdF90aW1pZGl0eV9zZXRfc29uZ19vcHRpb25zKSwgKGdzdF90aW1pZGl0eV9zcmNfY29udmVydCksCgkgIChnc3RfdGltaWRpdHlfc3JjX3F1ZXJ5KSwgKGdzdF90aW1pZGl0eV9nZXRfdXBzdHJlYW1fc2l6ZSksCgkgIChnc3RfdGltaWRpdHlfZ2V0X3NlZ21lbnQpLCAoZ3N0X3RpbWlkaXR5X2dldF9uZXdfc2VnbWVudF9ldmVudCksCgkgIChnc3RfdGltaWRpdHlfc3JjX2V2ZW50KSwgKGdzdF90aW1pZGl0eV9hY3RpdmF0ZSksCgkgIChnc3RfdGltaWRpdHlfYWN0aXZhdGVwdWxsKSwgKGdzdF90aW1pZGl0eV9hbGxvY2F0ZV9idWZmZXIpLAoJICAoZ3N0X3RpbWlkaXR5X2NsaXBfYnVmZmVyKSwgKGdzdF90aW1pZGl0eV9maWxsX2J1ZmZlciksCgkgIChnc3RfdGltaWRpdHlfZ2V0X2J1ZmZlciksIChnc3RfdGltaWRpdHlfbG9vcCksCgkgIChnc3RfdGltaWRpdHlfY2hhbmdlX3N0YXRlKSwgKGdzdF90aW1pZGl0eV90eXBlZmluZCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5Lmg6CgkgIEFkZCB0aW1pdGl0eSBtaWRpIHJlbmRlciBwbHVnaW4gKCM0MDM5OTIpCgoyMDA3LTAyLTA3IDEyOjI5OjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogR1NUX1BBRF9QQVJFTlQgZG9lc24ndCByZXR1cm4gYSBHc3RPYmplY3Qgd2l0aCBhbiBpbmNyZW1lbnRlZCByZWZjb3VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX3F1ZXJ5KToKCSAgR1NUX1BBRF9QQVJFTlQgZG9lc24ndCByZXR1cm4gYSBHc3RPYmplY3Qgd2l0aCBhbiBpbmNyZW1lbnRlZCByZWZjb3VudC4KCSAgU3dpdGNoZWQgdG8gdXNpbmcgZ3N0X3BhZF9nZXRfcGFyZW50KCkuCgoyMDA3LTAyLTA2IDE2OjAwOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogUmVtb3ZlIHN1cGVyZmx1b3VzIGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUoKSBjYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBSZW1vdmUgc3VwZXJmbHVvdXMgZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSgpIGNhbGwuCgoyMDA3LTAyLTA2IDEwOjE2OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBJbmNyZWFzZSByZXF1aXJlZCBsaWJzbmRmaWxlIHZlcnNpb24gdG8gYSB2ZXJzaW9uIHRoYXQncyBrbm93biB0byBoYXZlIHRoZSBmdW5jdGlvbiBzZl93cml0ZV9zeW5jKCkgdG8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgSW5jcmVhc2UgcmVxdWlyZWQgbGlic25kZmlsZSB2ZXJzaW9uIHRvIGEgdmVyc2lvbiB0aGF0J3Mga25vd24gdG8KCSAgaGF2ZSB0aGUgZnVuY3Rpb24gc2Zfd3JpdGVfc3luYygpIHRvIG1ha2UgdGhlIGJ1aWxkIGJvdHMgaGFwcHkuCgoyMDA3LTAyLTA2IDA5OjM5OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzogRml4IGJ1aWxkIChpbnN0YWxsZWQgc2V0dXApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJICBGaXggYnVpbGQgKGluc3RhbGxlZCBzZXR1cCkuCgoyMDA3LTAyLTA1IDE4OjQyOjQ1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvc25kZmlsZS86IFBvcnQgc2ZzcmMgdG8gMC4xMCwgcHVsbCBvciBwdXNoLCB3aXRoIHJhbmRvbSBhY2Nlc3Mgd29vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNyYy5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6IFBvcnQgc2ZzcmMgdG8gMC4xMCwgcHVsbCBvciBwdXNoLCB3aXRoCgkgIHJhbmRvbSBhY2Nlc3Mgd29vLgoKMjAwNy0wMi0wMyAyMzozNToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCB1cCB0byB1c2UgdGhlIG5ld2x5IHBvcnRlZCAoYWN0dWFsbHkgd29ya2luZykgR3N0QXVkaW9GaWx0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9pbml0KSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBGaXggdXAgdG8gdXNlIHRoZSBuZXdseSBwb3J0ZWQgKGFjdHVhbGx5IHdvcmtpbmcpIEdzdEF1ZGlvRmlsdGVyLgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gQ1ZTIGZvciB0aGlzLgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGNoZWNrX2J1cyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWUpLCAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlX2FuZF93YWl0KSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzX2FuZF93YWl0KSwgKGRvX3NsaWRlcl9maWRkbGluZyksCgkgIChtYWluKToKCSAgQWRkIGJyYWluLWRlYWQgaW50ZXJhY3RpdmUgdGVzdCBmb3IgZXF1YWxpemVyLgoKMjAwNy0wMi0wMiAxODozNjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFJlbmFtZSAidmFsdWVzIiBwcm9wZXJ0eSB0byAiYmFuZC12YWx1ZXMiIGFuZCBjaGFuZ2UgdHlwZSBpbnRvIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9maWx0ZXJfaW5wbGFjZSk6CgkgIFJlbmFtZSAidmFsdWVzIiBwcm9wZXJ0eSB0byAiYmFuZC12YWx1ZXMiIGFuZCBjaGFuZ2UgdHlwZSBpbnRvIGEKCSAgR1ZhbHVlQXJyYXksIHNvIGl0J3MgbW9yZSBlYXNpbHkgYmluZGFibGUgYW5kIHRoZSByYW5nZSBvZiB0aGUKCSAgdmFsdWVzIHBhc3NlZCBpbiBpcyBkZWZpbmVkIGFuZCBjaGVja2VkIGV0Yy47IGFsc28gZG8gc29tZQoJICBsb2NraW5nLgoKMjAwNy0wMi0wMiAxNzozOToyMSArMDAwMCAgSmFtZXMgRG9jIExpdmluZ3N0b24gPGRvY2xpdmluZ3N0b25AZ21haWwuY29tPgoKCSAgUG9ydCBlcXVhbGl6ZXIgcGx1Z2luIHRvIDAuMTAgKCM0MDM1NzIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEphbWVzICJEb2MiIExpdmluZ3N0b24gIDxkb2NsaXZpbmdzdG9uIGF0IGdtYWlsIGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmlsdGVyX2lucGxhY2UpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLAoJICAocGx1Z2luX2luaXQpOgoJICBQb3J0IGVxdWFsaXplciBwbHVnaW4gdG8gMC4xMCAoIzQwMzU3MikuCgoyMDA3LTAyLTAyIDEzOjI4OjA1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBjb25maWd1cmUuYWM6IGV4dC9NYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMi0wMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtCgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5oOiBQb3J0IHNmc2luayB0byAwLjEwLiBXb3JrcyBpbiBwdWxsIG9yCgkgIHB1c2ggbW9kZSB3aXRoIGludGVybGVhdmVkIGZsb2F0IG9yIGludCBkYXRhLgoKMjAwNy0wMi0wMiAxMTowOTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiBTZXQgcmFuayB0byBOT05FIHNvIHRoYXQgaXQgZG9lc24ndCBnZXQgYXV0b3BsdWdnZWQgYnkgYXV0b2F1ZGlvc2luayAod2hpY2ggZGlkbid0IGhhcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogKHBsdWdpbl9pbml0KToKCSAgU2V0IHJhbmsgdG8gTk9ORSBzbyB0aGF0IGl0IGRvZXNuJ3QgZ2V0IGF1dG9wbHVnZ2VkIGJ5IGF1dG9hdWRpb3NpbmsKCSAgKHdoaWNoIGRpZG4ndCBoYXBwZW4gcHJldmlvdXNseSBiZWNhdXNlIHRoZSBrbGFzcyBzdHJpbmcgZGlkbid0CgkgIGNvbnRhaW4gYW55dGhpbmcgYXV0b2F1ZGlvc2luayB3YXMgbG9va2luZyBmb3IpLgoKMjAwNy0wMS0zMSAxMDowMjowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3JlYWwvOiBGaXggY2xhc3NpZmljYXRpb24gaW4gR3N0RWxlbWVudERldGFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJICBGaXggY2xhc3NpZmljYXRpb24gaW4gR3N0RWxlbWVudERldGFpbHMuCgoyMDA3LTAxLTMxIDA4OjMyOjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogRml4IGEgb2ZmIGJ5IG9uZSB0aGF0IGxlYWRzIHRvIHRoZSBkdXJhdGlvbiByZXBvcnRlZCBhcyBvbmUgc2FtcGxlIGxlc3MgdGhhbiBpdCBpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgIEZpeCBhIG9mZiBieSBvbmUgdGhhdCBsZWFkcyB0byB0aGUgZHVyYXRpb24gcmVwb3J0ZWQgYXMgb25lCgkgIHNhbXBsZSBsZXNzIHRoYW4gaXQgaXMKCjIwMDctMDEtMzEgMDg6MTY6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBjbGFzc2lmaWNhdGlvbiBpbiBHc3RFbGVtZW50RGV0YWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgICogZ3N0L25zZi9nc3Ruc2YuYzoKCSAgRml4IGNsYXNzaWZpY2F0aW9uIGluIEdzdEVsZW1lbnREZXRhaWxzLgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2Jhc2VfaW5pdCksCgkgIChnc3RfbGFkc3BhX2NsYXNzX2luaXQpOgoJICBJbXByb3ZlIEtsYXNzaWZpY2F0aW9uIGFuZCByZWR1Y2UgY29kZSBzbGlnaGx5LgoKMjAwNy0wMS0zMCAxNzoxOTozMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIGFuIE9iamVjdGl2ZSBDIGNvbXBpbGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIGFuIE9iamVjdGl2ZSBDIGNvbXBpbGVyCgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBQb3J0IG9mIG9zeHZpZGVvIHBsdWdpbiB0byAwLjEwLiBEbyBOT1QgY29uc2lkZXIgMTAwJSBzdGFibGUgIQoJICBGaXhlcyAjNDAyNDcwCgoyMDA3LTAxLTI5IDIwOjUxOjAyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNy0wMS0yOCAxODoyODozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IEZpeCBjcm9wcGluZyBmb3IgcGFja2VkIDQ6MjoyIGZvcm1hdHMgWVVZVi9ZVVkyIGFuZCBVWVZZLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWRfY29tcGxleCk6CgkgIEZpeCBjcm9wcGluZyBmb3IgcGFja2VkIDQ6MjoyIGZvcm1hdHMgWVVZVi9ZVVkyIGFuZCBVWVZZLgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChjaGVja19idXNfZm9yX2Vycm9ycyksCgkgICh0ZXN0X3dpdGhfY2FwcyksIChtYWluKToKCSAgQmxvY2sgc3RyZWFtaW5nIHRocmVhZCBiZWZvcmUgY2hhbmdpbmcgZmlsdGVyIGNhcHMgd2hpbGUgdGhlCgkgIHBpcGVsaW5lIGlzIHJ1bm5pbmcgc28gdGhhdCB3ZSBkb24ndCBnZXQgcmFuZG9tIG5vdC1uZWdvdGlhdGVkCgkgIGVycm9ycyBqdXN0IGJlY2F1c2UgR1N0cmVhbWVyIGNhbid0IGhhbmRsZSB0aGF0IHlldC4KCjIwMDctMDEtMjggMTc6MzU6MTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvOiBhZGQgR3N0Q29udHJvbGxlciBzdXBwb3J0IHRvIGxhZHNwYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2NsYXNzX2dldF9wYXJhbV9zcGVjKToKCSAgYWRkIEdzdENvbnRyb2xsZXIgc3VwcG9ydCB0byBsYWRzcGEKCjIwMDctMDEtMjggMTM6MDE6MDIgKzAwMDAgIFJvc2ZyYW4gQm9yZ2VzIDxyb3NmcmFuLmJvcmdlc0BpZG50Lm9yZy5icj4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IFJlbW92ZSBzbGVlcCBjYWxscywgdGhleSd2ZSBiZWVuIG1vdmVkIGludG8gdGhlIGxpYnJhcnkgbm93IC4uLiAoIzM1NDQ1MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm9zZnJhbiBCb3JnZXMgPHJvc2ZyYW4gZG90IGJvcmdlcyBhdCBpZG50IG9yZyBicj4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfc3RhcnQpLAoJICAoZ3N0X215dGh0dl9zcmNfbmV4dF9wcm9ncmFtX2NoYWluKToKCSAgUmVtb3ZlIHNsZWVwIGNhbGxzLCB0aGV5J3ZlIGJlZW4gbW92ZWQgaW50byB0aGUgbGlicmFyeSBub3cgLi4uCgkgICgjMzU0NDUxKS4KCjIwMDctMDEtMjcgMTY6MDg6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiBDYXRjaCBlcnJvcnMgd2hpbGUgdGhlIHRlc3QgaXMgcnVubmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKHRlc3Rfd2l0aF9jYXBzKToKCSAgQ2F0Y2ggZXJyb3JzIHdoaWxlIHRoZSB0ZXN0IGlzIHJ1bm5pbmcuCgoyMDA3LTAxLTI1IDIzOjI3OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogRml4IHRoZSBTRUVLSU5HIHF1ZXJ5LiBXZSBjYW4gc2VlayBpZiB3ZSBhcmUgaW4gcHVsbCBtb2RlLCBub3QgdGhlIG90aGVyIHdheSBhcm91bmQuIEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpOgoJICBGaXggdGhlIFNFRUtJTkcgcXVlcnkuIFdlIGNhbiBzZWVrIGlmIHdlIGFyZSBpbiBwdWxsIG1vZGUsIG5vdCB0aGUKCSAgb3RoZXIgd2F5IGFyb3VuZC4gQWxzbyBzZXQgdGhlIGNvcnJlY3QgZm9ybWF0IGluIHRoZSBzZWVraW5nIHF1ZXJ5IGFuZAoJICBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIGhlYWRlcnMgYXJlIG5vdCByZWFkIHlldCBhbmQgd2UgY2FuJ3Qgc2F5CgkgIGFueXRoaW5nIGFib3V0IG91ciBzZWVraW5nIGNhcGFiaWxpdGllcy4KCjIwMDctMDEtMjUgMjE6NTU6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogRml4IHNwZWxsaW5nIGluIDIgcGxhY2VzOiBJdCdzIGNhbGxlZCBXYXZwYWNrLCBub3QgV2F2ZVBhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgRml4IHNwZWxsaW5nIGluIDIgcGxhY2VzOiBJdCdzIGNhbGxlZCBXYXZwYWNrLCBub3QgV2F2ZVBhY2suCgoyMDA3LTAxLTI1IDEyOjA1OjExICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0LzogVXNlIHByb3BlciBwcmludCBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKGdzdF9tdWx0aV9maWxlX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IChnc3RfbXZlX3ZpZGVvX2NyZWF0ZV9idWZmZXIpLAoJICAoZ3N0X212ZV92aWRlb19wYWxldHRlKSwgKGdzdF9tdmVfdmlkZW9fY29kZV9tYXApLAoJICAoZ3N0X212ZV9hdWRpb19pbml0KSwgKGdzdF9tdmVfYXVkaW9fZGF0YSksIChnc3RfbXZlX3RpbWVyX2NyZWF0ZSksCgkgIChnc3RfbXZlX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXZlL2dzdG12ZW11eC5jOiAoZ3N0X212ZV9tdXhfcHVzaF9jaHVuayk6CgkgICogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOiAobXZlX2NvbXByZXNzX2F1ZGlvKToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZGVjMTYuYzogKGlwdmlkZW9fY29weV9ibG9jayk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzguYzogKGlwdmlkZW9fY29weV9ibG9jayk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2VuYzE2LmM6IChtdmVfZW5jb2RlX2ZyYW1lMTYpOgoJICAqIGdzdC9tdmUvbXZldmlkZW9lbmM4LmM6IChtdmVfZW5jb2RlX2ZyYW1lOCk6CgkgIFVzZSBwcm9wZXIgcHJpbnQgc3RhdGVtZW50cy4KCSAgRml4ZXMgYnVpbGQgb24gbWFjIG9zIHguCgkgIDx3aW5nbz4gb28gbG9vayBhdCBtZSBteSBuYW1lIGlzIGVkd2FyZCBpJ20gaGFja2luZyBvbiBtYWNvcyB3b29vCgoyMDA3LTAxLTI0IDExOjI5OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogRml4IGNhcHMgb24gdGhlIGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJICBGaXggY2FwcyBvbiB0aGUgZGVwYXlsb2FkZXIuCgoyMDA3LTAxLTIzIDE0OjU0OjAxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC1saWJzL2V4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgd29yayBpZiBpdCdzIGFscmVhZHkgdGhlcmUgdG9vCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB3b3JrIGlmIGl0J3MgYWxyZWFkeSB0aGVyZSB0b28KCjIwMDctMDEtMTcgMTc6Mjk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBVc2UgYnJlYWsgaGVyZSBpbnN0ZWFkIG9mIGdvdG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChnc3RfbXl0aHR2X3NyY19zZXRfcHJvcGVydHkpOgoJICBVc2UgYnJlYWsgaGVyZSBpbnN0ZWFkIG9mIGdvdG8uCgoyMDA3LTAxLTEzIDE5OjEyOjMyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYyAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpOiBVc2UgZml4ZWQgY2FwcyBvbiBzcmMgcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMTMgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmMgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKToKCSAgVXNlIGZpeGVkIGNhcHMgb24gc3JjIHBhZHMuCgkgIChnc3RfZGVpbnRlcmxlYXZlX3JlbW92ZV9wYWRzKTogUmVtb3ZlIHNyYyBwYWRzLCBub3Qgc2luayBwYWRzLiBJCgkgIHNlZW0gdG8gaGF2ZSByZXZlcnNlIG1pZGFzIGRpc2Vhc2UhCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpOiBQcm94eSB0aW1lc3RhbXBzLCBvZmZzZXRzLCBkdXJhdGlvbnMsCgkgIGFuZCBzZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLiBGaXhlcyAjMzk1NTk3LCBJIHRoaW5rLgoKMjAwNy0wMS0xMyAxODowMTo0MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jIChnc3RfaW50ZXJsZWF2ZV9pbml0KTogSW5pdCB0aGUgYWN0aXZhdGlvbiBtb2RlIHByb3Blcmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0xMyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMgKGdzdF9pbnRlcmxlYXZlX2luaXQpOiBJbml0IHRoZQoJICBhY3RpdmF0aW9uIG1vZGUgcHJvcGVybHkuCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfc2V0Y2FwcywgZ3N0X2ludGVybGVhdmVfc3JjX2dldGNhcHMpCgkgIChnc3RfaW50ZXJsZWF2ZV9pbml0KTogU2V0IGEgc2V0Y2FwcyBhbmQgZ2V0Y2FwcyBmdW5jdGlvbiBvbiB0aGUKCSAgc3JjIHBhZCwgc28gdGhhdCB3ZSBjYW4gaW1wbGVtZW50IHB1bGwtbW9kZSBuZWdvdGlhdGlvbi4KCSAgKGdzdF9pbnRlcmxlYXZlX3Npbmtfc2V0Y2Fwcyk6IFJlbmFtZWQgZnJvbQoJICBnc3RfaW50ZXJsZWF2ZV9zZXRjYXBzLCBhcyBpdCBvbmx5IGRvZXMgdGhlIHNpbmsgbG9naWMgbm93LgoJICBJbXBsZW1lbnQgYm90aCBmb3IgcHVsbC1tb2RlIGFuZCBwdXNoLW1vZGUuCgkgIChnc3RfaW50ZXJsZWF2ZV9wcm9jZXNzKTogU2V0IGNhcHMgb24gb3VyIG91dGdvaW5nIGJ1ZmZlci4KCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19hY3RpdmF0ZV9wdWxsKTogRml4IHNvbWUgbW9yZSBib2d1cyBjYXN0cy4KCSAgV2hhdCBpcyB1cCB3aXRoIHRoaXMuCgoyMDA3LTAxLTEzIDEyOjM3OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogQ2xlYW4gdXAgYSBiaXQsIG1vc3RseSB0aGUgZGVidWcgc3RhdGVtZW50czsgZml4IGRlYWRsb2NrIGluIF9zZXRfcHJvcGVydHkoKSBpbiB0aGUgZXJyb3IgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChkb19yZWFkX3JlcXVlc3RfcmVzcG9uc2UpLAoJICAoZ3N0X215dGh0dl9zcmNfY3JlYXRlKSwgKGdzdF9teXRodHZfc3JjX2dldF9wb3NpdGlvbiksCgkgIChnc3RfbXl0aHR2X3NyY19kb19zZWVrKSwgKGdzdF9teXRodHZfc3JjX3N0YXJ0KSwKCSAgKGdzdF9teXRodHZfc3JjX25leHRfcHJvZ3JhbV9jaGFpbiksIChnc3RfbXl0aHR2X3NyY19nZXRfc2l6ZSksCgkgIChnc3RfbXl0aHR2X3NyY19oYW5kbGVfZXZlbnQpLCAoZ3N0X215dGh0dl9zcmNfaGFuZGxlX3F1ZXJ5KSwKCSAgKGdzdF9teXRodHZfc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfbXl0aHR2X3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X215dGh0dl9zcmNfdXJpX2dldF90eXBlKToKCSAgQ2xlYW4gdXAgYSBiaXQsIG1vc3RseSB0aGUgZGVidWcgc3RhdGVtZW50czsgZml4IGRlYWRsb2NrIGluCgkgIF9zZXRfcHJvcGVydHkoKSBpbiB0aGUgZXJyb3IgY2FzZXM7IGZpeCB1cCBxdWVyeSBmdW5jdGlvbi4KCjIwMDctMDEtMTIgMjE6NTg6NDMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZml4YXRlKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0xMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9maXhhdGUpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9vdWlqYV9jYXBzLCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKToKCSAgUmVtb3ZlIGZpeGF0ZS9vdWlqYSBzdHVmZiwgdGhhbmtmdWxseSwgZHVlIHRvIHRoZSBuZXcKCSAgcGFydC1uZWdvdGlhdGlvbi50eHQgcHVsbC1tb2RlIG5lZ290aWF0aW9uIHNjaGVtZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHNfcHVsbCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpOiBJbXBsZW1lbnQgdXBzdHJlYW0gc2V0X2NhcHMgcHVsbAoJICBwcm94eWluZyBmb3IgcHVsbCBtb2RlLiBOb3cgdGhpcyB3b3JrczogbGFkc3BhLXNpbmUtZmNhYyAhCgkgIGF1ZGlvY29udmVydCAhIGFsc2FzaW5rLgoKMjAwNy0wMS0xMiAxOTowMjozNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIE15dGhUViBjbGllbnQgc291cmNlIHBsdWdpbiBjcmVhdGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTXl0aFRWIGNsaWVudCBzb3VyY2UgcGx1Z2luIGNyZWF0ZWQuCgoyMDA3LTAxLTEyIDE3OjE2OjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQgWC1RVCBkZXBheWxvYWRlciB0aGF0IHdpbGwgZXZlbnR1YWxseSBzaGFyZSBjb2RlIHdpdGggdGhlIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IChnc3RfcnRwX3hxdF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3hxdF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfcXVpY2t0aW1lX3BhcnNlX3NkKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF94cXRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF94cXRfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX3hxdF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZV9jb250YWluZXIpLAoJICAocXRkZW11eF9wYXJzZV9ub2RlKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgWC1RVCBkZXBheWxvYWRlciB0aGF0IHdpbGwgZXZlbnR1YWxseSBzaGFyZSBjb2RlIHdpdGggdGhlIGRlbXV4ZXIuCgkgIE1ha2UgbmV3IHBsdWdpbiBlbnRyeSBwb2ludCB3aXRoIHF1aWNrdGltZSByZWxlYXRlZCBzdHVmZi4KCjIwMDctMDEtMTIgMTI6MTA6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbTogRGlzdCBhbGwgbmV3IGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgRGlzdCBhbGwgbmV3IGZpbGVzLgoKMjAwNy0wMS0xMiAxMDoyNzoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFjdGl2YXRlIGRvY3MgZm9yIGphY2ssIHNkbCBhbmQgcXRkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgQWN0aXZhdGUgZG9jcyBmb3IgamFjaywgc2RsIGFuZCBxdGRlbXV4LgoKMjAwNy0wMS0xMiAxMDoyNTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuKjogSW1wcm92ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3NhbXBsZV9yYXRlX2NiKSwKCSAgKGphY2tfYnVmZmVyX3NpemVfY2IpLCAoamFja19zaHV0ZG93bl9jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgIEltcHJvdmUgZG9jcy4KCjIwMDctMDEtMTIgMTA6MjQ6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ3NtL2dzdGdzbWVuYy5jOiBGaXggdHlwbyBpbiBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOiAoZ3N0X2dzbWVuY19pbml0KToKCSAgRml4IHR5cG8gaW4gZG9jcy4KCjIwMDctMDEtMTIgMTA6MjI6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IENsZWFudXAgYW5kIHJlZmFjdG9yIHRvIG1ha2UgdGhlIGNvZGUgbW9yZSByZWFkYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKHF0ZGVtdXhfaW5mbGF0ZSksIChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZV9jb250YWluZXIpLAoJICAocXRkZW11eF9wYXJzZV9ub2RlKSwgKHF0ZGVtdXhfdHJlZV9nZXRfY2hpbGRfYnlfdHlwZSksCgkgIChxdGRlbXV4X3RyZWVfZ2V0X3NpYmxpbmdfYnlfdHlwZSksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyksIChxdGRlbXV4X3BhcnNlX3NlZ21lbnRzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLAoJICAocXRkZW11eF90YWdfYWRkX2RhdGUpLCAocXRkZW11eF90YWdfYWRkX2ducmUpLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKSwgKHF0ZGVtdXhfcmVkaXJlY3RzX3NvcnRfZnVuYyksCgkgIChxdGRlbXV4X3Byb2Nlc3NfcmVkaXJlY3RzKSwgKHF0ZGVtdXhfcGFyc2VfcmVkaXJlY3RzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6IChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X2R1bXBfdGtoZCksIChxdGRlbXV4X2R1bXBfZWxzdCksIChxdGRlbXV4X2R1bXBfbWRoZCksCgkgIChxdGRlbXV4X2R1bXBfaGRsciksIChxdGRlbXV4X2R1bXBfdm1oZCksIChxdGRlbXV4X2R1bXBfZHJlZiksCgkgIChxdGRlbXV4X2R1bXBfc3RzZCksIChxdGRlbXV4X2R1bXBfc3R0cyksIChxdGRlbXV4X2R1bXBfc3RzcyksCgkgIChxdGRlbXV4X2R1bXBfc3RzYyksIChxdGRlbXV4X2R1bXBfc3RzeiksIChxdGRlbXV4X2R1bXBfc3RjbyksCgkgIChxdGRlbXV4X2R1bXBfY282NCksIChxdGRlbXV4X2R1bXBfZGNvbSksIChxdGRlbXV4X2R1bXBfY212ZCksCgkgIChxdGRlbXV4X2R1bXBfdW5rbm93biksIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwKCSAgKHF0ZGVtdXhfbm9kZV9kdW1wKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzogKHF0ZGVtdXhfdHlwZV9nZXQpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgKiBnc3QvcXRkZW11eC9xdHBhbGV0dGUuaDoKCSAgQ2xlYW51cCBhbmQgcmVmYWN0b3IgdG8gbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlLgoJICBNb3ZlIGRlYnVnZ2luZy90YWJsZXMgaW50byBzZXBhcmF0ZSBmaWxlcy4KCSAgQWRkIDIvNC8xNiBjb2xvciBwYWxsZXRlZSBzdXBwb3J0LgoJICBGaXggcmF3IDE1IGJpdCBSR0IgaGFuZGxpbmcuCgkgIFVzZSBtb3JlIEZPVVJDQyBjb25zdGFudHMuCgkgIEFkZCBzb21lIGRvY3MuCgoyMDA3LTAxLTExIDE5OjUxOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IE1pbm9yIGNsZWFuLXVwOiB1c2UgZW51bSB2YWx1ZXMgaW5zdGVhZCBvZiBoYXJkY29kZWQgY29uc3RhbnRzICgjMzk1NTM2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jb3JyZWN0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2pvaW50X3N0ZXJlb19tb2RlX2dldF90eXBlKToKCSAgTWlub3IgY2xlYW4tdXA6IHVzZSBlbnVtIHZhbHVlcyBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBjb25zdGFudHMgKCMzOTU1MzYpLgoKMjAwNy0wMS0xMSAxMjoyODo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogU3VwcG9ydCBTRUVLSU5HIHF1ZXJ5IChiYWQgbmV3cyBub3cgZGVsaXZlcmVkIHByb3Blcmx5ISk7IGFkZCBldmVudCBmdW5jdGlvbiB0byBzb3VyY2UgcGFkcyB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IChnc3RfbXZlX2RlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X212ZV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9tdmVfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfbXZlX2FkZF9zdHJlYW0pOgoJICBTdXBwb3J0IFNFRUtJTkcgcXVlcnkgKGJhZCBuZXdzIG5vdyBkZWxpdmVyZWQgcHJvcGVybHkhKTsgYWRkIGV2ZW50CgkgIGZ1bmN0aW9uIHRvIHNvdXJjZSBwYWRzIHRvIG1ha2Ugc3VyZSBzZWVrcyBhcmVuJ3QgcHJvcGFnYXRlZAoJICB1cHN0cmVhbSwgZXZlbiBpZiB0aGV5IGFyZW4ndCBoYW5kbGVkLgoKMjAwNy0wMS0xMSAxMTozOTo1NiArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgQWRkIEludGVycGxheSBNVkUgZm9ybWF0IGRlbXV4ZXIvZGVjb2RlciBhbmQgbXV4ZXIvZW5jb2Rlci4gRGVtdXhlciBkb2Vzbid0IHN1cHBvcnQgc2Vla2luZyB5ZXQsIGJ1dCBzZWVtcyB0byB3b3JrIGZpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL1RPRE86CgkgICogZ3N0L212ZS9nc3RtdmUuYzoKCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5oOgoJICAqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkgICogZ3N0L212ZS9nc3RtdmVtdXguaDoKCSAgKiBnc3QvbXZlL212ZS5oOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9kZWMuYzoKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzE2LmM6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzguYzoKCSAgKiBnc3QvbXZlL212ZXZpZGVvZW5jMTYuYzoKCSAgKiBnc3QvbXZlL212ZXZpZGVvZW5jOC5jOgoJICBBZGQgSW50ZXJwbGF5IE1WRSBmb3JtYXQgZGVtdXhlci9kZWNvZGVyIGFuZCBtdXhlci9lbmNvZGVyLiBEZW11eGVyCgkgIGRvZXNuJ3Qgc3VwcG9ydCBzZWVraW5nIHlldCwgYnV0IHNlZW1zIHRvIHdvcmsgZmluZSBvdGhlcndpc2UuCgkgIENsb3NlcyAjMzQ4OTczLgoKMjAwNy0wMS0wOSAxMDowNjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsL01ha2VmaWxlLmFtOiBGaXggYnVpbGQgKGFkZCBMSUJTIGFuZCBDRkxBR1MgZm9yIGdzdC1wbHVnaW5zLWJhc2Ugc3R1ZmYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIChhZGQgTElCUyBhbmQgQ0ZMQUdTIGZvciBnc3QtcGx1Z2lucy1iYXNlIHN0dWZmKS4KCjIwMDctMDEtMDcgMjI6MDM6NTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIE5ldyBlbGVtZW50cyBpbnRlcmxlYXZlIGFuZCBkZWludGVybGVhdmUsIGltcGxlbWVudCBjaGFubmVsIGludGVybGVhdmluZyBhbmQgZGVpbnRlcmxlYXZpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTA3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IE5ldyBlbGVtZW50cyBpbnRlcmxlYXZlIGFuZAoJICBkZWludGVybGVhdmUsIGltcGxlbWVudCBjaGFubmVsIGludGVybGVhdmluZyBhbmQgZGVpbnRlcmxlYXZpbmcuCgkgIFRoZSBpbnRlcmxlYXZlciBjYW4gb3BlcmF0ZSBpbiBwdWxsIG9yIHB1c2ggbW9kZSBidXQgdGhlCgkgIGRlaW50ZXJsZWF2ZXIgaXMgbW9yZSBsaWtlIGEgZGVtdXhlciBhbmQgY2FuIG9ubHkgb3BlcmF0ZSBpbiBwdXNoCgkgIG1vZGUuCgoyMDA3LTAxLTA2IDE5OjIzOjQwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgY29uZmlndXJlLmFjOiBQcm9wZXJseSBkZXRlY3QgdGhlIHR3byBhcmNoaXRlY3R1cmVzIG9uIHdoaWNoIHRoZSByZWFsIHBsdWdpbiBjYW4gYmUgYnVpbHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUHJvcGVybHkgZGV0ZWN0IHRoZSB0d28gYXJjaGl0ZWN0dXJlcyBvbiB3aGljaCB0aGUgcmVhbCBwbHVnaW4gY2FuIGJlCgkgIGJ1aWx0LgoJICBGaXhlcyAjMzkzNjIyCgoyMDA3LTAxLTA2IDE3OjIyOjEyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMDYgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYwoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfb3VpamFfY2Fwcyk6IE1vdmUgYXJvdW5kIGluIHRoZSBzb3VyY2UKCSAgZmlsZS4uLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSwgZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpOgoJICBDYWxsIG91aWphX2NhcHMgaW4gcHJlcGFyZSgpIGluc3RlYWQgb2YgZG9fcHVsbHMoKSwgYSBiaXQgZWFybGllci4KCSAgVGhpcyBhbGxvd3MgdXMgdG8gaGF2ZSBjYXBzIHdoZW4gd2UgZG8gdGhlIHBhZF9hbGxvY19idWZmZXIoKS4KCSAgKGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2Fwcyk6IFVzZSBzZWxmLT5jYXBzIGluc3RlYWQgb2YgdGhlCgkgIHBhZCBjYXBzLCB3aGljaCBtaWdodCBub3QgYmUgc2V0IHlldC4KCjIwMDctMDEtMDYgMTU6NTY6NTUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9hZGRfcGFkX2Zyb21fdGVtcGxhdGUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTA2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9hZGRfcGFkX2Zyb21fdGVtcGxhdGUpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9maXhhdGUpOiBBZGQgYSBmaXhhdGUgZnVuY3Rpb24sIHRvIGFzc2lzdCBpbgoJICBwYXRob2xvZ2ljYWwgbGFkc3BhLXNpbmUtZmNhYyAhIGZha2VzaW5rIGNhbi1hY3RpdmF0ZS1wdWxsPXRydWUKCSAgY2FzZXMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlLCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKTogQWRkCgkgIG5mcmFtZXMgYXJncyBzbyB0aGF0IGdldHJhbmdlIGNhbiB0ZWxsIGxhZHNwYSBob3cgbWFueSBmcmFtZXMgdG8KCSAgcHJvY2Vzcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX291aWphX2NhcHMpOiBzZXRjYXBzIG5lZWRzIHRvIGJlIGNhbGxlZAoJICBiZWZvcmUgcHJvY2Vzc2luZywgd2hpY2ggbm9ybWFsbHkgaGFwcGVucyB3aGVuIGNoYWluaW5nIGEgYnVmZmVyCgkgIHRvIGEgcGFkLiBIb3dldmVyIGluIGdldHJhbmdlIG1vZGUgd2l0aCBubyBzaW5rcyB3ZSBuZWVkIHRvIGNoZWNrCgkgIGV4cGxpY2l0bHkgZm9yIHRoaXMgY29uZGl0aW9uLCBndWVzcyBzb21lIGNhcHMgdG8gdXNlLCBhbmQgdXNlCgkgIHRob3NlIHRvIHNldGNhcHMoKS4gSGVuY2UgdGhpcyBteXN0aWNhbCBmdW5jdGlvbi4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKTogUHVsbCBpbiBieXRlcywgbm90IHNhbXBsZXMuCgkgIERpdmluZSB0aGUgY2FwcyBpZiBuZWNlc3NhcnkuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSk6IEludGVycHJldCB0aGUgbGVuZ3RoIGFzIGJ5dGVzLAoJICBub3Qgc2FtcGxlcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYWluKTogbmZyYW1lcz1HX01BWFVJTlQsIHdpbGwgYmUgbGltaXRlZAoJICBieSBpbmNvbWluZyBidWZmZXIgc2l6ZXMuCgoyMDA3LTAxLTA2IDE0OjA4OjI2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IERvbid0IGNhbGwgdGhlIFJBRnJlZURlY29kZXIgc2luY2UgaXQgcmFuZG9tbHkgY2F1c2VzIHNlZ2ZhdWx0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfZmluYWxpemUpOgoJICBEb24ndCBjYWxsIHRoZSBSQUZyZWVEZWNvZGVyIHNpbmNlIGl0IHJhbmRvbWx5IGNhdXNlcyBzZWdmYXVsdHMuCgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmg6CgkgIGluZGVudCBwcm9wZXJseS4KCjIwMDctMDEtMDYgMTA6NTg6MTMgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy4qOiBJbXBsZW1lbnQgZXJyb3IgcmVjb3Zlcnkgb24gc2V0Y2FwcyBmYWlsdXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19kZWNvZGUpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldGNhcHMpLCAob3Blbl9saWJyYXJ5KSwgKGNsb3NlX2xpYnJhcnkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2ZpbmFsaXplKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgSW1wbGVtZW50IGVycm9yIHJlY292ZXJ5IG9uIHNldGNhcHMgZmFpbHVyZS4KCjIwMDctMDEtMDYgMTA6NDE6NDYgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGdzdC9yZWFsLzogQWRkZWQgUmVhbEF1ZGlvIHdyYXBwZXIgZWxlbWVudGZhY3RvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2FwcyksIChnc3RfcmVhbF9hdWRpb19kZWNfaW5pdCksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfYmFzZV9pbml0KSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2ZpbmFsaXplKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcmVhbF9hdWRpb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmg6CgkgIEFkZGVkIFJlYWxBdWRpbyB3cmFwcGVyIGVsZW1lbnRmYWN0b3J5LgoJICBNb2RpZmllZCBzdHJ1Y3R1cmVzIHNvIGl0IGNhbiBhbHNvIHdvcmsgb24geDg2XzY0IHVzaW5nIHRoZQoJICBhZGVxdWF0ZSAuc28gLgoKMjAwNy0wMS0wNSAxODozMjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIENoZWNrIGZvciB6bGliIGFuZCBpZiBhdmFpbGFibGUgcGFzcyBpdCBleHBsaWNpdGx5IHRvIHRoZSBsaW5rZXIgd2hlbiBsaW5raW5nIHF0ZGVtdXguIElmIG5vdCBhdmFpbGFibGUgKG9yIC0tZGlzYWJsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9tb292KToKCSAgQ2hlY2sgZm9yIHpsaWIgYW5kIGlmIGF2YWlsYWJsZSBwYXNzIGl0IGV4cGxpY2l0bHkgdG8gdGhlIGxpbmtlcgoJICB3aGVuIGxpbmtpbmcgcXRkZW11eC4gSWYgbm90IGF2YWlsYWJsZSAob3IgLS1kaXNhYmxlLWV4dGVybmFsIGhhcwoJICBiZWVuIHNwZWNpZmllZCEpLCBkaXNhYmxlIHRoZSBiaXRzIGluIHF0ZGVtdXggdGhhdCB1c2UgaXQuIEZpeGVzCgkgIGJ1aWxkIG9uIE1pbmdXICgjMzkyODU2KS4KCjIwMDctMDEtMDUgMTg6MTU6NTIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlYWwgdmlkZW8gLnNvIGFyZSBub3cgYWxzbyBhdmFpbGFibGUgZm9yIHg4Nl82NCwgc28gd2UgY2FuIGJ1aWxkIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlYWwgdmlkZW8gLnNvIGFyZSBub3cgYWxzbyBhdmFpbGFibGUgZm9yIHg4Nl82NCwgc28gd2UgY2FuIGJ1aWxkIHRoZQoJICBSZWFsIHBsdWdpbiBvbiBpMzg2IEFORCB4ODZfNjQuCgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvZ3N0cmVhbC5jOiAocGx1Z2luX2luaXQpOgoJICBOZXcgcGx1Z2luIGZpbGUgZm9yIHJlYWwgLnNvIHdyYXBwZXIgcGx1Z2lucy4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19hbGxvY19idWZmZXIpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2RlY29kZSksIChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2FjdGl2YXRlX3B1c2gpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldGNhcHMpLAoJICAob3Blbl9saWJyYXJ5KSwgKGNsb3NlX2xpYnJhcnkpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2luaXQpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2Jhc2VfaW5pdCksIChnc3RfcmVhbF92aWRlb19kZWNfZmluYWxpemUpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgTW92ZWQgUmVhbFZpZGVvIGVsZW1lbnQgdG8gc2VwYXJhdGUgZmlsZQoJICBDbGVhbmVkIHVwIGNvZGUgc29tZSBtb3JlLgoJICBNYWtlIGl0IHdvcmsgb24geDg2XzY0LgoJICBUcnkgc2V2ZXJhbCBwb3NzaWJsZSBsb2NhdGlvbnMgZm9yIC5zbwoJICBTZXBhcmF0ZSBvcGVuaW5nL2Nsb3NpbmcgbGlicmFyaWVzIGluIHNlcGFyYXRlIGZ1bmN0aW9ucy4KCjIwMDctMDEtMDUgMTY6MDc6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiBDYWxsIGdfdGhyZWFkX2luaXQoKSByaWdodCBhdCB0aGUgYmVnaW5uaW5nLiBSZW1vdmUgc3VwZXJmbHVvdXMgZ3N0X2luaXQoKSAtIHdlJ3ZlIGFscmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKG1haW4pOgoJICBDYWxsIGdfdGhyZWFkX2luaXQoKSByaWdodCBhdCB0aGUgYmVnaW5uaW5nLiBSZW1vdmUgc3VwZXJmbHVvdXMKCSAgZ3N0X2luaXQoKSAtIHdlJ3ZlIGFscmVhZHkgYmVlbiBpbml0ZWQgdmlhIHRoZSBHT3B0aW9uIHN0dWZmLgoKMjAwNy0wMS0wNSAxNDowMjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgY29tcGlsZSByZmJzb3VyY2UgaWYgd2UgZG9uJ3QgaGF2ZSBzeXMvc29ja2V0LmguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgY29tcGlsZSByZmJzb3VyY2UgaWYgd2UgZG9uJ3QgaGF2ZSBzeXMvc29ja2V0LmguCgkgIFNob3VsZCBmaXggY29tcGlsYXRpb24gb24gTWluZ1cuCgoyMDA3LTAxLTA0IDE2OjM5OjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC1saWJzL2V4dC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9leHQvYW1yd2IvUkVBRE1FOgoJICBhZGQgZGlyZWN0b3JpZXMgaW4gdGhlIHJpZ2h0IHBsYWNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgZGlyZWN0b3JpZXMgaW4gdGhlIHJpZ2h0IHBsYWNlCgoyMDA3LTAxLTA0IDE2OjMyOjQzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2IvYW1yd2ItY29kZS9hbXJ3Yi9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiL2FtcndiLWNvZGUvYW1yd2IvUkVBRE1FOgoJKiBleHQvYW1yd2IvYW1yd2ItY29kZS9ydW4uc2g6CgkqIGdzdC1saWJzL01ha2VmaWxlLmFtOgoJICBtb3ZlIGFtcndiIGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vdmUgYW1yd2IgY29kZQoKMjAwNy0wMS0wNCAxNjozMjo0MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgbW92ZSBhbXJ3YiBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlIGFtcndiIGNvZGUKCjIwMDctMDEtMDQgMTI6NDk6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBzcGxpdCBvdXQgR1NUX0NGTEFHUyBpbnRvIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTIGFuZCBHU1RfQ0ZMQUdTIHNvIHRoYXQgR1NUX0JBU0VfQ0ZMQUdTIGNhbiBnbyBpbmJldHdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgc3BsaXQgb3V0IEdTVF9DRkxBR1MgaW50byBHU1RfUExVR0lOU19CQVNFX0NGTEFHUyBhbmQgR1NUX0NGTEFHUwoJICBzbyB0aGF0IEdTVF9CQVNFX0NGTEFHUyBjYW4gZ28gaW5iZXR3ZWVuIHRoZW0sIG1ha2luZyBzdXJlCgkgIHdlIHVzZSB1bmluc3RhbGxlZCBnc3QtbGlicyBoZWFkZXJzCgkgICogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbHNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZHBhcmFub2lhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nbm9tZXZmcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlidmlzdWFsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZ2cvTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvY2RkYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvcmlmZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC90YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FkZGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmF0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheWJhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L3RjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zY2FsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm9sdW1lL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgICogc3lzL3h2aW1hZ2UvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGFkYXB0CgoyMDA3LTAxLTA0IDA5OjUxOjU2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC86IEZpeCB2YXJpb3VzIGNvbXBpbGVyIHdhcm5pbmdzIHRoYXQgcmV2ZWFsIHBvdGVudGlhbCBidWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0wNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3R5cGUpOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IChnc3Rfc2RsYXVkaW9fc2lua19vcGVuKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19zZXRjYXBzKSwKCSAgKGdzdF9zZGx2aWRlb3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDogRml4IHZhcmlvdXMgY29tcGlsZXIgd2FybmluZ3MgdGhhdAoJICByZXZlYWwgcG90ZW50aWFsIGJ1Z3MuCgoyMDA3LTAxLTA0IDA5OjQ0OjU3ICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgQWRkIGRpcmVjdHNvdW5kc2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAoZ3N0X2RpcmVjdHNvdW5kc2lua19yZXNldCk6CgkgIEFkZCBkaXJlY3Rzb3VuZHNpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbgoJICBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMgYW5kIGxpYnJhcmllcwoJICBhcmUgYXZhaWxhYmxlIChmaXhlczogIzM5MjYzOCkuIEFsc28gc2ltcGxpZnkgRGlyZWN0RHJhdyBjaGVjayBhIGJpdC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBGaXggQ1ZTIGlnbm9yZSBmb3IgbmVvbmh0dHBzcmMgdGVzdCBiaW5hcnkuCgoyMDA3LTAxLTAzIDE5OjU0OjMzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgQWRkIGRpcmVjdGRyYXdzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgQWRkIGRpcmVjdGRyYXdzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4KCSAgY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMKCSAgYXJlIGF2YWlsYWJsZSAoZml4ZXM6ICMzOTIzMTMpLgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY2VudGVyX3JlY3QpLCAoZ3N0X2RpcmVjdGRyYXdzaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3NldHVwX2RkcmF3KSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgIENvbW1lbnQgb3V0IHNvbWUgdW51c2VkIHRoaW5ncyBhbmQgZml4IHNvbWUgcHJpbnRmIGZvcm1hdCBpc3N1ZXMgaW4KCSAgb3JkZXIgdG8gYXZvaWQgd2FybmluZ3Mgd2hlbiBidWlsZGxpbmcgd2l0aCBNaW5nVyAoIzM5MjMxMykuCgoyMDA3LTAxLTAzIDE2OjQxOjEwICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBGaXggYnVpbGQgd2l0aCBnY2MtMi54IChkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgYmxvY2sgZXRjLikuIEZpeGVzICMzOTE5NzEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19lbmNvZGUpLAoJICAoZ3N0X3h2aWRlbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChpaXJfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOiAoZ3N0X251dl9kZW11eF9oZWFkZXJfbG9hZCksCgkgIChnc3RfbnV2X2RlbXV4X3N0cmVhbV9leHRlbmRfaGVhZGVyKToKCSAgRml4IGJ1aWxkIHdpdGggZ2NjLTIueCAoZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBhCgkgIGJsb2NrIGV0Yy4pLiBGaXhlcyAjMzkxOTcxLgoKMjAwNy0wMS0wMiAxMTowNjo0OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWwuYzogVXNlIGNvZGVjX2RhdGEgc3VwcGxpZWQgaW4gY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSAgKGdzdF9yZWFsZGVjX3NldGNhcHMpOiBVc2UgY29kZWNfZGF0YSBzdXBwbGllZCBpbiBjYXBzLgoJICAoZ3N0X3JlYWxkZWNfZ2V0X3Byb3BlcnR5KTogQ29ycmVjdGx5IHJldHVybiBkZWZhdWx0IHBhdGguCgkgIChnc3RfcmVhbGRlY19jbGFzc19pbml0KTogUmVtb3ZlIHVudXNlZCBzdGF0ZV9jaGFuZ2UgbWV0aG9kLgoKMjAwNy0wMS0wMSAxODowNjowMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogT25seSBidWlsZCB0aGUgcGx1Z2luIG9uIDMyYml0IHg4NiBhcmNoaXRlY3R1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE9ubHkgYnVpbGQgdGhlIHBsdWdpbiBvbiAzMmJpdCB4ODYgYXJjaGl0ZWN0dXJlcy4KCjIwMDctMDEtMDEgMTc6NDc6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBOZXcgcGx1Z2luIGZvciBkZWNvZGluZyBSZWFsVmlkZW8gU3RyZWFtcyB1c2luZyB0aGUgeDg2IDMyYml0IHNoYXJlZCBsaWJyYXJpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvZ3N0cmVhbC5jOiAoZ3N0X3JlYWxkZWNfYWxsb2NfYnVmZmVyKSwKCSAgKGdzdF9yZWFsZGVjX2RlY29kZSksIChnc3RfcmVhbGRlY19jaGFpbiksCgkgIChnc3RfcmVhbGRlY19hY3RpdmF0ZV9wdXNoKSwgKGdzdF9yZWFsZGVjX3NldGNhcHMpLAoJICAoZ3N0X3JlYWxkZWNfaW5pdCksIChnc3RfcmVhbGRlY19iYXNlX2luaXQpLAoJICAoZ3N0X3JlYWxkZWNfY2hhbmdlX3N0YXRlKSwgKGdzdF9yZWFsZGVjX2ZpbmFsaXplKSwKCSAgKGdzdF9yZWFsZGVjX3NldF9wcm9wZXJ0eSksIChnc3RfcmVhbGRlY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxkZWNfY2xhc3NfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgIE5ldyBwbHVnaW4gZm9yIGRlY29kaW5nIFJlYWxWaWRlbyBTdHJlYW1zIHVzaW5nIHRoZSB4ODYgMzJiaXQKCSAgc2hhcmVkIGxpYnJhcmllcy4KCSAgQ2xvc2VzICMzNTQxNzQKCjIwMDYtMTItMzAgMTI6NDQ6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogV2hlbiB3ZSBjYW4ndCBjcmVhdGUgYW4gZWxlbWVudCBuZWVkZWQgZm9yIHRoZSB0ZXN0LCBwcmludCBhIG1lc3NhZ2UgZGV0YWlsaW5nIHdoaWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpOgoJICBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhbiBlbGVtZW50IG5lZWRlZCBmb3IgdGhlIHRlc3QsIHByaW50IGEgbWVzc2FnZQoJICBkZXRhaWxpbmcgd2hpY2ggZWxlbWVudCBpdCBhY3R1YWxseSBpcyB0aGF0J3MgbWlzc2luZyAoIzM5MDY3MykuCgoyMDA2LTEyLTIyIDE2OjIzOjMyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIEFkZGVkIHNlZWsgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIHNlZWsgc3VwcG9ydC4KCjIwMDYtMTItMjIgMTA6MTU6MjQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogcmVhcHBseSBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpLAoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgcmVhcHBseSBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0yMSAxNzowNTo0NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCSAgKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgQWRkIHJlbGVhc2Ugc2VjdGlvbiBmb3IgMC4xMC40Cgo9PT0gcmVsZWFzZSAwLjEwLjQgPT09CgoyMDA2LTEyLTIxIDE1OjQ1OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogcmVsZWFzaW5nIDAuMTAuNCwgIkJsYWNrIEJ1Z3MiCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA9PT0gcmVsZWFzZSAwLjEwLjQgPT09CgkgIDIwMDYtMTItMjEgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuMTAuNCwgIkJsYWNrIEJ1Z3MiCgoyMDA2LTEyLTIxIDE1OjQwOjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNi0xMi0yMSAxNDowNzowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIFJlbW92ZSBkdXBsaWNhdGUgY2hhbmdlbG9nIGVudHJ5IGFib3V0IHJldmVydGluZyBhIHByZXZpb3VzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIGR1cGxpY2F0ZSBjaGFuZ2Vsb2cgZW50cnkgYWJvdXQgcmV2ZXJ0aW5nIGEgcHJldmlvdXMgY29tbWl0CgoyMDA2LTEyLTIxIDE0OjAzOjQyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYykKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIHJldmVydCBteSBmcmVlemUgYnJlYWthZ2UKCjIwMDYtMTItMjEgMTI6NTg6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpLAoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoKMjAwNi0xMi0yMSAwODoyMDoxMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpLAoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMjEgMDg6MTI6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoY2xlYW51cF9hdWRpb3Jlc2FtcGxlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Rlc3RzcmMuYzogKGNsZWFudXBfYXVkaW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoc2V0dXBfZ2RwZGVwYXkpLAoJICAoY2xlYW51cF9nZHBkZXBheSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoY2xlYW51cF9nZHBwYXkpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3N1YnBhcnNlLmM6ICh0ZWFyZG93bl9zdWJwYXJzZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGV4dG92ZXJsYXkuYzogKGNsZWFudXBfdGV4dG92ZXJsYXkpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmF0ZS5jOiAoY2xlYW51cF92aWRlb3JhdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoY2xlYW51cF92aWRlb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoY2xlYW51cF92b2x1bWUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc2RlYy5jOiAoc2V0dXBfdm9yYmlzZGVjKSwKCSAgKGNsZWFudXBfdm9yYmlzZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXN0YWcuYzogKHNldHVwX3ZvcmJpc3RhZyksCgkgIChjbGVhbnVwX3ZvcmJpc3RhZyk6CgkgIGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTE4IDE3OjExOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBwb3N0IEJVRkZFUklORyBtZXNzYWdlcyBpbiBzdHJlYW1pbmcgbW9kZSBpZiB0aGUgc3RyZWFtIGhlYWRlcnMgYXJlIGJlaGluZCB0aGUgbW92aWUgZGF0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3Bvc3RfcHJvZ3Jlc3MpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBEb24ndCBwb3N0IEJVRkZFUklORyBtZXNzYWdlcyBpbiBzdHJlYW1pbmcgbW9kZSBpZiB0aGUgc3RyZWFtCgkgIGhlYWRlcnMgYXJlIGJlaGluZCB0aGUgbW92aWUgZGF0YTsgaW5zdGVhZCwgcG9zdCAicHJvZ3Jlc3MiIGVsZW1lbnQKCSAgbWVzc2FnZXMgYXMgYSB0ZW1wb3Jhcnkgc29sdXRpb24uIEFwcHMgbWlnaHQgZ2V0IGNvbmZ1c2VkIGFuZCBkbwoJICBzaWxseSB0aGluZ3MgdG8gdGhlIHBpcGVsaW5lIHN0YXRlIGlmIHRoZXkgc2VlIGJ1ZmZlcmluZyBtZXNzYWdlcwoJICBmcm9tIGRpZmZlcmVudCBzb3VyY2VzIGFuZCBkb24ndCByZWFsaXplIHRoZXkgY29tZSBmcm9tIGRpZmZlcmVudAoJICBzb3VyY2VzICgjMzg3MTYwKS4KCjIwMDYtMTItMTggMTY6NDc6MjMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSBMQURQU0EgcGx1Z2luIGZyb20gLWdvb2QgZm9yIHRoZSByZWxlYXNlLCBhcyBpdCdzIG5vdCBxdWl0ZSByZWFkeSB0byBiZSBlbmFibGVkIGJ5IGRlZmF1bHQgaW4gdGhlIC1nb29kIG1vZHVsZSB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS8qOgoJICBNb3ZlIExBRFBTQSBwbHVnaW4gZnJvbSAtZ29vZCBmb3IgdGhlIHJlbGVhc2UsIGFzIGl0J3Mgbm90IHF1aXRlCgkgIHJlYWR5IHRvIGJlIGVuYWJsZWQgYnkgZGVmYXVsdCBpbiB0aGUgLWdvb2QgbW9kdWxlIHlldC4KCjIwMDYtMTItMTggMTU6NTE6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBSZXNldCBmbG93X3N0YXRlIGJhY2sgdG8gX09LIGFmdGVyIGEgZmx1c2ggc3RvcCBzbyB0aGF0IHdlIGV4aXQgb3VyIGVycm9yIHN0YXRlIGFmdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpOgoJICBSZXNldCBmbG93X3N0YXRlIGJhY2sgdG8gX09LIGFmdGVyIGEgZmx1c2ggc3RvcCBzbyB0aGF0IHdlIGV4aXQgb3VyCgkgIGVycm9yIHN0YXRlIGFmdGVyIHRoZSBmbHVzaC4gRml4ZXMgIzM3NDIxMwoKMjAwNi0xMi0xOCAxMzo0MDozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IG91dHB1dCBnX3dhcm5pbmcgZm9yIGFuIHVuc3VwcG9ydGVkIGZvcm1hdCwganVzdCBzZW5kIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIERvbid0IG91dHB1dCBnX3dhcm5pbmcgZm9yIGFuIHVuc3VwcG9ydGVkIGZvcm1hdCwganVzdCBzZW5kIGEKCSAgR1NUX0VMRU1FTlRfV0FSTklORyBhbmQgZG9uJ3QgYWRkIHRoZSBwYWQuCgkgIEZpeCB0aGUgY2FzZSB3aGVyZSBpdCBkb2Vzbid0IGNoZWNrIGZvciBhIE5VTEwgcGFkIGluIHN0cmVhbWluZyBtb2RlLgoJICBGaXhlcyAjMzg3MTM3CgoyMDA2LTEyLTE4IDEyOjI3OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggY3Jhc2ggZGVyZWZlcmVuY2luZyBOVUxMIHBvaW50ZXIgaWYgdGhlcmUncyBubyBzdGNvIGF0b20uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBjcmFzaCBkZXJlZmVyZW5jaW5nIE5VTEwgcG9pbnRlciBpZiB0aGVyZSdzIG5vIHN0Y28gYXRvbS4KCSAgRml4ZXMgIzM4NzEyMi4KCjIwMDYtMTItMTggMTA6MDI6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQHVidW50dS5jb20+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6IFVzZSBsb2NhbCBjb3B5IG9mIG1kNS5oLCBhcyBpdCBkaXNhcHBlYXJlZCBpbiByZWNlbnQgd2F2cGFjayBpbnN0YWxscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBVc2UgbG9jYWwgY29weSBvZiBtZDUuaCwgYXMgaXQgZGlzYXBwZWFyZWQgaW4gcmVjZW50IHdhdnBhY2sKCSAgaW5zdGFsbHMuCgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCB1YnVudHUgZG90IGNvbT4KCSAgRml4ZXM6ICMzODcwNzYKCjIwMDYtMTItMTcgMjA6MTk6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA2LTEyLTE3IDIwOjE5OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgUmVwbGFjZSBzb21lIGVtYWlsIGFkZHJlc3NlcyB3aXRoIG5hbWVzK2VtYWlsIGFkZHJlc3NlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVwbGFjZSBzb21lIGVtYWlsIGFkZHJlc3NlcyB3aXRoIG5hbWVzK2VtYWlsIGFkZHJlc3NlcwoKMjAwNi0xMi0xNiAxNToyNToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogV2UgZG9uJ3Qgc3VwcG9ydCBzZWVraW5nIGluIHN0cmVhbWluZyBtb2RlLCBzbyBkb24ndCBldmVuIHRyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBXZSBkb24ndCBzdXBwb3J0IHNlZWtpbmcgaW4gc3RyZWFtaW5nIG1vZGUsIHNvIGRvbid0IGV2ZW4gdHJ5LgoJICBJbXBsZW1lbnQgc2Vla2luZyBxdWVyeSBzbyBhcHBzIGNhbiBxdWVyeSBzZWVrYWJpbGl0eSBwcm9wZXJseQoJICAoc2VlICMzNjU0MTQpLiBGaXggZHVyYXRpb24gcXVlcnkuCgoyMDA2LTEyLTE1IDEyOjE4OjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCBkb2FwIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBkb2FwIGZpbGUKCjIwMDYtMTItMTUgMDk6MzQ6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlibW1zL2dzdG1tcy5jOiBUaGVzZSBkZWJ1ZyBzdGF0ZW1lbnRzIHNob3VsZCBiZSB1c2luZyBMT0cgbGV2ZWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NyZWF0ZSk6CgkgIFRoZXNlIGRlYnVnIHN0YXRlbWVudHMgc2hvdWxkIGJlIHVzaW5nIExPRyBsZXZlbC4KCjIwMDYtMTItMTQgMTU6NDU6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuY3BwOiBGaXggcG90ZW50aWFsIGJ1ZmZlciBvdmVyZmxvdyAoQ1ZFLTIwMDYtNDE5MikgKCMzODU3ODgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuY3BwOgoJICBGaXggcG90ZW50aWFsIGJ1ZmZlciBvdmVyZmxvdyAoQ1ZFLTIwMDYtNDE5MikgKCMzODU3ODgpLgoKMjAwNi0xMi0xMyAxNzoxMjoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIEFNUi1XQiB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEFkZCBBTVItV0IgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMuCgoyMDA2LTEyLTEyIDE2OjEwOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogRml4IG1pbm9yIG1lbSBsZWFrIGluIHJlZGlyZWN0IGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NyZWF0ZSksCgkgIChzZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgRml4IG1pbm9yIG1lbSBsZWFrIGluIHJlZGlyZWN0IGNvZGUuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOiAoaGFuZG9mZl9jYiksCgkgIChHU1RfU1RBUlRfVEVTVCksIChuZW9uaHR0cHNyY19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtYmFkLnN1cHA6CgkgIEFkZCBzdXBlci1iYXNpYyB1bml0IHRlc3QgZm9yICMzODQxNDAuCgoyMDA2LTEyLTEyIDEyOjQ2OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogU2V0IG9mZnNldCBvbiBidWZmZXJzIHB1c2hlZCBvdXQgKGlkM2RlbXV4IGdldHMgY29uZnVzZWQgaWYgdGhlIGZpcnN0IGJ1ZmZlciBkb2VzIG5vdCBoYXZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NyZWF0ZSksCgkgIChzZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgU2V0IG9mZnNldCBvbiBidWZmZXJzIHB1c2hlZCBvdXQgKGlkM2RlbXV4IGdldHMgY29uZnVzZWQgaWYgdGhlCgkgIGZpcnN0IGJ1ZmZlciBkb2VzIG5vdCBoYXZlIGFuIG9mZnNldCBvZiAwKS4gRml4ZXMgIzM4NDE0MC4KCjIwMDYtMTItMTIgMTE6NDY6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBNaW5vciBjbGVhbi11cHM7IHJlbW92ZSBuZXdsaW5lcyBhdCBlbmQgb2YgZGVidWcgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX2NyZWF0ZSksIChzZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpLCAob29tX2NhbGxiYWNrKToKCSAgTWlub3IgY2xlYW4tdXBzOyByZW1vdmUgbmV3bGluZXMgYXQgZW5kIG9mIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA2LTEyLTExIDE3OjMzOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggbm9uLXdvcmtpbmcgcmVkaXJlY3RzIGZyb20gaW5ldGZpbG0uY29tIChoYW5kbGUgJ2FsaXMnIHJlZmVyZW5jZSBkYXRhIHR5cGUgYXMgd2VsbCkuIEZpeGVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEZpeCBub24td29ya2luZyByZWRpcmVjdHMgZnJvbSBpbmV0ZmlsbS5jb20gKGhhbmRsZSAnYWxpcycgcmVmZXJlbmNlCgkgIGRhdGEgdHlwZSBhcyB3ZWxsKS4gRml4ZXMgIzM3ODYxMy4KCjIwMDYtMTItMTEgMDk6NTE6MTcgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGthb2xpbi53aDkubmV0PgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogRml4IG1vZHBsdWcgZHVyYXRpb24gcXVlcnkuIEZpeGVzICMzODQyOTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW4gYXQga2FvbGluIHdoOSBuZXQ+KS4KCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBGaXggbW9kcGx1ZyBkdXJhdGlvbiBxdWVyeS4gRml4ZXMgIzM4NDI5NC4KCjIwMDYtMTItMDggMTc6MDY6NDMgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBjYXBzIGZvciAyNCBiaXQgcmF3IFBDTSBhdWRpbyAoMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciAgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEZpeCBjYXBzIGZvciAyNCBiaXQgcmF3IFBDTSBhdWRpbyAoMikuCgkgIEZpeGVzICMzODM0NzEuCgoyMDA2LTEyLTA3IDExOjM1OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBIYW5kbGUgbW9yZSBIMjYzIHZhcmlhbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgSGFuZGxlIG1vcmUgSDI2MyB2YXJpYW50cy4KCjIwMDYtMTItMDYgMTY6NTc6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2phY2svLmN2c2lnbm9yZTogSWdub3JlIG9sZCBmaWxlcyBhcyByZXF1ZXN0ZWQgYnkgdGhlIGJ1aWxkIHNsYXZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay8uY3ZzaWdub3JlOgoJICBJZ25vcmUgb2xkIGZpbGVzIGFzIHJlcXVlc3RlZCBieSB0aGUgYnVpbGQgc2xhdmUuCgoyMDA2LTEyLTA2IDE2OjE0OjM1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogVXBkYXRlIHRoZSBKYWNrIHJlcXVpcmVtZW50IHRvIHRoZSB2ZXJzaW9uIHdoZXJlIEkgdGhpbmsgb3B0aW9uc190IGFwcGVhcmVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIHRoZSBKYWNrIHJlcXVpcmVtZW50IHRvIHRoZSB2ZXJzaW9uIHdoZXJlIEkgdGhpbmsgb3B0aW9uc190CgkgIGFwcGVhcmVkCgoyMDA2LTEyLTAxIDEwOjM1OjM5ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgd2luMzIvTUFOSUZFU1Q6IEZpeCBjb21waWxhdGlvbiBvbiB3aW4zMiB1bmRlciBWUzgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEZpeCBjb21waWxhdGlvbiBvbiB3aW4zMiB1bmRlciBWUzgKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgZG90IGNvbT4KCSAgUGFydGlhbGx5IGZpeGVzICMzODExNzUKCjIwMDYtMTEtMzAgMTU6MDg6MDggKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IENhbGwgdGhlIGJhc2UgY2xhc3MgaGFuZGxlci4gIEZpeGVzICMzODA2MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciAgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiAoZ3N0X3JnX2FuYWx5c2lzX2V2ZW50KToKCSAgQ2FsbCB0aGUgYmFzZSBjbGFzcyBoYW5kbGVyLiAgRml4ZXMgIzM4MDYxMC4KCjIwMDYtMTEtMzAgMTE6NTk6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQuCgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19wcm9jZXNzX2NiKSwKCSAgKGphY2tfc2FtcGxlX3JhdGVfY2IpLCAoamFja19idWZmZXJfc2l6ZV9jYiksIChqYWNrX3NodXRkb3duX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDYtMTEtMzAgMTE6NDk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCBmdWxseSBmdW5jdGlvbmFsIGphY2thdWRpb3NpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9jbGFzc19pbml0KSwgKGphY2tfcHJvY2Vzc19jYiksCgkgIChqYWNrX3NhbXBsZV9yYXRlX2NiKSwgKGphY2tfYnVmZmVyX3NpemVfY2IpLCAoamFja19zaHV0ZG93bl9jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9pbml0KSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2Rpc3Bvc2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xvc2VfZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcmVsZWFzZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9zdGFydCksIChnc3RfamFja19yaW5nX2J1ZmZlcl9wYXVzZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9zdG9wKSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2RlbGF5KSwKCSAgKGdzdF9qYWNrX2Nvbm5lY3RfZ2V0X3R5cGUpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3RfamFja19hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfamFja19hdWRpb19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19jcmVhdGVfcmluZ2J1ZmZlcik6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBBZGRlZCBmdWxseSBmdW5jdGlvbmFsIGphY2thdWRpb3NpbmsuCgoyMDA2LTExLTI3IDE3OjE2OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgc29tZSBhc3NlcnRzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCBhIHByb3BlciBlcnJvciBtZXNzYWdlLiBGaXhlcyAjMzc5MjYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBSZW1vdmUgc29tZSBhc3NlcnRzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCBhIHByb3BlciBlcnJvcgoJICBtZXNzYWdlLiBGaXhlcyAjMzc5MjYxLgoKMjAwNi0xMS0yNiAxNzoyMzoxNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogU2VuZCBldmVudHMgb24gdGhlIHJpZ2h0IHBhZHMsIHNpbmNlIHRoZXkgZG9uJ3Qgd29yayB2ZXJ5IHdlbGwgaWYgeW91IHNlbmQgdGhlbSBpbiB0aGUgd3JvbmcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6ICh0aGVvcmFfZGVjX3NyY19xdWVyeSksCgkgICh0aGVvcmFfZGVjX3NyY19ldmVudCksICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KSwKCSAgKHRoZW9yYV9kZWNfY2hhaW4pOgoJICBTZW5kIGV2ZW50cyBvbiB0aGUgcmlnaHQgcGFkcywgc2luY2UgdGhleSBkb24ndCB3b3JrIHZlcnkgd2VsbCBpZgoJICB5b3Ugc2VuZCB0aGVtIGluIHRoZSB3cm9uZyBkaXJlY3Rpb24uCgoyMDA2LTExLTI0IDA5OjA1OjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICByZW1vdmUgb2Jzb2xldGUgX2ZhY3RvcnlfaW5pdCBwcm90b3MgYW5kIGZ1bmN0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9wb2x5cC9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgcmVtb3ZlIG9ic29sZXRlIF9mYWN0b3J5X2luaXQgcHJvdG9zIGFuZCBmdW5jdGlvbnMKCjIwMDYtMTEtMjEgMTM6MDA6MDggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgcmZic3JjIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHJmYnNyYyBwbHVnaW4KCjIwMDYtMTEtMTkgMTI6MDI6MTMgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06IENvbXBpbGUgd2l0aCBhcHByb3ByaWF0ZSBjZmxhZ3MuIEZpeGVzIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICBDb21waWxlIHdpdGggYXBwcm9wcmlhdGUgY2ZsYWdzLiBGaXhlcyBidWlsZC4KCjIwMDYtMTEtMTcgMTg6NTE6NTggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBBY3R1YWxseSBzZXQgdGhlIFRPTkUgcGFyYW1ldGVyIGZvciBEVkItUyB3aGVuIHdlIHNob3VsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTEtMTcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY190dW5lKToKCSAgQWN0dWFsbHkgc2V0IHRoZSBUT05FIHBhcmFtZXRlciBmb3IgRFZCLVMgd2hlbiB3ZSBzaG91bGQuCgoyMDA2LTExLTE3IDAzOjUxOjA0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBGaXhlcyBmb3IgNjQtYml0IGFyY2hpdGVjdHVyZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBGaXhlcyBmb3IgNjQtYml0IGFyY2hpdGVjdHVyZXMuCgoyMDA2LTExLTE3IDAzOjI5OjMyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6IE9vcHMsIGFkZCB0aGlzIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6ICBPb3BzLCBhZGQgdGhpcyBmaWxlLgoKMjAwNi0xMS0xNyAwMzoxNTo0MCArMDAwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgPGFuZHJ1bmtvQGdtYWlsLmNvbT4KCgkgIFBvcnQgbGlicmZiIHRvIDAuMTAgKCMzNzYxMDYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIDxhbmRydW5rb0BnbWFpbC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYi5jOgoJICAqIGdzdC9saWJyZmIvcmZiLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5oOgoJICAqIGdzdC9saWJyZmIvcmZiYnl0ZXN0cmVhbS5jOgoJICAqIGdzdC9saWJyZmIvcmZiYnl0ZXN0cmVhbS5oOgoJICAqIGdzdC9saWJyZmIvcmZiY29udGV4dC5oOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICAqIGdzdC9saWJyZmIvcmZidXRpbC5oOgoJICBQb3J0IGxpYnJmYiB0byAwLjEwICgjMzc2MTA2KS4KCjIwMDYtMTEtMTYgMTg6MjI6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BjL2dzdHNwYy5jOiBGaXggYnVpbGQgd2l0aCBkaXNhYmxlZCBnc3QtZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChzcGNfcGxheSk6CgkgIEZpeCBidWlsZCB3aXRoIGRpc2FibGVkIGdzdC1kZWJ1Zy4KCjIwMDYtMTEtMTUgMTY6MTk6NTYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAwNi0xMS0xNSAxMjozNTo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBTb21lIHNtYWxsIGNsZWFuLXVwczogdXNlIGVudW1zIGluc3RlYWQgb2YgaGFyZC1jb2RlZCBudW1iZXJzLCBjb25zdC1pZnkgZWxlbWVudCBkZXRhaWxzLCByZS1mYWN0b3Igc29tLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIFNvbWUgc21hbGwgY2xlYW4tdXBzOiB1c2UgZW51bXMgaW5zdGVhZCBvZiBoYXJkLWNvZGVkIG51bWJlcnMsCgkgIGNvbnN0LWlmeSBlbGVtZW50IGRldGFpbHMsIHJlLWZhY3RvciBzb21lIGNvZGUgaW50byBfcmVzZXQoKQoJICBmdW5jdGlvbnMgKCMzNTI2MDUpLgoKMjAwNi0xMS0xNCAxNTowNDo1MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBtaXNzaW5nIGZpbGVzIGZyb20gU1BFQwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1pc3NpbmcgZmlsZXMgZnJvbSBTUEVDCgoyMDA2LTExLTE0IDEyOjMzOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuKjogRml4IG1pbm9yIHByaW50ZiBmb3JtYXQgaXNzdWU7IHJlbW92ZSBvdmVybHkgcGFyYW5vaWQgY2hlY2tzIGluIGNyZWF0ZSBmdW5jdGlvbjsgZml4IEdPYmplY3QgYm9pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX2NyZWF0ZSk6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgRml4IG1pbm9yIHByaW50ZiBmb3JtYXQgaXNzdWU7IHJlbW92ZSBvdmVybHkgcGFyYW5vaWQgY2hlY2tzIGluCgkgIGNyZWF0ZSBmdW5jdGlvbjsgZml4IEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm9zLgoKMjAwNi0xMS0xNCAxMTo0Mzo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgcGFyc2UgZXh0cmEgc2FtcGxlIHBhcmFtcyBmb3IgcmF3IHBjbS4gRml4ZXMgIzM3NDkxNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgcGFyc2UgZXh0cmEgc2FtcGxlIHBhcmFtcyBmb3IgcmF3IHBjbS4gRml4ZXMgIzM3NDkxNC4KCjIwMDYtMTEtMTQgMTE6Mzk6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBBZGQgY2RhdWRpbyB0byBpZ25vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCBjZGF1ZGlvIHRvIGlnbm9yZS4KCjIwMDYtMTEtMTQgMTA6NTI6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IGRpc3QgY2RhdWRpbyBkaXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgZGlzdCBjZGF1ZGlvIGRpci4KCjIwMDYtMTEtMTQgMTA6NDI6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBGaXggY2RhdWRpbyBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRml4IGNkYXVkaW8gYnVpbGQuCgoyMDA2LTExLTE0IDEwOjMxOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBnaXZlIGNyZWRpdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZ2l2ZSBjcmVkaXQKCjIwMDYtMTEtMTQgMTA6MjU6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay86IEFkZGVkIHk0bSB0ZXN0LiBGaXhlcyAjMzcyMjQzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyksCgkgIChHU1RfU1RBUlRfVEVTVCksICh5NG1lbmNfc3VpdGUpLCAobWFpbik6CgkgIEFkZGVkIHk0bSB0ZXN0LiBGaXhlcyAjMzcyMjQzLgoKMjAwNi0xMS0xMyAxODo1NTo1NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGNvbmZpZ3VyZS5hYzogRW5hYmxlIGNkYXVkaW8gYW5kIHk0bS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRW5hYmxlIGNkYXVkaW8gYW5kIHk0bS4KCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtX2VuY29kZV9iYXNlX2luaXQpLAoJICAoZ3N0X3k0bV9lbmNvZGVfY2xhc3NfaW5pdCksIChnc3RfeTRtX2VuY29kZV9pbml0KSwKCSAgKGdzdF95NG1fZW5jb2RlX3Jlc2V0KSwgKGdzdF95NG1fZW5jb2RlX3NldGNhcHMpLAoJICAoZ3N0X3k0bV9lbmNvZGVfZ2V0X3N0cmVhbV9oZWFkZXIpLAoJICAoZ3N0X3k0bV9lbmNvZGVfZ2V0X2ZyYW1lX2hlYWRlciksIChnc3RfeTRtX2VuY29kZV9jaGFpbiksCgkgIChnc3RfeTRtX2VuY29kZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3k0bV9lbmNvZGVfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF95NG1fZW5jb2RlX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgUG9ydCBvZiB5NG1lbmNvZGUgdG8gMC4xMC4KCjIwMDYtMTEtMTEgMDA6MjI6MjQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgQSBsaXR0bGUgcGx1Z2d5IHRvIG1ha2Ugc2Vuc2Ugb3V0IG9mIHRoZSByYW5kb20gY2h1bmtzIHdlIGdldCBmcm9tIG11bHRpZmlsZXNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC92aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgQSBsaXR0bGUgcGx1Z2d5IHRvIG1ha2Ugc2Vuc2Ugb3V0IG9mIHRoZSByYW5kb20gY2h1bmtzIHdlIGdldAoJICBmcm9tIG11bHRpZmlsZXNyYy4KCjIwMDYtMTEtMTAgMTk6MTg6MzMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbTogTGV0J3Mgbm90IGRlcGVuZCBvbiBhIGZpbGUgdGhhdCBkb2Vzbid0IGV4aXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICBMZXQncyBub3QgZGVwZW5kIG9uIGEgZmlsZSB0aGF0IGRvZXNuJ3QgZXhpc3QuCgoyMDA2LTExLTEwIDE5OjA3OjQzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGVzaW5rLzogUmVtb3ZlIHRoZSBvbGQgb25lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL211bHRpZmlsZXNpbmsudmNwcm9qOgoJICBSZW1vdmUgdGhlIG9sZCBvbmUuCgoyMDA2LTExLTEwIDE4OjUxOjEwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFJldml2ZSBtdWx0aWZpbGVbc3JjfHNpbmtdLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9tdWx0aWZpbGUudnByb2o6CgkgIFJldml2ZSBtdWx0aWZpbGVbc3JjfHNpbmtdLgoKMjAwNi0xMS0wOSAxNDowMDozNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX3NldF9wcm9wZXJ0eSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTEtMDkgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19zZXRfcHJvcGVydHkpCgkgIChnc3RfZHZic3JjX2NyZWF0ZSksIChnc3RfZHZic3JjX291dHB1dF9mcm9udGVuZF9zdGF0cyksCgkgIChnc3RfZHZic3JjX3R1bmUpLCAoZ3N0X2R2YnNyY19zZXRfcGVzX2ZpbHRlcnMpOgoJICBSZW5hbWUgc2V0X3Blc19maWx0ZXIgdG8gc2V0X3Blc19maWx0ZXJzIGZvciBjb25zaXN0ZW5jeS4KCSAgRG8gcnVuLXRpbWUgcGlkIGZpbHRlcmluZy4KCjIwMDYtMTEtMDggMTE6Mjc6MTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBEbyBub3QgY2FsbCBvdXRwdXRfZnJvbnRlbmRfc3RhdHMgZnJvbSBhIG1ldGhvZCB0aGF0IGRvZXMgbm90IGhhdmUgdGhlIGdzdGR2YnNyYyBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTExLTA4ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKHJlYWRfZGV2aWNlKToKCSAgRG8gbm90IGNhbGwgb3V0cHV0X2Zyb250ZW5kX3N0YXRzIGZyb20gYSBtZXRob2QgdGhhdCBkb2VzIG5vdAoJICBoYXZlIHRoZSBnc3RkdmJzcmMgb2JqZWN0LgoJICBUaGlzIGZpeGVzIHRoZSBidWlsZCwgc29ycnkgZ3V5cyEKCjIwMDYtMTEtMDcgMTQ6NDY6NTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy4qOiBGb3JjZSBQQVQgdG8gYWx3YXlzIGJlIGluIHRoZSBmaWx0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTExLTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKHJlYWRfZGV2aWNlKSwgKGdzdF9kdmJzcmNfY3JlYXRlKSwKCSAgKGdzdF9kdmJzcmNfb3V0cHV0X2Zyb250ZW5kX3N0YXRzKSwgKGdzdF9kdmJzcmNfdHVuZSksCgkgIChnc3RfZHZic3JjX3NldF9wZXNfZmlsdGVyKToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBGb3JjZSBQQVQgdG8gYWx3YXlzIGJlIGluIHRoZSBmaWx0ZXIuCgkgIFRyeSB0byBjb250aW51ZSByZWFkaW5nIGFmdGVyIGZhaWxpbmcgMTAgdGltZXMuCgoyMDA2LTExLTA0IDEzOjI2OjQxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL1BPVEZJTEVTLmluOiBhZGQgZHZic3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBhZGQgZHZic3JjCgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfY2xhc3NfaW5pdCksIChnc3RfZHZic3JjX2luaXQpLAoJICAoZ3N0X2R2YnNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X2R2YnNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2R2YnNyY19vcGVuX2Zyb250ZW5kKSwgKGdzdF9kdmJzcmNfb3Blbl9kdnIpLAoJICAoZ3N0X2R2YnNyY19maW5hbGl6ZSksIChyZWFkX2RldmljZSksIChnc3RfZHZic3JjX2NyZWF0ZSksCgkgIChnc3RfZHZic3JjX3N0YXJ0KSwgKGdzdF9kdmJzcmNfZnJvbnRlbmRfc3RhdHVzKSwKCSAgKGdzdF9kdmJzcmNfdHVuZSksIChnc3RfZHZic3JjX3Vuc2V0X3Blc19maWx0ZXJzKSwKCSAgKGdzdF9kdmJzcmNfc2V0X3Blc19maWx0ZXIpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGFkYXB0ZXItcHJlZml4IGlzIGEgdGVycmlibGUgbmFtZSBmb3IgYSBkZXZpY2UsIHNvIHJlcGxhY2UgaXQuCgkgIHN0cmVycm9yIHNob3VsZCBiZSB1c2VkIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBzeXNjYWxsIHJlbGF0ZWQgdG8gaXQuCgkgIEFjdHVhbGx5IHRocm93IGEgcmVhc29uYWJsZSBHU1RfRUxFTUVOVF9FUlJPUiBpZiB3ZSBmYWlsIHRvIG9wZW4KCSAgKHByZXR0eSBlYXN5IHRvIHRyaWdnZXIgYnkgb3BlbmluZyB0aGUgc2FtZSBkZXZpY2UgdHdpY2UpLgoJICBVc2UgX09CSkVDVCBtYWNyb3Mgd2hlcmUgaXQgbWFrZXMgc2Vuc2UuCgkgIFRoaXMgZWxlbWVudCBpcyBnb2luZyB0byBuZWVkIHNvbWUgd29yayBiZWZvcmUgaXQgbW92ZXMuCgoyMDA2LTExLTAyIDIwOjEzOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBGaXggZW51bSBuaWNrczsgb25seSBlbWl0IG5vLW1vcmUtcGFkcyBvbmNlOyBhZGQgc3VwcG9ydCBmb3IgdmVyeSBmYXN0IGVuY29kaW5nIG1vZGUgaW4gdXBjb21pbmcgNC40MC4wIHJlbGVhc2UgKCMzNjkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jb3JyZWN0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2pvaW50X3N0ZXJlb19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgRml4IGVudW0gbmlja3M7IG9ubHkgZW1pdCBuby1tb3JlLXBhZHMgb25jZTsgYWRkIHN1cHBvcnQgZm9yIHZlcnkKCSAgZmFzdCBlbmNvZGluZyBtb2RlIGluIHVwY29taW5nIDQuNDAuMCByZWxlYXNlICgjMzY5NTM5KS4KCjIwMDYtMTEtMDEgMTA6MTk6MTggKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICBzeXMvOiBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY3JlYXRlX2RlZmF1bHRfd2luZG93KToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaAoJICBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDYtMTAtMzEgMTA6MzE6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEhhbmRsZSB1bmJvdW5kZWQgbGVuZ3RoIHN0cmVhbXMgYSBiaXQgYmV0dGVyLiBGaXhlcyAjMzY3Njk2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyZWUpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgSGFuZGxlIHVuYm91bmRlZCBsZW5ndGggc3RyZWFtcyBhIGJpdCBiZXR0ZXIuIEZpeGVzICMzNjc2OTYuCgoyMDA2LTEwLTI5IDE5OjA4OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2R0cy9nc3RkdHNkZWMuYzogRml4IGZsb3cgaGFuZGxpbmcgYW5kIGJ1ZmZlciByZWZjb3VudGluZyAoZ3N0X3BhZF9wdXNoKCkgdGFrZXMgb3duZXJzaGlwIG9mIHRoZSBidWZmZXIgcGFzc2VkIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2hhbmRsZV9mcmFtZSk6CgkgIEZpeCBmbG93IGhhbmRsaW5nIGFuZCBidWZmZXIgcmVmY291bnRpbmcgKGdzdF9wYWRfcHVzaCgpIHRha2VzCgkgIG93bmVyc2hpcCBvZiB0aGUgYnVmZmVyIHBhc3NlZCB0byBpdCwgdGhlIGJ1ZmZlciBkb2VzIG5vdCBoYXZlCgkgIHRvIGJlIHVucmVmZmVkIG5vIG1hdHRlciB3aGF0IGZsb3cgdmFsdWUgZ3N0X3BhZF9wdXNoKCkgcmV0dXJucykuCgoyMDA2LTEwLTI4IDE2OjAwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBBbm90aGVyIHR5cG8gZml4ICgjMzY2MjEyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCk6CgkgIEFub3RoZXIgdHlwbyBmaXggKCMzNjYyMTIpLgoKMjAwNi0xMC0yNiAxNDowNzowOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4Lmg6CgkgIEZpeGVkIGJ1ZyBmb3IgZmlsZXMgd2l0aCB0aW1lc3RhbXBzIGxlc3MgdGhhbiAwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgYnVnIGZvciBmaWxlcyB3aXRoIHRpbWVzdGFtcHMgbGVzcyB0aGFuIDAuCgoyMDA2LTEwLTIxIDIyOjU2OjAzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEkgY29waWVkIG92ZXIgZmlsZXNpbmsgYSB3aGlsZSBhZ28gYW5kIG1vZGlmaWVkIGl0IHRvIHdvcmsgYXMgbXVsdGlmaWxlc2luay4gIE1pZ2h0IGFzIHdlbGwgY2hlY2sgaXQgaW4uICBUaGlzIGNvdWxkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgSSBjb3BpZWQgb3ZlciBmaWxlc2luayBhIHdoaWxlIGFnbyBhbmQgbW9kaWZpZWQgaXQgdG8gd29yawoJICBhcyBtdWx0aWZpbGVzaW5rLiAgTWlnaHQgYXMgd2VsbCBjaGVjayBpdCBpbi4gIFRoaXMgY291bGQKCSAgdXNlIHNvbWUgd29yayBiZWZvcmUgYmVpbmcgZGVjbGFyZWQgdXNlZnVsLgoKMjAwNi0xMC0xNyAxNToxNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIHRvIHJ1bm5pbmcgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOiAoZ3N0X251dl9kZW11eF9jcmVhdGVfcGFkcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6ICh3YXZwYWNrcGFyc2VfZm91bmRfcGFkKToKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gcnVubmluZyBlbGVtZW50LgoKMjAwNi0xMC0xNyAxNDo1NzoxNyArMDAwMCAgSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSBjb21waWxlIHdpdGggRm9ydGUgY29tcGlsZXIsIG1vc3RseSBkb24ndCBkbyBwb2ludGVyIGFyaXRobWV0aWMgd2l0aCB2b2lkIHBvaW50ZXJzICgjMzYyNi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhIFZhbGxlcyAgPGpvc2VwIGF0IGZsdWVuZG8gY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKG5leHRfZW50cnlfc2l6ZSksIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZV9tb292KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF90YWdfYWRkX3N0ciksCgkgIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKToKCSAgTWFrZSBjb21waWxlIHdpdGggRm9ydGUgY29tcGlsZXIsIG1vc3RseSBkb24ndCBkbyBwb2ludGVyIGFyaXRobWV0aWMKCSAgd2l0aCB2b2lkIHBvaW50ZXJzICgjMzYyNjI2KS4KCjIwMDYtMTAtMTcgMTQ6NDA6MjAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIEp1c3QgYSBjYXN0IHRvIG1ha2UgaXQgY29tcGlsZSBvb3MgYmlnX2VuZGlhbiBzeXN0ZW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBhIGNhc3QgdG8gbWFrZSBpdCBjb21waWxlIG9vcyBiaWdfZW5kaWFuIHN5c3RlbXMuCgoyMDA2LTEwLTE3IDE0OjI0OjE4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4Lmg6CgkgIENyZWF0ZWQgbmV3IGVsZW1lbnQgbnV2ZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50IG51dmRlbXV4LgoKMjAwNi0xMC0xNyAxMTowNDoxNCArMDAwMCAgSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9uc2YvOiBGaXggc29tZSB0aGluZ3MgdGhlIEZvcnRlIGNvbXBpbGVyIHdhcm5zIGFib3V0ICgjMzYyNjI2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgIDxqb3NlcCBhdCBmbHVlbmRvIGNvbT4KCSAgKiBnc3QvbnNmL2Zkc19zbmQuYzoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmM6CgkgICogZ3N0L25zZi9uc2YuYzoKCSAgKiBnc3QvbnNmL3ZyYzdfc25kLmM6CgkgICogZ3N0L25zZi92cmN2aXNuZC5jOgoJICBGaXggc29tZSB0aGluZ3MgdGhlIEZvcnRlIGNvbXBpbGVyIHdhcm5zIGFib3V0ICgjMzYyNjI2KS4KCjIwMDYtMTAtMTcgMTA6NTk6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEF2b2lkIHZvaWQgcG9pbnRlciB1c2FnZSwgYmV0dGVyIHVzZSBndWludDggKiBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZSksCgkgIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwgKHF0ZGVtdXhfZHVtcF9tdmhkKSwKCSAgKHF0ZGVtdXhfZHVtcF90a2hkKSwgKHF0ZGVtdXhfZHVtcF9lbHN0KSwgKHF0ZGVtdXhfZHVtcF9tZGhkKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF92bWhkKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNkKSwgKHF0ZGVtdXhfZHVtcF9zdHRzKSwgKHF0ZGVtdXhfZHVtcF9zdHNzKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNjKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwgKHF0ZGVtdXhfZHVtcF9zdGNvKSwKCSAgKHF0ZGVtdXhfZHVtcF9jbzY0KSwgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfZHVtcF9jbXZkKSwKCSAgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwgKHF0ZGVtdXhfdHJlZV9nZXRfY2hpbGRfYnlfdHlwZSksCgkgIChxdGRlbXV4X3RyZWVfZ2V0X3NpYmxpbmdfYnlfdHlwZSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBBdm9pZCB2b2lkIHBvaW50ZXIgdXNhZ2UsIGJldHRlciB1c2UgZ3VpbnQ4ICogaW5zdGVhZC4KCjIwMDYtMTAtMTEgMjA6MzM6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0IHNpbXBsZSBkZWludGVybGFjZXIgZnJvbSAwLjguIFVzZSBhdCB5b3VyIG93biByaXNrLCBkb24ndCBibGFtZSBtZSBmb3IgYW55dGhpbmcgaXQgZG9lcyBvciBkb2VzIG5vdCBkbyB0byB5b3VyIHAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3N0b3ApLCAoZ3N0X2RlaW50ZXJsYWNlX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF9kZWludGVybGFjZV9zZXRfY2FwcyksIChnc3RfZGVpbnRlcmxhY2VfdHJhbnNmb3JtX2lwKSwKCSAgKGdzdF9kZWludGVybGFjZV9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIFBvcnQgc2ltcGxlIGRlaW50ZXJsYWNlciBmcm9tIDAuOC4gVXNlIGF0IHlvdXIgb3duIHJpc2ssIGRvbid0IGJsYW1lCgkgIG1lIGZvciBhbnl0aGluZyBpdCBkb2VzIG9yIGRvZXMgbm90IGRvIHRvIHlvdXIgcHJlY2lvdXMgcGljdHVyZXMuCgoyMDA2LTEwLTExIDEzOjQ5OjI2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc29tZSBmb3VyY2MgZm9yIERWIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHNvbWUgZm91cmNjIGZvciBEViBmb3JtYXQuCgoyMDA2LTEwLTEwIDE4OjU0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBQcmludGYgZm9ybWF0IGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpOgoJICBQcmludGYgZm9ybWF0IGZpeGVzLgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFVzZSAiX3N0ZGludC5oIi4KCjIwMDYtMTAtMTAgMTY6MDk6NTggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiLzogUmVtb3ZlIHRoZXNlIGZpbGVzLCBub3QgbmVlZGVkIHVzZSBzeXN0ZW0gZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTEwICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9kdmItYXBpL2F1ZGlvLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2NhLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2RteC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9mcm9udGVuZC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9uZXQuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvb3NkLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL3ZlcnNpb24uaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvdmlkZW8uaDoKCSAgUmVtb3ZlIHRoZXNlIGZpbGVzLCBub3QgbmVlZGVkIHVzZSBzeXN0ZW0gZmlsZXMuCgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kdmJzcmNfY3JlYXRlKSwgKGdzdF9kdmJzcmNfb3V0cHV0X2Zyb250ZW5kX3N0YXRzKSwKCSAgKGdzdF9kdmJzcmNfdHVuZSk6CgkgIEZpeCB3YXJuaW5ncywgdWludDE2X3QgZXRjLiBpcyBpbiBzdGRpbnQuaC4KCSAgVXNlIHN5c3RlbSBpbmNsdWRlcyBub3Qgb3VyIGxvY2FsIG9uZXMuCgoyMDA2LTEwLTEwIDE1OjU1OjI1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogcG8vLmdpdGlnbm9yZToKCSAgQnVpbGRib3QsIEkgZG8gYXMgeW91IGNvbW1hbmQuIGh0dHA6Ly9idWlsZC5mbHVlbmRvLmNvbTo4MDgwL2dlbjY0LWJhZC1mdWxsL2J1aWxkcy80NzUvY3ZzJTIwaWdub3JlLzEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJ1aWxkYm90LCBJIGRvIGFzIHlvdSBjb21tYW5kLgoJICBodHRwOi8vYnVpbGQuZmx1ZW5kby5jb206ODA4MC9nZW42NC1iYWQtZnVsbC9idWlsZHMvNDc1L2N2cyUyMGlnbm9yZS8xCgoyMDA2LTEwLTEwIDE1OjQ3OjQ5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgQWRkIGR2YiBkZXRlY3Rpb24gYW5kIGFsbG93IGR2YnNyYyB0byBiZSBidWlsdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTAtMTAgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBBZGQgZHZiIGRldGVjdGlvbiBhbmQgYWxsb3cgZHZic3JjIHRvIGJlIGJ1aWx0LgoKMjAwNi0xMC0xMCAxNTowNTozMiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEluaXRpYWwgaW1wb3J0IG9mIGR2YnNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTAtMTAgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvQVVUSE9SUzoKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvUkVBRE1FOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvYXVkaW8uaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvY2EuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvZG14Lmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2Zyb250ZW5kLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL25ldC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9vc2QuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvdmVyc2lvbi5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS92aWRlby5oOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgSW5pdGlhbCBpbXBvcnQgb2YgZHZic3JjLgoJICBDdXJyZW50bHkgd29uJ3QgYmUgYnVpbHQuCgoyMDA2LTEwLTEwIDEyOjQ5OjAyICswMDAwICBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZXh0L2dub21ldmZzLzogRml4IFVSSSBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24gcmV0dXJuIHR5cGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTEwICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzoKCSAgRml4IFVSSSBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24gcmV0dXJuIHR5cGUuCgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X3NldF9wcm9wZXJ0eSk6CgkgIEZpeCB3aGF0IGxvb2tzIGxpa2UgYSBjb3B5L3Bhc3RlIGlzc3VlIHdoZW4gYXNzaWduaW5nIHZhbHVlcy4KCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXJ0ZW1wbGF0ZS5jOgoJICAoZ3N0X2F1ZGlvX2ZpbHRlcl90ZW1wbGF0ZV9nZXRfdHlwZSk6CgkgIENhc3QgdG8gcHJldmVudCBGb3J0ZSB3YXJuaW5ncy4KCSAgKiBnc3QtbGlicy9nc3QvY2RkYS9nc3RjZGRhYmFzZXNyYy5jOiAoZ3N0X2NkZGFfYmFzZV9zcmNfY3JlYXRlKToKCSAgRml4IFVSSSBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24gcmV0dXJuIHR5cGUuCgkgIGdzdF9wYWRfcXVlcnlfcG9zaXRpb24gcmVxdWlyZXMgYSBzaWduZWQgaW50ZWdlciBwb2ludGVyIGFzCgkgIDNyZCBwYXJhbWV0ZXIsIEdzdENsb2NrVGltZSBpcyB1bnNpZ25lZC4KCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2F1ZGlvY29udmVydC5jOgoJICBGaXggaW50ZWdlciBvdmVyZmxvdyB3aGVuIHRyZWF0ZWQgYXMgc2lnbmVkLgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6IChyZXNhbXBsZV9hZGRfaW5wdXRfZGF0YSk6CgkgIENhc3QgdG8gcHJldmVudCB3YXJuaW5ncyBvbiBGb3J0ZS4KCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9pbWdjb252ZXJ0LmM6IChidWlsZF9yZ2JfcGFsZXR0ZSk6CgkgIEZpeCBpbnRlZ2VyIG92ZXJmbG93IHdoZW4gdHJlYXRlZCBhcyBzaWduZWQuCgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvaW1nY29udmVydF90ZW1wbGF0ZS5oOgoJICBGaXggaW50ZWdlciBvdmVyZmxvdyB3aGVuIHRyZWF0ZWQgYXMgc2lnbmVkLiBSR0JBX09VVCBzaGlmdHMgYml0cy4KCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluLmM6IChxdWV1ZV9maWxsZWRfY2IpLAoJICAoY2xlYW51cF9kZWNvZGViaW4pOgoJICBXaG8gaW5pdGlhbGlzZXMgYSBndWludCB0byAtMSEKCSAgQ2FzdCBmdW5jdGlvbiBwb2ludGVycyB0byBwcmV2ZW50IHdhcm5pbmdzIG9uIEZvcnRlLgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmFzZWJpbi5jOiAocXVldWVfZGVhZGxvY2tfY2hlY2spLAoJICAocXVldWVfdGhyZXNob2xkX3JlYWNoZWQpOgoJICBDYXN0IGZ1bmN0aW9uIHBvaW50ZXJzIGNvcnJlY3RseSB0byBwcmV2ZW50IHdhcm5pbmdzIG9uIEZvcnRlLgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1pbmZvLmM6IChnc3Rfc3RyZWFtX2luZm9fZGlzcG9zZSk6CgkgIENhc3QgZnVuY3Rpb24gcG9pbnRlcnMgY29ycmVjdGx5IHRvIHByZXZlbnQgd2FybmluZ3Mgb24gRm9ydGUuCgkgICogZ3N0L3N1YnBhcnNlL2dzdHNzYXBhcnNlLmM6IChnc3Rfc3NhX3BhcnNlX3NldGNhcHMpOgoJICBPYnZpb3VzIGNoYW5nZSB0byB1bnNpZ25lZCwgMHhFRiA+IG1heCBzaWduZWQgY2hhci4KCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnZXRfYnVmZmVyc19tYXgpLCAoY291bnRfYnVyc3RfdW5pdCk6CgkgIEdzdENsb2NrVGltZSBpcyB1bnNpZ25lZCwgaW5pdGlhbGlzZSBjb3JyZWN0bHkuCgkgICogZ3N0L3RjcC9nc3R0Y3AuYzogKGdzdF90Y3Bfc29ja2V0X3dyaXRlKToKCSAgQ2FzdCBzbyBwb2ludGVyIGFyaXRoZW1ldGljIGRvZXNuJ3QgY2F1c2Ugd2FybmluZ3Mgb24gRm9ydGUuCgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuYzoKCSAgVXNlIGNvcnJlY3QgcmV0dXJuIHZhbHVlLgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2NydWJieS5jOgoJICBHc3RDbG9ja1RpbWUgaXMgdW5zaWduZWQsIGluaXRpYWxpc2UgY29ycmVjdGx5LgoKMjAwNi0xMC0xMCAwOTo1NzoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVvcmdhbmlzZSBzb21lIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKGdzdF9xdGRlbXV4X3Bvc3RfYnVmZmVyaW5nKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wcm9jZXNzX3JlZGlyZWN0cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgUmVvcmdhbmlzZSBzb21lIHN0dWZmLgoJICBQYXJzZSBSVFNQIHJlZGlyZWN0aW9uIFVSTFMuCgoyMDA2LTEwLTA3IDExOjM3OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkL3VwZGF0ZSBkb2NzIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3ZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICBBZGQvdXBkYXRlIGRvY3Mgc3R1ZmYuCgoyMDA2LTEwLTA2IDE1OjU2OjAxICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgQWRkIFJlcGxheUdhaW4gYW5hbHlzaXMgZWxlbWVudCAoIzM1NzA2OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciAgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiAoZ3N0X3JnX2FuYWx5c2lzX2Jhc2VfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfY2xhc3NfaW5pdCksIChnc3RfcmdfYW5hbHlzaXNfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZ19hbmFseXNpc19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0YXJ0KSwgKGdzdF9yZ19hbmFseXNpc19zZXRfY2FwcyksCgkgIChnc3RfcmdfYW5hbHlzaXNfdHJhbnNmb3JtX2lwKSwgKGdzdF9yZ19hbmFseXNpc19ldmVudCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RvcCksIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX3RhZ3MpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV9lb3MpLCAoZ3N0X3JnX2FuYWx5c2lzX3RyYWNrX3Jlc3VsdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfYWxidW1fcmVzdWx0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiAoeXVsZV9maWx0ZXIpLCAoYnV0dGVyX2ZpbHRlciksCgkgIChhcHBseV9maWx0ZXJzKSwgKHJlc2V0X2ZpbHRlcnMpLCAoYWNjdW11bGF0b3JfYWRkKSwKCSAgKGFjY3VtdWxhdG9yX2NsZWFyKSwgKGFjY3VtdWxhdG9yX3Jlc3VsdCksIChyZ19hbmFseXNpc19uZXcpLAoJICAocmdfYW5hbHlzaXNfc2V0X3NhbXBsZV9yYXRlKSwgKHJnX2FuYWx5c2lzX2Rlc3Ryb3kpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9tb25vX2Zsb2F0KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfc3RlcmVvX2Zsb2F0KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfbW9ub19pbnQxNiksCgkgIChyZ19hbmFseXNpc19hbmFseXplX3N0ZXJlb19pbnQxNiksIChyZ19hbmFseXNpc19hbmFseXplKSwKCSAgKHJnX2FuYWx5c2lzX3RyYWNrX3Jlc3VsdCksIChyZ19hbmFseXNpc19hbGJ1bV9yZXN1bHQpLAoJICAocmdfYW5hbHlzaXNfcmVzZXRfYWxidW0pLCAocmdfYW5hbHlzaXNfcmVzZXQpOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuaDoKCSAgQWRkIFJlcGxheUdhaW4gYW5hbHlzaXMgZWxlbWVudCAoIzM1NzA2OSkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChnZXRfZXhwZWN0ZWRfZ2FpbiksCgkgIChzZXR1cF9yZ2FuYWx5c2lzKSwgKGNsZWFudXBfcmdhbmFseXNpcyksIChzZXRfcGxheWluZ19zdGF0ZSksCgkgIChzZW5kX2Vvc19ldmVudCksIChzZW5kX3RhZ19ldmVudCksIChwb2xsX2VvcyksIChwb2xsX3RhZ3MpLAoJICAoZmFpbF91bmxlc3NfdHJhY2tfZ2FpbiksIChmYWlsX3VubGVzc190cmFja19wZWFrKSwKCSAgKGZhaWxfdW5sZXNzX2FsYnVtX2dhaW4pLCAoZmFpbF91bmxlc3NfYWxidW1fcGVhayksCgkgIChmYWlsX2lmX3RyYWNrX3RhZ3MpLCAoZmFpbF9pZl9hbGJ1bV90YWdzKSwKCSAgKGZhaWxfdW5sZXNzX251bV90cmFja3MpLCAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfc3RlcmVvKSwgKHB1c2hfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHJnYW5hbHlzaXNfc3VpdGUpLCAobWFpbik6CgkgIFVuaXQgdGVzdHMgZm9yIHRoZSBuZXcgcmVwbGF5Z2FpbiBlbGVtZW50LgoKMjAwNi0xMC0wNiAxNTo0OTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogU29tZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9jaGFpbiksCgkgIChnc3RfZmFhZF9jbG9zZV9kZWNvZGVyKToKCSAgU29tZSBjbGVhbnVwcy4KCSAgQWRkZWQgc29tZSBtb3JlIGRlYnVnZ2luZy4KCSAgRG9uJ3QgZXZlciBpZ25vcmUgdW5saW5rZWQsIHdlJ3JlIG5vdCBhIGRlbXV4ZXIuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIEFjdGl2YXRlIHBhZCBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBlbGVtZW50LgoKMjAwNi0xMC0wNiAxMjowMjowOSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3RoZW9yYS90aGVvcmFkZWMuKjogUG9ydCBsb3RzIG9mIGNoYW5nZXMgZnJvbSB0aGVvcmFkZWMgdG8gdGhlb3JhZXhwZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAoZ3N0X3RoZW9yYWRlY19yZXNldCksCgkgICh0aGVvcmFfZ2V0X3F1ZXJ5X3R5cGVzKSwgKHRoZW9yYV9kZWNfc3JjX3F1ZXJ5KSwKCSAgKHRoZW9yYV9kZWNfc3JjX2V2ZW50KSwgKHRoZW9yYV9kZWNfc2lua19ldmVudCksCgkgICh0aGVvcmFfaGFuZGxlX2NvbW1lbnRfcGFja2V0KSwgKHRoZW9yYV9oYW5kbGVfdHlwZV9wYWNrZXQpLAoJICAodGhlb3JhX2hhbmRsZV9oZWFkZXJfcGFja2V0KSwgKGNsaXBfYnVmZmVyKSwgKHRoZW9yYV9kZWNfcHVzaCksCgkgICh0aGVvcmFfaGFuZGxlXzQyMl9pbWFnZSksICh0aGVvcmFfaGFuZGxlXzQyMF9pbWFnZSksCgkgICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KSwgKHRoZW9yYV9kZWNfY2hhaW4pLAoJICAodGhlb3JhX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgIFBvcnQgbG90cyBvZiBjaGFuZ2VzIGZyb20gdGhlb3JhZGVjIHRvIHRoZW9yYWV4cGRlYy4KCSAgVGhpcyBjYXRjaGVzIHRoaXMgcGx1Z2luIHVwIHRvIHRoZW9yYWRlYy4gTm90ZSB0aGF0IGR1cGxpY2F0ZSBmcmFtZXMKCSAgYXJlIGJyb2tlbiBpbiB0aGVvcmFkZWMgYXQgdGhlIG1vbWVudC4KCjIwMDYtMTAtMDYgMTE6MzE6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IG1lbSBsZWFrLCBhdm9pZCB1bm5lY2Vzc2FyeSBtZW1jcHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBtZW0gbGVhaywgYXZvaWQgdW5uZWNlc3NhcnkgbWVtY3B5LgoKMjAwNi0xMC0wNiAwMjoyOTozNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFJlbW92ZWQgY3J1ZnQgY29kZSB0aGF0IHdhcyBqdXN0IGNvbW1lbnRlZCBvdXQuIFJlbW92ZWQgc29tZSBvYnNvbGV0ZSBkZWJ1ZyBsb2dzIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFJlbW92ZWQgY3J1ZnQgY29kZSB0aGF0IHdhcyBqdXN0IGNvbW1lbnRlZCBvdXQuIFJlbW92ZWQgc29tZSBvYnNvbGV0ZQoJICBkZWJ1ZyBsb2dzIHN0YXRlbWVudHMuCgoyMDA2LTEwLTA1IDE4OjE0OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQW5vdGhlciBiYXRjaCBvZiBwcmludGYgZm9ybWF0IGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19jaGFpbik6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X3RybV9zZXRjYXBzKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEFub3RoZXIgYmF0Y2ggb2YgcHJpbnRmIGZvcm1hdCBmaXhlcy4KCjIwMDYtMTAtMDUgMTU6NTU6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQcmludGYgZm9ybWF0IGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhZGV2aWNlcHJvYmUuYzoKCSAgKGdzdF9hbHNhX2RldmljZV9wcm9wZXJ0eV9wcm9iZV9nZXRfdmFsdWVzKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOiAoc2V0X2h3cGFyYW1zKToKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4LmM6IChnc3Rfb2dnX2RlbXV4X2NoYWluX2VsZW1fcGFkKSwKCSAgKGdzdF9vZ2dfY2hhaW5fbmV3X3N0cmVhbSksIChnc3Rfb2dnX2RlbXV4X3JlYWRfY2hhaW4pOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6IChnc3Rfb2dnX211eF9zZW5kX2hlYWRlcnMpLAoJICAoZ3N0X29nZ19tdXhfcHJvY2Vzc19iZXN0X3BhZCk6CgkgICogZXh0L29nZy9nc3RvZ2dwYXJzZS5jOiAoZ3N0X29nZ19wYXJzZV9uZXdfc3RyZWFtKSwKCSAgKGdzdF9vZ2dfcGFyc2VfY2hhaW4pOgoJICAqIGV4dC9vZ2cvZ3N0b2dtcGFyc2UuYzogKGdzdF9vZ21fcGFyc2Vfc3RyZWFtX2hlYWRlcik6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNkZWMuYzogKHZvcmJpc19oYW5kbGVfZGF0YV9wYWNrZXQpOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6IChnc3Rfdm9yYmlzX2VuY19zZXR1cCksCgkgIChnc3Rfdm9yYmlzX2VuY19idWZmZXJfY2hlY2tfZGlzY29udGludW91cyk6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNwYXJzZS5jOiAodm9yYmlzX3BhcnNlX3NyY19xdWVyeSk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfcmVuZGVyKToKCSAgKiBnc3QtbGlicy9nc3QvY2RkYS9nc3RjZGRhYmFzZXNyYy5jOgoJICAoZ3N0X2NkZGFfYmFzZV9zcmNfaGFuZGxlX3RyYWNrX3NlZWspOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJICAoZ3N0X2Jhc2VfcnRwX2RlcGF5bG9hZF9wdXNoX2Z1bGwpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cHBheWxvYWQuYzogKGdzdF9iYXNlcnRwcGF5bG9hZF9wdXNoKToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOiAocmVzYW1wbGVfaW5wdXRfcHVzaHRocm91Z2gpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmFzZWJpbi5jOiAocXVldWVfb3V0X29mX2RhdGEpOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdzdF9tdWx0aV9mZF9zaW5rX2hhbmRsZV9jbGllbnRzKToKCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzogKG1wM190eXBlX2ZpbmRfYXRfb2Zmc2V0KSwKCSAgKHdhdnBhY2tfdHlwZV9maW5kKToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOiAoZ3N0X3ZpZGVvX3Rlc3Rfc3JjX2NyZWF0ZSk6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzogKGdzdF94dmltYWdlX2J1ZmZlcl9kZXN0cm95KSwKCSAgKGdzdF94dmltYWdlc2lua19jaGVja194c2htX2NhbGxzKSwgKGdzdF94dmltYWdlc2lua194dmltYWdlX25ldyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMuCgoyMDA2LTEwLTA0IDIyOjM3OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuKjogSGFuZGxlIHBhY2tlZCBZVVYgZm9ybWF0cyAoVVlWWSwgWVVZMiwgWVVZVikgc2VwYXJhdGVseTsgYWxzbywgZml4IHBhc3N0aHJvdWdoIG1vZGU7IGxhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWRfY29tcGxleCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkX3NpbXBsZSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm0pLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvY3JvcF9jbGVhcl9uZWdvdGlhdGVkX2NhcHNfbG9ja2VkKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgSGFuZGxlIHBhY2tlZCBZVVYgZm9ybWF0cyAoVVlWWSwgWVVZMiwgWVVZVikgc2VwYXJhdGVseTsgYWxzbywgZml4CgkgIHBhc3N0aHJvdWdoIG1vZGU7IGxhc3RseSwgY2xlYXIgbmVnb3RpYXRlZCBiYXNldHJhbnNmb3JtIGNhcHMgd2hlbgoJICB0aGUgY3JvcHBpbmcgY2hhbmdlcyBpbiBvcmRlciB0byBmb3JjZSByZW5lZ290aWF0aW9uLgoKMjAwNi0xMC0wNCAyMDowNTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzLzogVmlzdWFsIHRlc3QgZm9yIHZpZGVvY3JvcCwgc2hvd3MgdGhhdCBwYWNrZWQgeXV2IGRvZXNuJ3Qgd29yayByaWdodCB5ZXQuIC0td2l0aC1mZm1wZWdjb2xvcnNwYWNlIG9wdGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChxdWl0X21haW5sb29wKSwgKHRpY2tfY2IpLAoJICAodGVzdF93aXRoX2NhcHMpLCAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKSwgKG1haW4pOgoJICBWaXN1YWwgdGVzdCBmb3IgdmlkZW9jcm9wLCBzaG93cyB0aGF0IHBhY2tlZCB5dXYgZG9lc24ndCB3b3JrIHJpZ2h0CgkgIHlldC4gLS13aXRoLWZmbXBlZ2NvbG9yc3BhY2Ugb3B0aW9uIGRvZXNuJ3Qgd29yayB5ZXQgZm9yIHVua25vd24KCSAgcmVhc29ucyAoYW5vdGhlciBiYXNldHJhbnNmb3JtIGlzc3VlPykKCjIwMDYtMTAtMDQgMTA6NTU6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZW1vdmUgbW9yZSB2NGwyIHN0dWZmLCBob3BlZnVsbHkgZml4aW5nICdtYWtlIGRpc3RjaGVjaycgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICAqIHN5cy92NGwyLy5jdnNpZ25vcmU6CgkgIFJlbW92ZSBtb3JlIHY0bDIgc3R1ZmYsIGhvcGVmdWxseSBmaXhpbmcgJ21ha2UgZGlzdGNoZWNrJyBhZ2Fpbi4KCjIwMDYtMTAtMDQgMTA6Mjk6MjIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcmVtb3ZlZCB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHJlbW92ZWQgdjRsMgoKMjAwNi0xMC0wMyAxODozMjozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIHJlbW92aW5nIGljbGUgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92aW5nIGljbGUgZm9yIHY0bDIKCjIwMDYtMTAtMDMgMTg6Mjc6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICByZW1vdmUgbGFzdCBjb25kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgbGFzdCBjb25kCgoyMDA2LTEwLTAzIDE4OjIzOjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsMi9SRUFETUU6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nb29kCgoyMDA2LTEwLTAzIDEzOjQ3OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgY29tbWVudCBvdXQgdGhlIG5vdGlmaWVzIGZvciByZW1vdmVkIHByb3BlcnRpZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbW1lbnQgb3V0IHRoZSBub3RpZmllcyBmb3IgcmVtb3ZlZCBwcm9wZXJ0aWVzCgoyMDA2LTEwLTAzIDEzOjMwOjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogY29tbWVudCBvdXQgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgYWxyZWFkeSBwYXJ0IG9mIHRoZSB0dW5lciBpbnRlcmZhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKToKCSAgY29tbWVudCBvdXQgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgYWxyZWFkeSBwYXJ0IG9mIHRoZSB0dW5lcgoJICBpbnRlcmZhY2UuCgoyMDA2LTEwLTAzIDEzOjE4OjU5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBJbXByb3ZlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTAzICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBJbXByb3ZlIGRvY3MuCgoyMDA2LTEwLTAyIDEzOjI4OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZC5jOiBTZXQgcmFuayBvZiB4dmlkZGVjIHRvIE5PTkUgdW50aWwgc29tZW9uZSBmaXhlcyBpdCAodG9vIG1hbnkgY3Jhc2hlciBidWcgcmVwb3J0cyBhZ2FpbnN0IHRvdGVtLCBwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWQuYzogKHBsdWdpbl9pbml0KToKCSAgU2V0IHJhbmsgb2YgeHZpZGRlYyB0byBOT05FIHVudGlsIHNvbWVvbmUgZml4ZXMgaXQgKHRvbyBtYW55IGNyYXNoZXIKCSAgYnVnIHJlcG9ydHMgYWdhaW5zdCB0b3RlbSwgcGVvcGxlIHNob3VsZCB1c2UgZ3N0LWZmbXBlZykuCgoyMDA2LTA5LTI4IDE3OjA4OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvOiBGcmFtZXJhdGUgY2FuIGJlIDAvMSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9hbGxfY2FwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfY2Fwcyk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIEZyYW1lcmF0ZSBjYW4gYmUgMC8xIHRvby4KCSAgSW5pdCBmcmFtZXJhdGUgdG8gMC8xIGJlZm9yZSBxdWVyeWluZyBpdCBzbyB0aGF0IHdlIGNhbiBkZXRlY3QKCSAgZGV2aWNlcyB0aGF0IGRvbid0IGtub3cgYWJvdXQgYSBmcmFtZXJhdGUuCgkgIEFkZCBzb21lIG1vcmUgZGVidWdnaW5nIGluZm8uCgoyMDA2LTA5LTI4IDE0OjMxOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgJ3l2MTInIGZvdXJjYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yICd5djEyJyBmb3VyY2MuCgoyMDA2LTA5LTI3IDE3OjQ3OjU3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgUmVtb3ZlZCBzZXQtdW5kZWYtZnBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlZCBzZXQtdW5kZWYtZnBzLgoKMjAwNi0wOS0yNyAxNzowNDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogUmVuYW1lZCBzb21lIHByb3BlcnRpZXMgdG8gbWF0Y2ggdGhlIHR1bmVyIGludGVyZmFjZSBuYW1pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKSwgKGdzdF92NGwyX29iamVjdF9uZXcpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpLCAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY29udGFpbnNfY2hhbm5lbCksCgkgIChnc3RfdjRsMl90dW5lcl9saXN0X2NoYW5uZWxzKSwKCSAgKGdzdF92NGwyX3R1bmVyX3NldF9jaGFubmVsX2FuZF9ub3RpZnkpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfZ2V0X2NoYW5uZWwpLCAoZ3N0X3Y0bDJfdHVuZXJfY29udGFpbnNfbm9ybSksCgkgIChnc3RfdjRsMl90dW5lcl9saXN0X25vcm1zKSwgKGdzdF92NGwyX3R1bmVyX3NldF9ub3JtX2FuZF9ub3RpZnkpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfZ2V0X25vcm0pOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfZmlsbF9saXN0cyksIChnc3RfdjRsMl9lbXB0eV9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X2Zwcyk6CgkgIFJlbmFtZWQgc29tZSBwcm9wZXJ0aWVzIHRvIG1hdGNoIHRoZSB0dW5lciBpbnRlcmZhY2UgbmFtaW5nLgoKMjAwNi0wOS0yNyAxNjoxNDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFNtYWxsIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6IChnc3RfdjRsMl94b3ZlcmxheV9vcGVuKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX2ZpbGxfbGlzdHMpLCAoZ3N0X3Y0bDJfb3BlbiksIChnc3RfdjRsMl9zZXRfbm9ybSksCgkgIChnc3RfdjRsMl9nZXRfZnJlcXVlbmN5KSwgKGdzdF92NGwyX3NldF9mcmVxdWVuY3kpLAoJICAoZ3N0X3Y0bDJfc2lnbmFsX3N0cmVuZ3RoKSwgKGdzdF92NGwyX2dldF9hdHRyaWJ1dGUpLAoJICAoZ3N0X3Y0bDJfc2V0X2F0dHJpYnV0ZSksIChnc3RfdjRsMl9nZXRfaW5wdXQpLAoJICAoZ3N0X3Y0bDJfc2V0X2lucHV0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdG9wKSwKCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9uZXcpOgoJICAqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOiAobXlfYnVzX2NhbGxiYWNrKSwgKG1haW4pOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgRml4IGVycm9yIG1lc3NhZ2VzLgoJICBVc2UgbG9ja3Mgd2hlbiBnZXR0aW5nIHRpbWVzdGFtcHMuCgkgIEZpeCBsZWFrcyBpbiB0ZXN0LgoJICBBZGQgbGljZW5zaW5nIGhlYWRlciB0byB0ZXN0cy4KCjIwMDYtMDktMjcgMTU6MTQ6MDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgU29tZSBjbGVhbnVwcyBhbmQgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGNsZWFudXBzIGFuZCBjb21tZW50cy4KCjIwMDYtMDktMjYgMTQ6MTc6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdjRsMiBwbHVnaW4gdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCB2NGwyIHBsdWdpbiB0byB0aGUgZG9jcy4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCksIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkgIEZpeCBkb2NzLgoJICBSZW1vdmUgc29tZSBtb3JlIGV4dGVybnMuCgoyMDA2LTA5LTI2IDEzOjE4OjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvTWFrZWZpbGUuYW06IEZpeCBtYWtlZmlsZSwgbGlzdCBsaWJzIGluIHN0YWNrIG9yZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgRml4IG1ha2VmaWxlLCBsaXN0IGxpYnMgaW4gc3RhY2sgb3JkZXIuCgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9kZXZpY2VfZ2V0X3R5cGUpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCksIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgRml4IGNvZGluZyBzdHlsZToKCSAgLSBSZW1vdmUgZXh0ZXJuIGZyb20gZnVuY3Rpb25zLgoJICAtIEZpeCBoZWFkZXIgaW5kZW50YXRpb24uCgkgIEZpeCBGbGFncywgYWRkIGRlZmF1bHRzIGZvciBwcm9wZXJ0aWVzLgoJICBSZW1vdmUgdW51c2VkIGVudW1zLgoJICBGaXggVE9PX0xBWlkgaW4gZXJyb3IgbWVzc2FnZXMuCgoyMDA2LTA5LTI2IDExOjA2OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvOiBGaXggcGFzcyBhdCBjb2RlIGNsZWFudXBzLCBtb3ZlIGVycm9ycyBjYXNlcyBvdXQgb2YgdGhlIG5vcm1hbCBmbG93IGZvciBhZGRpdGlvbmFsIGNvZGUgY2xhcml0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfY2xhc3NfcHJvYmVfZGV2aWNlcyksCgkgIChnc3RfdjRsMl9wcm9iZV9uZWVkc19wcm9iZSksCgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlciksIChnc3RfdjRsMl9vYmplY3RfbmV3KSwKCSAgKGdzdF92NGwyX29iamVjdF9kZXN0cm95KSwgKGdzdF92NGwyX29iamVjdF9zZXRfcHJvcGVydHlfaGVscGVyKSwKCSAgKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKSwgKGdzdF92NGwyX3NldF9kZWZhdWx0cyksCgkgIChnc3RfdjRsMl9vYmplY3Rfc3RhcnQpLCAoZ3N0X3Y0bDJfb2JqZWN0X3N0b3ApOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyc3JjX2luaXQpLCAoZ3N0X3Y0bDJzcmNfZGlzcG9zZSksCgkgIChnc3RfdjRsMnNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92NGwyc3JjX2ZpeGF0ZSksIChnc3RfdjRsMnNyY19nZXRfY2FwcyksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwcyksIChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCksIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfb3BlbiksIChnc3RfdjRsMl9jbG9zZSksIChnc3RfdjRsMl9nZXRfbm9ybSksCgkgIChnc3RfdjRsMl9zZXRfbm9ybSksIChnc3RfdjRsMl9nZXRfZnJlcXVlbmN5KSwKCSAgKGdzdF92NGwyX3NldF9mcmVxdWVuY3kpLCAoZ3N0X3Y0bDJfc2lnbmFsX3N0cmVuZ3RoKSwKCSAgKGdzdF92NGwyX2dldF9hdHRyaWJ1dGUpLCAoZ3N0X3Y0bDJfc2V0X2F0dHJpYnV0ZSksCgkgIChnc3RfdjRsMl9nZXRfaW5wdXQpLCAoZ3N0X3Y0bDJfc2V0X2lucHV0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX3F1ZXVlX2ZyYW1lKSwgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdG9wKSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfZGVpbml0KSwKCSAgKGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyksIChnc3RfdjRsMnNyY19zZXRfZnBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9mcHMpLCAoZ3N0X3Y0bDJzcmNfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9uZXcpOgoJICBGaXggcGFzcyBhdCBjb2RlIGNsZWFudXBzLCBtb3ZlIGVycm9ycyBjYXNlcyBvdXQgb2YgdGhlIG5vcm1hbAoJICBmbG93IGZvciBhZGRpdGlvbmFsIGNvZGUgY2xhcml0eS4KCjIwMDYtMDktMjMgMTM6MjE6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IFBvcnQgdG8gMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9fY2xhc3NfaW5pdCksCgkgIChnc3RfY2RhdWRpb19pbml0KSwgKGdzdF9jZGF1ZGlvX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfY2RhdWRpb19nZXRfcHJvcGVydHkpLCAoZ3N0X2NkYXVkaW9fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9jZGF1ZGlvX3NlbmRfZXZlbnQpLCAoZ3N0X2NkYXVkaW9fZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9jZGF1ZGlvX3F1ZXJ5KSwgKGNkYXVkaW9fdXJpX3NldF91cmkpOgoJICBQb3J0IHRvIDAuMTAuCgoyMDA2LTA5LTIzIDAwOjI4OjM1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogRml4IHByb2JsZW1zIHdoZW4gdGhlIGVsZW1lbnQgY2Fubm90IG9wZW4gdGhlIGRpc3BsYXkuIChmaXhlcyAjMzU3MjEyKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgIEZpeCBwcm9ibGVtcyB3aGVuIHRoZSBlbGVtZW50IGNhbm5vdCBvcGVuIHRoZSBkaXNwbGF5LgoJICAoZml4ZXMgIzM1NzIxMikKCjIwMDYtMDktMjIgMTY6MDg6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFVwIHJlcXVpcmVtZW50cyB0byAtYmFzZSBDVlMgYW5kIGNvcmUgQ1ZTICh0aGUgZm9ybWF0IGZvciB0aGUgdmlkZW8gb3JpZW50YXRpb24gaW50ZXJmYWNlIHVzZWQgYnkgdjRsMnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVcCByZXF1aXJlbWVudHMgdG8gLWJhc2UgQ1ZTIGFuZCBjb3JlIENWUyAodGhlIGZvcm1hdCBmb3IgdGhlCgkgIHZpZGVvIG9yaWVudGF0aW9uIGludGVyZmFjZSB1c2VkIGJ5IHY0bDJzcmMgYW5kIHRoZSBsYXR0ZXIKCSAgc2luY2UgdGhhdCdzIHdoYXQgLWJhc2UgQ1ZTIHJlcXVpcmVzKS4KCjIwMDYtMDktMjIgMTU6NTk6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IExvd2VyIHJhbmsgZnJvbSBTRUNPTkRBUlkgdG8gTUFSR0lOQUwuIFBsdWdpbnMgaW4gLWJhZCB0aGF0IG1pZ2h0IGJlIGF1dG9wbHVnZ2VkIHNob3VsZG4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAocGx1Z2luX2luaXQpOgoJICBMb3dlciByYW5rIGZyb20gU0VDT05EQVJZIHRvIE1BUkdJTkFMLiBQbHVnaW5zIGluIC1iYWQgdGhhdCBtaWdodAoJICBiZSBhdXRvcGx1Z2dlZCBzaG91bGRuJ3QgdHJ1bXAgcGx1Z2lucyBpbiAtYmFzZSwgLWdvb2Qgb3IgLXVnbHkKCSAgKGluIHRoaXMgY2FzZSB4aW1hZ2VzaW5rKS4KCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChwbHVnaW5faW5pdCk6CgkgIFNldCByYW5rIHRvIE5PTkUgdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIGF1dG9wbHVnZ2VkIHVudGlsCgkgIGVycm9ycyBhcmUgaGFuZGxlZCBwcm9wZXJseSAoc2VlICMzNTcyMTIpLgoKMjAwNi0wOS0yMSAxNDowMToxOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgUmV2ZXJ0ZWQgcHJldmlvdXMgY29tbWl0ICgyMDA2LTA5LTE5IC0gQWxsb3cgaW50ZXJuYWwgY29kZXMgZnJvbSBsYXN0LmZtKS4gQXMgZGljdXNzZWQgb24gI2dzdHJlYW1lciBpdCBzaG91bGQgYmUgZG9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZlcnRlZCBwcmV2aW91cyBjb21taXQgKDIwMDYtMDktMTkgLSBBbGxvdyBpbnRlcm5hbCBjb2RlcyBmcm9tIGxhc3QuZm0pLiBBcyBkaWN1c3NlZCBvbiAjZ3N0cmVhbWVyIGl0IHNob3VsZCBiZSBkb25lIGluIHNlcGFyZXRlIGVsZW1lbnQuCgoyMDA2LTA5LTIxIDEzOjQxOjQyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBBZGQgZGVjb2RlciBzcGVjaWZpYyBpbmZvIG9uIHRoZSBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19jb25maWd1cmVfc291cmNlX3BhZCksCgkgIChnc3RfZmFhY19jaGFpbik6CgkgIEFkZCBkZWNvZGVyIHNwZWNpZmljIGluZm8gb24gdGhlIGNhcHMuCgkgIFNvbWUgY2xlYW51cHMgaGVyZSBhbmQgdGhlcmUuCgoyMDA2LTA5LTE5IDIxOjQ5OjUyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBBbGxvdyBpbnRlcm5hbCBjb2RlcyBmcm9tIGxhc3QuZm0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFsbG93IGludGVybmFsIGNvZGVzIGZyb20gbGFzdC5mbQoKMjAwNi0wOS0xOSAxNjoyNDoxMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgSnVzdCBhIHNtYWxsIGZpeCB0byB0aGUgYXBwIG9wdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IGEgc21hbGwgZml4IHRvIHRoZSBhcHAgb3B0aW9ucy4KCjIwMDYtMDktMTkgMTM6MDg6MzUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBBZGQgVmlkZW8gT3JpZW50YXRpb24gaW50ZXJmYWNlIHN1cHBvcnQgdG8gdjRsMnNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBWaWRlbyBPcmllbnRhdGlvbiBpbnRlcmZhY2Ugc3VwcG9ydCB0byB2NGwyc3JjLgoKMjAwNi0wOS0xOSAxMDoxMDoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nc20vZ3N0Z3NtZGVjLio6IEhhbmRsZSBXQVY0OSB2YXJpYW50IChHU00gaW4gV0FWKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKGdzdF9nc21kZWNfaW5pdCksCgkgIChnc3RfZ3NtZGVjX3Npbmtfc2V0Y2FwcyksIChnc3RfZ3NtZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dzbWRlY19jaGFpbik6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgSGFuZGxlIFdBVjQ5IHZhcmlhbnQgKEdTTSBpbiBXQVYpLgoJICBTb21lIHNtYWxsIGNsZWFudXBzLgoKMjAwNi0wOS0xOCAxNTozNjoxNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCBHU1RfQlVGRkVSX0RVUkFUSU9OLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IEdTVF9CVUZGRVJfRFVSQVRJT04uCgoyMDA2LTA5LTE2IDIyOjMwOjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEZpeCBiaWcgYmF0Y2ggb2YgY29tcGlsZXIgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKGNoZWNrX3JnYl9idWYpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc2RlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9vZ2dtdXguYzogKHZhbGlkYXRlX29nZ19wYWdlKSwgKGVvc193YXRjaCksCgkgICh0ZXN0X3BpcGVsaW5lKSwgKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGhlb3JhZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggYmlnIGJhdGNoIG9mIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwNi0wOS0xNiAyMjoxNDozNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTW9yZSBHX09CSkVDVCBtYWNybyBmaXhpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3hpbmUveGluZWF1ZGlvZGVjLmM6CgkgICogZXh0L3hpbmUveGluZWF1ZGlvc2luay5jOgoJICAqIGV4dC94aW5lL3hpbmVpbnB1dC5jOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbnNmL2dzdG5zZi5oOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgTW9yZSBHX09CSkVDVCBtYWNybyBmaXhpbmcuCgoyMDA2LTA5LTE1IDE5OjExOjAwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFRoZSB0ZXN0IGFwcGxpY2F0aW9uIGFuZCB0aGUgcGxnaW5kIGVycm9yIG1lc3NhZ2VzIGhhcyBiZWVuIGltcHJvdmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVGhlIHRlc3QgYXBwbGljYXRpb24gYW5kIHRoZSBwbGdpbmQgZXJyb3IgbWVzc2FnZXMgaGFzIGJlZW4gaW1wcm92ZWQuCgoyMDA2LTA5LTEyIDIwOjE4OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogSW1wbGVtZW50cyBzdG9wKCkgdG8gY2xlYXIgdGhlIGFkYXB0ZXIgYW5kIGV2ZW50KCkgdG8gY2xlYXIgdGhlIGFkYXB0ZXIgb24gRkxVU0hfU1RPUCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1fc3RhcnQpLCAoZ3N0X3NwZWN0cnVtX3N0b3ApLCAoZ3N0X3NwZWN0cnVtX2V2ZW50KToKCSAgSW1wbGVtZW50cyBzdG9wKCkgdG8gY2xlYXIgdGhlIGFkYXB0ZXIgYW5kIGV2ZW50KCkgdG8gY2xlYXIgdGhlCgkgIGFkYXB0ZXIgb24gRkxVU0hfU1RPUCBhbmQgRU9TLgoKMjAwNi0wOS0xMSAxODoyMzo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IEZpeCB0eXBlIG1peHVwIGluIHNwZWN0cnVtLT5pbnRlcnZhbCAoZ2RvdWJsZTwtPmd1aW50NjQpLiBTcG90dGVkIGJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEZpeCB0eXBlIG1peHVwIGluIHNwZWN0cnVtLT5pbnRlcnZhbCAoZ2RvdWJsZTwtPmd1aW50NjQpLiBTcG90dGVkIGJ5CgkgIFJlbsOpIFN0YWRsZXIKCjIwMDYtMDktMTEgMTg6MDI6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiBVc2UgbW9yZSBkZWZpbmVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoZHJhd19zcGVjdHJ1bSksIChtYWluKToKCSAgVXNlIG1vcmUgZGVmaW5lcwoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLCAoZ3N0X3NwZWN0cnVtX3NldF9jYXBzKSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBBcHBseSBzb21lIG9mIHRoZSBzcGVjdHJ1bSBjbGVhbnVwIGNoYW5nZXMgc3VnZ2VzdGVkIGluICMzNDgwODUuCgoyMDA2LTA5LTA4IDE2OjQ3OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyBvZiAtYmFzZSAodmlkZW9jcm9wIHRlc3QgY2FzZSBuZWVkcyB0aGlzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyBvZiAtYmFzZSAodmlkZW9jcm9wIHRlc3QgY2FzZSBuZWVkcyB0aGlzKS4KCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBEb2N1bWVudCBzbG9wcHkgaGFuZGxpbmcgb2Ygc3Vic2FtcGxlZCBjaHJvbWEgcGxhbmVzIGlmCgkgIGxlZnQvdG9wIGNyb3BwaW5nIGlzIGFuIG9kZCBudW1iZXIuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChoYW5kb2ZmX2NiKSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2luaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19kZWluaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZyksIChjaGVja18xeDFfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHZpZGVvY3JvcF9zdWl0ZSksIChtYWluKToKCSAgQWRkIGFub3RoZXIgdW5pdCB0ZXN0IHRoYXQgY3JvcHMgdGhlIGlucHV0IHRvIDF4MSAoYW5kIGNoZWNrcwoJICB0aGF0IHRoYXQgcGl4ZWwgaGFzIHRoZSBleHBlY3RlZCB2YWx1ZXMgaW4gYSBudW1iZXIgb2YgZm9ybWF0cykuCgoyMDA2LTA5LTA4IDExOjA0OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC86IFNvbWUgcXVpY2sgdGVzdHMgaW5kaWNhdGUgdGhhdCBpdCBkb2Vzbid0IG1ha2UgYSBncmVhdCBkZWFsIG9mIHNlbnNlIHRvIHVzZSBsaWJvaWwgaGVyZSwgYXQgbGVhc3Qgbm90Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGxhbmFyKToKCSAgU29tZSBxdWljayB0ZXN0cyBpbmRpY2F0ZSB0aGF0IGl0IGRvZXNuJ3QgbWFrZSBhIGdyZWF0IGRlYWwKCSAgb2Ygc2Vuc2UgdG8gdXNlIGxpYm9pbCBoZXJlLCBhdCBsZWFzdCBub3QgZm9yIHRoZSBtZW1jcHkoKXMKCSAgd2UgZG8sIHNvIHJlbW92ZSBsaWJvaWwgdXNhZ2UgdW50aWwgdGhlcmUgaXMgY2xlYXIgZXZpZGVuY2UKCSAgaXQgYWN0dWFsbHkgbWFrZXMgYSBwb3NpdGl2ZSBkaWZmZXJlbmNlIHNvbWV3aGVyZS4KCjIwMDYtMDktMDMgMjE6MTI6MzYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgIGhpZ2hlciB1cCBmaXJzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaGlnaGVyIHVwIGZpcnN0CgoyMDA2LTA5LTAzIDEwOjQ2OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IE1vcmUgdGVzdHM6IGNoZWNrIHBhc3N0aHJvdWdoIG1vZGUgYW5kIGNhcHMgdHJhbnNmb3JtIGluIGJvdGggZGlyZWN0aW9ucyB3aXRoIGZpeGVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoaGFuZG9mZl9jYiksCgkgIChidWZmZXJfcHJvYmVfY2IpLCAodGVzdF9jYXBzX3RyYW5zZm9ybSksICh0ZXN0X3Bhc3N0aHJvdWdoKSwKCSAgKG5vdGdzdF92YWx1ZV9saXN0X2dldF9udGhfaW50KSwgKHZpZGVvY3JvcF9zdWl0ZSk6CgkgIE1vcmUgdGVzdHM6IGNoZWNrIHBhc3N0aHJvdWdoIG1vZGUgYW5kIGNhcHMgdHJhbnNmb3JtIGluCgkgIGJvdGggZGlyZWN0aW9ucyB3aXRoIGZpeGVkIHZhbHVlcywgcmFuZ2VzIGFuZCBsaXN0cy4KCjIwMDYtMDktMDIgMTg6NDk6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdmlkZW9jcm9wIHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgQWRkIHZpZGVvY3JvcCB0byBkb2NzLgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICBNb3ZlIGJvaWxlcnBsYXRlIHN0dWZmIGFuZCBzdHJ1Y3R1cmVzIGludG8gYSBoZWFkZXIgZmlsZS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKSwKCSAgKHRlc3RfdW5pdF9zaXplcyksICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfZGVpbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmcpLCAodGVzdF9jcm9wcGluZyksICh2aWRlb2Nyb3Bfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgdmlkZW9jcm9wLgoKMjAwNi0wOS0wMiAxNTozMDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQvcmV3cml0ZSB2aWRlb2Nyb3AgZnJvbSBzY3JhdGNoIGZvciBHU3RyZWFtZXItMC4xMCwgYW5kIG1ha2UgaXQgc3VwcG9ydCBhbGwgZm9ybWF0cyB2aWRlb3NjYWxlIHN1cHBvcnRzICgjMzQ1NjUzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwgKGdzdF92aWRlb19jcm9wX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX2dldF91bml0X3NpemUpLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGxhbmFyKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fZGltZW5zaW9uKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9kaW1lbnNpb25fdmFsdWUpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19jcm9wX2dldF9wcm9wZXJ0eSksCgkgIChwbHVnaW5faW5pdCk6CgkgIFBvcnQvcmV3cml0ZSB2aWRlb2Nyb3AgZnJvbSBzY3JhdGNoIGZvciBHU3RyZWFtZXItMC4xMCwgYW5kIG1ha2UKCSAgaXQgc3VwcG9ydCBhbGwgZm9ybWF0cyB2aWRlb3NjYWxlIHN1cHBvcnRzICgjMzQ1NjUzKS4KCjIwMDYtMDktMDIgMTQ6NDU6MDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogV2hpdGVzcGFjZSBjbGVhbnVwcywgZGFzaGlmeSBwcm9wZXJ0eS1uYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlcik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICBXaGl0ZXNwYWNlIGNsZWFudXBzLCBkYXNoaWZ5IHByb3BlcnR5LW5hbWVzLgoKMjAwNi0wOS0wMiAxNDoyODo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBDbGVhbnVwIGVycm9yIG1lc3NhZ2VzIGFuZCB1bmlmeSBoZWFkZXIgY29tbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOiAoZ3N0X3Y0bDJfeG92ZXJsYXlfb3Blbik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9vcGVuKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcXVldWVfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIENsZWFudXAgZXJyb3IgbWVzc2FnZXMgYW5kIHVuaWZ5IGhlYWRlciBjb21tZW50cwoKMjAwNi0wOC0zMSAxMzowMToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbnNmL01ha2VmaWxlLmFtOiBBZGQgbWlzc2luZyBHU1RfTElCUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBHU1RfTElCUwoKMjAwNi0wOC0zMCAxODowMTo1MiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFub3RoZXIgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQW5vdGhlciBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgoyMDA2LTA4LTMwIDEzOjMwOjEzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgU2VuZCBuZXdfc2VnbWVudCBpbiBHU1RfRk9STUFUX1RJTUUgaW5zdGVhZCBvZiBpbiBHU1RfRk9STUFUX0JZVEVTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2VuZCBuZXdfc2VnbWVudCBpbiBHU1RfRk9STUFUX1RJTUUgaW5zdGVhZCBvZiBpbiBHU1RfRk9STUFUX0JZVEVTLgoKMjAwNi0wOC0zMCAxMTozNjowNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEEgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQSBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgoyMDA2LTA4LTMwIDExOjI3OjQwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZXNldCBlYWNoIHN0cmVhbXMgbGFzdF9mbG93IHRvIEdTVF9GTE9XX09LLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIChnc3RfcXRkZW11eF9kb19zZWVrKToKCSAgUmVzZXQgZWFjaCBzdHJlYW1zIGxhc3RfZmxvdyB0byBHU1RfRkxPV19PSy4KCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpOgoJICBSZW1vdmluZyBteXN0aWMgbW9kaWZpY2F0aW9ucyBmb3IgZ29vZC4KCjIwMDYtMDgtMzAgMTE6MDc6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogcHV0IGJhY2sgJ3NlZ21lbnQgc3RhcnQ8PXN0b3AnIGNoYW5nZSB0aGF0IHdhcyBteXN0aWNhbGx5IHJldmVydGVkIGJ5IHRoZSBsYXN0IGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIHB1dCBiYWNrICdzZWdtZW50IHN0YXJ0PD1zdG9wJyBjaGFuZ2UgdGhhdCB3YXMgbXlzdGljYWxseSByZXZlcnRlZCBieQoJICB0aGUgbGFzdCBjb21taXQKCjIwMDYtMDgtMzAgMTA6NDM6NTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHRoZSBidWlsZCBmb3IgZGlzYWJsZWQgZGVidWcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBGaXggdGhlIGJ1aWxkIGZvciBkaXNhYmxlZCBkZWJ1ZwoKMjAwNi0wOC0yOSAyMDo1OTo0NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBGaXhlZCBmcmFtZXJhdGUgbmVnb3RpYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBmcmFtZXJhdGUgbmVnb3RpYXRpb24uCgoyMDA2LTA4LTI5IDEyOjA3OjM4ICswMDAwICBBbmRyZXcgQW5ka2phciA8ZW5raUBnb29kc2hpcC5uZXQ+CgoJICBleHQvc2RsLzogT25seSBkZS1pbml0IHRoZSBzdWJzeXN0ZW0gd2UgcHJldmlvdXNseSBpbml0aWFsaXNlZC4gQXZvaWRzIGJvcmthZ2Ugd2hlbiBib3RoIHNkbHZpZGVvc2luayBhbmQgc2RsYXVkaW9zaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmRyZXcgQW5ka2phciAgPGVua2kgYXQgZ29vZHNoaXAgbmV0PgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IChnc3Rfc2RsYXVkaW9fc2lua19jbG9zZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3Npbmtfc3VwcG9ydGVkKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZGVpbml0c2RsKToKCSAgT25seSBkZS1pbml0IHRoZSBzdWJzeXN0ZW0gd2UgcHJldmlvdXNseSBpbml0aWFsaXNlZC4gQXZvaWRzCgkgIGJvcmthZ2Ugd2hlbiBib3RoIHNkbHZpZGVvc2luayBhbmQgc2RsYXVkaW9zaW5rIGFyZSB1c2VkCgkgIGF0IHRoZSBzYW1lIHRpbWUgYW5kIG9uZSBpcyBzaHV0IGRvd24uCgoyMDA2LTA4LTI4IDE3OjQ3OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIHN1cmUgc2VnbWVudCBzdGFydDw9c3RvcCBpbiB3ZWlyZCBxdWlja3RpbWUgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgTWFrZSBzdXJlIHNlZ21lbnQgc3RhcnQ8PXN0b3AgaW4gd2VpcmQgcXVpY2t0aW1lIGZpbGVzLgoKMjAwNi0wOC0yOCAxNDo1OTowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiBhZGQgY29tbWVudHMgYW5kIG1vcmUgZGVidWcgbG9nZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgYWRkIGNvbW1lbnRzIGFuZCBtb3JlIGRlYnVnIGxvZ2dpbmcKCjIwMDYtMDgtMjQgMDk6MjQ6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogUG9zdCBhdWRpbyBjb2RlYyBhbmQgYXZlcmFnZSBiaXRyYXRlIHRhZ3Mgb24gYnVzICgjMzQ0NDcyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Bvc3RfdGFncyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBQb3N0IGF1ZGlvIGNvZGVjIGFuZCBhdmVyYWdlIGJpdHJhdGUgdGFncyBvbiBidXMgKCMzNDQ0NzIpLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSk6CgkgIEZvcndhcmQgcXVlcmllcyBpbiBvdGhlciBmb3JtYXRzIChCWVRFIGZvcm1hdCBpbiBwYXJ0aWN1bGFyKQoJICB1cHN0cmVhbTsgYWRkIFNlYmFzdGlhbiB0byBhdXRob3JzLgoKMjAwNi0wOC0yNCAwMDo0MDowNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBGaXggc2V0X2NhcHMgdG8gc2V0IHdpZHRoIGFuZCBoZWlnaHQgdG8gdGhlIHZhbHVlcyB0aGUgZHJpdmVyIGlzIHJlYWxseSB3b3JraW5nIHdpdGguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggc2V0X2NhcHMgdG8gc2V0IHdpZHRoIGFuZCBoZWlnaHQgdG8gdGhlIHZhbHVlcyB0aGUgZHJpdmVyIGlzIHJlYWxseSB3b3JraW5nIHdpdGguCgoyMDA2LTA4LTIzIDEwOjMwOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBGaXggbWVtIGxlYWssIHNlbmQgbmV3c2VnbWVudCBldmVudCBvbiBjb3JyZWN0aW9uIHBhZCBhcyB3ZWxsICgjMzUyNDc2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spOgoJICBGaXggbWVtIGxlYWssIHNlbmQgbmV3c2VnbWVudCBldmVudCBvbiBjb3JyZWN0aW9uIHBhZAoJICBhcyB3ZWxsICgjMzUyNDc2KS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgIFJlc3RvcmUgb3JpZ2luYWwgYXV0aG9yIChvbiBTZWJhc3RpYW4ncyByZXF1ZXN0KS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1iYWQuc3VwcDoKCSAgQWRkIChzbyBmYXIgZW1wdHkpIHN1cHByZXNzaW9uIGZpbGUgZm9yIC1iYWQuIFJlbW92ZQoJICB3YXZwYWNrZW5jIHRlc3QgZnJvbSBWQUxHUklORF9UT19GSVggbm93IHRoYXQgdGhlIGxlYWsKCSAgaXMgZml4ZWQuCgoyMDA2LTA4LTIzIDA5OjIyOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyksIChHU1RfU1RBUlRfVEVTVCksICh3YXZwYWNrZGVjX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKHdhdnBhY2tlbmNfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6ICh3YXZwYWNrcGFyc2VfZm91bmRfcGFkKSwKCSAgKHNldHVwX3dhdnBhY2twYXJzZSksIChjbGVhbnVwX3dhdnBhY2twYXJzZSksIChHU1RfU1RBUlRfVEVTVCksCgkgICh3YXZwYWNrcGFyc2Vfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCjIwMDYtMDgtMjMgMDg6NTI6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2NzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEFkZCBkb2NzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCjIwMDYtMDgtMjIgMjA6Mzk6MjYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeGVkIHF1ZXJ5IHNpemUgdG8gd29yayB3aXRoIGRyaXZlcnMgdGhhdCB1c2VzIGludGVybWVkaWF0ZSBzdGVwIGxpa2UgIndpZHRoICogaGVpZ2h0IiB0byBmaW5kIGNsb3Nlc3Qgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHF1ZXJ5IHNpemUgdG8gd29yayB3aXRoIGRyaXZlcnMgdGhhdCB1c2VzIGludGVybWVkaWF0ZSBzdGVwIGxpa2UgIndpZHRoICogaGVpZ2h0IiB0byBmaW5kIGNsb3Nlc3Qgc2l6ZS4KCjIwMDYtMDgtMjEgMTk6MDI6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgbW92ZSBnZHAgcGx1Z2luIHRvIGdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dkcC9nc3RnZHAuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICBtb3ZlIGdkcCBwbHVnaW4gdG8gZ29vZC4KCjIwMDYtMDgtMjEgMTY6MjQ6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNvbWUgbW9yZSBjb25zdGlmaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlKSwKCSAgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBTb21lIG1vcmUgY29uc3RpZmljYXRpb24uCgkgIEZpeCBzb21lIHBhbGV0dGVkIGRhdGEgZm9ybWF0cyBhZ2Fpbi4KCSAgRml4IHVsYXcvYWxhdyBpbiBxdC4KCSAgU2V0IGNvcnJlY3QgY2FwcyBmb3IgcmF3IFJHQi4KCSAgQWRkIHN1cHBvcnQgZm9yIHl1djIsIHdoaWNoIGlzIGxpa2UgWXV2Mi4KCSAgQWRkIHN1cHBvcnQgZm9yIHJhdyBhdWRpbyB3aXRoIHRoZSBOT05FIGZvdXJjYywgd2hpY2ggaXMgbGlrZSByYXcuCgoyMDA2LTA4LTIxIDE2OjIxOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2dzbS9nc3Rnc20uYzogTWFrZSByYW5rIFBSSU1BUlkgbm93IHRoYXQgR1NNIHNlZW1zIHRvIHdvcmsgZmluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dzbS9nc3Rnc20uYzogKHBsdWdpbl9pbml0KToKCSAgTWFrZSByYW5rIFBSSU1BUlkgbm93IHRoYXQgR1NNIHNlZW1zIHRvIHdvcmsgZmluZS4KCjIwMDYtMDgtMjEgMTM6NTk6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay86IE1vcmUgY2xlYW4tdXBzOiB1c2Ugc2hvcnRlciB2YXJpYWJsZSBuYW1lcyB0byBtYWtlIGNvZGUgZWFzaWVyIHRvIHJlYWQ7IHByZWZpeCBzdHJ1Y3R1cmVzIHdlIGRlZmluZSB3aXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwgKGdzdF93YXZwYWNrX2VuY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICBNb3JlIGNsZWFuLXVwczogdXNlIHNob3J0ZXIgdmFyaWFibGUgbmFtZXMgdG8gbWFrZSBjb2RlIGVhc2llciB0bwoJICByZWFkOyBwcmVmaXggc3RydWN0dXJlcyB3ZSBkZWZpbmUgd2l0aCAnR3N0JyB0byBtYWtlIGl0IGNsZWFyZXIKCSAgd2hlcmUgdGhleSBjb21lIGZyb20uCgoyMDA2LTA4LTIxIDEzOjI2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBGaXggY2FwcyBzZXQgb24gYnVmZmVycyBhbmQgdGVtcGxhdGUgY2FwcyAob3V0cHV0IGlzIGZyYW1lZCkgYW5kIG1ha2UgdGhlbSBtYXRjaCAoIzM1MTY2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCk6CgkgIEZpeCBjYXBzIHNldCBvbiBidWZmZXJzIGFuZCB0ZW1wbGF0ZSBjYXBzIChvdXRwdXQgaXMgZnJhbWVkKQoJICBhbmQgbWFrZSB0aGVtIG1hdGNoICgjMzUxNjYzKTsgdXNlIEdTVF9XQVJOSU5HX09CSkVDVCBpbnN0ZWFkIG9mCgkgIEdTVF9FTEVNRU5UX1dBUk5JTkc7IHNpbXBsaWZ5IHB1c2hfYmxvY2soKTsgZG8gc29tZSBzbWFsbAoJICBjbGVhbi11cHMgaGVyZSBhbmQgdGhlcmU7IGZpeCBtZW1sZWFrICgjMzUxNjYzKS4KCjIwMDYtMDgtMjAgMTM6MDU6NDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6IExvd2VyIGRlYnVnLCB1c2UgZ19hc3NlcnQgaW4gX2dldF91bml0X3NpemUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKGdzdF9hdWRpb19jb252ZXJ0X2dldF91bml0X3NpemUpLCAoc2V0X3N0cnVjdHVyZV93aWR0aHMpOgoJICBMb3dlciBkZWJ1ZywgdXNlIGdfYXNzZXJ0IGluIF9nZXRfdW5pdF9zaXplCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoYXVkaW9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKToKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9nc3RmZm1wZWdjb2xvcnNwYWNlLmM6CgkgIChnc3RfZmZtcGVnY3NwX2dldF91bml0X3NpemUpOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb19zY2FsZV9nZXRfdW5pdF9zaXplKToKCSAgdXNlIGdfYXNzZXJ0IGluIF9nZXRfdW5pdF9zaXplCgoyMDA2LTA4LTE4IDIxOjM5OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogRml4IHJlc3luY2luZyBpbiBwdXNoIG1vZGUgbm90IHN0b3BwaW5nIHJlLXN5bmNpbmcgYXQgZW1iZWRkZWQgemVyb2VzOyBza2lwIGdhcmJhZ2UgYmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2dldF91cHN0cmVhbV9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZmluZF9tYXJrZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfYWRhcHRlcik6CgkgIEZpeCByZXN5bmNpbmcgaW4gcHVzaCBtb2RlIG5vdCBzdG9wcGluZyByZS1zeW5jaW5nIGF0IGVtYmVkZGVkCgkgIHplcm9lczsgc2tpcCBnYXJiYWdlIGJldHdlZW4gZnJhbWVzIGluIHB1bGwgbW9kZSBhcyB3ZWxsIGlmCgkgIG5lY2Vzc2FyeTsgdXNlIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpOyBwdXNoIEVPUyBhbmQKCSAgTkVXU0VHTUVOVCBldmVudCBpbiByaWdodCBkaXJlY3Rpb24gKCMzNTE2NTkpLgoKMjAwNi0wOC0xNiAxNjo1MDowMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogTWFrZSBsYWRzcGEgZWxlbWVudHMgcmV1c2FibGUuIEZpeGVzICMzNTAwMDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5keSBXaW5nbyA8d2luZ28gYXQgcG9ib3ggZG90IGNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0dXApLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RhcnQpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RvcCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jbGVhbnVwKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlciksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9mbHVzaCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdXNoZXMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKToKCSAgTWFrZSBsYWRzcGEgZWxlbWVudHMgcmV1c2FibGUuIEZpeGVzICMzNTAwMDYuCgoyMDA2LTA4LTE2IDE1OjMzOjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogQ29udmVydCAnICcgaW50byAnXycuIFRyeSB0byBrZWVwIGFzIG1hbnkgY2hhcmFjdGVycyBpbiB0aGUgcGFkdGVtcGxhdGUgbmFtZXMgYXMgcG9zc2libGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2Jhc2VfaW5pdCk6CgkgIENvbnZlcnQgJyAnIGludG8gJ18nLiBUcnkgdG8ga2VlcCBhcyBtYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhZHRlbXBsYXRlCgkgIG5hbWVzIGFzIHBvc3NpYmxlLgoKMjAwNi0wOC0xNiAxNDo0Nzo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEEgcHVzaCgpIGdpdmVzIGF3YXkgb3VyIHJlZmNvdW50IHNvIHdlIHNob3VsZCBub3QgdXNlIHRoZSBidWZmZXIgb24gdGhlIHBlbiBhbnltb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVzaGVzKToKCSAgQSBwdXNoKCkgZ2l2ZXMgYXdheSBvdXIgcmVmY291bnQgc28gd2Ugc2hvdWxkIG5vdCB1c2UgdGhlIGJ1ZmZlciBvbiB0aGUKCSAgcGVuIGFueW1vcmUuCgoyMDA2LTA4LTE2IDEwOjQwOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IEluIHB1c2ggbW9kZSwgcmUtc3luYyB0byBuZXh0IHdhdnBhY2sgaGVhZGVyIGlmIHN5bmMgaXMgbG9zdCAoIzM1MTU1NykuIEFsc28gdXNlIGh5cGhlbnMgaW5zdGVhZCBvZiB1bmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2FkYXB0ZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pOgoJICBJbiBwdXNoIG1vZGUsIHJlLXN5bmMgdG8gbmV4dCB3YXZwYWNrIGhlYWRlciBpZiBzeW5jIGlzIGxvc3QKCSAgKCMzNTE1NTcpLiBBbHNvIHVzZSBoeXBoZW5zIGluc3RlYWQgb2YgdW5kZXJzY29yZXMgaW4KCSAgR09iamVjdCBwcm9wZXJ0eSBuYW1lcy4KCjIwMDYtMDgtMTUgMjA6Mjk6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS4qOiBNYWtlIHdhdnBhY2twYXJzZSBhbHNvIHdvcmsgaW4gcHVzaC1tb2RlIChub3Qgc2Vla2FibGUgeWV0IHRob3VnaCk7IHNvbWUgc21hbGwgY2xlYW4tdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICBNYWtlIHdhdnBhY2twYXJzZSBhbHNvIHdvcmsgaW4gcHVzaC1tb2RlIChub3Qgc2Vla2FibGUgeWV0IHRob3VnaCk7CgkgIHNvbWUgc21hbGwgY2xlYW4tdXBzIGFsb25nIHRoZSB3YXk7IGFkZCBzdXBwb3J0IGZvciBTRUVLSU5HIHF1ZXJ5CgkgIGFuZCBxdWVyeSB0eXBlcyBmdW5jdGlvbi4gKCMzNTE0OTUpLgoKMjAwNi0wOC0xNSAxOToyOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBsZWFrcyAoIzM1MTUwMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19nZXRfcHJvcGVydHkpOgoJICBGaXggbGVha3MgKCMzNTE1MDIpLgoKMjAwNi0wOC0xNCAxMDowNjo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCBhbGwgcmVmZXJlbmNlcy9yZWRpcmVjdGlvbnMgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBhbmQgc29ydCB0aGVtOyBhbHNvIGV4dHJhY3QgbWluaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3JlZGlyZWN0c19zb3J0X2Z1bmMpLAoJICAocXRkZW11eF9wcm9jZXNzX3JlZGlyZWN0cyksIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBFeHRyYWN0IGFsbCByZWZlcmVuY2VzL3JlZGlyZWN0aW9ucyBpZiB0aGVyZSBpcyBtb3JlCgkgIHRoYW4gb25lIGFuZCBzb3J0IHRoZW07IGFsc28gZXh0cmFjdCBtaW5pbXVtIHJlcXVpcmVkCgkgIGJpdHJhdGUgaW5mb3JtYXRpb24gaWYgYXZhaWxhYmxlLiAoIzM1MDM5OSkKCjIwMDYtMDgtMTAgMTc6MDk6MTAgKzAwMDAgIE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQGl0b25pcy50dj4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogQml0cmF0ZSBpbiB0aGUgZmFhYyBzdHJ1Y3R1cmUgaXMgcGVyIG91dHB1dCBjaGFubmVsLCBub3QgdG90YWwgYml0cmF0ZSAoIzM1MDc0MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFsIEJlbmVzICA8bWljaGFsLmJlbmVzIGF0IGl0b25pcyB0dj4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19jb25maWd1cmVfc291cmNlX3BhZCk6CgkgIEJpdHJhdGUgaW4gdGhlIGZhYWMgc3RydWN0dXJlIGlzIHBlciBvdXRwdXQgY2hhbm5lbCwKCSAgbm90IHRvdGFsIGJpdHJhdGUgKCMzNTA3NDEpLgoKMjAwNi0wOC0wOSAxNzo0MToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogRml4IEdTVF9FTEVNRU5UX0VSUk9SIHVzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19jaGFpbik6CgkgIEZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZS4KCjIwMDYtMDgtMDkgMTA6NDU6MzIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXhlZCB1cCBhbmQgY2xlYW5lZCB1cCB0aGUgLWJhZCBzcGVjIGZpbGUgdG8gaGF2ZSBwcm9wZXIgdGVzdHMgZm9yIHdoYXRzIGluc3RhbGxlZCBhbmQgaXRlbXMgcHV0IGluIGNvcnJlY3QgY2F0ZWdvcmllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeGVkIHVwIGFuZCBjbGVhbmVkIHVwIHRoZSAtYmFkIHNwZWMgZmlsZSB0byBoYXZlIHByb3BlciB0ZXN0cyBmb3Igd2hhdHMgaW5zdGFsbGVkIGFuZCBpdGVtcyBwdXQgaW4gY29ycmVjdCBjYXRlZ29yaWVzLgoKMjAwNi0wOC0wOCAxNDo1NTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHNpbGx5IHR5cG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEZpeCBzaWxseSB0eXBvLgoKMjAwNi0wOC0wOCAxMzo1NzoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IEkgZm9yZ290IHRvIGluY2x1ZGUgdGhlIGZpbGUgY29udGFpbmluZyB0aGUgI2RlZmluZSA6KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoZ2RwZGVwYXlfc3VpdGUpOgoJICBJIGZvcmdvdCB0byBpbmNsdWRlIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlICNkZWZpbmUgOikKCSAgTm93IGluY2x1ZGVzICJjb25maWcuaCIKCjIwMDYtMDgtMDggMTM6NDU6NDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiBJZ25vcmUgdGVzdCBrbm93biB0byBmYWlsIG9uIFBQQzY0LiBTZWUgIzM0ODExNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGdkcGRlcGF5X3N1aXRlKToKCSAgSWdub3JlIHRlc3Qga25vd24gdG8gZmFpbCBvbiBQUEM2NC4gU2VlICMzNDgxMTQuCgoyMDA2LTA4LTA0IDIxOjA0OjU1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIEFsbG93IEhUVFAgcmVkaXJlY3QgKEhUVFAgc3RhdHVzIGNvZGUgMzAyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFsbG93IEhUVFAgcmVkaXJlY3QgKEhUVFAgc3RhdHVzIGNvZGUgMzAyKS4KCjIwMDYtMDgtMDQgMTM6MjA6MjMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IEZpeCBldmVudCBwYXJzaW5nIGJ5IGdkcGRlcGF5LiAgRml4ZXMgIzM0OTkxNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgRml4IGV2ZW50IHBhcnNpbmcgYnkgZ2RwZGVwYXkuICBGaXhlcyAjMzQ5OTE2LgoKMjAwNi0wOC0wNCAxMTozODo1NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDogQWRkIGluZnJhc3RydWN0dXJlIGZvciBzdG9yaW5nIHdoZXRoZXIgYSBwcm9jZXNzb3IgY2FuIHdvcmsgaW4gcGxhY2Ugb3Igbm90LCBhbmQgZm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3Igc3RvcmluZwoJICB3aGV0aGVyIGEgcHJvY2Vzc29yIGNhbiB3b3JrIGluIHBsYWNlIG9yIG5vdCwgYW5kIGZvciBrZWVwaW5nCgkgIHRyYWNrIG9mIGl0cyBzdGF0ZS4gQ2hhbmdlIHRoZSBGbG93UmV0dXJuIGluc3RhbmNlIHZhcmlhYmxlIGZyb20KCSAgInN0YXRlIiB0byAiZmxvd19zdGF0ZSIsIGFsbCBjYWxsZXJzIGNoYW5nZWQuCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0dXApCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdGFydCwgZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RvcCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NsZWFudXApOiBOZXcgZnVuY3Rpb25zIHRvIG1hbmFnZSB0aGUKCSAgcHJvY2Vzc29yJ3Mgc3RhdGUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKTogc3RhcnQoKSBhcyB3ZWxsIGFzIHNldHVwKCkgaGVyZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpOiBSZXNwZWN0IENBTl9QUk9DRVNTX0lOX1BMQUNFLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKTogU3RvcCBhbmQgY2xlYW51cCB0aGUKCSAgcHJvY2Vzc29yIGFzIHdlIGdvIHRvIE5VTEwuCgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYyAoZ3N0X2xhZHNwYV9iYXNlX2luaXQpOiBSZXVzZSBidWZmZXJzIGlmCgkgIElOUExBQ0VfQlJPS0VOIGlzIG5vdCBzZXQuCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSk6CgkgIERvIHRoZSBhbGxvY19idWZmZXIgaW4gYnl0ZXMsIG5vdCBmcmFtZXMuCgoyMDA2LTA4LTA0IDA5OjIwOjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBCUEIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCk6IEJQQgoKMjAwNi0wOC0wNCAwOTowNTo1MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcykgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfdXBkYXRlX2lucHV0cykKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MsIGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9mbHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKTogUmVtb3ZlIHRoZSBsYXN0IG9mIHRoZSBjb2RlCgkgIHRoYXQgYXNzdW1lcyB0aGF0IHdlIHByb2Nlc3Mgd2hvbGUgYnVmZmVycyBhdCBhIHRpbWUuIEZpeCBzb21lCgkgIGRlYnVnZ2luZy4gU2VlbXMgdG8gd29yayBub3cgaW4gc29tZSBjYXNlcy4KCjIwMDYtMDgtMDMgMTQ6NDg6MjIgKzAwMDAgIGNhc2NhcmRvIGF0IGhvbG9zY29waW8gZG90IGNvbSA8Y2FzY2FyZG9AaG9sb3Njb3Bpby5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IFVzZSByaWdodCB2YXJpYWJsZXMgd2hlbiBVU0VfU1BDIGlzIGRlZmluZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogIGNhc2NhcmRvIGF0IGhvbG9zY29waW8gZG90IGNvbQoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgVXNlIHJpZ2h0IHZhcmlhYmxlcyB3aGVuIFVTRV9TUEMgaXMgZGVmaW5lZC4KCjIwMDYtMDgtMDIgMTY6NTY6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IERpc2FibGUgc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfZmluYWxpemUpLCAoZ3N0X2dkcF9kZXBheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfZGVwYXlfc3JjX2V2ZW50KSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICBEaXNhYmxlIHNlZWtpbmcuCgkgIFNtYWxsIGNsZWFudXBzLgoJICBDbGVhciBhZGFwdGVyIG9uIGRpc2NvbnRzLgoJICBDbGVhciBjYXBzIHdoZW4gZ29pbmcgdG8gUkVBRFkgaW5zdGVhZCBvZiBOVUxMCgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX3BheV9maW5hbGl6ZSksIChnc3RfZ2RwX3BheV9yZXNldCksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLCAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLCAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwKCSAgKGdzdF9nZHBfcXVldWVfYnVmZmVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfc3JjX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgUmVzZXQgcGF5bG9hZGVyIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgkgIEZpeCBsZWFrZWQgYnVmZmVycyBpbiAtPnF1ZXVlIG9uIHB1c2ggZXJyb3JzLgoJICBEaXNhYmxlIHNlZWtpbmcuCgkgIENvZGUgY2xlYW51cHMuCgkgIENyZWF0ZSBwYWNrZXRpemVyIGluIF9pbml0LCBmcmVlIGluIF9maW5hbGl6ZS4KCjIwMDYtMDctMzEgMjI6Mjc6MjIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOiBGaXggbmZyYW1lcy1jaG9vc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgIEZpeCBuZnJhbWVzLWNob29zaW5nLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IEluaXQgcGVuZGluZ19pbiBhbmQgcGVuZGluZ19vdXQuCgoyMDA2LTA3LTMxIDIyOjAzOjA5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KTogTm8gbW9yZSBkZWZhdWx0IHNhbXBsZSByYXRlLCBhbHRob3VnaCB3ZSBuZXZlciBjaGVjayB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IE5vCgkgIG1vcmUgZGVmYXVsdCBzYW1wbGUgcmF0ZSwgYWx0aG91Z2ggd2UgbmV2ZXIgY2hlY2sgdGhhdCB0aGUgc2FtcGxlCgkgIHJhdGUgYWN0dWFsbHkgZ2V0cyBzZXQuIFNvbWV0aGluZyBmb3IgdGhlIGZ1dHVyZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpOiBTb21lIHJlZmNvdW50IGZpeGVzLCBmbG93IGZpeGVzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpOiBSZWZjb3VudCBmaXhlbi4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOiBQdWxsIHRoZSBudW1iZXIgb2YgZnJhbWVzIHRvCgkgIHByb2Nlc3MgZnJvbSB0aGUgc2l6ZXMgb2YgdGhlIGJ1ZmZlcnMgaW4gdGhlIGlucHV0IHBlbnMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKTogUmVtb3ZlIGFuIGluY29ycmVjdCBGSVhNRSA6KQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpOiBBZGQgYW4gbmZyYW1lcyBhcmd1bWVudCwgYW5kIHVzZQoJICBpdCBpbnN0ZWFkIG9mIGJ1ZmZlcl9mcmFtZXMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSk6IFJlZmNvdW50IGZpeGVuLCBwYXNzIG5mcmFtZXMgb24KCSAgdG8gZG9fcHVsbHMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFpbikKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKTogIFJlZmNvdW50IGZpeGVuLgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IE5vIG1vcmUgYnVmZmVyX2ZyYW1lcywgeWF5LgoKMjAwNi0wNy0zMSAxOTo0NDoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogZG9uJ3QgcXVlcnkgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIGFkZCBsb3RzIG9mIGRlYnVnLWxvZywgdHJ5IGZpeCBmb3IgYXNzZXJ0ICgjMzQ5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBkb24ndCBxdWVyeSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgYWRkIGxvdHMgb2YgZGVidWctbG9nLAoJICB0cnkgZml4IGZvciBhc3NlcnQgKCMzNDkxODkpCgoyMDA2LTA3LTMxIDE3OjI5OjIyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogUG9zdCBhbiBlcnJvciBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0zMSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKTogUG9zdCBhbiBlcnJvciBtZXNzYWdlLgoKMjAwNi0wNy0zMSAxNjo1MDoyNyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IERvbid0IHRyeSBhbGxvY2F0aW5nIGlmIHdlIGFyZSBub3Qgc2V0dXAgeWV0LiBGYWlsIGNoYW5naW5nIHN0YXRlIGlmIHNldHVwIGZhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0zMSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKTogRG9uJ3QgdHJ5IGFsbG9jYXRpbmcgaWYgd2UgYXJlCgkgIG5vdAoJICBzZXR1cCB5ZXQuIEZhaWwgY2hhbmdpbmcgc3RhdGUgaWYgc2V0dXAgZmFpbHMuCgoyMDA2LTA3LTMxIDA4OjQ4OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBDb25zdW1lIGFsbCBldmVudHMgZXhjZXB0IEVPUyBiZWNhdXNlIHdlIGdlbmVyYXRlIGV2ZW50cyBmcm9tIHRoZSBnZHAgcGF5bG9hZCBpbnN0ZWFkLiBGaXhlcyAjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIENvbnN1bWUgYWxsIGV2ZW50cyBleGNlcHQgRU9TIGJlY2F1c2Ugd2UgZ2VuZXJhdGUgZXZlbnRzIGZyb20KCSAgdGhlIGdkcCBwYXlsb2FkIGluc3RlYWQuIEZpeGVzICMzNDkyMDQKCjIwMDYtMDctMjkgMTY6MzI6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEFkZCBkZWJ1Z3MgbG9ncyBoZXJlIGFuZCB0aGVyZSwgYWRkIG1vcmUgZXJyb3IgaGFuZGxpbmcsIGFkZCBzb21lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9hZGRfcGFkX2Zyb21fdGVtcGxhdGUpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlciksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKToKCSAgQWRkIGRlYnVncyBsb2dzIGhlcmUgYW5kIHRoZXJlLCBhZGQgbW9yZSBlcnJvciBoYW5kbGluZywgYWRkIHNvbWUKCSAgRklYTUUgY29tbWVudHMsIGZpbGVkICMzNDkxODkKCjIwMDYtMDctMjggMTc6MTc6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBEb24ndCBsZWFrIHJlZmVyZW5jZXMgdG8gdGhlIGluY29taW5nIGNhcHMuIENsZWFuIHRoZW0gdXAgd2hlbiBzdG9wcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoYXVkaW9yZXNhbXBsZV9zdG9wKSwKCSAgKGF1ZGlvcmVzYW1wbGVfc2V0X2NhcHMpOgoJICBEb24ndCBsZWFrIHJlZmVyZW5jZXMgdG8gdGhlIGluY29taW5nIGNhcHMuIENsZWFuIHRoZW0gdXAgd2hlbgoJICBzdG9wcGluZy4KCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9fc2NhbGVfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fc2NhbGVfZmluYWxpemUpOgoJICBEb24ndCBsZWFrIG91ciB0ZW1wb3JhcnkgcGl4ZWwgYnVmZmVyLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6IChydW5fcGlwZWxpbmUpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoc2ltcGxlX2xhdW5jaF9saW5lc19zdWl0ZSk6CgkgIEZpeCBsZWFrcyBhbmQgcmUtZW5hYmxlIHRoZSB0ZXN0IGZvciB2YWxncmluZCBjaGVja2luZy4KCjIwMDYtMDctMjggMTI6MTQ6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkZGVjLio6IENsZWFuLXVwcyBhbmQgY29kZSByZWZsb3dzLiBQYXNzIHJldHVybiB2YWx1ZSBmcm9tIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgdXBzdHJlYW0gYW1vbmcgb3RoZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiAoZ3N0X3h2aWRkZWNfaW5pdCksIChnc3RfeHZpZGRlY19yZXNldCksCgkgIChnc3RfeHZpZGRlY191bnNldCksIChnc3RfeHZpZGRlY19oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfeHZpZGRlY19zZXR1cCksIChnc3RfeHZpZGRlY19uZWdvdGlhdGUpLCAoZ3N0X3h2aWRkZWNfY2hhaW4pLAoJICAoZ3N0X3h2aWRkZWNfZmx1c2hfYnVmZmVycyksIChnc3RfeHZpZGRlY19zcmNfZ2V0Y2FwcyksCgkgIChnc3RfeHZpZGRlY19zZXRjYXBzKSwgKGdzdF94dmlkZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICBDbGVhbi11cHMgYW5kIGNvZGUgcmVmbG93cy4gUGFzcyByZXR1cm4gdmFsdWUgZnJvbQoJICBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIHVwc3RyZWFtIGFtb25nIG90aGVyIHRoaW5ncy4gQWxzbyBjaGVjawoJICBmb3IgTlVMTCBHVmFsdWUgYmVmb3JlIHVzaW5nIEdTVF9WQUxVRV9UWVBFIG1hY3JvICgjMzQ4OTc2KS4KCSAgTWFzcyByZW5hbWUgb2YgeHZpZGRlYyAtPiBkZWMgdmFyaWFibGUgZm9yIGJldHRlcgoJICBjb2RlIHJlYWRhYmlsaXR5LgoKMjAwNi0wNy0yOCAxMDoxOTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWQuYzogRml4IHNpemUgY2FsY3VsYXRpb24gZm9yIEk0MjAvWVYxMi4gRml4ZXMgIzM0ODk3Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZC5jOiAoZ3N0X3h2aWRfaW1hZ2VfZmlsbCk6CgkgIEZpeCBzaXplIGNhbGN1bGF0aW9uIGZvciBJNDIwL1lWMTIuIEZpeGVzICMzNDg5NzYuCgoyMDA2LTA3LTI3IDEwOjUwOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2dzbS86IEZpeCBuZWdvdGlhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKGdzdF9nc21kZWNfaW5pdCksCgkgIChnc3RfZ3NtZGVjX3Npbmtfc2V0Y2FwcyksIChnc3RfZ3NtZGVjX3NpbmtfZXZlbnQpOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6IChnc3RfZ3NtZW5jX2luaXQpLCAoZ3N0X2dzbWVuY19zZXRjYXBzKToKCSAgRml4IG5lZ290aWF0aW9uLgoKMjAwNi0wNy0yNiAxMDo1MjowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IHByb3h5aW5nIGdldC9zZXQgY2FwcyBpcyB0aGUgd3JvbmcgdGhpbmcgdG8gZG8sIHNpbmNlIHdlIHJlYWxseSBkbyBjaGFuZ2UgY2FwcyBxdWl0ZSBmdW5kYW1lbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KToKCSAgcHJveHlpbmcgZ2V0L3NldCBjYXBzIGlzIHRoZSB3cm9uZyB0aGluZyB0byBkbywgc2luY2Ugd2UgcmVhbGx5CgkgIGRvIGNoYW5nZSBjYXBzIHF1aXRlIGZ1bmRhbWVudGFsbHkKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICByZW1vdmUgZGVjbGFyYXRpb24gb2YgYnVmZmVycywgaXQncyBhbHJlYWR5IGRvbmUgaW4gZ3N0Y2hlY2suaAoKMjAwNi0wNy0yNCAyMTo0MzowNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUgZGlyZWN0c291bmQgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUKCSAgZGlyZWN0c291bmQgYnVmZmVyLgoJICBDaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGRpcmVjdHNvdW5kIHNlY29uZGFyeSBidWZmZXIgdG8gYSBoYWxmIHNlY29uZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgQWRkIGEgbG9jayB0byBwcm90ZWN0IGRzb3VuZCBidWZmZXIgd3JpdGUgYWNjZXNzLgoJICBGaXggYSBiYWQgaW1wbGVtZW50YXRpb24gb2YgcmVzZXQuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEFkZCBhIGtlZXBfYXNwZWN0X3JhdGlvIHByb3BlcnR5LgoJICBEbyBub3QgdXNlIG92ZXJsYXkgaWYgbm90IHN1cHBvcnRlZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgUmVtb3ZlIG92ZXJ3cml0ZSBvZiBXTV9FUkFTRUJLR05EIG1lc3NhZ2UgaGFuZGxpbmcuIEl0IHdhcyBub3QKCSAgcmVkcmF3aW5nIGJvcmRlciB3aGVuIGtlZXBfYXNwZWN0X3JhdGlvIHdhcyBlbmFibGVkLgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIHZlcnNpb24gd2FpdGluZyBhbiBhdXRvLWdlbmVyYXRlZCBjb25maWcuaAoKMjAwNi0wNy0yMyAxMTo1MjozNCArMDAwMCAgQ2hyaXMgTGVlIDxjbGVlQGtkZS5vcmc+CgoJICBBZGQgbGlib3BlbnNwYy1iYXNlZCBTUEMgZGVjb2RlciBlbGVtZW50ICgjMzQ4MjIwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDaHJpcyBMZWUgIDxjbGVlIGF0IGtkZSBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChzcGNfbmVnb3RpYXRlKSwgKGdzdF9zcGNfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3BjX2RlY19jbGFzc19pbml0KSwgKGdzdF9zcGNfZGVjX2luaXQpLCAoZ3N0X3NwY19kZWNfY2hhaW4pLAoJICAoZ3N0X3NwY19kZWNfc2lua19ldmVudCksIChnc3Rfc3BjX2RlY19zcmNfZXZlbnQpLAoJICAoZ3N0X3NwY19kZWNfc3JjX3F1ZXJ5KSwgKHNwY19wbGF5KSwgKHNwY19zZXR1cCksCgkgIChnc3Rfc3BjX2RlY19jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmg6CgkgIEFkZCBsaWJvcGVuc3BjLWJhc2VkIFNQQyBkZWNvZGVyIGVsZW1lbnQgKCMzNDgyMjApLgoKMjAwNi0wNy0xOSAxNDozNjowMCArMDAwMCAgTWFydGluIFN6dWxlY2tpIDxjb21waXpAc3VraW1hc2hpdGEuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiBJZiAiZGV2aWNlLW5hbWUiIGlzIHJlcXVlc3RlZCBhbmQgdGhlIGRldmljZSBpcyBub3Qgb3BlbiwgdHJ5IHRvIHRlbXBvcmFyaWx5IG9wZW4gaXQgdG8gb2J0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFydGluIFN6dWxlY2tpCgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpOgoJICBJZiAiZGV2aWNlLW5hbWUiIGlzIHJlcXVlc3RlZCBhbmQgdGhlIGRldmljZSBpcyBub3QKCSAgb3BlbiwgdHJ5IHRvIHRlbXBvcmFyaWx5IG9wZW4gaXQgdG8gb2J0YWluIHRoaXMKCSAgaW5mb3JtYXRpb24gKCMzNDI0OTQpLgoKMjAwNi0wNy0xOSAxMTo0NzoyMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDYtMDctMTkgMTE6NDM6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbnNmL25zZi5jOiBSZWFsbHkgZml4IGNvbXBpbGF0aW9uLiBBcHBhcmVudGx5IGl0J3Mgbm90IGVub3VnaCB0byBqdXN0IGNoZWNrIHRoZSByZXR1cm4gdmFsdWUgZm9yIGVycm9ycywgYnV0IHdlIG4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9uc2YuYzogKG5zZl9sb2FkKToKCSAgUmVhbGx5IGZpeCBjb21waWxhdGlvbi4gQXBwYXJlbnRseSBpdCdzIG5vdCBlbm91Z2ggdG8KCSAganVzdCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlIGZvciBlcnJvcnMsIGJ1dCB3ZSBuZWVkIHRvCgkgIGNoZWNrIGZvciBzaG9ydCByZWFkcyBhcyB3ZWxsIChub3cgaWYgb25seSB3ZSBoYW5kbGVkCgkgIHRoZW0gdG9vIC4uLikuIEZpeGVzICMzNDc5MzUuCgoyMDA2LTA3LTE4IDE4OjA1OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBGaXggY2FwcyBhZnRlciBwcmV2aW91cyBjaGFuZ2UgdG8gYnl0ZSBvcmRlciBlbmRpYW5uZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBGaXggY2FwcyBhZnRlciBwcmV2aW91cyBjaGFuZ2UgdG8gYnl0ZSBvcmRlciBlbmRpYW5uZXNzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBRdWV1ZSBpbmNvbWluZyBldmVudHMgaWYgdGhlcmUncyBubyBzb3VyY2UgcGFkIHlldCBhbmQKCSAgc2VuZCB0aGVtIGRvd25zdHJlYW0gbGF0ZXIgd2hlbiB0aGUgcGFkIGlzIHRoZXJlLgoKMjAwNi0wNy0xOCAxNjo0NzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuKjogT3V0cHV0IGF1ZGlvIGluIG5hdGl2ZSBieXRlIG9yZGVyICh3aGljaCBpcyBhbHNvIGhvdyB3ZSBnZXQgc2FtcGxlcyBmcm9tIHdhdnBhY2spOyBvdXRwdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgIE91dHB1dCBhdWRpbyBpbiBuYXRpdmUgYnl0ZSBvcmRlciAod2hpY2ggaXMgYWxzbyBob3cgd2UgZ2V0CgkgIHNhbXBsZXMgZnJvbSB3YXZwYWNrKTsgb3V0cHV0IHNhbXBsZXMgd2l0aCAyMS0yNCBiaXQgZGVwdGgKCSAgd2l0aCAzMiBiaXQgd2lkdGggKG1ha2VzIHRoaW5ncyBlYXNpZXIgZm9yIHVzKS4KCjIwMDYtMDctMTggMTU6NTM6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLio6IE1vcmUgY2xlYW4tdXBzOiByZW1vdmUgbW9zdCBvZiB0aGUgZGlzZnVuY3Rpb25hbCBjb3JyZWN0aW9uIHBhZCBzdHVmZiBmb3Igbm93LCBpZiBpdCBldmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICBNb3JlIGNsZWFuLXVwczogcmVtb3ZlIG1vc3Qgb2YgdGhlIGRpc2Z1bmN0aW9uYWwgY29ycmVjdGlvbgoJICBwYWQgc3R1ZmYgZm9yIG5vdywgaWYgaXQgZXZlciBnZXRzIGltcGxlbWVudGVkIGEgbG90IG9mIHN0dWZmCgkgIHdpbGwgaGF2ZSB0byBiZSByZXdyaXR0ZW4gYW55d2F5OyByZWRvIGNoYWluIGZ1bmN0aW9uLCBtb3ZlCgkgIGVycm9ycyB0byBlbmQsIGVycm9yIG91dCBpbnN0ZWFkIG9mIGdfYXNzZXJ0KClpbmcuIEFsc28gcmVuYW1lCgkgIG92ZXJseSBsb25nIHZhcmlhYmxlICd3YXZwYWNrZGVjJyB0byBqdXN0ICdkZWMnOyBtaXNjZWxsYW5lb3VzCgkgIG90aGVyIHNtYWxsIHN0dWZmLgoKMjAwNi0wNy0xOCAxNDowODowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3Igd2F2cGFjayB2ZXJzaW9uIGFuZCBkZWZpbmUgV0FWUEFDS19PTERfQVBJIGlmIG5lY2Vzc2FyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3Igd2F2cGFjayB2ZXJzaW9uIGFuZCBkZWZpbmUgV0FWUEFDS19PTERfQVBJIGlmCgkgIG5lY2Vzc2FyeS4KCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6IChnc3Rfd2F2cGFja19yZWFkX2hlYWRlciksCgkgIChnc3Rfd2F2cGFja19yZWFkX21ldGFkYXRhKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19kZWNfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19maW5hbGl6ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfZW50cnlfZnJvbV9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuaDoKCSAgUG9ydCB0byBuZXcvb2ZmaWNpYWwgd2F2cGFjayBBUEksIGRvbid0IHVzZSBBUEkgdGhhdCB3YXMgZXhwb3J0ZWQKCSAgaW4gd2F2cGFjayBoZWFkZXIgZmlsZXMgYW5kIGluIHRoZSBsaWIgYnV0IG1lYW50IHRvIGJlIHByaXZhdGUsIGF0CgkgIGxlYXN0IG5vdCBmb3IgcmVjZW50IHdhdnBhY2sgdmVyc2lvbnM7IG1pc2MuICdjbGVhbnVwcycgKCMzNDc0NDMpLgoKMjAwNi0wNy0xOCAwOTozNjo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9uc2YvbnNmLmM6IEZpeCBjb21waWxhdGlvbiBieSBub3QgaWdub3JpbmcgcmV0dXJuIHZhbHVlcyBvZiBmcmVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9uc2YuYzogKG5zZl9sb2FkKToKCSAgRml4IGNvbXBpbGF0aW9uIGJ5IG5vdCBpZ25vcmluZyByZXR1cm4gdmFsdWVzIG9mIGZyZWFkLgoKMjAwNi0wNy0xNyAxNTowOTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IGFkZGluZyBtb3JlIGluc3BlY3QgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgIGFkZGluZyBtb3JlIGluc3BlY3QgZG9jcwoKMjAwNi0wNy0xNyAxNDo0Mzo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDogYWN0dWFsbHkgY29tbWl0IGluc3BlY3RhdGlvbiBvZiBnZHAgZWxlbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgYWN0dWFsbHkgY29tbWl0IGluc3BlY3RhdGlvbiBvZiBnZHAgZWxlbWVudAoKMjAwNi0wNy0xNyAxNDoxNzo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwLzogcmVtb3ZlIHBhcmVudF9jbGFzcyBzZXR0aW5nLCBCT0lMRVJQTEFURSBkb2VzIHRoaXMgZml4IHR5cG8gaW4gY29tbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0xNyAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSAgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgcmVtb3ZlIHBhcmVudF9jbGFzcyBzZXR0aW5nLCBCT0lMRVJQTEFURSBkb2VzIHRoaXMKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlcik6CgkgIGZpeCB0eXBvIGluIGNvbW1lbnQKCjIwMDYtMDctMTcgMTA6MjU6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFN0b3JlIGR1cmF0aW9uIGluIHVpbnQ2NCB0b28gaW5zdGVhZCBvZiBjbGlwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIFN0b3JlIGR1cmF0aW9uIGluIHVpbnQ2NCB0b28gaW5zdGVhZCBvZiBjbGlwcGluZy4KCSAgV2hlbiB3ZSBkbyBhIGtleWZyYW1lIHNlZWsgYW5kIHRoZSByZXF1ZXN0ZWQgdGltZSBpcyBhdCB0aGUKCSAga2V5ZnJhbWUsIGRvbid0IHNlZWsgYmFjayB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBrZXlmcmFtZS4KCSAgRml4ZXMgIzM0NzQzOS4KCjIwMDYtMDctMTYgMTQ6NDY6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IERvbid0IGNyYXNoIG9uIHNtYWxsIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfc3luYyk6CgkgIERvbid0IGNyYXNoIG9uIHNtYWxsIGJ1ZmZlcnMuCgoyMDA2LTA3LTE1IDExOjU3OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IFJlc2V0IGFkYXB0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9zaW5rX2FjdGl2YXRlKToKCSAgUmVzZXQgYWRhcHRlci4KCjIwMDYtMDctMTUgMTE6NTA6MjUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IERvIG5vdCB1c2UgZGVwcmVjYXRlZCBndGsgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWFpbik6CgkgIERvIG5vdCB1c2UgZGVwcmVjYXRlZCBndGsgZnVuY3Rpb25zLgoKMjAwNi0wNy0xNCAxMDozNDozNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICBidWlsZCBhcyBhIHBsdWdpbiwgbm90IGEgbGliCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBidWlsZCBhcyBhIHBsdWdpbiwgbm90IGEgbGliCgoyMDA2LTA3LTE0IDA5OjExOjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L25zZi86IFJlbW92ZSBjcmFjayBtYWxsb2MvZnJlZSByZXBsYWNlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5oOgoJICAqIGdzdC9uc2YvdHlwZXMuaDoKCSAgUmVtb3ZlIGNyYWNrIG1hbGxvYy9mcmVlIHJlcGxhY2VtZW50LgoKMjAwNi0wNy0xMyAxNToyNTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBhZGQgbW9yZSBwbHVnaW5zIGFuZCBlbGVtZW50cyB0byBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGFkZCBtb3JlIHBsdWdpbnMgYW5kIGVsZW1lbnRzIHRvIGRvY3MKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgZml4IHNlZ2ZhdWx0cyBkdWUgdG8gd3JvbmcgZ19mcmVlCgkgIGFkZCBleGFtcGxlCgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRkIGV4YW1wbGUKCjIwMDYtMDctMTMgMTU6MjI6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbnNmL01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZC4KCjIwMDYtMDctMTMgMTU6MjI6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGx2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIHJlbW92ZSBzZGx2aWRlb3NpbmsgcGx1Z2luIGFuZCB1cGRhdGUgdGhlIHJlc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBzZGx2aWRlb3NpbmsgcGx1Z2luIGFuZCB1cGRhdGUgdGhlIHJlc3QKCjIwMDYtMDctMTMgMTU6MDc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCBOU0YgZGVjb2RlciBwbHVnaW4uIEZpeGVzIDE1MTE5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoZXMgYnk6IEpvaGFuIERhaGxpbiA8am9oYW4gYXQgZ25vbWUgZG90IG9yZz4KCSAgUm9uYWxkIEJ1bHRqZSA8cmJ1bHRqZSBhdCByb25hbGQgZG90IGJpdGZyZWFrIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9kaXM2NTAyLmg6CgkgICogZ3N0L25zZi9mZHNfc25kLmM6CgkgICogZ3N0L25zZi9mZHNfc25kLmg6CgkgICogZ3N0L25zZi9mbW9wbC5jOgoJICAqIGdzdC9uc2YvZm1vcGwuaDoKCSAgKiBnc3QvbnNmL2dzdG5zZi5jOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmg6CgkgICogZ3N0L25zZi9sb2cuYzoKCSAgKiBnc3QvbnNmL2xvZy5oOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuYzoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmg6CgkgICogZ3N0L25zZi9tbWM1X3NuZC5jOgoJICAqIGdzdC9uc2YvbW1jNV9zbmQuaDoKCSAgKiBnc3QvbnNmL25lczY1MDIuYzoKCSAgKiBnc3QvbnNmL25lczY1MDIuaDoKCSAgKiBnc3QvbnNmL25lc19hcHUuYzoKCSAgKiBnc3QvbnNmL25lc19hcHUuaDoKCSAgKiBnc3QvbnNmL25zZi5jOgoJICAqIGdzdC9uc2YvbnNmLmg6CgkgICogZ3N0L25zZi9vc2QuaDoKCSAgKiBnc3QvbnNmL3R5cGVzLmg6CgkgICogZ3N0L25zZi92cmM3X3NuZC5jOgoJICAqIGdzdC9uc2YvdnJjN19zbmQuaDoKCSAgKiBnc3QvbnNmL3ZyY3Zpc25kLmM6CgkgICogZ3N0L25zZi92cmN2aXNuZC5oOgoJICBBZGRlZCBOU0YgZGVjb2RlciBwbHVnaW4uIEZpeGVzIDE1MTE5Mi4KCjIwMDYtMDctMTMgMTI6NDI6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogT25seSBydW4gbXBlZzJlbmMgdW5pdCB0ZXN0IGlmIHdlIGJ1aWx0IHRoZSBtcGVnMmVuYyBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBPbmx5IHJ1biBtcGVnMmVuYyB1bml0IHRlc3QgaWYgd2UgYnVpbHQgdGhlIG1wZWcyZW5jIHBsdWdpbi4KCjIwMDYtMDctMTMgMTI6MjQ6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGVycm9yIG91dCBpbiBjb25maWd1cmUgaWYgbWpwZWd0b29scyBkZXYgaXMgbm90IHRoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGVycm9yIG91dCBpbiBjb25maWd1cmUgaWYgbWpwZWd0b29scyBkZXYgaXMgbm90IHRoZXJlLgoKMjAwNi0wNy0xMyAxMTowNjo0NSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIFBvcnQgbXBlZzJlbmMgdG8gMC4xMCAoIzM0MzE4NCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmhoOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5oaDoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5oaDoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmhoOgoJICBQb3J0IG1wZWcyZW5jIHRvIDAuMTAgKCMzNDMxODQpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3IgbXBlZzJlbmMuCgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgSWdub3JlIHBpdGNoLXRlc3QuCgoyMDA2LTA3LTEyIDA5OjI4OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCB0eXBvIGluIHByb3BlcnR5IG5pY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICBGaXggdHlwbyBpbiBwcm9wZXJ0eSBuaWNrLgoKMjAwNi0wNy0xMCAxNDo0OTo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9maWx0ZXIvOiBEb24ndCBmb3JnZXQgbmV3IGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBEb24ndCBmb3JnZXQgbmV3IGZpbGVzLgoKMjAwNi0wNy0xMCAxNDo0MzozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKioqIGVtcHR5IGxvZyBtZXNzYWdlICoqKgoKMjAwNi0wNy0xMCAxNDo0MjoxNSArMDAwMCAgTWF0aGlzIEhvZmVyIDxtYXRoaXMuaG9mZXJAZHJlYW1sYWIubmV0PgoKCSAgUG9ydGVkIHRoZSBnc3RmaWx0ZXIgcGx1Z2luIHRvIEdTdHJlYW1lciAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hdGhpcyBIb2ZlciA8bWF0aGlzIGRvdCBob2ZlciBhdCBkcmVhbWxhYiBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfYnB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfc2V0X2NhcHMpLCAoYnB3c2luY190cmFuc2Zvcm1faXApLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoZ3N0X2lpcl9kaXNwb3NlKSwgKGdzdF9paXJfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfY2xhc3NfaW5pdCksIChnc3RfaWlyX2luaXQpLCAoaWlyX3NldF9jYXBzKSwKCSAgKGlpcl90cmFuc2Zvcm1faXApLCAoaWlyX3NldF9wcm9wZXJ0eSksIChpaXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2xwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChscHdzaW5jX3NldF9jYXBzKSwgKGxwd3NpbmNfdHJhbnNmb3JtX2lwKSwKCSAgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgUG9ydGVkIHRoZSBnc3RmaWx0ZXIgcGx1Z2luIHRvIEdTdHJlYW1lciAwLjEwLgoKMjAwNi0wNy0xMCAwOTo1NzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCBjb21tZW50IGluZm9ybWF0aW9uISEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgRXh0cmFjdCBjb21tZW50IGluZm9ybWF0aW9uISEKCjIwMDYtMDctMTAgMDk6NDY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgeWVhci9kYXRlIGluZm9ybWF0aW9uIChmaXhlcyAjMzQ3MDc5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKToKCSAgRXh0cmFjdCB5ZWFyL2RhdGUgaW5mb3JtYXRpb24gKGZpeGVzICMzNDcwNzkpLgoKMjAwNi0wNy0wNyAxNDozMDoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY3Jhc2ggb24gdHdvcy9zb3d0L3JhdyBhdWRpby4gIzM0NTgzMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgY3Jhc2ggb24gdHdvcy9zb3d0L3JhdyBhdWRpby4gIzM0NTgzMC4KCjIwMDYtMDctMDcgMTE6NDQ6MDUgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLio6IFJlbW92ZSB1bmxvY2sgZnVuY3Rpb24uIHN0YXJ0L3N0b3Agd2lsbCBkbyBldmVyeXRoaW5nIG5lZWRlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTXVlbGxlciA8bHV0eiBhdCB0b3Bmcm9zZSBkb3QgZGU+CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX2luaXQpLCAoZ3N0X25lb25odHRwX3NyY19maW5hbGl6ZSksCgkgIChyZXF1ZXN0X2Rpc3BhdGNoKSwgKGdzdF9uZW9uaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X25lb25odHRwX3NyY19nZXRfc2l6ZSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3N0b3ApLCAoc2V0X3Byb3h5KSwgKHNldF91cmkpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X25lb25odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X25lb25odHRwX3NyY191cmlfc2V0X3VyaSksIChzaXplX2hlYWRlcl9oYW5kbGVyKToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBSZW1vdmUgdW5sb2NrIGZ1bmN0aW9uLiBzdGFydC9zdG9wIHdpbGwgZG8gZXZlcnl0aGluZyBuZWVkZWQKCSAgUmVtb3ZlZCBjb2RlIHRoYXQgd2FzIG5ldmVyIGNhbGxlZC4KCSAgVXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyLiBEb24ndCBzZW5kIEVPUyAtIHBhcmVudCBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBEbyBub3QgZXNjYXBlIHBhdGguIEZpeGVzICMzNDY3MjMuCgkgIEFkZGl0aW9uYWwgY29kZSBjbGVhbnVwcy4KCjIwMDYtMDctMDMgMjA6MDI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBzaWxseSBjcmFzaGVyIGluIHN0YXRlIGNoYW5nZSBmdW5jdGlvbjsgYWRkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBGaXggc2lsbHkgY3Jhc2hlciBpbiBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb247IGFkZAoJICBJVjQxIGZvdXJjYyAoc2VlIGJ1ZyAjMTcxMTExKTsgZG9uJ3Qgb3V0cHV0IGNvbmZ1c2luZwoJICBkZWJ1ZyBtZXNzYWdlIHdoZW4gc2tpcHBpbmcgYXRvbXMuCgoyMDA2LTA2LTIzIDA5OjA5OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpIGFuZCBmaXggb25lIEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgIFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKQoJICBhbmQgZml4IG9uZSBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3JvLgoKMjAwNi0wNi0yMiAxMDoxMDo1MSArMDAwMCAgQ29keSBSdXNzZWxsIDxicmF0c2NoZUBnbm9tZS5vcmc+CgoJICBnc3QvOiBBdm9pZCB1bm5lY2Vzc2FyeSBjbGFzcyBjYXN0IGNoZWNrIGluIGNsYXNzX2luaXQgZnVuY3Rpb25zICgjMzM3NzQ3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDb2R5IFJ1c3NlbGwgPGJyYXRzY2hlIGF0IGdub21lIG9yZz4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtc2VsZWN0b3IuYzoKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N1YnBhcnNlL2dzdHN1YnBhcnNlLmM6IChnc3Rfc3ViX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdzdF9tdWx0aV9mZF9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c2luay5jOiAoZ3N0X3RjcF9jbGllbnRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNyYy5jOiAoZ3N0X3RjcF9jbGllbnRfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5jOiAoZ3N0X3RjcF9zZXJ2ZXJfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNyYy5jOiAoZ3N0X3RjcF9zZXJ2ZXJfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb19zY2FsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAoZ3N0X3ZpZGVvX3Rlc3Rfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6IChnc3Rfdm9sdW1lX2NsYXNzX2luaXQpOgoJICBBdm9pZCB1bm5lY2Vzc2FyeSBjbGFzcyBjYXN0IGNoZWNrIGluIGNsYXNzX2luaXQKCSAgZnVuY3Rpb25zICgjMzM3NzQ3KS4KCjIwMDYtMDYtMjAgMTE6MDc6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3N0ZGFmeC5oOiBGaXggbW9kcGx1ZyBvbiBBTUQ2NC4gRml4ZXMgIzM0NTMzNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zdGRhZnguaDoKCSAgRml4IG1vZHBsdWcgb24gQU1ENjQuIEZpeGVzICMzNDUzMzYuCgoyMDA2LTA2LTE5IDE0OjA3OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggY2hlY2sgc28gdGhhdCBmdXR1cmUgbGlibmVvbiBBUEkgY2hhbmdlcyB3b24ndCBicmVhayB0aGUgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGNoZWNrIHNvIHRoYXQgZnV0dXJlIGxpYm5lb24gQVBJIGNoYW5nZXMgd29uJ3QgYnJlYWsgdGhlIGJ1aWxkLgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIEZpeCBidWlsZCB3aXRoIGxpYm5lb24tMC4yNi54ICgjMzQ1MTgyKS4KCjIwMDYtMDYtMTkgMTM6MTc6NTcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbGF0ZXN0IHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsYXRlc3QgcGx1Z2lucwoKMjAwNi0wNi0xNyAxNTowOTozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IC0tZGlzYWJsZS1leHRlcm5hbCAoY2FuJ3Qgc2V0IGNvbmRpdGlvbmFscyBjb25kaXRpb25hbGx5LCAjMzQzNjAyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChjYW4ndCBzZXQgY29uZGl0aW9uYWxzIGNvbmRpdGlvbmFsbHksCgkgICMzNDM2MDIpLgoKMjAwNi0wNi0xNiAxNTo0MzoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogQWRkIHRlc3QgY2FzZSBmb3IgYnVnICMzNDI3ODkgZml4ZWQgYmVsb3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKHRlc3RfcmV1c2UpLAoJICAoYXVkaW9yZXNhbXBsZV9zdWl0ZSk6CgkgIEFkZCB0ZXN0IGNhc2UgZm9yIGJ1ZyAjMzQyNzg5IGZpeGVkIGJlbG93LgoKMjAwNi0wNi0xNiAxNToxNzo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogSW1wbGVtZW50IEdzdEJhc2VUcmFuc2Zvcm06OnN0YXJ0IGFuZCA6OnN0b3Agc28gdGhhdCBhdWRpb3Jlc2FtcGxlIGNhbiBjbGVhciBpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KSwgKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpLAoJICAoYXVkaW9yZXNhbXBsZV9zdGFydCksIChhdWRpb3Jlc2FtcGxlX3N0b3ApLAoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfc2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb3Jlc2FtcGxlX2dldF9wcm9wZXJ0eSk6CgkgIEltcGxlbWVudCBHc3RCYXNlVHJhbnNmb3JtOjpzdGFydCBhbmQgOjpzdG9wIHNvIHRoYXQgYXVkaW9yZXNhbXBsZQoJICBjYW4gY2xlYXIgaXRzIGludGVybmFsIHN0YXRlIHByb3Blcmx5IGFuZCBiZSByZXVzZWQgaW5zdGVkIG9mCgkgIGNhdXNpbmcgbm9uLW5lZ290aWF0ZWQgZXJyb3JzIHdpdGggcGxheWJpbiB1bmRlciBzb21lIGNpcmN1bXN0YW5jZXMKCSAgKCMzNDI3ODkpLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKHNldHVwX2F1ZGlvcmVzYW1wbGUpLAoJICAoY2xlYW51cF9hdWRpb3Jlc2FtcGxlKToKCSAgTmVlZCB0byBzZXQgZWxlbWVudCBzdGF0ZSBoZXJlIHNvIHRoYXQgOjpzdGFydCBhbmQgOjpzdG9wIGFyZQoJICBjYWxsZWQuCgoyMDA2LTA2LTE2IDEyOjM1OjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA2LTE2ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQuCgoyMDA2LTA2LTE2IDA5OjQ5OjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBwb3J0IHRvIHVzZSBtZXNzYWdlIHRvIGdldCByZXN1bHRzLCBjbGVhbmx5IGV4aXQgd2hlbiBjbG9zaW5nIHRoZSB3aW5kb3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChvbl93aW5kb3dfZGVzdHJveSksCgkgIChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG9uX3dpbmRvd19kZXN0cm95KSwgKGRyYXdfc3BlY3RydW0pLAoJICAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICBwb3J0IHRvIHVzZSBtZXNzYWdlIHRvIGdldCByZXN1bHRzLCBjbGVhbmx5IGV4aXQgd2hlbiBjbG9zaW5nIHRoZSB3aW5kb3cKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X2NhcHMpLCAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9tZXNzYWdlX25ldyksIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgcG9ydCB0byBkZXJpdmUgZnJvbSBiYXNldHJhbnNmb3JtIGFuZCBzZW5kIHJlc3VsdHMgdmlhIG1lc3NhZ2VzCgkgIChsaWtlIGxldmVsIGVsZW1lbnQpCgoyMDA2LTA2LTE1IDE1OjU4OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDb21iaW5lIHJldHVybiB2YWx1ZXMgZnJvbSBzcmMgcGFkIHB1c2hlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENvbWJpbmUgcmV0dXJuIHZhbHVlcyBmcm9tIHNyYyBwYWQgcHVzaGVzLgoKMjAwNi0wNi0xNSAwODo1MDowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY3Jhc2ggb24gZmlsZXMgd2l0aCAwIHNhbXBsZXMsIEVPUyBpbW1lZGlhdGx5IGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLCAoZ3N0X3F0ZGVtdXhfYWR2YW5jZV9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIERvbid0IGNyYXNoIG9uIGZpbGVzIHdpdGggMCBzYW1wbGVzLCBFT1MgaW1tZWRpYXRseSBpbnN0ZWFkLgoJICBGaXhlcyAjMzQ0OTQ0LgoKMjAwNi0wNi0xNCAxODowNzo1MSArMDAwMCAgV291dGVyIFBhZXNlbiA8d291dGVyQGthbmdhcm9vdC5uZXQ+CgoJICBleHQvc291bmR0b3VjaC86IE1ha2UgcGl0Y2ggZWxlbWVudCBjb250cm9sbGFibGUgdmlhIEdzdENvbnRyb2xsZXIgaW50ZXJmYWNlICgjMzQ0ODIxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgUGFlc2VuICA8d291dGVyIGF0IGthbmdhcm9vdCBuZXQ+CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIE1ha2UgcGl0Y2ggZWxlbWVudCBjb250cm9sbGFibGUgdmlhIEdzdENvbnRyb2xsZXIgaW50ZXJmYWNlCgkgICgjMzQ0ODIxKS4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwIGNvcmUgcmVxdWlyZW1lbnRzIHRvIDAuMTAuOC4xL0NWUyBiZWNhdXNlIGVhcmxpZXIKCSAgR3N0Q29udHJvbGxlcnMgY2FuJ3QgaGFuZGxlIGZsb2F0IHByb3BlcnRpZXMgY29ycmVjdGx5LgoJICBDaGVjayBmb3IgR3N0Q29udHJvbGxlciBDRkxBR1MgYW5kIExJQlMuCgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOiAobWFpbik6CgkgIEFkZCBzbWFsbCB0ZXN0IHByb2dyYW0gZm9yIHRoZSBhYm92ZSAod2VsY29tZSB0byB0aGUgODBzISkuCgoyMDA2LTA2LTE0IDA5OjMyOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IFVzZSBiaXRyYXRlIHByb3BlcnR5IHNvbGVseSBmb3IgYml0cmF0ZXMgYW5kIGFkZCBuZXcgYml0cy1wZXItc2FtcGxlIHByb3BlcnR5IGZvciB0aGUgb3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mgb3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBVc2UgYml0cmF0ZSBwcm9wZXJ0eSBzb2xlbHkgZm9yIGJpdHJhdGVzIGFuZCBhZGQgbmV3CgkgIGJpdHMtcGVyLXNhbXBsZSBwcm9wZXJ0eSBmb3IgdGhlIG90aGVyIHN0dWZmLiBTZXQgZHVyYXRpb24KCSAgdG8gJ3Vua25vd24nIGluIGluaXRpYWwgaGVhZGVyIGFuZCByZXNlbmQgaGVhZGVyIHdpdGggcHJvcGVyCgkgIGR1cmF0aW9uIG9uIEVPUzsgdXBkYXRlIFNlYmFzdGlhbidzIGUtbWFpbCBhZGRyZXNzLgoKMjAwNi0wNi0xMiAxMTozMDowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4LzogI2RlZmluZSByZWQgZ3JlZW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvLmN2c2lnbm9yZToKCSAgKiBleHQvZGlyZWN0ZmIvLmN2c2lnbm9yZToKCSAgI2RlZmluZSByZWQgZ3JlZW4KCjIwMDYtMDYtMTIgMTE6MDQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vLmN2c2lnbm9yZTogSWdub3JlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZS4KCjIwMDYtMDYtMTIgMTA6NTM6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlibW1zL2dzdG1tcy5jOiBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19jcmVhdGUpOgoJICBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IChnc3RfZGlyZWN0ZHJhd3NpbmtfaW5pdCk6CgkgIENvbW1lbnQgb3V0IHVudXNlZCBnbG9iYWwgaW5zdGFuY2UgdmFyaWFibGUuCgoyMDA2LTA2LTExIDIyOjM3OjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIG1vYXAgaWdub3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb2FwIGlnbm9yZQoKMjAwNi0wNi0xMSAxMzo1NzoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhdXRvZ2VuLnNoOiByZXF1aXJlIGFtMTcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgcmVxdWlyZSBhbTE3CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogc3lzL29zcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgY2xlYW4gdXAgYnVpbGQgZnVydGhlcgoKMjAwNi0wNi0xMCAxNTozMzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgZXh0L3dhdnBhY2svOiBBZGQgd2F2cGFjayBlbmNvZGVyIGVsZW1lbnQgKCMzNDMxMzEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxtYWlsIGF0IHNsb21vc25haWwgZGU+CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfY29ycmVjdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19qb2ludF9zdGVyZW9fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19mb3JtYXRfc2FtcGxlcyksIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svbWQ1LmM6CgkgICogZXh0L3dhdnBhY2svbWQ1Lmg6CgkgIEFkZCB3YXZwYWNrIGVuY29kZXIgZWxlbWVudCAoIzM0MzEzMSkuCgoyMDA2LTA2LTA5IDE3OjM4OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgWCBiZWZvcmUgdXNpbmcgWF9DRkxBR1MgaW4gdGhlIGNoZWNrIGZvciBvcGVuZ2wgKCMzNDM4NjYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBYIGJlZm9yZSB1c2luZyBYX0NGTEFHUyBpbiB0aGUgY2hlY2sgZm9yIG9wZW5nbCAoIzM0Mzg2NikuCgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgR1NUX0xJQlMsIGZpeGVzIGJ1aWxkIG9uIGN5Z3dpbiAoIzM0Mzg2NikuCgoyMDA2LTA2LTA2IDE2OjI2OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGFkYXB0IHRvIG5ldyBhcGkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkYXB0IHRvIG5ldyBhcGkKCjIwMDYtMDYtMDYgMTY6MTQ6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvTWFrZWZpbGUuYW06CgkgIGJ1aWxkIGdkcCBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBidWlsZCBnZHAgcGx1Z2lucwoKMjAwNi0wNi0wNiAxNToxNjoxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJICBpZ25vcmUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmUKCjIwMDYtMDYtMDYgMTQ6Mzk6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBlbmFibGUgYnVpbGRpbmcgb2YgR0RQIGVsZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgZW5hYmxlIGJ1aWxkaW5nIG9mIEdEUCBlbGVtZW50cwoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2luaXQpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwKCSAgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfZ2RwX3BheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBhZGQgdmVyc2lvbiAxLjAKCjIwMDYtMDYtMDIgMTc6MDE6MDEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogRG9uJ3QgYnVzeS13YWl0IGluIHRlc3RzOyB0aGlzIHdhcyBjYXVzaW5nIHRlc3QgdGltZW91dHMgdmVyeSBmcmVxdWVudGx5IHdoZW4gcnVubmluZyB1bmRlciB2YWxncmluZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jb252ZXJ0LmM6IChzZXRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ2V0X2Zsb2F0X21jX2NhcHMpLCAoZ2V0X2ludF9tY19jYXBzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW90ZXN0c3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzZGVjLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBEb24ndCBidXN5LXdhaXQgaW4gdGVzdHM7IHRoaXMgd2FzIGNhdXNpbmcgdGVzdCB0aW1lb3V0cyB2ZXJ5CgkgIGZyZXF1ZW50bHkgd2hlbiBydW5uaW5nIHVuZGVyIHZhbGdyaW5kLgoKMjAwNi0wNi0wMiAxNjo0NTo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIHNtYWxsIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzbWFsbCBmaXhlcwoKMjAwNi0wNi0wMiAxMzo0MzoyNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogVGhlb3JhIDQ6NDo0IHBpeGVsIGZvcm1hdCBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAodGhlb3JhX2RlY19zcmNfY29udmVydCksCgkgICh0aGVvcmFfaGFuZGxlX3R5cGVfcGFja2V0KSwgKHRoZW9yYV9oYW5kbGVfNDIyX2ltYWdlKSwKCSAgKHRoZW9yYV9oYW5kbGVfNDQ0X2ltYWdlKSwgKHRoZW9yYV9oYW5kbGVfNDIwX2ltYWdlKSwKCSAgKHRoZW9yYV9oYW5kbGVfZGF0YV9wYWNrZXQpOgoJICBUaGVvcmEgNDo0OjQgcGl4ZWwgZm9ybWF0IHN1cHBvcnQuCgoyMDA2LTA2LTAyIDEwOjI4OjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IGFkZCBjcmMtaGVhZGVyIGFuZCBjcmMtcGF5bG9hZCBwcm9wZXJ0aWVzIGRvbid0IGVycm9yIG91dCBvbiBzb21lIHRoaW5ncyB0aGF0IGFyZSByZWNvdmVyYWJsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9pbml0KSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksCgkgIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksIChnc3RfZ2RwX3BheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dkcF9wYXlfZ2V0X3Byb3BlcnR5KToKCSAgYWRkIGNyYy1oZWFkZXIgYW5kIGNyYy1wYXlsb2FkIHByb3BlcnRpZXMKCSAgZG9uJ3QgZXJyb3Igb3V0IG9uIHNvbWUgdGhpbmdzIHRoYXQgYXJlIHJlY292ZXJhYmxlCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChHU1RfU1RBUlRfVEVTVCksIChnZHBwYXlfc3VpdGUpOgoJICBhZGQgdGVzdCBmb3IgY3JjCgoyMDA2LTA2LTAxIDIyOjAwOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuaDoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuaDoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuaDoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZW5jLmg6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5oOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5oOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmg6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuaDoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuaDoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5oOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICAqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuaDoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5oOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5Lmg6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5oOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmg6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmg6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5oOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5oOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCjIwMDYtMDYtMDEgMTk6MTk6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyZWxlbWVudC5oOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcm9wdGlvbnMuaDoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJ0cmFjay5oOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuaDoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuaDoKCSAgKiBleHQvdGhlb3JhL2dzdHRoZW9yYWRlYy5oOgoJICAqIGV4dC90aGVvcmEvZ3N0dGhlb3JhZW5jLmg6CgkgICogZXh0L3RoZW9yYS9nc3R0aGVvcmFwYXJzZS5oOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzcGFyc2UuaDoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9jbG9jay5oOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlci5oOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cGF1ZGlvcGF5bG9hZC5oOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0Lmg6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvZ3N0YXVkaW90ZXN0c3JjLmg6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvZ3N0ZmZtcGVnY29sb3JzcGFjZS5oOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1zZWxlY3Rvci5oOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuaDoKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNpbmsuaDoKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNyYy5oOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5oOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc3JjLmg6CgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuaDoKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmg6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuaDoKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5oOgoJICAqIHN5cy92NGwvZ3N0djRsanBlZ3NyYy5oOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzaW5rLmg6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NyYy5oOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmg6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmg6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuaDoKCSAgKiB0ZXN0cy9vbGQvdGVzdHN1aXRlL2Fsc2Evc2luZXNyYy5oOgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgoyMDA2LTA1LTMxIDE5OjI2OjI0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5oOiBGb3Jnb3QgdG8gY29tbWl0IHRoZSBoZWFkZXIgZmlsZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgRm9yZ290IHRvIGNvbW1pdCB0aGUgaGVhZGVyIGZpbGUgdG9vLgoKMjAwNi0wNS0zMSAxMzozNzoyNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQWRkZWQgR3N0U2VnbWVudCB0byBjb250cm9sIHNlZ21lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jbGFzc19pbml0KSwgKGdzdF9mYWFkX2luaXQpLAoJICAoZ3N0X2ZhYWRfZGlzcG9zZSksIChnc3RfZmFhZF9zaW5rX2V2ZW50KSwgKGNsaXBfb3V0Z29pbmdfYnVmZmVyKSwKCSAgKGdzdF9mYWFkX2NoYWluKSwgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgIEFkZGVkIEdzdFNlZ21lbnQgdG8gY29udHJvbCBzZWdtZW50cy4KCSAgQWRkZWQgY2xpcHBpbmcvZHJvcHBpbmcgb2Ygb3V0Z29pbmcgYnVmZmVycyBpbiBvcmRlciB0byBoYXZlIGFjY3VyYXRlCgkgIHNlZWtpbmcgd29ya2luZyBwcm9wZXJseS4KCjIwMDYtMDUtMjggMTc6MDg6MTcgKzAwMDAgIEx1dHogTcO8bGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGV4dC9iejIvOiBVc2UgZ3N0X3R5cGVfZmluZF9oZWxwZXJfKiBmdW5jdGlvbnMgZm9yIHR5cGVmaW5kaW5nOyB1c2UgY29ycmVjdCBjYXBzIHdpdGggZ3N0X3BhZF9hbGxvY19idWZmZXIoKTsgYWRkIHN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTcO8bGxlciAgPGx1dHogYXQgdG9wZnJvc2UgZGU+CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOiAoZ3N0X2J6MmRlY19jaGFpbiksIChnc3RfYnoyZGVjX2luaXQpLAoJICAoZ3N0X2J6MmRlY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2J6MmRlY19jbGFzc19pbml0KToKCSAgVXNlIGdzdF90eXBlX2ZpbmRfaGVscGVyXyogZnVuY3Rpb25zIGZvciB0eXBlZmluZGluZzsgdXNlCgkgIGNvcnJlY3QgY2FwcyB3aXRoIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCk7IGFkZCBzdGF0ZSBjaGFuZ2UKCSAgZnVuY3Rpb24gYW5kIHJlc2V0IGRlY29kZXIgaW4gaXQ7IGRvbid0IHVucmVmIGJ1ZmZlciBpZgoJICBwYWRfcHVzaCBmYWlsczsgdXNlIGZpeGVkIGNhcHMgb24gc291cmNlIHBhZC4gKCMzNDE1MjQpLgoKMjAwNi0wNS0yNiAyMjozNTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogYWRkZWQgYW5vdGhlciBleGFtcGxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG9uX2ZyZXF1ZW5jeV9jaGFuZ2VkKSwKCSAgKHNwZWN0cnVtX2NoYWluKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBhZGRlZCBhbm90aGVyIGV4YW1wbGUKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIGZpeCB0eXBvCgoyMDA2LTA1LTI2IDEzOjE2OjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDbGlwIHRoZSBvdXRwdXRlZCBORVdTRUdNRU5UIHN0b3AgdGltZSB0byB0aGUgY29uZmlndXJlZCBzZWdtZW50IHN0b3AgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCk6CgkgIENsaXAgdGhlIG91dHB1dGVkIE5FV1NFR01FTlQgc3RvcCB0aW1lIHRvIHRoZSBjb25maWd1cmVkIHNlZ21lbnQgc3RvcAoJICB0aW1lLgoKMjAwNi0wNS0yNiAxMTo0ODo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY2xlYXIgdGhlIHJ1bm5pbmcgdmFyaWFibGUgaW4gdGhlIHNlZWsgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZG9fc2Vlayk6CgkgIERvbid0IGNsZWFyIHRoZSBydW5uaW5nIHZhcmlhYmxlIGluIHRoZSBzZWVrIGNvZGUuCgoyMDA2LTA1LTI0IDExOjU2OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEZXRlY3QgUUNFTFAgaW4gbXA0YSBkZXNjcmlwdG9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICBEZXRlY3QgUUNFTFAgaW4gbXA0YSBkZXNjcmlwdG9ycy4KCjIwMDYtMDUtMjIgMTg6MDA6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHBvL1BPVEZJTEVTLmluOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLCAocGx1Z2luX2luaXQpOgoJICBwby9QT1RGSUxFUy5pbjoKCSAgVGhyb3cgYW4gZXJyb3Igd2hlbiB0aGUgZmlsZSBpcyBlbmNyeXB0ZWQuIE1vdmUgcGx1Z2luX2luaXQgc3R1ZmYKCSAgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSwgYWRkIHN0dWZmIGZvciBpMThuLCBtYWtlIGRlYnVnIGNhdGVnb3J5CgkgIHN0YXRpYy4KCjIwMDYtMDUtMjIgMTY6MjQ6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHNpZ2gsIHJlYWxseSBkb24ndCBidWlsZCB0aGVzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2lnaCwgcmVhbGx5IGRvbid0IGJ1aWxkIHRoZXNlCgoyMDA2LTA1LTIyIDE2OjA4OjM0ICswMDAwICBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0B4ZXJpcy5jej4KCgkgIE5ldyBwbHVnaW46IGgyNjRwYXJzZSAoIzM0MDYzOCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWwgQmVuZXMgIDxtaWNoYWwgZG90IGJlbmVzIGF0IHhlcmlzIGRvdCBjej4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9oMjY0X3BhcnNlX2ZpbmFsaXplKSwgKGdzdF9oMjY0X3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2gyNjRfcGFyc2VfaW5pdCksIChnc3RfaDI2NF9wYXJzZV9jaGFpbiksCgkgIChnc3RfaDI2NF9wYXJzZV9oYW5kbGVfZXZlbnQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIE5ldyBwbHVnaW46IGgyNjRwYXJzZSAoIzM0MDYzOCkKCjIwMDYtMDUtMjIgMTU6NTM6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC86IEhhbmRsZSBlcnJvciBjYXNlcyB3aGVuIGNhbGxpbmcgZnVuY3Rpb25zIGRvIGRvd253YXJkcyBzdGF0ZSBjaGFuZ2UgYWZ0ZXIgcGFyZW50J3MgY2hhbmdlX3N0YXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwKCSAgKGdzdF9nZHBfcGF5X2NoYWluKSwgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBIYW5kbGUgZXJyb3IgY2FzZXMgd2hlbiBjYWxsaW5nIGZ1bmN0aW9ucwoJICBkbyBkb3dud2FyZHMgc3RhdGUgY2hhbmdlIGFmdGVyIHBhcmVudCdzIGNoYW5nZV9zdGF0ZQoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIGNsZWFuIHVwIG1vcmUKCjIwMDYtMDUtMjIgMTQ6Mzc6NDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGRvbid0IGJ1aWxkIHRoZXNlIHlldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgYnVpbGQgdGhlc2UgeWV0CgoyMDA2LTA1LTIyIDEzOjQwOjI4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBkb24ndCBidWlsZCB0aGVzZSB5ZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IGJ1aWxkIHRoZXNlIHlldAoKMjAwNi0wNS0yMiAxMzoyNTo1MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGRpbmcgR0RQIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIuICBCdWlsZCBpbnRlZ3JhdGlvbiB3aWxsIGZvbGxvdyBsYXRlciB3aGVuIHRoZSBHRFAgaXNzdWVzIGZvciBjb3JlIGFyZSBzb3J0ZWQgb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nZHAvZ3N0Z2RwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9nZHBfZGVwYXlfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9kZXBheV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2dkcF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksIChnc3RfZ2RwX3BheV9pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2Rpc3Bvc2UpLCAoZ3N0X2dkcF9zdGFtcF9idWZmZXIpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksCgkgIChnc3RfZ2RwX3F1ZXVlX2J1ZmZlciksIChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZ2RwX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoc2V0dXBfZ2RwZGVwYXkpLAoJICAoY2xlYW51cF9nZHBkZXBheSksIChnZHBkZXBheV9wdXNoX3Blcl9ieXRlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNldHVwX2dkcGRlcGF5X3N0cmVhbWhlYWRlciksIChnZHBkZXBheV9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKHNldHVwX2dkcHBheSksIChjbGVhbnVwX2dkcHBheSksCgkgIChHU1RfU1RBUlRfVEVTVCksIChzZXR1cF9nZHBwYXlfc3RyZWFtaGVhZGVyKSwgKGdkcHBheV9zdWl0ZSksCgkgIChtYWluKToKCSAgYWRkaW5nIEdEUCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyLiAgQnVpbGQgaW50ZWdyYXRpb24gd2lsbAoJICBmb2xsb3cgbGF0ZXIgd2hlbiB0aGUgR0RQIGlzc3VlcyBmb3IgY29yZSBhcmUgc29ydGVkIG91dC4KCjIwMDYtMDUtMjEgMTY6NDE6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgYm9pbGVycGxhdGUgbWFjcm8sIGZpeCBzdHJpbmdzIHRvIG1hdGNoIHBsdWdpbi1tb3ZhbC1yZXF1aXJlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fc2V0X3NpbmtfY2FwcyksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3NpbmtfY2FwcyksIChnc3Rfc3BlY3RydW1fY2hhaW4pOgoJICBVc2UgYm9pbGVycGxhdGUgbWFjcm8sIGZpeCBzdHJpbmdzIHRvIG1hdGNoIHBsdWdpbi1tb3ZhbC1yZXF1aXJlbWVudHMKCjIwMDYtMDUtMjEgMTY6MjM6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbTogTGluayB0byBiYXNlIGxpYnJhcmllcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIExpbmsgdG8gYmFzZSBsaWJyYXJpZXMKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1haW4pOgoJICB1c2UgbmV3IHRocmVzaGhvbGQgcHJvcGVydHkKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX3NldF9zaW5rX2NhcHMpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9zaW5rX2NhcHMpLCAoZ3N0X3NwZWN0cnVtX2NoYWluKSwKCSAgKGdzdF9zcGVjdHJ1bV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBVc2UgZ3N0X2FkYXB0ZXIsIHN1cHBvcnQgbXVsdGlwbGUtY2hhbm5lbHMsIGFkZCB0aHJlc2hvbGQgcHJvcGVydHkgZm9yCgkgIHJlc3VsdCwgYWRkIGRvY3MsIGZpeCByZXN1bHRpbmcgc3BlY3RydW0gcmFuZ2UgKHdhcyBpbmNsdWRpbmcgbWlycm9yZWQKCSAgcmVzdWx0cykKCjIwMDYtMDUtMjAgMjI6NDI6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEluaXRpYWwgcG9ydCBvZiB0aGUgc3BlY3RydW0gZWxlbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChzcGVjdHJ1bV9jaGFpbiksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZml4X2ZmdC5jOiAoZ3N0X3NwZWN0cnVtX2ZpeF9kb3QpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2dldF90eXBlKSwKCSAgKGdzdF9zcGVjdHJ1bV9iYXNlX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fY2hhaW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBJbml0aWFsIHBvcnQgb2YgdGhlIHNwZWN0cnVtIGVsZW1lbnQKCjIwMDYtMDUtMTkgMTg6NTg6MDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgIEkgZm9yZ2V0IHRvIGFkZCBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYyBpbiBsYXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBJIGZvcmdldCB0byBhZGQgc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmMgaW4gbGFzIGNvbW1pdAoKMjAwNi0wNS0xOSAxODozMToyNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFNvbWUgY2xlYW4tdXBzIHJlcXVlc3RlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgY2xlYW4tdXBzIHJlcXVlc3RlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOC4KCjIwMDYtMDUtMTkgMTQ6MTc6MDQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay4qOiBVc2Ugc2FtcGxpbmcgcmF0ZSBmcm9tIHNldF9jYXBzLiBDb21tZW50IG91dCBzb21lIG1vcmUgdW51c2VkIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiAoYWxzYXNwZGlmc2lua19iYXNlX2luaXQpLAoJICAoYWxzYXNwZGlmc2lua19jbGFzc19pbml0KSwgKGFsc2FzcGRpZnNpbmtfaW5pdCksCgkgIChhbHNhc3BkaWZzaW5rX2Rpc3Bvc2UpLCAoYWxzYXNwZGlmc2lua19zZXRfcHJvcGVydHkpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfcHJvcGVydHkpLCAoYWxzYXNwZGlmc2lua19zZXRfY2FwcyksCgkgIChhbHNhc3BkaWZzaW5rX2dldF90aW1lKSwgKGFsc2FzcGRpZnNpbmtfb3BlbiksCgkgIChhbHNhc3BkaWZzaW5rX2Nsb3NlKSwgKGFsc2FzcGRpZnNpbmtfZmluZF9wY21fZGV2aWNlKSwKCSAgKGFsc2FzcGRpZnNpbmtfd3JpdGVfZnJhbWUpLCAoYWxzYXNwZGlmc2lua19ldmVudCksCgkgIChhbHNhc3BkaWZzaW5rX2dldF90aW1lcyksIChhbHNhc3BkaWZzaW5rX2N1cnJlbnRfZGVsYXkpLAoJICAoZ2VuZXJhdGVfaWVjOTU4X3plcm9fZnJhbWUpLCAoYWxzYXNwZGlmc2lua19yZW5kZXIpLAoJICAoaWdub3JlX2Fsc2FfZXJyKSwgKGFsc2FzcGRpZnNpbmtfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSAgVXNlIHNhbXBsaW5nIHJhdGUgZnJvbSBzZXRfY2Fwcy4gQ29tbWVudCBvdXQgc29tZSBtb3JlIHVudXNlZCBjb2RlLgoKMjAwNi0wNS0xOCAxOTozNDo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgWDExCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIFgxMQoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2NsYXNzX3Byb2JlX2RldmljZXMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pZmFjZV9zdXBwb3J0ZWQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzogKGdzdF92NGwyX3hvdmVybGF5X29wZW4pOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICBDb2RlIGNsZWFudXBzLCBmaXggZGVidWcgbWFjcm9zCgoyMDA2LTA1LTE4IDEzOjEyOjE5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvTWFrZWZpbGUuYW06IEZpeCBkaXN0Y2hlY2s/CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRml4IGRpc3RjaGVjaz8KCjIwMDYtMDUtMTggMTI6NTE6MDEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBhbiBhbHNhIHBsdWdpbiB0byBvdXRwdXQgSUVDOTU4IGZyYW1lcyBvdmVyIFMvUERJRgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IChhbHNhc3BkaWZzaW5rX2Jhc2VfaW5pdCksCgkgIChhbHNhc3BkaWZzaW5rX2NsYXNzX2luaXQpLCAoYWxzYXNwZGlmc2lua19pbml0KSwKCSAgKGFsc2FzcGRpZnNpbmtfZGlzcG9zZSksIChhbHNhc3BkaWZzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChhbHNhc3BkaWZzaW5rX2dldF9wcm9wZXJ0eSksIChhbHNhc3BkaWZzaW5rX3Byb3ZpZGVfY2xvY2spLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZSksIChhbHNhc3BkaWZzaW5rX29wZW4pLAoJICAoYWxzYXNwZGlmc2lua19jbG9zZSksIChhbHNhc3BkaWZzaW5rX2ZpbmRfcGNtX2RldmljZSksCgkgIChhbHNhc3BkaWZzaW5rX3dyaXRlX2ZyYW1lKSwgKGFsc2FzcGRpZnNpbmtfZXZlbnQpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZXMpLCAoYWxzYXNwZGlmc2lua19jdXJyZW50X2RlbGF5KSwKCSAgKGdlbmVyYXRlX2llYzk1OF96ZXJvX2ZyYW1lKSwgKGFsc2FzcGRpZnNpbmtfcmVuZGVyKSwKCSAgKGlnbm9yZV9hbHNhX2VyciksIChhbHNhc3BkaWZzaW5rX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgIEFkZCBhbiBhbHNhIHBsdWdpbiB0byBvdXRwdXQgSUVDOTU4IGZyYW1lcyBvdmVyIFMvUERJRgoKMjAwNi0wNS0xNyAwOTozOTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogUmVtb3ZlIHVudXNlZCBjYXBzIGNydWZ0IGZyb20gY2hhaW4gZnVuY3Rpb24gYWx0b2dldGhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfdXBkYXRlX2NhcHMpLCAoZ3N0X2ZhYWRfY2hhaW4pOgoJICBSZW1vdmUgdW51c2VkIGNhcHMgY3J1ZnQgZnJvbSBjaGFpbiBmdW5jdGlvbiBhbHRvZ2V0aGVyLgoKMjAwNi0wNS0xNyAwOToxNTo1NSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogVGhlcmUncyBubyBndWFyYW50ZWUgdGhhdCBjYXBzIHdhcyBzZXQgdG8gc29tZXRoaW5nLCBhbmQgaWYgaXQgZGlkLCB0aGUgZnVuY3Rpb24gY2FsbGVkIHRvIGZpbGwgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFpbik6CgkgIFRoZXJlJ3Mgbm8gZ3VhcmFudGVlIHRoYXQgY2FwcyB3YXMgc2V0IHRvIHNvbWV0aGluZywgYW5kIGlmIGl0IGRpZCwgdGhlCgkgIGZ1bmN0aW9uIGNhbGxlZCB0byBmaWxsIHRoYXQgdmFyaWFibGUgYWN0dWFsbHkgc2V0cyB0aGUgY2FwcyBvbiB0aGUKCSAgc291cmNwYWQsIHNvIHdlIGNhbGwgZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzKCkgdXNpbmcKCSAgR1NUX1BBRF9DQVBTKGZhYWQtPnNyY3BhZCkuCgoyMDA2LTA1LTE1IDEwOjEwOjA4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBsYXRlc3QgY2hhbmdlcyB3aXRoIGFkZGl0aW9ucyBhbmQgcmVtb3ZhbHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGxhdGVzdCBjaGFuZ2VzIHdpdGggYWRkaXRpb25zIGFuZCByZW1vdmFscwoKMjAwNi0wNS0xMyAxODozOToxMyArMDAwMCAgWW91bmctSG8gQ2hhIDxnYW5hZGlzdEBjaG9sbGlhbi5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLio6IElmIHdlIGVuY291bnRlciBhIGRlY29kaW5nIGVycm9yLCBkb24ndCBlcnJvciBvdXQgaW1tZWRpYXRlbHksIGJ1dCB0cnkgdG8gcmVzeW5jIChvciBzZWUgaWYgd2UgaGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZb3VuZy1IbyBDaGEgIDxnYW5hZGlzdCBjaG9sbGlhbiBuZXQ+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfaW5pdCksIChnc3RfZmFhZF9jaGFpbiksCgkgIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgSWYgd2UgZW5jb3VudGVyIGEgZGVjb2RpbmcgZXJyb3IsIGRvbid0IGVycm9yIG91dCBpbW1lZGlhdGVseSwKCSAgYnV0IHRyeSB0byByZXN5bmMgKG9yIHNlZSBpZiB3ZSBoYXZlIGJldHRlciBsdWNrIHdpdGggdGhlIG5leHQKCSAgYnVmZmVyIGluIGNhc2Ugb2YgZnJhbWVkIGlucHV0KS4gT25seSBlcnJvciBvdXQgYWZ0ZXIgZml2ZQoJICBjb25zZWN1dGl2ZSBlcnJvcnMuIEZpeGVzICMzNDE1NjMuCgoyMDA2LTA1LTEyIDEwOjQzOjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiBDb21waWxlIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19jbGFzc19pbml0KSwKCSAgKGdzdF94dmlkZW5jX2luaXQpLCAoZ3N0X3h2aWRlbmNfZmluYWxpemUpLAoJICAoZ3N0X3h2aWRlbmNfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X3h2aWRlbmNfc2V0dXApLAoJICAoZ3N0X3h2aWRlbmNfc2V0Y2FwcyksIChnc3RfeHZpZGVuY19lbmNvZGUpLCAoZ3N0X3h2aWRlbmNfY2hhaW4pLAoJICAoZ3N0X3h2aWRlbmNfZmx1c2hfYnVmZmVycyksIChnc3RfeHZpZGVuY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3h2aWRlbmNfZ2V0X3Byb3BlcnR5KToKCSAgQ29tcGlsZSBmaXhlcy4KCjIwMDYtMDUtMTIgMDk6Mjg6MTUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBleHQveHZpZC86IHh2aWQgcGx1Z2luIHRvIHN1cHBvcnQgbW9yZSBjYXBhYmlsaXRpZXMgb2YgWHZpRCBjb2RlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBleHQveHZpZC9nc3R4dmlkLmM6IChnc3RfeHZpZF9pbml0KSwgKGdzdF94dmlkX3N0cnVjdHVyZV90b19jc3ApLAoJICAoZ3N0X3h2aWRfY3NwX3RvX2NhcHMpLCAoZ3N0X3h2aWRfaW1hZ2VfZ2V0X3NpemUpLAoJICAoZ3N0X3h2aWRfaW1hZ2VfZmlsbCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZC5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogKGdzdF94dmlkZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3h2aWRkZWNfaW5pdCksIChnc3RfeHZpZGRlY19yZXNldCksIChnc3RfeHZpZGRlY191bnNldCksCgkgIChnc3RfeHZpZGRlY19oYW5kbGVfc2lua19ldmVudCksIChnc3RfeHZpZGRlY19zZXR1cCksCgkgIChnc3RfeHZpZGRlY19hZGRfcGFyKSwgKGdzdF94dmlkZGVjX25lZ290aWF0ZSksCgkgIChnc3RfeHZpZGRlY19kZWNvZGUpLCAoZ3N0X3h2aWRkZWNfY2hhaW4pLAoJICAoZ3N0X3h2aWRkZWNfZmx1c2hfYnVmZmVycyksIChnc3RfeHZpZGRlY19zcmNfZ2V0Y2FwcyksCgkgIChnc3RfeHZpZGRlY19zcmNfbGluayksIChnc3RfeHZpZGRlY19zZXRjYXBzKSwKCSAgKGdzdF94dmlkZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX3Byb2ZpbGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3h2aWRlbmNfcXVhbnRfdHlwZV9nZXRfdHlwZSksIChnc3RfeHZpZGVuY19wYXNzX2dldF90eXBlKSwKCSAgKGdzdF94dmlkZW5jX2dldF90eXBlKSwgKGdzdF94dmlkZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfeHZpZGVuY19jbGFzc19pbml0KSwgKGdzdF94dmlkZW5jX2luaXQpLAoJICAoZ3N0X3h2aWRlbmNfZmluYWxpemUpLCAoZ3N0X3h2aWRlbmNfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3h2aWRlbmNfc2V0dXApLCAoZ3N0X3h2aWRlbmNfc2V0Y2FwcyksIChnc3RfeHZpZGVuY19lbmNvZGUpLAoJICAoZ3N0X3h2aWRlbmNfY2hhaW4pLCAoZ3N0X3h2aWRlbmNfZmx1c2hfYnVmZmVycyksCgkgIChnc3RfeHZpZGVuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3h2aWRlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94dmlkZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICB4dmlkIHBsdWdpbiB0byBzdXBwb3J0IG1vcmUgY2FwYWJpbGl0aWVzIG9mIFh2aUQgY29kZWMuCgkgIEZpeGVzICMzMzk0NjIuCgkgIFNvbWUgbW9yZSBjbGVhbnVwcyBoZXJlIGFuZCB0aGVyZS4KCjIwMDYtMDUtMTEgMjA6NDc6NTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBwdXQgYmFjayAtbm8tdW5kZWZpbmVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwdXQgYmFjayAtbm8tdW5kZWZpbmVkCgoyMDA2LTA1LTExIDE3OjU5OjU5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIENoYW5nZXMgcHJvcG9zZWQgYnkgV2luZ28gaW4gYnVnICMzMzg4MTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VzIHByb3Bvc2VkIGJ5IFdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoKMjAwNi0wNS0xMSAwOTowOTo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRmlndXJlIG91dCB0aGUgcmVhbCBhdWRpbyB0eXBlIGluIG1wNGEgYm94ZXMgYnkgcGFyc2luZyB0aGUgb3B0aW9uYWwgZGVzY3JpcHRvcnMgaW4gdGhlIG9wdGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIEZpZ3VyZSBvdXQgdGhlIHJlYWwgYXVkaW8gdHlwZSBpbiBtcDRhIGJveGVzIGJ5IHBhcnNpbmcgdGhlCgkgIG9wdGlvbmFsIGRlc2NyaXB0b3JzIGluIHRoZSBvcHRpb25hbCBlc2RzIGJveC4gUHJvbW90ZSB0aGUKCSAgZGVmYXVsdCBBQUMgdG8gbXAzIHdoZW4gaW5kaWNhdGVkLiBGaXhlcyAjMzMwNjMyLgoKMjAwNi0wNS0xMCAxNzo0NDo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUGFyc2UgdmVyc2lvbiAyIHNhbXBsZSBkZXNjcmlwdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9kdW1wX3Vua25vd24pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgUGFyc2UgdmVyc2lvbiAyIHNhbXBsZSBkZXNjcmlwdGlvbnMuCgkgIERvbid0ICNkZWZpbmUgZ3N0X3V0aWxfZHVtcF9tZW0oKSwgdXNlIHNvbWV0aGluZyBtb3JlCgkgIHNwZWNpZmljIGluc3RlYWQgdG8gYXZvaWQgY29uZnVzaW9uLgoKMjAwNi0wNS0wOCAxOToyMToxOCArMDAwMCAgTWFydGluIFJ1YmxpIDxtYXJ0aW5fcnVibGlAbG9naXRlY2guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4IGZvdXJjYyBuYW1lIHByaW50ZWQgb3V0LiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBmb3VyY2MgbmFtZSBwcmludGVkIG91dC4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkuCgoyMDA2LTA1LTA4IDE1OjIwOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjYXVzZSBzaWRlIGVmZmVjdHMgaW4gYSBkZWJ1Z2dpbmcgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAocXRkZW11eF9kdW1wX212aGQpOgoJICBEb24ndCBjYXVzZSBzaWRlIGVmZmVjdHMgaW4gYSBkZWJ1Z2dpbmcgZnVuY3Rpb24uCgkgIEFsc28gcmVwb3J0IGR1cmF0aW9uIGluIHB1c2ggbW9kZSBzaW5jZSB3ZSBjYW4uCgoyMDA2LTA1LTA4IDExOjU1OjAyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgYXV0b2dlbi5zaDogbGlidG9vbGl6ZSBvbiBEYXJ3aW4vTWFjT1NYIGlzIGNhbGxlZCBnbGlidG9vbGl6ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOiAoQ09ORklHVVJFX0RFRl9PUFQpOgoJICBsaWJ0b29saXplIG9uIERhcndpbi9NYWNPU1ggaXMgY2FsbGVkIGdsaWJ0b29saXplCgoyMDA2LTA1LTA2IDAwOjE1OjU5ICswMDAwICBNYWNpZWogS2F0YWZpYXN6IDxtYXRocmlja0BtYXRocmljay5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQveGluZS94aW5lLmM6CgkqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOgoJKiBleHQveGluZS94aW5lYXVkaW9zaW5rLmM6CgkqIGV4dC94aW5lL3hpbmVpbnB1dC5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICBBZGQgc2VtaWNvbG9ucyBhZnRlciBHU1RfQk9JTEVSUExBVEVbX0ZVTExdIHNvIHRoYXQgaW5kZW50IGRvZXNuJ3QgbWVzcyB1cCBmb2xsb3dpbmcgbGluZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgc2VtaWNvbG9ucyBhZnRlciBHU1RfQk9JTEVSUExBVEVbX0ZVTExdIHNvIHRoYXQgaW5kZW50IGRvZXNuJ3QgbWVzcyB1cCBmb2xsb3dpbmcgbGluZXMuCgoyMDA2LTA1LTA1IDIwOjEyOjU5ICswMDAwICBNYXJ0aW4gUnVibGkgPG1hcnRpbl9ydWJsaUBsb2dpdGVjaC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFNvbWUgY2hhbmdlcyBwcm9wb3NlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOCAoYnV0IG5vdCBldmVyeXRoaW5nIHlldCkuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpIHRvIGZpeCBmcmFtZXJhdGUgZGV0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBjaGFuZ2VzIHByb3Bvc2VkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4IChidXQgbm90IGV2ZXJ5dGhpbmcgeWV0KS4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkgdG8gZml4IGZyYW1lcmF0ZSBkZXRlY3Rpb24uCgoyMDA2LTA1LTA1IDE1OjUwOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogVXNlIChOVUxMKSBpbnN0ZWFkIG9mIGp1c3QgTlVMTCBpbiBHU1RfRUxFTUVOVF9FUlJPUiBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogKGdzdF9zZGxhdWRpb19zaW5rX3ByZXBhcmUpOgoJICBVc2UgKE5VTEwpIGluc3RlYWQgb2YganVzdCBOVUxMIGluIEdTVF9FTEVNRU5UX0VSUk9SIG1hY3JvLgoKMjAwNi0wNS0wNCAxNTozMjoxMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCj09PSByZWxlYXNlIDAuMTAuMyA9PT0KCjIwMDYtMDUtMDQgMTU6Mjg6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zIHRoaXMgdGltZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zIHRoaXMgdGltZQoKMjAwNi0wNS0wNCAxNTowOToxMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgUGVyZm9ybSB2ZXJzaW9uIG51bWJlciBzdXJnZXJ5IHRvIGNvcnJlY3RseSByZWxlYXNlIHRhcmJhbGxzIG9mIDAuMTAuMwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGVyZm9ybSB2ZXJzaW9uIG51bWJlciBzdXJnZXJ5IHRvIGNvcnJlY3RseSByZWxlYXNlIHRhcmJhbGxzIG9mIDAuMTAuMwoKMjAwNi0wNS0wNCAxNDo1Mjo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCjIwMDYtMDUtMDQgMTQ6NTE6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBSZWxlYXNlIDAuMTAuMwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjMKCjIwMDYtMDUtMDQgMDk6Mjk6MjQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDUtMDQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoKMjAwNi0wNS0wMyAyMTo0ODoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMDUtMDMgMTY6NTQ6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06IEFkZCBHU1RfUExVR0lOU19CQVNFX0NGTEFHUyB0byBDRkxBR1MgZm9yIGdzdC90YWcvdGFnLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MgdG8gQ0ZMQUdTIGZvciBnc3QvdGFnL3RhZy5oCgoyMDA2LTA1LTAzIDE0OjMwOjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2xlYW4gdXAgb25lIHBpZWNlIG9mIGxvZ2ljIHNsaWdodGx5IGFuZCByZW1vdmUgYSBkZWFkIGNvZGUgYmxvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENsZWFuIHVwIG9uZSBwaWVjZSBvZiBsb2dpYyBzbGlnaHRseSBhbmQgcmVtb3ZlIGEKCSAgZGVhZCBjb2RlIGJsb2NrLgoKMjAwNi0wNS0wMyAxMzoyMDo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEV2ZXJ5Ym9keSBsb3ZlcyBkb2NzIC0gYWRkIGRvY3MgZm9yIG11c2ljYnJhaW56IHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uaDoKCSAgRXZlcnlib2R5IGxvdmVzIGRvY3MgLSBhZGQgZG9jcyBmb3IgbXVzaWNicmFpbnogcGx1Z2luLgoKMjAwNi0wNS0wMyAxMjowMTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogQWRkIG11c2ljYnJhaW56IGRpciB0byBESVNUX1NVQkRJUlMgYXMgd2VsbCAoZml4ZXMgZGlzdGNoZWNrKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBBZGQgbXVzaWNicmFpbnogZGlyIHRvIERJU1RfU1VCRElSUyBhcyB3ZWxsIChmaXhlcyBkaXN0Y2hlY2spLgoKMjAwNi0wNS0wMyAxMTozNDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRm9yZ290IHRvIGNvbW1pdCB0aGlzIG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBGb3Jnb3QgdG8gY29tbWl0IHRoaXMgb25lLgoKMjAwNi0wNS0wMyAxMToyNzo0MiArMDAwMCAgSmFtZXMgRG9jIExpdmluZ3N0b24gPGRvY2xpdmluZ3N0b25AZ21haWwuY29tPgoKCSAgUG9ydCBNdXNpY0JyYWlueiBUUk0gcGx1Z2luICgjMzM2ODk4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYW1lcyAiRG9jIiBMaXZpbmdzdG9uICA8ZG9jbGl2aW5nc3RvbiBnbWFpbCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfdHJtX2Jhc2VfaW5pdCksCgkgIChnc3RfdHJtX2NsYXNzX2luaXQpLCAoZ3N0X3RybV9pbml0KSwgKGdzdF90cm1fc2V0Y2FwcyksCgkgIChnc3RfdHJtX2NoYWluKSwgKGdzdF90cm1fZW1pdF9zaWduYXR1cmUpLCAoZ3N0X3RybV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3RybV9nZXRfcHJvcGVydHkpLCAoZ3N0X3RybV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uaDoKCSAgUG9ydCBNdXNpY0JyYWlueiBUUk0gcGx1Z2luICgjMzM2ODk4KS4KCjIwMDYtMDUtMDMgMTA6MjU6NDYgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRml4ICMzMzQ3NDg6IHVzZSBmYWtlX2NvZGVjX2RhdGEgaWYgdGhlIGZpcnN0IGJ5dGVzIG9mIHRoZSBmaXJzdCBidWZmZXIgd2UgcHJvY2VzcyBkb2Vzbid0IGxvb2sgbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwKCSAgKGxvb2tzX2xpa2VfdmFsaWRfaGVhZGVyKSwgKGdzdF9mYWFkX2NoYWluKToKCSAgRml4ICMzMzQ3NDg6IHVzZSBmYWtlX2NvZGVjX2RhdGEgaWYgdGhlIGZpcnN0IGJ5dGVzIG9mIHRoZSBmaXJzdAoJICBidWZmZXIgd2UgcHJvY2VzcyBkb2Vzbid0IGxvb2sgbGlrZSBwbGF1c2libGUgQUFDIGRhdGEgKGUuZy4KCSAgcmVzZXJ2ZWQgdmFsdWVzIGZvciByYXRlLCBvciBjaGFubmVscykuIEZpeGVzIHBsYXliYWNrIG9mIEFwcGxlJ3MKCSAgbW92aWUgdHJhaWxlcnMuCgoyMDA2LTA1LTAyIDIxOjUyOjQ4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRml4IGdldF9jYXBzIGZ1bmMgdG8gd29yayB3aGVuIG5vIGZyYW1lcmF0ZSBpcyBhdmFpbGFibGUgYW5kIHRoZSBjYXBzIGlzbid0IHNpbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBnZXRfY2FwcyBmdW5jIHRvIHdvcmsgd2hlbiBubyBmcmFtZXJhdGUgaXMgYXZhaWxhYmxlIGFuZCB0aGUgY2FwcyBpc24ndCBzaW1wbGUuCgoyMDA2LTA1LTAxIDIxOjM3OjUxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgRmV3IGltcHJvdmVtZW50cyB0byBtb3ZlIHRvIGdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGZXcgaW1wcm92ZW1lbnRzIHRvIG1vdmUgdG8gZ29vZC4KCjIwMDYtMDUtMDEgMTc6NTg6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgbW92ZWQgdG8gZ29vZC4gIENsb3NlcyAjMzM2MTEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGFnaWQzdjJtdXguYzoKCSAgbW92ZWQgdG8gZ29vZC4gIENsb3NlcyAjMzM2MTEwCgoyMDA2LTA0LTMwIDE2OjE2OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBzbWFsbCBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc21hbGwgY2xlYW51cHMKCjIwMDYtMDQtMzAgMTU6MzI6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgZml4IGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkb2NzCgoyMDA2LTA0LTMwIDE1OjEzOjQ5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgdXBkYXRlZCBlbGVtZW50IHByb3BlcnRpZXMgYW5kIHNpZ25hbHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZWQgZWxlbWVudCBwcm9wZXJ0aWVzIGFuZCBzaWduYWxzCgoyMDA2LTA0LTMwIDE1OjExOjQ2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBpZ25vcmUgbW9yZTsgYWRkIG5ldyBpbnNwZWN0IGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZTsgYWRkIG5ldyBpbnNwZWN0IGZpbGVzCgoyMDA2LTA0LTMwIDE0OjU5OjM5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICByZW1vdmUgZmlsZXMgdGhhdCBzaG91bGQgbm90IGJlIGluIGN2cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGZpbGVzIHRoYXQgc2hvdWxkIG5vdCBiZSBpbiBjdnMKCjIwMDYtMDQtMzAgMTQ6NTg6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogRml4IHVwIGRvY3MgZm9yIHRhZ2xpYiBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkgIEZpeCB1cCBkb2NzIGZvciB0YWdsaWIgcGx1Z2luCgkgIEFsc28gc2NhbiAuY2MgZmlsZXMKCjIwMDYtMDQtMzAgMTQ6NTU6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgIHVwZGF0ZSB0byBsYXRlc3QgdmVyc2lvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRvIGxhdGVzdCB2ZXJzaW9uCgoyMDA2LTA0LTI5IDE4OjQ2OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGluIHRoZSAoZXh0cmVtZWx5IHVubGlrZWx5KSBjYXNlIG9mIGFuIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaW4gdGhlIChleHRyZW1lbHkgdW5saWtlbHkpCgkgIGNhc2Ugb2YgYW4gZXJyb3IuCgoyMDA2LTA0LTI5IDE4OjE4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi86IFNwbGl0IHRoZSBhY3R1YWwgSUQzdjIgdGFnIHJlbmRlcmluZyBjb2RlIGludG8gaXRzIG93biBzdWJjbGFzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBTcGxpdCB0aGUgYWN0dWFsIElEM3YyIHRhZyByZW5kZXJpbmcgY29kZSBpbnRvCgkgIGl0cyBvd24gc3ViY2xhc3MuCgoyMDA2LTA0LTI5IDE1OjM2OjE2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy4qOiBhZGRlZCBpcmFkaW8tbW9kZSBzdXBwb3J0IGFzIGluIGdub21ldmZzc3JjIHRvIGVuYWJsZSBjb25uZWN0aW9ucyB3aXRoIGljeWRlbXV4IHRoYXQgd2lsbCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBhZGRlZCBpcmFkaW8tbW9kZSBzdXBwb3J0IGFzIGluIGdub21ldmZzc3JjIHRvIGVuYWJsZQoJICBjb25uZWN0aW9ucyB3aXRoIGljeWRlbXV4IHRoYXQgd2lsbCBzZW5kIHRpdGxlIHRhZyBtZXNzYWdlcyBvbgoJICBzaG91dGNhc3QvaWNlY2FzdCBzdHJlYW1zLiBJJ3ZlIGFsc28gYWRkZWQgaXJhZGlvIHByb3BlcnRpZXMKCSAgaXJhZGlvLW5hbWUsIGlyYWRpby1nZW5yZSwgaXJhZGlvLXVybC4KCSAgYWRkZWQgdXNlci1hZ2VudCBwcm9wZXJ0eSBiZWNhdXNlIHNvbWUgc2hvdXRjYXN0IHN0cmVhbXMgZG9uJ3QgcmV0dXJuCgkgIGRhdGEgaWYgdGhlIEdFVCByZXF1ZXN0cyBkb24ndCBoYXZlIGEgVXNlci1BZ2VudC4KCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0bmVvbi5kc3A6CgkgIHVzZSBkZWJ1ZyB2ZXJzaW9uIG9mIGxpYm5lb24gaW4gZGVidWcgbW9kZQoKMjAwNi0wNC0yOCAyMTo0MzowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90YWdpZDN2Mm11eC5jOgoJICBlbGVtZW50IHJlbmFtZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGVsZW1lbnQgcmVuYW1lZAoKMjAwNi0wNC0yOCAxOTo0NjozNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgbWFrZSBHc3RFbGVtZW50RGV0YWlscyBjb25zdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJlbGVtZW50LmM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOgoJICAqIGV4dC9jZHBhcmFub2lhL2dzdGNkcGFyYW5vaWFzcmMuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6CgkgICogZXh0L29nZy9nc3RvZ2dwYXJzZS5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dtcGFyc2UuYzoKCSAgKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZW5jLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlci5jOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlcnRlbXBsYXRlLmM6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9yYXRlL2dzdGF1ZGlvcmF0ZS5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5jOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2dzdGZmbXBlZ2NvbG9yc3BhY2UuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtc2VsZWN0b3IuYzoKCSAgKiBnc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuYzoKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzaW5rLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzcmMuYzoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNyYy5jOgoJICAqIGdzdC90eXBlZmluZC9nc3R0eXBlZmluZGZ1bmN0aW9ucy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bGpwZWdzcmMuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc2luay5jOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzcmMuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6CgkgICogdGVzdHMvY2hlY2svbGlicy9jZGRhYmFzZXNyYy5jOgoJICBtYWtlIEdzdEVsZW1lbnREZXRhaWxzIGNvbnN0CgoyMDA2LTA0LTI4IDE5OjI0OjQwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICByZW1vdmVkIHBsdWdpbiBkb2MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZWQgcGx1Z2luIGRvYwoKMjAwNi0wNC0yOCAxOToyMzoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZXNyYy9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIG1vdmVkIHhpbWFnZXNyYyB0byBnb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlZCB4aW1hZ2VzcmMgdG8gZ29vZAoKMjAwNi0wNC0yOCAxNjo1MTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5oOgoJICBib3JnaWZ5IG5hbWluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYm9yZ2lmeSBuYW1pbmcKCjIwMDYtMDQtMjggMTY6NDY6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgZG9jIHR3ZWFrcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jIHR3ZWFrcwoKMjAwNi0wNC0yOCAxNjoxNToyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlc3JjL01ha2VmaWxlLmFtOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBjbGVhbiB1cCBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2xlYW4gdXAgTWFrZWZpbGUuYW0KCjIwMDYtMDQtMjggMTU6MzM6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIHBlZGFudGljIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwZWRhbnRpYyBjbGVhbnVwcwoKMjAwNi0wNC0yOCAxNDoxNzowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogQWRkIHN1cHBvcnQgZm9yIG90aGVyIGZvcm1hdHMgYXVkaW9yZXNhbXBsZSBjYW4gaGFuZGxlIHN1Y2ggYXMgMzIgYml0cyBpbiBhbmQgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KSwKCSAgKHJlc2FtcGxlX3NldF9zdGF0ZV9mcm9tX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3Igb3RoZXIgZm9ybWF0cyBhdWRpb3Jlc2FtcGxlIGNhbiBoYW5kbGUgc3VjaCBhcwoJICAzMiBiaXRzIGluIGFuZCBmbG9hdCBhbmQgNjQgYml0cyBmbG9hdC4gRml4ZXMgIzMwMTc1OQoKMjAwNi0wNC0yOCAxMTowNDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuKjogSWYgd2UgcnVuIGludG8gYSBkZWNvZGluZyBlcnJvciwgdHJ5IHJlLW9wZW5pbmcgdGhlIGRlY29kZXIgd2l0aCBmYWFjRGVjSW5pdDIoKSB1c2luZyBmYWtlIGNvZGVjIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9pbml0KSwgKGFhY19yYXRlX2lkeCksCgkgIChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX2NoYWluKSwgKGdzdF9mYWFkX29wZW5fZGVjb2RlciksCgkgIChnc3RfZmFhZF9jbG9zZV9kZWNvZGVyKSwgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBJZiB3ZSBydW4gaW50byBhIGRlY29kaW5nIGVycm9yLCB0cnkgcmUtb3BlbmluZyB0aGUgZGVjb2RlcgoJICB3aXRoIGZhYWNEZWNJbml0MigpIHVzaW5nIGZha2UgY29kZWMgZGF0YSBjcmVhdGVkIGZyb20gdGhlCgkgIGRhdGEgdGhlIGRlbXV4ZXIgZ2F2ZSB1cy4gU2hvdWxkIGZpeCBhIHdob2xlIGJ1bmNoIG9mCgkgIEdTdHJlYW1lci1mYWFkIHByb2JsZW1zIGluY2wuICdjaGFubmVsIGNvdXBsaW5nIG5vdAoJICBpbXBsZW1lbnRlZCcsICdtYXhpbXVtIG51bWJlciBvZiBzY2FsZWZhY3RvciBiYW5kcyBleGNlZWRlZCcKCSAgZXRjLiAoIzE3MzAwNywgIzMzMjg5MikuCgoyMDA2LTA0LTI1IDIxOjU2OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMgZ2xvYmFsKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX2Jhc2VfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzCgkgIGdsb2JhbCkKCjIwMDYtMDQtMjAgMTg6MDI6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogQWRkIHN1cHBvcnQgZm9yIHNlZ21lbnQgc2Vla3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJICAoZ3N0X211c2VwYWNrZGVjX2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9tdXNlcGFja2RlY19sb29wKToKCSAgQWRkIHN1cHBvcnQgZm9yIHNlZ21lbnQgc2Vla3MuCgoyMDA2LTA0LTIwIDE3OjI5OjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQWRkZWQgYSBjb3VwbGUgb2YgaWZkZWZzIHRvIG1ha2UgaXQgY29tcGlsZSB3aXRoIG90aGVyIGtlcm5lbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBhIGNvdXBsZSBvZiBpZmRlZnMgdG8gbWFrZSBpdCBjb21waWxlIHdpdGggb3RoZXIga2VybmVscy4KCjIwMDYtMDQtMjAgMDk6NDg6MDUgKzAwMDAgIGpeIDxqQGJvb3RsYWIub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBOZXZlciB0cmVhdCB2aWRlbyBzdHJlYW1zIGFzIGFuIGF1ZGlvIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiA8aiBhdCBib290bGFiIGRvdCBvcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIE5ldmVyIHRyZWF0IHZpZGVvIHN0cmVhbXMgYXMgYW4gYXVkaW8gc3RyZWFtLgoJICBBZGQgcXRkcncgbWltZSB0eXBlLgoJICBGaXhlcyAjMzM5MDQxCgoyMDA2LTA0LTE5IDA5OjI3OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGb3IgVkJSIGF1ZGlvLCBkb24ndCB0cnkgdG8gY2FsY3VsYXRlIHRoZSBzYW1wbGVzX3Blcl9mcmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRm9yIFZCUiBhdWRpbywgZG9uJ3QgdHJ5IHRvIGNhbGN1bGF0ZSB0aGUgc2FtcGxlc19wZXJfZnJhbWUuCgkgIEZpeGVzICMzMzg5MzUuCgoyMDA2LTA0LTE3IDE5OjQzOjMyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgSnVzdCBhZGRlZCBhIGd0ay1kb2MgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgYWRkZWQgYSBndGstZG9jIGNvbW1lbnQuCgoyMDA2LTA0LTE3IDE4OjQ0OjQ4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvdGhlb3JhL3RoZW9yYWRlYy4qOiBBcHBseSBmaXggZnJvbSBqXiBmb3IgQVBJIGNoYW5nZSBpbiBsaWJ0aGVvcmFkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6ICh0aGVvcmFfZGVjX3NyY19jb252ZXJ0KSwKCSAgKHRoZW9yYV9oYW5kbGVfdHlwZV9wYWNrZXQpLCAodGhlb3JhX2hhbmRsZV80MjJfaW1hZ2UpLAoJICAodGhlb3JhX2hhbmRsZV80MjBfaW1hZ2UpLCAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgQXBwbHkgZml4IGZyb20gal4gZm9yIEFQSSBjaGFuZ2UgaW4gbGlidGhlb3JhZGVjLgoJICBJbXBsZW1lbnQgNDoyOjIgcGl4ZWwgZm9ybWF0LiBVbnRlc3RlZCBhdCB0aGUgbW9tZW50LgoKMjAwNi0wNC0xNCAxMzoxMjo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiBGaXggdHJhY2svYWxidW0gcGVhayB0YWcgdmFsdWVzOyB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgYW5kIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19pbml0KSwKCSAgKGdzdF9tdXNlcGFja19zdHJlYW1faW5pdCk6CgkgIEZpeCB0cmFjay9hbGJ1bSBwZWFrIHRhZyB2YWx1ZXM7IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBhbmQKCSAgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUoKS4KCjIwMDYtMDQtMTMgMjE6NDU6NTcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeGVkIHNvbWUgbWVtb3J5IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgc29tZSBtZW1vcnkgbGVha3MuCgoyMDA2LTA0LTEyIDIxOjU3OjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRml4IHRvIHdvcmsgaW4gcmVhZCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHRvIHdvcmsgaW4gcmVhZCBtb2RlLgoKMjAwNi0wNC0xMSAxNjoxODoxMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeCB2ZXJzaW9uaW5nIG1hY3JvIGFuZCBhZGQgdHJhbnNsYXRpb24gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB2ZXJzaW9uaW5nIG1hY3JvIGFuZCBhZGQgdHJhbnNsYXRpb24gZmlsZXMKCjIwMDYtMDQtMTAgMTc6MTY6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBwYXJzaW5nIG9mIG5ld2VyIHN0c2QgY2h1bmtzIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggcGFyc2luZyBvZiBuZXdlciBzdHNkIGNodW5rcyBhZ2Fpbi4KCjIwMDYtMDQtMTAgMTQ6MjA6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBmcmFtZXJhdGUgY2FsY3VsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IGZyYW1lcmF0ZSBjYWxjdWxhdGlvbi4KCjIwMDYtMDQtMTAgMTM6NTg6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiBGaXggYnVpbGQgKGNsYXNzX2luaXQgZGVjbGFyYXRpb24vZGVmaW5pdGlvbiBtaXNtYXRjaCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpOgoJICBGaXggYnVpbGQgKGNsYXNzX2luaXQgZGVjbGFyYXRpb24vZGVmaW5pdGlvbiBtaXNtYXRjaCkuCgoyMDA2LTA0LTEwIDA4OjMxOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBmb3JjZSBtb25vIDgwMDAgSHogb24gQU1SIHNhbXBsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIGZvcmNlIG1vbm8gODAwMCBIeiBvbiBBTVIgc2FtcGxlcy4KCjIwMDYtMDQtMDkgMTg6MzA6NTEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IHJlbW92ZSBhdG9sbCBieSB1c2luZyBnX2FzY2lpX3N0cnRvdWxsIChhdG9sbCBpcyBub3Qgc3VwcG9ydGVkIG9uIFdJTjMyKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19zdGFydCk6CgkgIHJlbW92ZSBhdG9sbCBieSB1c2luZyBnX2FzY2lpX3N0cnRvdWxsIChhdG9sbCBpcyBub3Qgc3VwcG9ydGVkIG9uIFdJTjMyKQoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkb25lIHNvbWUgY2xlYW5zIGluIHNvdXJjZXMKCSAgKiB3aW4zMi92czY6CgkgIGFkZCBwcm9qZWN0IGZpbGVzIGZvciBuZW9uLCBxdGRlbXV4CgoyMDA2LTA0LTA5IDE3OjE0OjIyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9kZWJ1Zy5oOiByZXBsYWNlIGRlYnVnIG1hY3JvcyB3aXRoIHZhcmlhYmxlIG51bWJlciBvZiBwYXJhbWV0ZXJzIGJ5IGEgc2ltcGxlIGFsaWFzIHRvIGdzdHJlYW1lciBzdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZGVidWcuaDoKCSAgcmVwbGFjZSBkZWJ1ZyBtYWNyb3Mgd2l0aCB2YXJpYWJsZSBudW1iZXIgb2YgcGFyYW1ldGVycwoJICBieSBhIHNpbXBsZSBhbGlhcyB0byBnc3RyZWFtZXIgc3RhbmRhcmQgZGVidWcgbWFjcm9zCgkgICgjZGVmaW5lIFJFU0FNUExFX0VSUk9SIEdTVF9FUlJPUiwgX19WQV9BUkdTX18gaXMgbm90CgkgIHN1cHBvcnRlZCBieSBNU1ZDIDYuMCBhbmQgNy4xKQoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6CgkgIGRlZmluZSBNX1BJIGFuZCByaW50IGZvciBXSU4zMgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3RhdWRpby5kZWY6CgkgICogd2luMzIvY29tbW9uL2xpYmdzdHJpZmYuZGVmOgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3R0YWcuZGVmOgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3R2aWRlby5kZWY6CgkgIGFkZCBuZXcgZXhwb3J0ZWQgZnVuY3Rpb25zCgkgICogd2luMzIvdnM2OgoJICB1cGRhdGUgcHJvamVjdCBmaWxlcwoKMjAwNi0wNC0wOCAyMTo0ODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6IChnc3RfYXJ0c19jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9fY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6IChnc3RfZGl2eGRlY19jbGFzc19pbml0KToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAoZ3N0X2phY2tfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2NsYXNzX2luaXQpOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2NsYXNzX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6IChnc3RfaWNlY2FzdHNlbmRfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6IChnc3Rfc25hcHNob3RfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9jbGFzc19pbml0KToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9zd2ZkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzogKGdzdF90YXJraW5lbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6IChnc3RfY2hhcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoZ3N0X2lpcl9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6IChnc3RfbWl4bWF0cml4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAoZ3N0X3N5c3RlbV9lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXAxdmlkZW9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAoZ3N0X21wM3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzogKGdzdF9vdmVybGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOiAocGFzc3Rocm91Z2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKHBsYXlfb25fZGVtYW5kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6IChnc3RfcnRqcGVnZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6IChnc3RfcnRqcGVnZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6IChnc3Rfc21vb3RoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6IChnc3Rfc3RlcmVvX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6IChnc3RfdmJpZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOiAoZ3N0X3hzaGFycGVuX2NsYXNzX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfY2xhc3NfaW5pdCk6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAoZ3N0X2RpcmVjdHNvdW5kc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKGdzdF92NGwyX2NvbG9yX2JhbGFuY2VfY2hhbm5lbF9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX2NoYW5uZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMl90dW5lcl9ub3JtX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoKMjAwNi0wNC0wOCAxOTowNDowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guaDoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBGaXggbW9yZSBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDggMTg6NDE6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3hpbmUvZ3N0eGluZS5oOgoJICAqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA4IDE4OjI1OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5oOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA4IDE4OjIzOjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBtYWtlIHJvdW5kaW5nIGVycm9ycyBpbiB0aW1lc3RhbXAvZHVyYXRpb24gY2FsY3VsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9kdW1wX3N0c3opLAoJICAocXRkZW11eF9kdW1wX3N0Y28pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgbWFrZSByb3VuZGluZyBlcnJvcnMgaW4gdGltZXN0YW1wL2R1cmF0aW9uIGNhbGN1bGF0aW9ucy4KCSAgRml4IHRpbWVzdGFtcHMgZm9yIEFNUiBhbmQgSU1BNC4gIEZpeGVzICgjMzM3NDM2KS4KCSAgQ3JlYXRlIGEgZHVtbXkgc2VnbWVudCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gZWRpdCBsaXN0LgoKMjAwNi0wNC0wNyAxNjo1OToxNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDogVXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDogVXBkYXRlcy4KCSAgKiBleGFtcGxlcy9kaXJlY3RmYi9NYWtlZmlsZS5hbTogQWRkIGV4YW1wbGUgcmVzb3VyY2UgZmlsZXMgdG8KCSAgZGlzdC4KCjIwMDYtMDQtMDcgMTU6NTM6NDMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBUeXBvIGZpeCwgcy9YRnJlZTg2L1gxMSBhbmQgYWRkZWQgZG9jIGJsdXJiIHNheWluZyB0aGF0IGl0IGZpeGF0ZXMgdG8gMjVmcHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19yZWNhbGMpLAoJICAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpOgoJICBUeXBvIGZpeCwgcy9YRnJlZTg2L1gxMSBhbmQgYWRkZWQgZG9jIGJsdXJiIHNheWluZyB0aGF0IGl0IGZpeGF0ZXMgdG8KCSAgMjVmcHMKCjIwMDYtMDQtMDcgMTU6NDc6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiBBY3R1YWxseSBhc3NlcnQgdGhhdCBwaXBlbGluZSBnb2VzIHRvIHBsYXlpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiAobWFpbik6CgkgIEFjdHVhbGx5IGFzc2VydCB0aGF0IHBpcGVsaW5lIGdvZXMgdG8gcGxheWluZwoKMjAwNi0wNC0wNyAxNToyNzo0MCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IEZpeCB0eXBvLCBDKysgc3R5bGUgY29tbWVudHMgYW5kIG90aGVyIHNtYWxsIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmVjYWxjKSwKCSAgKGNvbXBvc2l0ZV9waXhlbCksIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpOgoJICBGaXggdHlwbywgQysrIHN0eWxlIGNvbW1lbnRzIGFuZCBvdGhlciBzbWFsbCBjbGVhbnVwcwoKMjAwNi0wNC0wNiAxOToxNjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkZWQgZnVsbCBlZGl0IGxpc3Qgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9xdGRlbXV4X2ZpbmRfaW5kZXgpLAoJICAoZ3N0X3F0ZGVtdXhfZmluZF9rZXlmcmFtZSksIChnc3RfcXRkZW11eF9maW5kX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0pLCAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2RvX3NlZWspLCAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksIChnc3RfcXRkZW11eF9hZHZhbmNlX3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQWRkZWQgZnVsbCBlZGl0IGxpc3Qgc3VwcG9ydC4KCSAgQXZvaWQgb3ZlcmZsb3dzIGluIHByb2xvZ3VlIGltYWdlIGRldGVjdGlvbiBjb2RlLgoJICBBdm9pZCByb3VuZG9mZiBlcnJvcnMgaW4gdGltZXN0YW1wIGNhbGN1bGF0aW9ucy4KCjIwMDYtMDQtMDYgMTQ6MjA6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgbW9yZSBkaXN0Y2hlY2sgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vcmUgZGlzdGNoZWNrIGZpeGVzCgoyMDA2LTA0LTA2IDE0OjA4OjA4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogY2xlYW4gdXAgc28gcmVwb3J0IHByb3Blcmx5IG9uIG1pc3Npbmcgc3R1ZmYgZml4IG1vZHBsdWcgZGV0ZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgY2xlYW4gdXAgc28gcmVwb3J0IHByb3Blcmx5IG9uIG1pc3Npbmcgc3R1ZmYKCSAgZml4IG1vZHBsdWcgZGV0ZWN0aW9uCgoyMDA2LTA0LTA2IDEyOjUyOjIyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC86IGRvbid0IGRpc3QgYW1yIHdiIHNvdXJjZSBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgZG9uJ3QgZGlzdCBhbXIgd2Igc291cmNlIGNvZGUKCjIwMDYtMDQtMDYgMTE6MzU6MjYgKzAwMDAgIGpeIDxqQGJvb3RsYWIub3JnPgoKCSAgVW5pZnkgdGhlIGxvbmcgZGVzY3JpcHRpb25zIGluIHRoZSBwbHVnaW4gZGV0YWlscyAoIzMzNzI2MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gIDxqIGF0IGJvb3RsYWIgZG90IG9yZz4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBVbmlmeSB0aGUgbG9uZyBkZXNjcmlwdGlvbnMgaW4gdGhlIHBsdWdpbiBkZXRhaWxzICgjMzM3MjYzKS4KCjIwMDYtMDQtMDYgMDk6Mzc6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBBZGQgYmFjayAidXJpIiBwcm9wZXJ0eSBhbmQgbWFyayBpdCBhcyBkZXByZWNhdGVkOyB1bmRvZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfbmVvbmh0dHBfc3JjX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBiYWNrICJ1cmkiIHByb3BlcnR5IGFuZCBtYXJrIGl0IGFzIGRlcHJlY2F0ZWQ7IHVuZG9lcwoJICBBUEkvQUJJIGJyZWFrYWdlIGZyb20gMjAwNi0wMi0yNC4KCjIwMDYtMDQtMDUgMDg6MzY6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVzZSBkdXJhdGlvbiBhcyBzZWdtZW50IHN0b3AgcG9zaXRpb24gaWYgbm9uZSBpcyBleHBsaWNpdGx5IGNvbmZpZ3VyZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9kb19zZWVrKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCk6CgkgIFVzZSBkdXJhdGlvbiBhcyBzZWdtZW50IHN0b3AgcG9zaXRpb24gaWYgbm9uZSBpcwoJICBleHBsaWNpdGx5IGNvbmZpZ3VyZWQuCgkgIEFsc28gcGVyZm9ybSBFT1Mgd2hlbiB3ZSBydW4gcGFzdCB0aGUgc2VnbWVudCBzdG9wLgoKMjAwNi0wNC0wNCAxMToyMDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTW9yZSBjbGVhbnVwcywgYWRkZWQgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dvX2JhY2spLAoJICAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBNb3JlIGNsZWFudXBzLCBhZGRlZCBjb21tZW50cy4KCSAgTWFyayBkaXNjb250aW51aXRpZXMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgUG9zdCBiZXR0ZXIgZXJyb3JzIHdoZW4gc29tZXRoaW5nIGdvZXMgd3JvbmcuCgkgIEhhbmRsZSBFT1MgYW5kIHNlZ21lbnQgZW5kIHByb3Blcmx5LgoKMjAwNi0wNC0wNCAwODo0MDo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgTWFyayBsYXRlc3QgY2hhbmdlIGFzIGZpeGluZyBhIGJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1hcmsgbGF0ZXN0IGNoYW5nZSBhcyBmaXhpbmcgYSBidWcuCgoyMDA2LTA0LTA0IDA4OjMxOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBIYW5kbGUgc3RzcyBib3hlcyBzbyB3ZSBjYW4gbWFyayBhbmQgZmluZCBrZXlmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfcHVzaF9ldmVudCksIChnc3RfcXRkZW11eF9nb19iYWNrKSwKCSAgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAocGx1Z2luX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpLCAocXRkZW11eF90YWdfYWRkX3N0ciksIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIEhhbmRsZSBzdHNzIGJveGVzIHNvIHdlIGNhbiBtYXJrIGFuZCBmaW5kIGtleWZyYW1lcy4KCSAgSW1wbGVtZW50IGNvcnJlY3QgYWNjdXJhdGUgYW5kIGtleWZyYW1lIHNlZWtpbmcuCgkgIFVzZSBfREVCVUdfT0JKRUNUIHdoZW4gcG9zc2libGUuCgoyMDA2LTA0LTAzIDExOjA4OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IE9ubHkgcnVuIHRoZSBpZDN2Mm11eCBjaGVjayBpZiB0YWdsaWIgaXMgYXZhaWxhYmxlIGFuZCB0aGUgdGFnbGliIHBsdWdpbiBoYXMgYmVlbiBidWlsdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIE9ubHkgcnVuIHRoZSBpZDN2Mm11eCBjaGVjayBpZiB0YWdsaWIgaXMgYXZhaWxhYmxlIGFuZAoJICB0aGUgdGFnbGliIHBsdWdpbiBoYXMgYmVlbiBidWlsdC4KCjIwMDYtMDQtMDMgMTA6NTc6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3dmZGVjL01ha2VmaWxlLmFtOiBEb24ndCBzZXQgcGx1Z2luZGlyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICBEb24ndCBzZXQgcGx1Z2luZGlyLgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkgIEdTVF9QTFVHSU5fREVGSU5FX1NUQVRJQyBpc24ndCBhIGdvb2QgaWRlYSBmb3IgaW5zdGFsbGVkIHBsdWdpbnMuCgoyMDA2LTA0LTAzIDEwOjUxOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBZGQgQVhfQ1JFQVRFX1NURElOVF9IIHRvIGNyZWF0ZSBfc3RkaW50LmgsIG5lZWRlZCBieSB0aGUgZHRzIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBZGQgQVhfQ1JFQVRFX1NURElOVF9IIHRvIGNyZWF0ZSBfc3RkaW50LmgsIG5lZWRlZCBieQoJICB0aGUgZHRzIHBsdWdpbi4KCjIwMDYtMDQtMDMgMTA6MzQ6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBHU1RfT1JJR0lOID0+IEdTVF9QQUNLQUdFX09SSUdJTgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIEdTVF9PUklHSU4gPT4gR1NUX1BBQ0tBR0VfT1JJR0lOCgkgIEdTVF9QQUNLQUdFID0+IEdTVF9QQUNLQUdFX05BTUUKCjIwMDYtMDQtMDIgMTA6NDI6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogYWRkIG1vcmUgcGx1Z2lucyB0byBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgYWRkIG1vcmUgcGx1Z2lucyB0byBkb2NzCgoyMDA2LTA0LTAyIDA5OjMzOjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdGhlIGFscGhhYmV0LCBhIHRyaWNreSBjb25jZXB0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0aGUgYWxwaGFiZXQsIGEgdHJpY2t5IGNvbmNlcHQKCjIwMDYtMDQtMDIgMDk6MTc6MjMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBhZGQgbGlib2lsIGNoZWNrLCBkdHMgdXNlcyBpdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxpYm9pbCBjaGVjaywgZHRzIHVzZXMgaXQKCjIwMDYtMDQtMDEgMTY6NTA6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSogc3lzL2R4cjMvYWMzX3BhZGRlci5oOgoJKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RhZ2lkM3YybXV4LmM6CgkgIGFkZCB0YWdsaWIgY2hlY2tzIGFuZCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgdGFnbGliIGNoZWNrcyBhbmQgZG9jcwoKMjAwNi0wNC0wMSAxNTozNjoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgZG9uJ3QgdXNlIEFTX0xJQlRPT0xfVEFHUywgaXQgZG9lc24ndCB3b3JrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCB1c2UgQVNfTElCVE9PTF9UQUdTLCBpdCBkb2Vzbid0IHdvcmsKCjIwMDYtMDQtMDEgMTA6MTY6MjggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogLmdpdGlnbm9yZToKCSogZG9jcy8uZ2l0aWdub3JlOgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA2LTA0LTAxIDEwOjE1OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIDUgc2Vjb25kIHRpbWVvdXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDUgc2Vjb25kIHRpbWVvdXQKCjIwMDYtMDQtMDEgMTA6MTQ6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIHJlbmFtZSB0ZXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW5hbWUgdGVzdAoKMjAwNi0wNC0wMSAxMDowOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3Yi5jOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWYuYzoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvYnoyL2dzdGJ6Mi5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXMuYzoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9zZGwvZ3N0c2RsLmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbi5jOgoJKiBleHQveGluZS94aW5lLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QvdmlydHVhbGR1Yi9nc3R2aXJ0dWFsZHViLmM6CgkqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9keHIzL2R4cjNpbml0LmM6CgkqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgoyMDA2LTAzLTMxIDE3OjUyOjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgQWRkIHRlc3RzIGFuZCBmaXggUEFSIGNhcHMgaXNzdWUgdG8geGltYWdlc3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZXNyY19nZXRfY2FwcyksIChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6ICh0ZXJtaW5hdGVfcGxheWJhY2spLCAobWFpbik6CgkgIEFkZCB0ZXN0cyBhbmQgZml4IFBBUiBjYXBzIGlzc3VlIHRvIHhpbWFnZXNyYwoKMjAwNi0wMy0zMSAxNjozMjo0NyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IEFkZCBkb2NzIHRvIHhpbWFnZXNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIEFkZCBkb2NzIHRvIHhpbWFnZXNyYwoKMjAwNi0wMy0zMSAxNToyMTozNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2VzcmMvOiBGaXggeGltYWdlc3JjIHNvIGEpIHRoZSBjdXJzb3IgZG9lc250IHRyYWlsIGFuZCBiKSB0aGVyZSBhcmUgbm8geWVsbG93IHJlY3RhbmdsZXMgd2l0aCB0aGUgY3Vyc29yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGNvbXBvc2l0ZV9waXhlbCksCgkgIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3hpbWFnZXNyY19nZXRfY2FwcyksIChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmg6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX3hjb250ZXh0X2dldCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkgIEZpeCB4aW1hZ2VzcmMgc28gYSkgdGhlIGN1cnNvciBkb2VzbnQgdHJhaWwgYW5kIGIpIHRoZXJlIGFyZSBubwoJICB5ZWxsb3cgcmVjdGFuZ2xlcyB3aXRoIHRoZSBjdXJzb3IKCjIwMDYtMDMtMzEgMTQ6MjY6MDUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkIGF1dG9jb25mZXJ5IGZvciB0aGVvcmFkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIGF1dG9jb25mZXJ5IGZvciB0aGVvcmFkZWMuCgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBBZGQgdGhlb3JhIGRpcmVjdG9yeS4KCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IChnc3RfdGhlb3JhZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfdGhlb3JhZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3RoZW9yYWRlY19pbml0KSwKCSAgKGdzdF90aGVvcmFkZWNfcmVzZXQpLCAoaW5jX2dyYW51bGVwb3MpLCAodGhlb3JhX2dldF9xdWVyeV90eXBlcyksCgkgIChnc3RfdGhlb3JhZGVjX2dyYW51bGVfY2xvY2t0aW1lKSwgKHRoZW9yYV9kZWNfc3JjX2NvbnZlcnQpLAoJICAodGhlb3JhX2RlY19zaW5rX2NvbnZlcnQpLCAodGhlb3JhX2RlY19zcmNfcXVlcnkpLAoJICAodGhlb3JhX2RlY19zaW5rX3F1ZXJ5KSwgKHRoZW9yYV9kZWNfc3JjX2V2ZW50KSwKCSAgKHRoZW9yYV9kZWNfc2lua19ldmVudCksICh0aGVvcmFfaGFuZGxlX2NvbW1lbnRfcGFja2V0KSwKCSAgKHRoZW9yYV9oYW5kbGVfdHlwZV9wYWNrZXQpLCAodGhlb3JhX2hhbmRsZV9oZWFkZXJfcGFja2V0KSwKCSAgKHRoZW9yYV9kZWNfcHVzaCksICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KSwgKHRoZW9yYV9kZWNfY2hhaW4pLAoJICAodGhlb3JhX2RlY19jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgIEFkZCB0aGVvcmEgcGx1Z2luIGZvciB0aGVvcmEtZXhwIGRlY29kZXIuIFZlcnkgaGVhdmlseSBiYXNlZCBvbiB0aGUKCSAgZXhpc3RpbmcgdGhlb3JhIGRlY29kZXIgcGx1Z2luLgoKMjAwNi0wMy0yOSAxNjo1NDoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nc20vOiBDbGVhbnVwcywgZml4IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOiAoZ3N0X2dzbWRlY19jbGFzc19pbml0KSwgKGdzdF9nc21kZWNfaW5pdCksCgkgIChnc3RfZ3NtZGVjX2ZpbmFsaXplKSwgKGdzdF9nc21kZWNfc2lua19ldmVudCksIChnc3RfZ3NtZGVjX2NoYWluKToKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6IChnc3RfZ3NtZW5jX2NsYXNzX2luaXQpLCAoZ3N0X2dzbWVuY19pbml0KSwKCSAgKGdzdF9nc21lbmNfZmluYWxpemUpLCAoZ3N0X2dzbWVuY19jaGFpbik6CgkgIENsZWFudXBzLCBmaXggbGVha3MuCgkgIEhhbmRsZSBldmVudHMgYW5kIERJU0NPTlQuCgkgIFVzZSBhZGFwdGVyIGluIHRoZSBkZWNvZGVyLgoKMjAwNi0wMy0yOSAxNjo1MDowOCArMDAwMCAgUmVuYXRvIEFyYXVqbyBPbGl2ZWlyYSBGaWxobyA8cmVuYXRveEBnbWFpbC5jb20+CgoJICBBZGRlZCBuZXcgcGx1Z2luIGFtcndiIHBhcnNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbmF0byBBcmF1am8gT2xpdmVpcmEgRmlsaG8gPHJlbmF0b3ggYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvUkVBRE1FOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL3J1bi5zaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2IuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19iYXNlX2luaXQpLAoJICAoZ3N0X2FtcndiZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2FtcndiZGVjX2luaXQpLAoJICAoZ3N0X2FtcndiZGVjX3NldGNhcHMpLCAoZ3N0X2FtcndiZGVjX2V2ZW50KSwgKGdzdF9hbXJ3YmRlY19jaGFpbiksCgkgIChnc3RfYW1yd2JkZWNfc3RhdGVfY2hhbmdlKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19iYXNlX2luaXQpLAoJICAoZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpLCAoZ3N0X2FtcndiZW5jX2luaXQpLAoJICAoZ3N0X2FtcndiZW5jX2ZpbmFsaXplKSwgKGdzdF9hbXJ3YmVuY19zZXRjYXBzKSwKCSAgKGdzdF9hbXJ3YmVuY19jaGFpbiksIChnc3RfYW1yd2JlbmNfc3RhdGVfY2hhbmdlKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2FtcndicGFyc2VfaW5pdCksCgkgIChnc3RfYW1yd2JwYXJzZV9xdWVyeXR5cGVzKSwgKGdzdF9hbXJ3YnBhcnNlX3F1ZXJ5KSwKCSAgKGdzdF9hbXJ3YnBhcnNlX2NoYWluKSwgKGdzdF9hbXJ3YnBhcnNlX3JlYWRfaGVhZGVyKSwKCSAgKGdzdF9hbXJ3YnBhcnNlX2xvb3ApLCAoZ3N0X2FtcndicGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfYW1yd2JwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2FtcndicGFyc2Vfc3RhdGVfY2hhbmdlKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICBBZGRlZCBuZXcgcGx1Z2luIGFtcndiIHBhcnNlLgoJICBSZW5hbWVkIGF1ZGlvL0FNUiB0byBhdWRpby9BTVItV0IgYXMgcGVyIHNwZWMuCgkgIEZpeGVzICMzMzMzMDcKCjIwMDYtMDMtMjcgMTc6MDY6NDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBTbWFsbCBmaXgsIG5vdyBwd2MgZHJpdmVyIGNhbiB0ZWxsIGFib3V0IGl0cyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU21hbGwgZml4LCBub3cgcHdjIGRyaXZlciBjYW4gdGVsbCBhYm91dCBpdHMgYnVmZmVycy4KCjIwMDYtMDMtMjcgMTA6MTM6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBDWFggdGFnIGZyb20gQVNfTElCVE9PTF9UQUdTLCBqdXN0IGxpa2Ugd2UgZGlkIGZvciAtZ29vZCBhbmQgLXVnbHkuIEZpeGVzIGJ1aWxkIG9uIHNvbWUgc3lzdGVtcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgQ1hYIHRhZyBmcm9tIEFTX0xJQlRPT0xfVEFHUywganVzdCBsaWtlIHdlCgkgIGRpZCBmb3IgLWdvb2QgYW5kIC11Z2x5LiBGaXhlcyBidWlsZCBvbiBzb21lIHN5c3RlbXMKCSAgYW5kIGRvZXNuJ3Qgc2VlbSB0byBiZSByZXF1aXJlZCBmb3IgQysrIGNvZGUuCgoyMDA2LTAzLTI2IDE5OjU2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuKjogRml4IG5ld3NlZ21lbnQgZXZlbnQgaGFuZGxpbmcgYSBiaXQuIFdlIG5lZWQgdG8gY2FjaGUgdGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQsIGJlY2F1c2Ugd2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEZpeCBuZXdzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGEgYml0LiBXZSBuZWVkIHRvCgkgIGNhY2hlIHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LCBiZWNhdXNlIHdlIGNhbid0CgkgIGFkanVzdCBvZmZzZXRzIHlldCB3aGVuIHdlIGdldCBpdCwgYXMgd2UgZG9uJ3QKCSAga25vdyB0aGUgc2l6ZSBvZiB0aGUgdGFnIHlldCBmb3Igc3VyZSBhdCB0aGF0IHBvaW50LgoJICBBbHNvIGRvIHNvbWUgbWlub3IgY2xlYW5pbmcgdXAgaGVyZSBhbmQgdGhlcmUgYW5kIGFkZAoJICBzb21lIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA2LTAzLTI1IDIxOjU3OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IFdlIGRvIG5vdCB3YW50IHRvIHByb3h5IHRoZSBjYXBzIG9uIHRoZSBzaW5rIHBhZDsgb3VyIHNvdXJjZSBwYWQgc2hvdWxkIGhhdmUgYXBwbGljYXRpb24veC1pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBXZSBkbyBub3Qgd2FudCB0byBwcm94eSB0aGUgY2FwcyBvbiB0aGUgc2luayBwYWQ7IG91cgoJICBzb3VyY2UgcGFkIHNob3VsZCBoYXZlIGFwcGxpY2F0aW9uL3gtaWQzIGNhcHM7IGFsc28sCgkgIGRvbid0IHVzZSBhbHJlYWR5LWZyZWVkIHN0cmluZ3MgaW4gZGVidWcgbWVzc2FnZXM7CgkgIGZpbmFsbHksIGFkanVzdCBidWZmZXIgb2Zmc2V0cyBvbiBidWZmZXJzIHNlbnQgb3V0LgoKMjAwNi0wMy0yNSAxMzowMjo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogT2xkZXIga2VybmVscyBkb24ndCBzZWVtIHRvIGhhdmUgdGhpcyBwYXJ0aWN1bGFyIHY0bDIgZm9ybWF0LCBzbyBjb21tZW50IG91dCB1bnRpbCB0aGlzIGdldHMgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIE9sZGVyIGtlcm5lbHMgZG9uJ3Qgc2VlbSB0byBoYXZlIHRoaXMgcGFydGljdWxhciB2NGwyIGZvcm1hdCwKCSAgc28gY29tbWVudCBvdXQgdW50aWwgdGhpcyBnZXRzIGZpeGVkIHByb3Blcmx5IChhbmQgbWFrZQoJICBidWlsZGJvdHMgaGFwcHkpLgoKMjAwNi0wMy0yNSAwNTozMToyOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEp1c3QgbWFrZSBmZXcgdGhpbmdzIG1vcmUgcm9idXN0IGFuZCBhbHNvIHNvbWUgaWRlbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgbWFrZSBmZXcgdGhpbmdzIG1vcmUgcm9idXN0IGFuZCBhbHNvIHNvbWUgaWRlbnRhdGlvbi4KCjIwMDYtMDMtMjMgMDk6MTU6MDkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLmM6IFBhdGNoIHRvIG1hcmsgb3V0Z29pbmcgZW5jb2RlZCBidWZmZXJzIGFzIGRlbHRhLXVuaXRzIChvciBub3QpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2luaXQpLCAoZ3N0X3h2aWRlbmNfc2V0dXApLAoJICAoZ3N0X3h2aWRlbmNfY2hhaW4pOgoJICBQYXRjaCB0byBtYXJrIG91dGdvaW5nIGVuY29kZWQgYnVmZmVycyBhcyBkZWx0YS11bml0cyAob3Igbm90KS4KCSAgTm90ZSB0aGF0IHRoaXMgcGF0Y2ggYWxzbyBwYXRjaGVzOgoJICAtIHRoZSBzZXR0aW5nIG9mIGZpbmNyIGFuZCBmYmFzZSBpbiB4dmlkLWVuY29kZXIgY3JlYXRpb24gYmFzZWQgb24KCSAgY2FwcyBmcmFtZXJhdGUKCSAgLSBtYWtlcyAwLCByYXRoZXIgdGhhbiAyLCB0aGUgZGVmYXVsdCBtYXhfYl9mcmFtZXMsIGFzIHRoZSBjdXJyZW50CgkgIHh2aWRlbmMgZG9lcyBub3Qgc2VlbSAiZnVsbHkgcHJlcGFyZWQiIHRvIGhhbmRsZSBiLWZyYW1lCgkgICJlZmZlY3RzIiwgc3VjaCBhcyBlbmNvZGVyIHJldHVybmluZyAwIGVuY29kZWQgYnl0ZXMsIGV0Yy4KCSAgRml4ZXMgIzMzNTU4NQoKMjAwNi0wMy0yMiAxOTo1MToyOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBsYXRlc3QgcGx1Z2lucyBhZGRpdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsYXRlc3QgcGx1Z2lucyBhZGRpdGlvbnMKCjIwMDYtMDMtMjIgMTc6MTM6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnLzogVHJ5IHRoYXQgYWdhaW4gKG5vdCBvbmx5IHNob3VsZCBpdCBiZSBNT0RQTFVHXyBpbnN0ZWFkIG9mIE1PREZJTEUsIGFsc28gdGhhdCBkZWZpbmUgaXMgYWxyZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfaXQuY3BwOgoJICBUcnkgdGhhdCBhZ2FpbiAobm90IG9ubHkgc2hvdWxkIGl0IGJlIE1PRFBMVUdfIGluc3RlYWQKCSAgb2YgTU9ERklMRSwgYWxzbyB0aGF0IGRlZmluZSBpcyBhbHJlYWR5IHNldCBpbiBzdGRhZnguaDsKCSAgd2hhdCB3ZSByZWFsbHkgbmVlZCBpcyBzb21lIG1vcmUgI2lmbmRlZnMpLgoKMjAwNi0wMy0yMiAxNTowMjo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvTWFrZWZpbGUuYW06IE1vcmUgZ2NjLTQuMSBmaXhlcyAod2UgZG9uJ3QgbmVlZCBmaWxlIHNhdmluZywgc28ganVzdCBkZWZpbmUgTU9EUExVR19OT19GSUxFU0FWRS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL01ha2VmaWxlLmFtOgoJICBNb3JlIGdjYy00LjEgZml4ZXMgKHdlIGRvbid0IG5lZWQgZmlsZSBzYXZpbmcsIHNvIGp1c3QKCSAgZGVmaW5lIE1PRFBMVUdfTk9fRklMRVNBVkUuIFRoYXQgd2F5LCB0aGUgY29tcGlsZXIgd29uJ3QKCSAgY29tcGxhaW4gYWJvdXQgbW9kcGx1ZyBpZ25vcmluZyB0aGUgcmV0dXJuIHZhbHVlIG9mIGZ3cml0ZQoJICBhbnkgbG9uZ2VyIGFuZCB3ZSBtaWdodCBldmVuIHNhdmUgYSBmZXcgYnl0ZXMgYXMgd2VsbCkuCgoyMDA2LTAzLTIyIDE0OjMxOjQ3ICswMDAwICBXb3V0ZXIgUGFlc29uIDx3b3V0ZXJAa2FuZ2Fyb290Lm5ldD4KCgkgIEFkZCBuZXcgbGlic291bmR0b3VjaC1iYXNlZCBwaXRjaCBwbHVnaW4gKCMzMzEzMzUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBQYWVzb24gIDx3b3V0ZXIgYXQga2FuZ2Fyb290IGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5oaDoKCSAgQWRkIG5ldyBsaWJzb3VuZHRvdWNoLWJhc2VkIHBpdGNoIHBsdWdpbiAoIzMzMTMzNSkuCgoyMDA2LTAzLTIxIDE2OjAyOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3B0bS5jcHA6IEZpeCBjb21waWxhdGlvbiB3aXRoIGdjYy00LjEgYW5kIC1XZXJyb3IgKCMzMjczNTUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfcHRtLmNwcDoKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggZ2NjLTQuMSBhbmQgLVdlcnJvciAoIzMyNzM1NSkuCgoyMDA2LTAzLTIwIDA4OjU5OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDogRml4IGxlZnQtb3ZlciBnc3RfbXlfZmlsdGVyX2dldF90eXBlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBGaXggbGVmdC1vdmVyIGdzdF9teV9maWx0ZXJfZ2V0X3R5cGUuCgoyMDA2LTAzLTE3IDE2OjM0OjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBIYXZlIGEgc2hvdyBtb3VzZSBwb2ludGVyIHByb3BlcnR5IGFuZCB1c2UgaXQgaWYgd2UgY2FuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBIYXZlIGEgc2hvdyBtb3VzZSBwb2ludGVyIHByb3BlcnR5IGFuZCB1c2UgaXQgaWYgd2UgY2FuCgoyMDA2LTAzLTE1IDE1OjA4OjIwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBMZXQncyBub3QgZm9yZ2V0IHRvIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgZGlzcG9zZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZGlzcG9zZSk6CgkgIExldCdzIG5vdCBmb3JnZXQgdG8gY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBkaXNwb3NlLgoKMjAwNi0wMy0xNSAxNDozOToyNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU2VyaWVzIG9mIG1lbWxlYWsgZml4ZXM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaW5pdCksIChnc3RfcXRkZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgU2VyaWVzIG9mIG1lbWxlYWsgZml4ZXM6CgkgIC0gVW5yZWYgdGhlIEdzdEFkYXB0ZXIgaW4gZmluYWxpemUuCgkgIC0gVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlKCksIHNob3J0ZXIgYW5kIHNhZmVyLgoJICAtIEZyZWUgdW51c2VkIFF0RGVtdXhTdHJlYW0gd2hlbiBub3QgdXNlZC4KCjIwMDYtMDMtMTQgMTc6MjQ6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEluaXRpYWxpemF0aW9uIG9mIHRoZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgc2hvdWxkIGJlIGFzIGVhcmx5IGFzIHBvc3NpYmxlLCBtb3ZpbmcgaXQgZnJvbSBfY2xhc3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfYmFzZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpOgoJICBJbml0aWFsaXphdGlvbiBvZiB0aGUgZGVidWdnaW5nIGNhdGVnb3J5IHNob3VsZCBiZSBhcyBlYXJseSBhcyBwb3NzaWJsZSwKCSAgbW92aW5nIGl0IGZyb20gX2NsYXNzX2luaXQoKSB0byBiZWdpbm5pbmcgb2YgX2Jhc2VfaW5pdCgpLgoKMjAwNi0wMy0xMyAxNzoyMjoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBBZGQgZ3RrLWRvYyBibHVyYiAodW51c2VkIGZvciB0aGUgdGltZSBiZWluZyk7IG1hdGNoIHJlZ2lzdGVyZWQgcGx1Z2luIG5hbWUgdG8gdGhlIGZpbGVuYW1lIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgQWRkIGd0ay1kb2MgYmx1cmIgKHVudXNlZCBmb3IgdGhlIHRpbWUgYmVpbmcpOyBtYXRjaCByZWdpc3RlcmVkCgkgIHBsdWdpbiBuYW1lIHRvIHRoZSBmaWxlbmFtZSBvZiB0aGUgcGx1Z2luICh0YWdsaWJtdXggPT4gdGFnbGliKQoKMjAwNi0wMy0xMyAxMjoxNDoxOCArMDAwMCAgTWlraGFpbCBaYWJhbHVldiA8bWh6QGFsdGxpbnV4Lm9yZz4KCgkgIGF1dG9nZW4uc2g6IERvbid0IGNoZWNrIGZvciBmaWxlIHRoYXQgb25seSBleGlzdHMgaW4gQ1ZTIGJ1dCBpc24ndCBkaXN0ZWQgKCMzMzQ0MTcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWlraGFpbCBaYWJhbHVldiAgPG1oeiBhbHRsaW51eCBvcmc+CgkgICogYXV0b2dlbi5zaDoKCSAgRG9uJ3QgY2hlY2sgZm9yIGZpbGUgdGhhdCBvbmx5IGV4aXN0cyBpbiBDVlMgYnV0IGlzbid0CgkgIGRpc3RlZCAoIzMzNDQxNykKCjIwMDYtMDMtMTMgMTA6MDU6MDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgRml4IGJ1aWxkIG9mIHY0bDIgKHNpZ2gpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTEzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06IEZpeCBidWlsZCBvZiB2NGwyIChzaWdoKQoKMjAwNi0wMy0xMiAyMzo1Njo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBkaXN0Y2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGRpc3RjaGVjay4KCjIwMDYtMDMtMTIgMTU6MzM6MDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IGdfYXRvbWljX2ludF9zZXQgaXMgb25seSBhdmFpbGFibGUgaW4gZ2xpYi0wLjEwLCB1c2UgZ3N0X2F0b21pY19pbnRfZXQgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9wb29sX2ZyZWUpOgoJICBnX2F0b21pY19pbnRfc2V0IGlzIG9ubHkgYXZhaWxhYmxlIGluIGdsaWItMC4xMCwgdXNlIGdzdF9hdG9taWNfaW50X2V0CgkgIGluc3RlYWQuCgoyMDA2LTAzLTEyIDE1OjI1OjUxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDogUmVtb3ZlIHRpbSdzIGFkZGl0aW9uIG9mICJfc3RkaW50LmgiIHNpbmNlIGl0IGRvZXNuJ3QgbWFrZSB0aGUgUFBDIGJ1aWxkYm90IGhhcHB5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJICBSZW1vdmUgdGltJ3MgYWRkaXRpb24gb2YgIl9zdGRpbnQuaCIgc2luY2UgaXQgZG9lc24ndCBtYWtlIHRoZSBQUEMKCSAgYnVpbGRib3QgaGFwcHkuCgkgIEkgd2lsbCBqdXN0IHVzZSB0aGUgc2FtZSBjb21tZW50IFJvbmFsZCB1c2VkIHdoZW4gaGUgYWRkZWQgdGhlc2UgbGluZXM6CgkgIFlldCBBbm90aGVyIEhhY2sgKHRtKSBmb3Iga2VybmVsIGhlYWRlciBib3JrZWRuZXNzLgoKMjAwNi0wMy0xMiAxNTowMjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvOiBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBNdXNpY0JyYWlueiBJRHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgTXVzaWNCcmFpbnogSURzLgoKMjAwNi0wMy0xMiAxNDo0Mzo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6IEluY2x1ZGUgIl9zdGRpbnQuaCIgaW4gYW4gYXR0ZW1wdCB0byBtYWtlIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJICBJbmNsdWRlICJfc3RkaW50LmgiIGluIGFuIGF0dGVtcHQgdG8gbWFrZSB0aGUKCSAgUFBDLWJ1aWxkYm90IGhhcHB5LgoKMjAwNi0wMy0xMSAyMjo1MDowMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgVjRMMiBwb3J0ZWQgdG8gMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFY0TDIgcG9ydGVkIHRvIDAuMTAuCgoyMDA2LTAzLTExIDE3OjA4OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBPbmx5IGNvbXBpbGUgdGhlIHRhZ2xpYiBwbHVnaW4gaWYgYSBDKysgY29tcGlsZXIgaXMgcHJlc2VudC4gVXNlIEdTVF9ERUZBVUxUX0VMRU1FTlRTIG1hY3JvIGZyb20gY29tbW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgT25seSBjb21waWxlIHRoZSB0YWdsaWIgcGx1Z2luIGlmIGEgQysrIGNvbXBpbGVyIGlzCgkgIHByZXNlbnQuIFVzZSBHU1RfREVGQVVMVF9FTEVNRU5UUyBtYWNybyBmcm9tIGNvbW1vbi8KCSAgZm9yIGFsbCB0aGUgZGVmYXVsdHMgc3R1ZmYuCgoyMDA2LTAzLTExIDExOjEyOjMwICswMDAwICBDaHJpc3RvcGhlIEZlcmdlYXUgPHRldWZAZ25vbWUub3JnPgoKCSAgYWRkZWQgbmV3IGVsZW1lbnQgdG8gYWRkIFhpbmcgaGVhZGVycyB0byBNUDMgZmlsZXMgKHRoaXMgYWxsb3dzIGRlY29kZXIgdG8gZmlndXJlIG91dCB0aGUgbGVuZ3RoIG9mIFZCUiBmaWxlcykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMTEgIENocmlzdG9waGUgRmVyZ2VhdSAgPHRldWZAZ25vbWUub3JnPgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QveGluZ2hlYWRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOiBhZGRlZCBuZXcgZWxlbWVudCB0byBhZGQgWGluZyBoZWFkZXJzCgkgIHRvIE1QMyBmaWxlcyAodGhpcyBhbGxvd3MgZGVjb2RlciB0byBmaWd1cmUgb3V0IHRoZSBsZW5ndGggb2YgVkJSCgkgIGZpbGVzKQoKMjAwNi0wMy0xMSAxMDo1ODowOCArMDAwMCAgQWxleCBMYW5jYXN0ZXIgPGFsZXhsYW5AZmVkb3JhcHJvamVjdC5vcmc+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogYW5kIGFkZCBzdXBwb3J0IGZvciBUQ09QIChjb3B5cmlnaHQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTExICBDaHJpc3RvcGhlIEZlcmdlYXUgIDx0ZXVmQGdub21lLm9yZz4KCSAgUGF0Y2ggYnk6IEFsZXggTGFuY2FzdGVyCgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IGZpeCB3cml0aW5nIG9mIFRQT1MgdGFncyAoYWxidW0gbnVtYmVyKSwKCSAgYW5kIGFkZCBzdXBwb3J0IGZvciBUQ09QIChjb3B5cmlnaHQpCgoyMDA2LTAzLTEwIDIyOjQxOjE0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tb2RwbHVnLzogRml4IG1vZHBsdWcgY29tcGlsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTEwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogRml4IG1vZHBsdWcgY29tcGlsYXRpb24uCgoyMDA2LTAzLTEwIDE3OjEwOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5oOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzogKiBjb25maWd1cmUuYWM6ICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06ICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6ICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDogKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuaDogbW9kcGx1ZyBwbHVnaW4gcG9ydGVkIHRvIDAuMTAgKCMzMzI1OTgsIHBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbiBhdCBrYW9saW4gd2g5IG5ldD4pLgoKMjAwNi0wMy0xMCAxMzo0OToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLio6IFNvbWUgY2xlYW4tdXBzOyBtb3JlIGRlYnVnIG91dHB1dDsgdXNlIGJsb2Nrc2l6ZSBwcm9wZXJ0eSBvZiBHc3RCYXNlU3JjIGluc3RlYWQgb2YgcmUtcmVnaXN0ZXJpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc191cmloYW5kbGVyX2luaXQpLAoJICAoZ3N0X21tc19iYXNlX2luaXQpLCAoZ3N0X21tc19jbGFzc19pbml0KSwgKGdzdF9tbXNfaW5pdCksCgkgIChnc3RfbW1zX2ZpbmFsaXplKSwgKGdzdF9tbXNfY3JlYXRlKSwgKGdzdF9tbXNfc3RhcnQpLAoJICAoZ3N0X21tc19zZXRfcHJvcGVydHkpLCAoZ3N0X21tc19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X21tc191cmlfZ2V0X3VyaSk6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgU29tZSBjbGVhbi11cHM7IG1vcmUgZGVidWcgb3V0cHV0OyB1c2UgYmxvY2tzaXplIHByb3BlcnR5CgkgIG9mIEdzdEJhc2VTcmMgaW5zdGVhZCBvZiByZS1yZWdpc3RlcmluZyBvdXIgb3duOyBtYWtlIGRlYnVnCgkgIGNhdGVnb3J5IGFjdHVhbGx5IGJlIHVzZWQuCgoyMDA2LTAzLTA5IDIwOjAyOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggYnVpbGQgd2l0aCBnY2MtNC4xICgjMzI3MzU1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfc2VuZF9ldmVudCk6CgkgIEZpeCBidWlsZCB3aXRoIGdjYy00LjEgKCMzMjczNTUpLgoKMjAwNi0wMy0wOSAxNzo0NDoxNyArMDAwMCAgQ2hyaXN0b3BoZSBGZXJnZWF1IDx0ZXVmQGdub21lLm9yZz4KCgkgIG5ldyBpZDN2MiBtdXhlciBiYXNlZCBvbiBUYWdMaWIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMDkgIENocmlzdG9waGUgRmVyZ2VhdSAgPHRldWZAZ25vbWUub3JnPgoJICByZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOiBuZXcgaWQzdjIgbXV4ZXIgYmFzZWQgb24gVGFnTGliCgoyMDA2LTAzLTA4IDEyOjE2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IGRpc2MgbnVtYmVyIGFuZCBjb3VudCBmcm9tIGZpbGVzIHRoYXQgdXNlICdkaXNrJyBpbnN0ZWFkIG9mICdkaXNjJyBhcyBub2RlIGlkZW50aWZpZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEV4dHJhY3QgZGlzYyBudW1iZXIgYW5kIGNvdW50IGZyb20gZmlsZXMgdGhhdCB1c2UKCSAgJ2Rpc2snIGluc3RlYWQgb2YgJ2Rpc2MnIGFzIG5vZGUgaWRlbnRpZmllciBmb3IgdGhhdAoJICAoZml4ZXMgIzMzMjA2NikuCgoyMDA2LTAzLTA2IDEzOjE1OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L211c2VwYWNrLzogRm9yZ290IHRob3NlIHR3by4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmM6IChnc3RfbXVzZXBhY2tfcmVhZGVyX3BlZWspOgoJICBGb3Jnb3QgdGhvc2UgdHdvLgoKMjAwNi0wMy0wNiAxMzoxMzo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiBTb21lIGNsZWFudXBzOyBwYXVzZSB0YXNrIHdoZW4gcHVzaCBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9tdXNlcGFja2RlY19pbml0KSwgKGdzdF9tdXNlcGFja2RlY19zZW5kX25ld3NlZ21lbnQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tdXNlcGFja2RlY19nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwgKGdzdF9tdXNlcGFja2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X211c2VwYWNrX3N0cmVhbV9pbml0KSwgKGdzdF9tdXNlcGFja2RlY19zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9tdXNlcGFja2RlY19zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X211c2VwYWNrZGVjX2xvb3ApLAoJICAoZ3N0X211c2VwYWNrZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIFNvbWUgY2xlYW51cHM7IHBhdXNlIHRhc2sgd2hlbiBwdXNoIGZhaWxzLgoKMjAwNi0wMy0wNSAxMzowMzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yICczSVZEJyBmb3VyY2MgKCMzMzM0MDMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgJzNJVkQnIGZvdXJjYyAoIzMzMzQwMykuCgoyMDA2LTAzLTA0IDIwOjA0OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBZGQgcXVlcnkgZnVuY3Rpb24gZm9yIHBvc2l0aW9uL2R1cmF0aW9uIHF1ZXJ5aW5nIChtb3N0bHkgZm9yIHJhdyBBQUMgc3RyZWFtcyk7IG1ha2Ugc2Vla2luZyBpbiByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2luaXQpLCAoZ3N0X2ZhYWRfc2VuZF90YWdzKSwKCSAgKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfZG9fcmF3X3NlZWspLCAoZ3N0X2ZhYWRfc3JjX2V2ZW50KSwKCSAgKGdzdF9mYWFkX3NpbmtfZXZlbnQpLCAoZ3N0X2ZhYWRfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2ZhYWRfc3JjX3F1ZXJ5KSwgKGdzdF9mYWFkX2NoYWluKSwgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgIEFkZCBxdWVyeSBmdW5jdGlvbiBmb3IgcG9zaXRpb24vZHVyYXRpb24gcXVlcnlpbmcgKG1vc3RseSBmb3IKCSAgcmF3IEFBQyBzdHJlYW1zKTsgbWFrZSBzZWVraW5nIGluIHJhdyBBQUMgc3RyZWFtcyB3b3JrOyBwb3N0CgkgIHRhZ3Mgd2l0aCBjb2RlYyBuYW1lIGlmIHRoaXMgaXMgYSByYXcgQUFDIHN0cmVhbS4KCjIwMDYtMDMtMDMgMjM6NDU6MjMgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy86IHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXc6CgkgICogc3lzL2RpcmVjdHNvdW5kOgoJICBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgICogd2luMzIvdnM2OgoJICBwcm9qZWN0IGZpbGVzIHVwZGF0ZWQgdG8gZml4IHNvbWUgYnVncwoJICAqIHdpbjMyL3ZzNzoKCSAgKiB3aW4zMi92czg6CgkgIHZzNyBhbmQgdnM4IHByb2plY3QgZmlsZXMgYWRkZWQKCjIwMDYtMDMtMDMgMTg6MTA6MTIgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogRGVjbGFyZSB2YXJpYWJsZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jayBhbmQgbWFrZSBnY2MtMi45eAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6IChnc3RfeHZpZGRlY19jaGFpbik6CgkgIERlY2xhcmUgdmFyaWFibGUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2sgYW5kIG1ha2UgZ2NjLTIuOXgKCSAgaGFwcHkgKGZpeGVzICMzMzMyODM7IHBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlcikuCgoyMDA2LTAzLTAzIDExOjA3OjQxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBHU1RfRVJST1IgZm9yIGFsbCB0aGUgdG9vIHNob3J0L2xvbmcgYXRvbXMgd2hlbiBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIEdTVF9FUlJPUiBmb3IgYWxsIHRoZSB0b28gc2hvcnQvbG9uZyBhdG9tcwoJICB3aGVuIHBhcnNpbmcuCgkgIEFsc28gbGV0J3MgYmUgYSBiaXQgbGVzcyB2dWxnYXIgaW4gb3VyIHdhcm5pbmcgbWVzc2FnZXMgOikKCjIwMDYtMDMtMDIgMTg6MjM6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgYXVkaW9yZXNhbXBsZSB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBhdWRpb3Jlc2FtcGxlIHRvIGRvY3MuCgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgQWRkIHJldmlzaW9uIGRhdGUuCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfYmFzZV9pbml0KSwgKGdzdF9hdWRpb3Jlc2FtcGxlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCksIChnc3RfYXVkaW9yZXNhbXBsZV9kaXNwb3NlKSwKCSAgKGF1ZGlvcmVzYW1wbGVfZ2V0X3VuaXRfc2l6ZSksIChhdWRpb3Jlc2FtcGxlX3RyYW5zZm9ybV9jYXBzKSwKCSAgKHJlc2FtcGxlX3NldF9zdGF0ZV9mcm9tX2NhcHMpLCAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksCgkgIChhdWRpb3Jlc2FtcGxlX3NldF9jYXBzKSwgKGF1ZGlvcmVzYW1wbGVfZXZlbnQpLAoJICAoYXVkaW9yZXNhbXBsZV9kb19vdXRwdXQpLCAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm0pLAoJICAoYXVkaW9yZXNhbXBsZV9wdXNodGhyb3VnaCksIChnc3RfYXVkaW9yZXNhbXBsZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfZ2V0X3Byb3BlcnR5KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgIEFkZGVkIGRvY3MuCgkgIFNtYWxsIGNvZGUgY2xlYW51cHMuCgoyMDA2LTAyLTI4IDExOjU5OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDYW4ndCBkaXZpZGUgdGhyb3VnaCB6ZXJvIChzdXBwcmVzcyB3YXJuaW5nIGluIGNhc2Ugb2Ygc3RyZWFtIHdpdGggb25lIHNpbmdsZSBzdGlsbCBwaWN0dXJlKSAoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENhbid0IGRpdmlkZSB0aHJvdWdoIHplcm8gKHN1cHByZXNzIHdhcm5pbmcgaW4gY2FzZSBvZgoJICBzdHJlYW0gd2l0aCBvbmUgc2luZ2xlIHN0aWxsIHBpY3R1cmUpIChzZWUgIzMyNzA4MykKCjIwMDYtMDItMjUgMjE6NDA6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBJdCBkb2Vzbid0IHNlZW0gd2UgbmVlZCBHTFUuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogSXQgZG9lc24ndCBzZWVtIHdlIG5lZWQgR0xVLmgKCjIwMDYtMDItMjQgMTk6NDk6MzIgKzAwMDAgIEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvLmdlQHRpc2NhbGkuaXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBwYWxldHRpc2VkIEFwcGxlIFNNQyB2aWRlb3MgKCMzMjcwNzUsIGJhc2VkIG9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBwYWxldHRpc2VkIEFwcGxlIFNNQyB2aWRlb3MgKCMzMjcwNzUsIGJhc2VkIG9uCgkgIHBhdGNoIGJ5OiBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+KS4KCjIwMDYtMDItMjQgMTc6MTU6MzUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGF1dG9nZW4uc2g6IEFsbG93IGF1dG9tYWtlIDEuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICBBbGxvdyBhdXRvbWFrZSAxLjkKCjIwMDYtMDItMjQgMTc6MDI6MDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgQ2hhbmdlZCBwcm9wZXJ0eSBuYW1lIGZyb20gInVyaSIgdG8gImxvY2F0aW9uIi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWQgcHJvcGVydHkgbmFtZSBmcm9tICJ1cmkiIHRvICJsb2NhdGlvbiIuCgoyMDA2LTAyLTIyIDE0OjM3OjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEN5Z3dpbiBQb3J0cyBtYWludGFpbmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgTWVyZ2UgcGF0Y2ggZnJvbSAjMzE3MDQ4IGZvciBidWlsZGluZyBvbiBDeWd3aW4uIFBhdGNoIGJ5CgkgIEN5Z3dpbiBQb3J0cyBtYWludGFpbmVyLgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3NpbmtfaW5pdF9kaXNwbGF5KToKCSAgTW92ZSBub3JtYWwgZGVidWcgb3V0cHV0IHRvIExPRyBsZXZlbCBub3QgRVJST1IuCgoyMDA2LTAyLTIyIDA5OjMzOjI1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgJ2R2c2QnIGFuZCAnZHYyNScgdG8gbGlzdCBvZiBwb3NzaWJsZSBmb3VyY2MgdmFsdWVzIGZvciBEViBWaWRlby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5IDogRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCAnZHZzZCcgYW5kICdkdjI1JyB0byBsaXN0IG9mIHBvc3NpYmxlIGZvdXJjYyB2YWx1ZXMgZm9yIERWIFZpZGVvLgoJICBBZGQgaW1hZ2UvcG5nIGZvciBmb3VyY2MgJ3BuZyAnCgoyMDA2LTAyLTIxIDE1OjQ0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBTdXJlbHkgdGhpcyBpcyBzdXBwb3NlZCB0byBiZSA+PSBhLmIsIG5vdCA9PSBhLmIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBTdXJlbHkgdGhpcyBpcyBzdXBwb3NlZCB0byBiZSA+PSBhLmIsIG5vdCA9PSBhLmIKCjIwMDYtMDItMjAgMjE6MTk6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUG9ydCB4aW1hZ2VzcmMgdG8gMC4xMCAoQ2xvc2VzICMzMDQ3OTUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZXNyYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19yZXR1cm5fYnVmKSwKCSAgKGdzdF94aW1hZ2VzcmNfb3Blbl9kaXNwbGF5KSwgKGdzdF94aW1hZ2VzcmNfc3RhcnQpLAoJICAoZ3N0X3hpbWFnZXNyY19zdG9wKSwgKGdzdF94aW1hZ2VzcmNfdW5sb2NrKSwKCSAgKGdzdF94aW1hZ2VzcmNfcmVjYWxjKSwgKGNvbXBvc2l0ZV9waXhlbCksCgkgIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLCAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLAoJICAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3hpbWFnZXNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3hpbWFnZXNyY19jbGVhcl9idWZwb29sKSwgKGdzdF94aW1hZ2VzcmNfYmFzZV9pbml0KSwKCSAgKGdzdF94aW1hZ2VzcmNfZGlzcG9zZSksIChnc3RfeGltYWdlc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19zZXRfY2FwcyksCgkgIChnc3RfeGltYWdlc3JjX2ZpeGF0ZSksIChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNyY19pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5oOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF9oYW5kbGVfeGVycm9yKSwKCSAgKHhpbWFnZXV0aWxfY2hlY2tfeHNobV9jYWxscyksICh4aW1hZ2V1dGlsX3hjb250ZXh0X2dldCksCgkgICh4aW1hZ2V1dGlsX3hjb250ZXh0X2NsZWFyKSwKCSAgKHhpbWFnZXV0aWxfY2FsY3VsYXRlX3BpeGVsX2FzcGVjdF9yYXRpbyksCgkgIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9maW5hbGl6ZSksIChnc3RfeGltYWdlX2J1ZmZlcl9mcmVlKSwKCSAgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2luaXQpLCAoZ3N0X3hpbWFnZXNyY19idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9nZXRfdHlwZSksIChnc3RfeGltYWdldXRpbF94aW1hZ2VfbmV3KSwKCSAgKGdzdF94aW1hZ2V1dGlsX3hpbWFnZV9kZXN0cm95KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSAgUG9ydCB4aW1hZ2VzcmMgdG8gMC4xMCAoQ2xvc2VzICMzMDQ3OTUpCgoyMDA2LTAyLTIwIDIwOjUyOjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgZXZlbnQgaGFuZGxpbmcgYWRkZWQgYnkgUmVuYXRvIEZpbGhvIDxyZW5hdG8uZmlsaG9AaW5kdC5vcmcuYnI+CgoyMDA2LTAyLTIwIDE5OjEzOjM2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMgbmFubwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTIG5hbm8KCj09PSByZWxlYXNlIDAuMTAuMSA9PT0KCjIwMDYtMDItMjAgMTk6MTI6MTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiByZWxlYXNpbmcgMC4xMC4xLCAiU2xpbXkgLSB5ZXQgc2F0aXNmeWluZyIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuMTAuMSwgIlNsaW15IC0geWV0IHNhdGlzZnlpbmciCgoyMDA2LTAyLTIwIDEzOjA4OjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEZpeCBjb21waWxhdGlvbiBvZiBMQURQU0EuIEl0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrLCBhbmQgaXNuJ3QgZW5hYmxlZCBmb3IgdGhlIGJ1aWxkLC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgIEZpeCBjb21waWxhdGlvbiBvZiBMQURQU0EuIEl0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrLCBhbmQgaXNuJ3QKCSAgZW5hYmxlZCBmb3IgdGhlIGJ1aWxkLCBidXQgaXQgaGVscHMgbWUgd2luIHRoZSBmZWF0dXJlLWNvdW50CgkgIGNvbXBldGl0aW9ucyBvb2ggeWVhaC4KCjIwMDYtMDItMTkgMjM6NDU6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZWxlYXNlIDAuMTAuMC4zIC0gcHJlLXJlbGVhc2UgZm9yIDAuMTAuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbGVhc2UgMC4xMC4wLjMgLSBwcmUtcmVsZWFzZSBmb3IgMC4xMC4xCgoyMDA2LTAyLTE5IDIwOjAwOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2J6Mi86IEFkZCBwcm9wZXIgY29weXJpZ2h0IGhlYWRlcnMgaWRlbnRpZnlpbmcgTHV0eiBNw7xsbGVyIGFzIHRoZSBhdXRob3IgYW5kIGNvcHlyaWdodCBob2xkZXIgKCMzMzE2MDApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYnoyL2dzdGJ6Mi5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgIEFkZCBwcm9wZXIgY29weXJpZ2h0IGhlYWRlcnMgaWRlbnRpZnlpbmcgTHV0eiBNw7xsbGVyCgkgIGFzIHRoZSBhdXRob3IgYW5kIGNvcHlyaWdodCBob2xkZXIgKCMzMzE2MDApLgoKMjAwNi0wMi0xNyAxODoyNTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgR1NUX0xPRyB0aW1lc3RhbXBzIGZyb20gbm9uZXhpc3RlbnQgaW5kZXggZW50cmllcyAoIzMzMTU4MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOgoJICBEb24ndCBHU1RfTE9HIHRpbWVzdGFtcHMgZnJvbSBub25leGlzdGVudCBpbmRleAoJICBlbnRyaWVzICgjMzMxNTgyKS4KCjIwMDYtMDItMTcgMTY6Mjg6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENoZWNrIHRoYXQgdGhlIHNpemUgb2YgdGhlIHJldHVybmVkIGJ1ZmZlciBpcyBvZiB0aGUgY29ycmVjdCBzaXplIGJlY2F1c2UgdGhlIHBhcnNlciBhc3N1bWVzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpOgoJICBDaGVjayB0aGF0IHRoZSBzaXplIG9mIHRoZSByZXR1cm5lZCBidWZmZXIgaXMgb2YgdGhlIGNvcnJlY3Qgc2l6ZQoJICBiZWNhdXNlIHRoZSBwYXJzZXIgYXNzdW1lcyB0aGF0LgoJICBGaXhlcyAjMzMxNTQzLgoKMjAwNi0wMi0xNyAxNjowMDoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlbGVhc2UgMC4xMC4wLjIgLSBwcmUtcmVsZWFzZSBmb3IgMC4xMC4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVsZWFzZSAwLjEwLjAuMiAtIHByZS1yZWxlYXNlIGZvciAwLjEwLjEKCjIwMDYtMDItMTcgMTU6MDM6MTIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBsYXRlc3QgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbGF0ZXN0IHVwZGF0ZXMKCjIwMDYtMDItMTYgMTQ6MDI6NTcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IHN0b3AgdGhlIHRhc2sgaWYgdGhlIHBhZCBpc24ndCBsaW5rZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCk6CgkgIERvbid0IHN0b3AgdGhlIHRhc2sgaWYgdGhlIHBhZCBpc24ndCBsaW5rZWQuCgoyMDA2LTAyLTE1IDEyOjEzOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBJdCBhcHBlYXJzIDEwMCUgZXF1YWxzIDEvMSBhbmQgbm90IDEwMC8xIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFpbik6CgkgIEl0IGFwcGVhcnMgMTAwJSBlcXVhbHMgMS8xIGFuZCBub3QgMTAwLzEgLi4uCgoyMDA2LTAyLTE1IDA5OjQ1OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBXaGVuIGJ1ZmZlcmluZyBNREFUIGRhdGEsIHNob3cgdGhlIHVzZXIgc29tZXRoaW5nIGlzIGhhcHBlbmluZyBieSBwb3N0aW5nICdidWZmZXJpbmcnIG1lc3NhZ2VzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3Bvc3RfYnVmZmVyaW5nKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgV2hlbiBidWZmZXJpbmcgTURBVCBkYXRhLCBzaG93IHRoZSB1c2VyIHNvbWV0aGluZyBpcwoJICBoYXBwZW5pbmcgYnkgcG9zdGluZyAnYnVmZmVyaW5nJyBtZXNzYWdlcyBvbiB0aGUgYnVzLgoKMjAwNi0wMi0xNCAxODo1MDoxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogTWFrZSBwdXNoLWJhc2VkIHdvcmsgaWYgbWRhdCBhdG9tIGlzIGJlZm9yZSBtb292IGF0b20uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIE1ha2UgcHVzaC1iYXNlZCB3b3JrIGlmIG1kYXQgYXRvbSBpcyBiZWZvcmUgbW9vdiBhdG9tLgoJICBEb24ndCBhbnN3ZXIgZHVyYXRpb24gcXVlcnkuIFRoaXMgc2hvdWxkIGJlIHRyYW5zZm9ybWVkIGludG8gcmVwbHlpbmcKCSAgRkFMU0UgdG8gc2VlayBldmVudHMuCgoyMDA2LTAyLTE0IDEyOjI2OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuYzogUmV0dXJuIEZMT1dfVU5FWFBFQ1RFRCBvbiBFT1MsIG5vdCBGTE9XX0VSUk9SLiBBbHNvLCBubyBuZWVkIHRvIHB1c2ggb3VyIG93biBFT1MgZXZlbnQgb24gRU9TLCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NsYXNzX2luaXQpLCAoZ3N0X21tc19jcmVhdGUpLAoJICAoZ3N0X21tc19zdGFydCk6CgkgIFJldHVybiBGTE9XX1VORVhQRUNURUQgb24gRU9TLCBub3QgRkxPV19FUlJPUi4gQWxzbywgbm8gbmVlZCB0bwoJICBwdXNoIG91ciBvd24gRU9TIGV2ZW50IG9uIEVPUywgdGhlIGJhc2UgY2xhc3Mgd2lsbCBkbyB0aGF0IGZvciB1czsKCSAgZml4IGJvZ3VzIHF1ZXJ5IGNvZGU7IHBvc3Qgc2VtaS1kZWNlbnQgZXJyb3JzIG9uIHRoZSBidXMgd2hlbiBhbgoJICBlcnJvciBvY2N1cnMgaW4gOjpzdGFydCgpLCBvdGhlcndpc2UgdGhlIHVzZXIgd2lsbCBnZXQgdG8gc2VlCgkgIHdoYXRldmVyIGNyeXB0aWMgZGVmYXVsdCBtZXNzYWdlIEdzdEJhc2VTcmMgY29tZXMgdXAgd2l0aC4KCjIwMDYtMDItMTQgMTE6MzY6MzAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYyAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0KTogQ29tZSBvbiBzY2hsZWVmLCBkb24ndCBicmVhayBtZSBnc3QtaW5zcGVjdCAtYS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMTQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jIChnc3RfZ2xpbWFnZV9zaW5rX2luaXQpOiBDb21lIG9uCgkgIHNjaGxlZWYsIGRvbid0IGJyZWFrIG1lIGdzdC1pbnNwZWN0IC1hLgoKMjAwNi0wMi0xNCAxMToyNDo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIGRhdGEgYXRvbXMgYXJlIGJlZm9yZSBtb292IGF0b21zIGluIHB1c2gtYmFzZWQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIGRhdGEgYXRvbXMgYXJlIGJlZm9yZSBtb292IGF0b21zIGluIHB1c2gtYmFzZWQgbW9kZS4KCSAgRXJyb3JzIG91dCBncmFjZWZ1bGx5LgoKMjAwNi0wMi0xMyAyMjowNDo0MiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogUXREZW11eCBjYW4gbm93IHdvcmsgcHVzaC1iYXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc2lua19ldmVudCksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLCAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZSksIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgUXREZW11eCBjYW4gbm93IHdvcmsgcHVzaC1iYXNlZC4KCSAgSXQgc3RpbGwgbmVlZHMgc29tZSBsb3ZlIGZvciBzZWVraW5nLgoKMjAwNi0wMi0xMyAxNzowMjowOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWV6ZS9GQVE6CgkqIGdzdC9mcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZyZWV6ZSBwbHVnaW4gcG9ydGVkIHRvIDAuMTAgYnkgUmVuYXRvIEZpbGhvIDxyZW5hdG8uZmlsaG9AaW5kdC5vcmcuYnI+CgoyMDA2LTAyLTEwIDE3OjQxOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydCBjZHhhcGFyc2UsIG1ha2VzIFZDRCBwbGF5YmFjayB3b3JrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkgIFBvcnQgY2R4YXBhcnNlLCBtYWtlcyBWQ0QgcGxheWJhY2sgd29yay4KCjIwMDYtMDItMTAgMTM6MTY6NDkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA2LTAyLTA3IDE4OjMxOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcmVtb3ZlIHVudXNlZCB2YXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSB1bnVzZWQgdmFyCgoyMDA2LTAyLTA3IDE4OjAxOjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogdXNlIHRoZSBjb3JyZWN0IHZhcmlhYmxlIHRvIGNoZWNrIGlmIHdlIGNhbiBjYWxjdWxhdGUgdGhlIGxhc3QgY2h1bmsuICBMb29rcyBsaWtlIGFuIG9idmlvdXMgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICB1c2UgdGhlIGNvcnJlY3QgdmFyaWFibGUgdG8gY2hlY2sgaWYgd2UgY2FuIGNhbGN1bGF0ZQoJICB0aGUgbGFzdCBjaHVuay4gIExvb2tzIGxpa2UgYW4gb2J2aW91cyBidWcsIGFuZCBtYWtlcwoJICB0aGUgZHVtcCBvZiBvZmZzZXRzIGNvbXBhcmFibGUgdG8gb3RoZXIgdG9vbHMKCjIwMDYtMDItMDcgMTc6NTU6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICBkb2MgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jIHVwZGF0ZXMKCjIwMDYtMDItMDcgMTc6NTQ6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBjbGVhbiB1cCBzb21lIGRlYnVnZ2luZywgdXNpbmcgX09CSkVDVCwgbW92aW5nIHJlY3VycmluZyBtZXNzYWdlcyB0byBMT0cgbGV2ZWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgY2xlYW4gdXAgc29tZSBkZWJ1Z2dpbmcsIHVzaW5nIF9PQkpFQ1QsIG1vdmluZyByZWN1cnJpbmcKCSAgbWVzc2FnZXMgdG8gTE9HIGxldmVsCgoyMDA2LTAyLTA2IDIwOjUxOjQ5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgTm93IGl0IHVzZXMgbGlibmVvbiAwLjI1LjUgdGhhdCBzdXBwb3J0cyBzaG91dGNhc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgaXQgdXNlcyBsaWJuZW9uIDAuMjUuNSB0aGF0IHN1cHBvcnRzIHNob3V0Y2FzdC4KCjIwMDYtMDItMDYgMTg6MjE6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvYnoyL2dzdGJ6MmVuYy5jOiBBY2NlcGQgIkFOWSIgY2Fwcy4gVXNlICJ4LWJ6aXAiIGluc3RlYWQgb2YgIngtYnoyIi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5IDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzogQWNjZXBkICJBTlkiIGNhcHMuIFVzZSAieC1iemlwIiBpbnN0ZWFkIG9mCgkgICJ4LWJ6MiIuCgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzogVXNlICJ4LWJ6aXAiIGluc3RlYWQgb2YgIngtYnoyIi4gSW5pdGlhbAoJICBjYXBzIGFyZSAiQU5ZIi4KCSAgKGdzdF9iejJkZWNfY2hhaW4pOiBDb25maWd1cmUgdGhlIHNvdXJjZSBwYWQgaWYgd2UgY2FuIGZpZ3VyZSBvdXQKCSAgdGhlIG1pbWUgdHlwZSBvZiB0aGUgZGVjb21wcmVzc2VkIGRhdGEuCgkgIChnc3RfYnoyZGVjX1tnZXQsc2V0XV9wcm9wZXJ0eSk6CgkgIChnc3RfYnoyZGVjX2NsYXNzX2luaXQ6IE5ldyBwcm9wZXJ0eSAiZmlyc3RfYnVmZmVyX3NpemUiLgoKMjAwNi0wMi0wNiAxNTo0MToyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogU29tZSBRVCBkZW11eCBsb3ZpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLCAocXRkZW11eF90YWdfYWRkX251bSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFNvbWUgUVQgZGVtdXggbG92aW5nLgoJICBIYW5kbGUgc2Vla2luZyBpbiBhIGxlc3MgYnJva2VuIHdheS4KCSAgRml4IEFNUiBjYXBzIHRvIG1hdGNoIHRoZSBBTVIgZGVjb2Rlci4KCSAgU2V0IGZpcnN0IHRpbWVzdGFtcCBvbiBBTVIgc2FtcGxlcyB0byAwIGZvciBub3cuCgkgIFJlbW92ZSBzb21lIFxuIGluIERFQlVHIHN0cmluZ3MuCgkgIFVzZSBfc2NhbGVfaW50IGZvciBtYXhpbXVtIHByZWNpc2lvbi4KCjIwMDYtMDItMDYgMTI6NTY6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnLzogUmVtb3ZlIG9sZCBmaWxlcywgYXBldGFnIGlzIGluIGdzdC1wbHVnaW5zLWdvb2Qgbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvYXBlZGVtdXguYzoKCSAgKiBnc3QvYXBldGFnL2FwZWRlbXV4Lmg6CgkgICogZ3N0L2FwZXRhZy9hcGV0YWcuYzoKCSAgUmVtb3ZlIG9sZCBmaWxlcywgYXBldGFnIGlzIGluIGdzdC1wbHVnaW5zLWdvb2Qgbm93LgoKMjAwNi0wMi0wNiAwOTo1NDo1NSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2J6Mi86IE5vIG5lZWQgdG8gaW5pdCBwYXJlbnRfY2xhc3MsIHRoZSBib2lsZXJwbGF0ZSBkb2VzIGl0IGZvciB5b3UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTA2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmMgKGdzdF9iejJlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYyAoZ3N0X2J6MmRlY19jbGFzc19pbml0KTogTm8gbmVlZCB0byBpbml0CgkgIHBhcmVudF9jbGFzcywgdGhlIGJvaWxlcnBsYXRlIGRvZXMgaXQgZm9yIHlvdS4KCjIwMDYtMDItMDYgMDk6NDA6MDkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIEhvb2sgaXQgdXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTA1ICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgkgIHJldmlld2VkIGJ5OiBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbTogSG9vayBpdCB1cC4KCSAgKiBleHQvYnoyL2dzdGJ6Mi5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6IE5ldyBwbHVnaW4sIGltcGxlbWVudHMgYnoyIGVuY29kaW5nIGFuZAoJICBkZWNvZGluZyAoIzMwMzE2NykuCgoyMDA2LTAyLTAzIDEwOjEzOjIyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgb3BlbmdsIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG9wZW5nbCBwbHVnaW4KCjIwMDYtMDEtMzAgMTU6NDc6NDcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtIChsaWJnc3RnbGltYWdlc2lua19sYV9MSUJBREQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTMwICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW0gKGxpYmdzdGdsaW1hZ2VzaW5rX2xhX0xJQkFERCkKCSAgKGxpYmdzdGdsaW1hZ2VzaW5rX2xhX0NGTEFHUyk6IEFkZCBQTFVHSU5TX0JBU0UgY2ZsYWdzIGFuZCBsaWJzLgoKMjAwNi0wMS0yOSAyMDowNzo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogQWRkIGRlYnVnIGNhdGVnb3J5LCB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBmaXggaGFuZGxpbmcgb2Ygd2lkdGhzIG9mIDMyIGJpdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19zZXRjYXBzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnksIHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGZpeCBoYW5kbGluZwoJICBvZiB3aWR0aHMgb2YgMzIgYml0cy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9kaXNwb3NlKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2xhc3RfZW50cnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2VudHJ5X2Zyb21fc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2FwcGVuZF9lbnRyeSksIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zZW5kX25ld3NlZ21lbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3Vwc3RyZWFtX2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdWxsX2J1ZmZlciksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2ZXBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3Rfd2F2ZXBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUmV3cml0ZSBhIGJpdCwgbW9zdGx5IHRvIGZpeCBmbG93IGxvZ2ljIGFuZCB0byBtYWtlIHNlZWtpbmcgd29yay4KCSAgRml4IGJ1ZmZlci9ldmVudCByZWZjb3VudGluZy4gQWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cy4gQWRkCgkgIHdpZHRoIG9mIDMyIHRvIHNvdXJjZSBwYWQgdGVtcGxhdGUgY2Fwcy4gVXNlIGJvaWxlcnBsYXRlIG1hY3Jvcy4KCjIwMDYtMDEtMjggMTI6NDU6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiBnbGltYWdlc2luay5oIGlzIGRlYWQsIGxvbmcgbGl2ZSBnbGltYWdlc2luay5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgIGdsaW1hZ2VzaW5rLmggaXMgZGVhZCwgbG9uZyBsaXZlIGdsaW1hZ2VzaW5rLmgKCjIwMDYtMDEtMjggMDQ6Mzk6MTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgcmV2aXZhbCBvZiBnbGltYWdlc2luay4gIEtpbmQgb2Ygd29ya3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICByZXZpdmFsIG9mIGdsaW1hZ2VzaW5rLiAgS2luZCBvZiB3b3Jrcy4KCjIwMDYtMDEtMjcgMTI6NDc6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEhhbmRsZSAnZnJhbWVkJyBmaWVsZCBpbiBjYXBzOyBQb3J0IHN5bmNpbmcgZm9yIHJhdyBzdHJlYW1zIGZyb20gMC44IGJyYW5jaCAoZm9yIEFBQysgcmFkaW8gc3RyZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksCgkgIChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCksIChnc3RfZmFhZF9zeW5jKSwgKGdzdF9mYWFkX2NoYWluKToKCSAgSGFuZGxlICdmcmFtZWQnIGZpZWxkIGluIGNhcHM7IFBvcnQgc3luY2luZyBmb3IgcmF3IHN0cmVhbXMKCSAgZnJvbSAwLjggYnJhbmNoIChmb3IgQUFDKyByYWRpbyBzdHJlYW1zKSAoIzMyODcyMikuCgoyMDA2LTAxLTI3IDAxOjMxOjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9zZGwvc2RsdmlkZW9zaW5rLio6IEZpeCBvdXRwdXQgc3RyaWRlIGNvcHlpbmcsIHNvIHRoYXQgaXQgZGlzcGxheXMgY29ycmVjdGx5IG9uIGZyYW1lYnVmZmVyIGRldmljZXMgdGhhdCBkb24ndCBtYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19zdXBwb3J0ZWQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua194b3ZlcmxheV9zZXRfeHdpbmRvd19pZCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2RlaW5pdHNkbCksIChnc3Rfc2Rsdl9wcm9jZXNzX2V2ZW50cyksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2V2ZW50X3RocmVhZCksIChnc3Rfc2RsdmlkZW9zaW5rX2luaXRzZGwpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19kZXN0cm95KSwgKGdzdF9zZGx2aWRlb3NpbmtfY3JlYXRlKSwKCSAgKGdzdF9zZGx2aWRlb3Npbmtfc2V0Y2FwcyksIChnc3Rfc2RsdmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIEZpeCBvdXRwdXQgc3RyaWRlIGNvcHlpbmcsIHNvIHRoYXQgaXQgZGlzcGxheXMgY29ycmVjdGx5IG9uCgkgIGZyYW1lYnVmZmVyIGRldmljZXMgdGhhdCBkb24ndCBtYXRjaCBvdXIgaW1wbGljdCBHU3RyZWFtZXIgc3RyaWRlCgkgIGFycmFuZ2VtZW50LgoJICBGaXggbG9ja2luZyB0aGluZ3MuIE9mZmVyIFhPdmVybGF5IG9ubHkgd2hlbiBTREwgaXMgcnVubmluZyBhZ2FpbnN0CgkgIFguIE1ha2Ugbm9uLXNjYWxlZCAoYW5kIHVnbHkpIGVtYmVkZGluZyB3b3JrIHZpYSBYIE92ZXJsYXkuIEl0IGNhbid0CgkgIGFjdHVhbGx5IG1hdGNoIHRoZSBlbWJlZGRlZCB3aW5kb3cgc2l6ZSBiZWNhdXNlIHRoZXJlJ3Mgbm8gd2F5IHRvCgkgIGZpZ3VyZSBvdXQgd2hhdCBzaXplIHRoYXQgc2hvdWxkIGJlIGZyb20gdGhlIFhPdmVybGF5IGludGVyZmFjZS4KCSAgU2VlIGNvbW1lbnQgaW4gc2RsdmlkZW9zaW5rLmMKCjIwMDYtMDEtMjYgMTY6MjM6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCB3cm9uZyBtZW1jcHkgc291cmNlIHBvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCB3cm9uZyBtZW1jcHkgc291cmNlIHBvaW50ZXIuCgoyMDA2LTAxLTI1IDE0OjQ0OjA1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIEp1c3QgY2hhaW4gdXAgZmluYWxpemUgY2FsbHMgKGNhbGxpbmcgcGFyZW50X2NsYXNzLT5maW5hbGl6ZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IGNoYWluIHVwIGZpbmFsaXplIGNhbGxzIChjYWxsaW5nIHBhcmVudF9jbGFzcy0+ZmluYWxpemUpLgoKMjAwNi0wMS0yNSAxNDoyMDowNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBGaW5hbGl6ZSBtZXRob2QgaGFzIGJlZW4gY3JlYXRlZCBhbmQgb3RoZXJzIHNtYWxsIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaW5hbGl6ZSBtZXRob2QgaGFzIGJlZW4gY3JlYXRlZCBhbmQgb3RoZXJzIHNtYWxsIGNoYW5nZXMuCgoyMDA2LTAxLTI0IDIxOjMzOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L211c2VwYWNrLzogRml4IHNlZWtpbmcgaW4gbXVzZXBhY2sgZmlsZXMgKGl0J3Mgc3RpbGwgaW5jcmVkaWJseSBzbG93LCBidXQgSSBkb24ndCB0aGluayB0aGF0IGlzIG91ciBwbHVnaW4ncyBmYXVsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfbXVzZXBhY2tkZWNfY2xhc3NfaW5pdCksIChnc3RfbXVzZXBhY2tkZWNfaW5pdCksCgkgIChnc3RfbXVzZXBhY2tkZWNfc2VuZF9uZXdzZWdtZW50KSwKCSAgKGdzdF9tdXNlcGFja2RlY19oYW5kbGVfc2Vla19ldmVudCksIChnc3RfbXVzZXBhY2tkZWNfc3JjX2V2ZW50KSwKCSAgKGdzdF9tdXNlcGFja2RlY19zcmNfcXVlcnkpLCAoZ3N0X211c2VwYWNrZGVjX3NyY19jb252ZXJ0KSwKCSAgKGdzdF9tdXNlcGFja19zdHJlYW1faW5pdCksIChnc3RfbXVzZXBhY2tkZWNfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9tdXNlcGFja2RlY19sb29wKSwgKGdzdF9tdXNlcGFja2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOiAoZ3N0X211c2VwYWNrX3JlYWRlcl9wZWVrKSwKCSAgKGdzdF9tdXNlcGFja19yZWFkZXJfc2VlayksIChnc3RfbXVzZXBhY2tfcmVhZGVyX3RlbGwpLAoJICAoZ3N0X211c2VwYWNrX3JlYWRlcl9nZXRfc2l6ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmg6CgkgIEZpeCBzZWVraW5nIGluIG11c2VwYWNrIGZpbGVzIChpdCdzIHN0aWxsIGluY3JlZGlibHkgc2xvdywgYnV0IEkKCSAgZG9uJ3QgdGhpbmsgdGhhdCBpcyBvdXIgcGx1Z2luJ3MgZmF1bHQpLiBDbGVhbiB1cCBjb2RlIGFuZCBnZXQKCSAgcmlkIG9mIG9sZCBjcnVmdC4gUG9zdCB0YWdzIHdpdGggYWxsIGtpbmQgb2YgbmVhdCBpbmZvcm1hdGlvbiBsaWtlCgkgIHJlcGxheSBnYWluIGFuZCBzdWNoIG9uIHRoZSBidXMsIGlmIGl0IGlzIGF2YWlsYWJsZS4gQWRkIGEKCSAgJ211c2VwYWNrZGVjJyBkZWJ1ZyBjYXRlZ29yeS4KCjIwMDYtMDEtMjQgMTE6NTg6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1vcmUgY29oZXJlbnQgZnJhbWVyYXRlIHNldHRpbmcgb24gY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBNb3JlIGNvaGVyZW50IGZyYW1lcmF0ZSBzZXR0aW5nIG9uIGNhcHMuCgkgIElmIHNhbXBsZV9zaXplIGlzIGF2YWlsYWJsZSwgdXNlIHRoYXQgZm9yIHRoZSBzYW1wbGVzJyBkdXJhdGlvbiBpbgoJICB0aGUgaW5kZXguIFRoaXMgZW5hYmxlcyBzaW5nbGUgZnJhbWUgc3RyZWFtcyB0byB3b3JrIChhbmQgSSBpbWFnaW5lCgkgIGZpeGVzIHNvbWUgb3RoZXIgY2FzZXMpLgoJICBUZXN0ZWQgb24gdGVzdHN1aXRlLCBubyByZWdyZXNzaW9uLgoKMjAwNi0wMS0yMyAxNToxMDo1NSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkZWQgY29kZWMgcmVjb2duaXRpb24gZm9yOiBfIFZQMzEgOiB2aWRlby94LXZwMyBfIEFWREogOiBpbWFnZS9qcGVnIF8gZHZjcCwgZHZjICA6IHZpZGVvL3gtZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEFkZGVkIGNvZGVjIHJlY29nbml0aW9uIGZvcjoKCSAgXyBWUDMxIDogdmlkZW8veC12cDMKCSAgXyBBVkRKIDogaW1hZ2UvanBlZwoJICBfIGR2Y3AsIGR2YyAgOiB2aWRlby94LWR2LCBzeXN0ZW1zdHJlYW09KGJvb2xlYW4pZmFsc2UKCSAgXyAweDZkNzMwMDE3IDogYXVkaW8veC1hZHBjbSwgbGF5b3V0PShzdHJpbmcpcXVpY2t0aW1lCgoyMDA2LTAxLTIxIDE4OjM1OjI5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFVwZGF0ZSBmcm9tIHN3ZmRlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IFVwZGF0ZSBmcm9tIHN3ZmRlYy4KCjIwMDYtMDEtMjEgMTE6NDM6NTMgKzAwMDAgIEZhYnJpemlvIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAndHdvcycgYW5kICdzb3d0JyBmb3VyY2MgY2FuIGJlIDE2Yml0IG9yIDhiaXQgYXVkaW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAndHdvcycgYW5kICdzb3d0JyBmb3VyY2MgY2FuIGJlIDE2Yml0IG9yIDhiaXQgYXVkaW8uCgkgIEZpeCA4Yml0IGNhc2UgKCMzMjcxMzMsIGJhc2VkIG9uIHBhdGNoIGJ5OiBGYWJyaXppbwoJICBHZW5uYXJpIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+KS4KCSAgQWxzbywgIkdfTElUVExFX0VORElBTiIgYW5kICJHX0JJR19FTkRJQU4iIGFyZSBub3QKCSAgdmFsaWQgbGl0ZXJhbHMgZm9yIGVuZGlhbm5lc3MgaW4gY2FwcyBzdHJpbmdzLAoJICBvbmx5ICJMSVRUTEVfRU5ESUFOIiBhbmQgIkJJR19FTkRJQU4iIGFyZSB2YWxpZC4KCjIwMDYtMDEtMjAgMTc6MDQ6MzggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIEZpeGVkIHN0YXRlIHRyYW5zaWN0aW9ucyBQTEFZSU5HLT5OVUxMLT5QTEFZSU5HLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgc3RhdGUgdHJhbnNpY3Rpb25zIFBMQVlJTkctPk5VTEwtPlBMQVlJTkcuCgoyMDA2LTAxLTE5IDE2OjQ5OjI5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgU29tZSBtaW5vciBpbXByb3ZlbWVudHMgb24gbG9nIG1lc3NhZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBtaW5vciBpbXByb3ZlbWVudHMgb24gbG9nIG1lc3NhZ2VzLgoKMjAwNi0wMS0xOCAxODo1NDowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJvbmFsZCdzIHBhdGNoIGFwcGxpZWQuIHNlZSBidWcgIzMyNjMxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJvbmFsZCdzIHBhdGNoIGFwcGxpZWQuIHNlZSBidWcgIzMyNjMxOC4KCjIwMDYtMDEtMTcgMTY6NDU6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEZpeCBzZWVraW5nIGZvciBxdWlja3RpbWUgZmlsZXMuIENvdWxkIHN0aWxsIHVzZSBzb21lIG1vcmUgbG92ZSBhbmQgc29waGlzdGljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfc2VuZF9ldmVudCksIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBGaXggc2Vla2luZyBmb3IgcXVpY2t0aW1lIGZpbGVzLiBDb3VsZCBzdGlsbCB1c2Ugc29tZSBtb3JlCgkgIGxvdmUgYW5kIHNvcGhpc3RpY2F0aW9uLgoKMjAwNi0wMS0xNyAxMzoxNDowOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeGluZyB2ZXJzaW9uaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXhpbmcgdmVyc2lvbmluZwoKMjAwNi0wMS0xNiAxMjozMDo0MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICBSZW1vdmVkIGdzdF9iYXNlX3NyY19zZXRfbGl2ZSBmcm9tIG1tcyBhbmQgbmVvbiwgYW5kIG5vdyBjYWxsaW5nIHBhcmVudF9jbGFzcy0+ZGlzcG9zZSBpbiBkaXNwb3NlIG9uIHNkbGF1ZGlvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlZCBnc3RfYmFzZV9zcmNfc2V0X2xpdmUgZnJvbSBtbXMgYW5kIG5lb24sIGFuZCBub3cgY2FsbGluZyBwYXJlbnRfY2xhc3MtPmRpc3Bvc2UgaW4gZGlzcG9zZSBvbiBzZGxhdWRpby4KCjIwMDYtMDEtMTEgMjA6NTk6MzkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgTm93IGltcGxlbWVudGluZyBuYXZpZ2F0aW9uIGludGVyZmFjZSBhbmQgdXNpbmcgR1NUX0JPSUxFUl9QTEFURV9GVUxMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IGltcGxlbWVudGluZyBuYXZpZ2F0aW9uIGludGVyZmFjZSBhbmQgdXNpbmcgR1NUX0JPSUxFUl9QTEFURV9GVUxMLgoKMjAwNi0wMS0xMSAxNTozNDo1MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmVsZW1lbnQuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmVsZW1lbnQuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bm1peGVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5taXhlci5oOgoJICByZW1vdmUgb2xkIChicm9rZW4pIHN1bmF1ZGlvIHBsdWdpbiBmcm9tIGJhZCBhcyB0aGVyZSBpcyBhIG5ldyB3b3JraW5nIG9uZSBpbiAtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIG9sZCAoYnJva2VuKSBzdW5hdWRpbyBwbHVnaW4gZnJvbSBiYWQgYXMgdGhlcmUgaXMgYSBuZXcgd29ya2luZyBvbmUKCSAgaW4gLWdvb2QKCjIwMDYtMDEtMTEgMTQ6NDE6MjQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgUmVwbGFjZWQgd3Jvbmcgc3R5bGUgY29kZSBieSBHU1RfQk9JTEVSUExBVEUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXBsYWNlZCB3cm9uZyBzdHlsZSBjb2RlIGJ5IEdTVF9CT0lMRVJQTEFURS4KCjIwMDYtMDEtMTEgMTE6MDQ6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBJbmRlbzMgdmlkZW8gaW4gUXVpY2t0aW1lIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIEluZGVvMyB2aWRlbyBpbiBRdWlja3RpbWUgZmlsZXMuCgkgIENsb3NlcyAjMzI2NTI0CgoyMDA2LTAxLTA5IDE4OjIwOjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL2dzdHNkbC5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5oOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50LCBzZGxhdWRpb3NpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50LCBzZGxhdWRpb3NpbmsuCgoyMDA2LTAxLTA1IDIzOjE3OjQ0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgIGFkZGVkIHN5cy9kaXJlY3RkcmF3IGFkZGVkIHN5cy9kaXJlY3Rzb3VuZCBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdyBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0wNSAgU2ViYXN0aWVuIE1vdXR0ZSAgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoJICAqIGFkZGVkIHN5cy9kaXJlY3RkcmF3CgkgICogYWRkZWQgc3lzL2RpcmVjdHNvdW5kCgkgICogYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwCgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwCgkgICogYWRkZWQgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDA2LTAxLTA1IDE3OjAzOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IGNhbGwgb2lsX2luaXQoKSB3aGVuIHVzaW5nIGxpYm9pbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChwbHVnaW5faW5pdCk6CgkgIGNhbGwgb2lsX2luaXQoKSB3aGVuIHVzaW5nIGxpYm9pbAoKMjAwNi0wMS0wNCAxOTozOToxMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBTb21lIGltcHJvdmVtZW50cyBpbiBjYW5jZWxsYXRpb24gYW5kIGRlYnVnIG1lc3NhZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBpbXByb3ZlbWVudHMgaW4gY2FuY2VsbGF0aW9uIGFuZCBkZWJ1ZyBtZXNzYWdlcy4KCjIwMDYtMDEtMDQgMTM6MjY6MzUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBSZW1vdmVkIG5vdCBuZWVkIHRocmVhZCBhbmQgY2hhbmdlZCB0byBwdXNoIG91dCBibG9ja3NpemUgYnl0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmVkIG5vdCBuZWVkIHRocmVhZCBhbmQgY2hhbmdlZCB0byBwdXNoIG91dCBibG9ja3NpemUgYnl0ZXMuCgo9PT0gcmVsZWFzZSAwLjEwLjIgPT09CgoyMDA2LTAxLTAzIDE3OjMzOjE2ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOiBBcyBiZWZvcmUsIGJ1dCBmb3Igb19idWYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDoKCSAgQXMgYmVmb3JlLCBidXQgZm9yIG9fYnVmCgoyMDA2LTAxLTAzIDE3OjI3OjEzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOiBEZWNsYXJlIHN0cnVjdCBfUmVzYW1wbGVTdGF0ZS5idWZmZXIgYXMgdW5zaWduZWQgY2hhciAqLCBub3Qgdm9pZCAqLCBzaW5jZSB3ZSBkbyBhcml0aG0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDoKCSAgRGVjbGFyZSBzdHJ1Y3QgX1Jlc2FtcGxlU3RhdGUuYnVmZmVyIGFzIHVuc2lnbmVkIGNoYXIgKiwgbm90IHZvaWQgKiwKCSAgc2luY2Ugd2UgZG8gYXJpdGhtZXRpYyBvbiBpdC4KCjIwMDYtMDEtMDIgMTU6MDU6MDkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbmVvbiBwbHVnaW4gdG8gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbmVvbiBwbHVnaW4gdG8gc3BlYyBmaWxlCgoyMDA1LTEyLTMwIDE1OjQxOjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9zbW9vdGh3YXZlLy5naXRpZ25vcmU6CgkqIGV4dC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Rod2F2ZS9SRUFETUU6CgkqIGV4dC9zbW9vdGh3YXZlL2RlbW8tb3Nzc3JjLmM6CgkqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICBtb3ZlIHNtb290aHdhdmUgdG8gZ3N0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlIHNtb290aHdhdmUgdG8gZ3N0CgoyMDA1LTEyLTI4IDIxOjA3OjE3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgQ3JlYXRlZCBuZXcgZWxlbWVudCBuZW9uaHR0cHNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENyZWF0ZWQgbmV3IGVsZW1lbnQgbmVvbmh0dHBzcmMuCgoyMDA1LTEyLTE5IDE1OjE5OjQ0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogQWRkIGRlYnVnZ2luZyBjYXRlZ29yeSBhbmQgcmV0dXJuIEdzdEZsb3dSZXR1cm4gaW4gdGhlIHJpZ2h0IHBsYWNlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19jbGFzc19pbml0KSwKCSAgKGdzdF9zd2ZkZWNfY2hhaW4pLCAoZ3N0X3N3ZmRlY19yZW5kZXIpOgoJICBBZGQgZGVidWdnaW5nIGNhdGVnb3J5IGFuZCByZXR1cm4gR3N0Rmxvd1JldHVybiBpbiB0aGUgcmlnaHQgcGxhY2VzCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2xpbmspOgoJICBHZXQgc29tZXRoaW5nIGZyb20gdGhlIHBlZXIgcGFkIG9uY2Ugd2UndmUgY2hlY2tlZCBpZiB0aGVyZSBpcyBhIHBlZXIgcGFkLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChxdGRlbXV4X3RyZWVfZ2V0X2NoaWxkX2J5X3R5cGUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIENvdXBsZSBvZiBmaXhlcwoKMjAwNS0xMi0xOSAxNDo1ODo0NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAganVzdCBhIHNtYWxsIGZpeC4gSSBoYXZlIHRvIHBheSBtb3JlIGF0dGVudGlvbiB3aGVuIGNvbW1pdGluZyA7LSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGp1c3QgYSBzbWFsbCBmaXguIEkgaGF2ZSB0byBwYXkgbW9yZSBhdHRlbnRpb24gd2hlbiBjb21taXRpbmcgOy0pCgoyMDA1LTEyLTE5IDE0OjQwOjIyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICBkaXZ4ZGVjIGFuZCBkaXZ4ZW5jIHBvcnRlZCB0byAwLjEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkaXZ4ZGVjIGFuZCBkaXZ4ZW5jIHBvcnRlZCB0byAwLjEwCgoyMDA1LTEyLTE4IDIxOjA2OjQ3ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFNvbWUgbW9yZSByZWZhY3RvcmluZywgaGFuZGxlIGV4b3RpYyBEaXJlY3RGQiByb3cgc3RyaWRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xOCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9kZXZpY2VzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLCAoZ3N0X2RmYnZpZGVvc2lua19jbGVhbnVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLCAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua191cGRhdGVfY29sb3JiYWxhbmNlKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZmJ2aWRlb3NpbmtfaW5pdCk6IFNvbWUKCSAgbW9yZSByZWZhY3RvcmluZywgaGFuZGxlIGV4b3RpYyBEaXJlY3RGQiByb3cgc3RyaWRlLgoKMjAwNS0xMi0xOCAxMDo1ODo0NCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xOCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgVXBkYXRlcy4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9kZXZpY2VzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLCAoZ3N0X2RmYnZpZGVvc2lua19jbGVhbnVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLCAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua191cGRhdGVfY29sb3JiYWxhbmNlKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZmluYWxpemUpLCAoZ3N0X2RmYnZpZGVvc2lua19pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOiBJbXBsZW1lbnQgcGl4ZWwtYXNwZWN0LXJhdGlvLgoJICBUaGlzIHNob3VsZCB3b3JrIGJvdGggZm9yIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHNjYWxpbmcgYW5kCgkgIHJldmVyc2UgY2FwcyBuZWdvdGlhdGlvbiB3aXRoIGEgc2NhbGluZyBlbGVtZW50LgoKMjAwNS0xMi0xNyAxNzo0ODozOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOiBVcGRhdGVzLgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9jcmVhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19ldmVudF90aHJlYWQpLCAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX3Ztb2RlcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2VudW1fZGV2aWNlcyksIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2xlYW51cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Jlc3Rfdm1vZGUpLCAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLCAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfdXBkYXRlX2NvbG9yYmFsYW5jZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9saXN0X2NoYW5uZWxzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX3NldF92YWx1ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9nZXRfdmFsdWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfaW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2luaXQpLCAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6IEltcGxlbWVudCB2ZXJ0aWNhbCBzeW5jIGFuZAoJICBjb2xvciBiYWxhbmNlIGludGVyZmFjZS4KCjIwMDUtMTItMTYgMjE6NTU6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvbid0IHVzZSBkb2MgY29tbWVudHMgZm9yIG5vbi1kb2NzIGNoYW5nZSBzb21lIGNoYXIqIGludG8gY2hhcltdCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfb3Blbl9hdWRpbyk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChzb2NrZXRfcmVjZWl2ZV9maWxlX3RvX2J1ZmYpOgoJICAqIGdzdC92YmlkZWMvdmJpZGF0YS5jOgoJICAqIGdzdC92YmlkZWMvdmJpZGF0YS5oOgoJICAqIGdzdC92YmlkZWMvdmJpc2NyZWVuLmM6CgkgICogc3lzL2R4cjMvYWMzX3BhZGRlci5jOgoJICBkb24ndCB1c2UgZG9jIGNvbW1lbnRzIGZvciBub24tZG9jcwoJICBjaGFuZ2Ugc29tZSBjaGFyKiBpbnRvIGNoYXJbXQoKMjAwNS0xMi0xNiAxNDo0Nzo1OSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IEFsd2F5cyBwcmVmZXIgdGhlIHByaW1hcnkgbGF5ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTE2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2xheWVycyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2luaXQpOiBBbHdheXMgcHJlZmVyIHRoZSBwcmltYXJ5IGxheWVyLgoKMjAwNS0xMi0xNiAxMjoyNTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogT29wcywgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20gY2FwcyBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgT29wcywgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20gY2FwcyBzdHJpbmcuCgoyMDA1LTEyLTE2IDA5OjU5OjIxICswMDAwICBnY29jYXRyZUBnbWFpbC5jb20gPGdjb2NhdHJlQGdtYWlsLmNvbT4KCgkgIGV4dC93YXZwYWNrLzogV2F2cGFjayBzdXBwb3J0cyBzYW1wbGVyYXRlcyBmcm9tIDYtMTkya0h6LCBmaXggcGFkIHRlbXBsYXRlIHJlbW92ZSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgdGhleSBhcmUgZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIFdhdnBhY2sgc3VwcG9ydHMgc2FtcGxlcmF0ZXMgZnJvbSA2LTE5MmtIeiwgZml4IHBhZCB0ZW1wbGF0ZQoJICBjYXBzIChmaXhlcyAjMzIyOTczOyBwYXRjaCBieTogZ2NvY2F0cmVAZ21haWwuY29tKS4gQWxzbwoJICByZW1vdmUgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIHRoZXkgYXJlIGdvbmUgaW4gMC4xMC4KCjIwMDUtMTItMTUgMTQ6Mzk6MDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICBGaXhlZCBzb21lIG1lbS1sZWFrcyBpbiB4dmlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgc29tZSBtZW0tbGVha3MgaW4geHZpZC4KCjIwMDUtMTItMTUgMTA6MzA6MTQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogRG9uJ3QgbGVhayBhbGwgaW5wdXQgYnVmZmVycyB0byBhdWRpb3Jlc2FtcGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIERvbid0IGxlYWsgYWxsIGlucHV0IGJ1ZmZlcnMgdG8gYXVkaW9yZXNhbXBsZS4KCjIwMDUtMTItMTUgMDg6NTQ6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkb2Vzbid0IHVzZSBsaWJvaWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvZXNuJ3QgdXNlIGxpYm9pbAoKMjAwNS0xMi0xNCAyMjo0MTo0NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmg6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgeHZpZGRlYyBhbmQgeHZpZGVlbmMgcG9ydGVkIHRvIDAuMTAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHh2aWRkZWMgYW5kIHh2aWRlZW5jIHBvcnRlZCB0byAwLjEwCgoyMDA1LTEyLTE0IDIwOjU0OjA2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWMgcG9ydGVkIHRvIDAuMTAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGR0c2RlYyBwb3J0ZWQgdG8gMC4xMAoKMjAwNS0xMi0xMiAxMDo0MDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IEdzdE9iamVjdHMgbXVzdCBiZSB1bnJlZidlZCB3aXRoIGdzdF9vYmplY3RfdW5yZWYoKSBpbnN0ZWFkIG9mIGdfb2JqZWN0X3VucmVmKCksIG90aGVyd2lzZSB0aGluZ3MgYnJlYWsgZm9yIEdMaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfbG9vcCk6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfc3JjX3F1ZXJ5KSwgKGdzdF9tbXNfY3JlYXRlKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X211c2VwYWNrZGVjX2xvb3ApOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX3ZpZGVvX2xpbmspLAoJICAoZ3N0X3N3ZmRlY19zcmNfcXVlcnkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgR3N0T2JqZWN0cyBtdXN0IGJlIHVucmVmJ2VkIHdpdGggZ3N0X29iamVjdF91bnJlZigpIGluc3RlYWQgb2YKCSAgZ19vYmplY3RfdW5yZWYoKSwgb3RoZXJ3aXNlIHRoaW5ncyBicmVhayBmb3IgR0xpYi0yLjYgdXNlcnMuCgoyMDA1LTEyLTEyIDA5OjI5OjIxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IEFkZCBhIHN1YmNsYXNzIG9mIEdzdEJ1ZmZlciB0aGF0IHdyYXBzIFN3ZmRlY0J1ZmZlcnMuICBGaXggYSBtYXNzaXZlIG1lbWxlYWsgYmVjYXVzZSB0aGUgdmlkZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3N3ZmRlY2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3Rfc3dmZGVjX2J1ZmZlcl9mcm9tX3N3ZiksIChnc3Rfc3dmZGVjX3JlbmRlcik6IEFkZCBhIHN1YmNsYXNzCgkgIG9mIEdzdEJ1ZmZlciB0aGF0IHdyYXBzIFN3ZmRlY0J1ZmZlcnMuICBGaXggYSBtYXNzaXZlIG1lbWxlYWsKCSAgYmVjYXVzZSB0aGUgdmlkZW8gYnVmZmVycyBwcmV2aW91c2x5IG5ldmVyIGdvdCBmcmVlZC4KCjIwMDUtMTItMTEgMjM6NTQ6NTYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgSnVzdCByZW1vdmVkIGEgd2VpcmQgcHJpbnRmIDstKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCByZW1vdmVkIGEgd2VpcmQgcHJpbnRmIDstKQoKMjAwNS0xMi0xMSAyMzowOToyMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIEFkZGVkIHN1cG9ydCB0byBtbXNoLiBUaGVyZSdzIHN0aWxsIGEgc3Vja3MgbXNnICJFUlJPUjogUGlwZWxpbmUgY2FudCBQUkVST09MLi4uIiB0byBiZSBmaXhlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIHN1cG9ydCB0byBtbXNoLiBUaGVyZSdzIHN0aWxsIGEgc3Vja3MgbXNnICJFUlJPUjogUGlwZWxpbmUgY2FudCBQUkVST09MLi4uIiB0byBiZSBmaXhlZC4KCjIwMDUtMTItMDkgMTU6MzA6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBc3N1bWUgdGhhdCBhbiB1bmtub3duIGNoYW5uZWwgbWFwcGluZyB3aXRoIDIgY2hhbm5lbHMgaXMgc3RlcmVvIGFuZCBwbGF5IGl0IHRoYXQgd2F5IGluc3RlYWQgb2YgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYW5wb3NfdG9fZ3N0KSwKCSAgKGdzdF9mYWFkX3VwZGF0ZV9jYXBzKToKCSAgQXNzdW1lIHRoYXQgYW4gdW5rbm93biBjaGFubmVsIG1hcHBpbmcgd2l0aCAyIGNoYW5uZWxzCgkgIGlzIHN0ZXJlbyBhbmQgcGxheSBpdCB0aGF0IHdheSBpbnN0ZWFkIG9mIGVycm9yaW5nLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgSGFuZGxlIGUuZy4ganBlZyBzdHJlYW1zIHdpdGggMCBkdXJhdGlvbiBmcmFtZXMgYXMgaGF2aW5nIDAgZnJhbWVyYXRlLgoJICBEZWJ1ZyBmaXhlcy4gU29tZSA2NCBiaXQgdmFyaWFibGUgZml4ZXMKCjIwMDUtMTItMDkgMDQ6MTU6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkgIHN3ZmRlYyBQb3J0ZWQgdG8gMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHN3ZmRlYyBQb3J0ZWQgdG8gMC4xMC4KCjIwMDUtMTItMDcgMTE6NDY6MTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1lbWxlYWsgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBNZW1sZWFrIGZpeGVzLgoJICBTZW5kIG91dCBFT1MgZm9yIHZhbGlkIHJlYXNvbnMgKGNvdWxkbid0IHB1bGxfcmFuZ2UoKSBmcm9tIHVwc3RyZWFtCgkgIGZvciBleGFtcGxlKS4KCjIwMDUtMTItMDYgMTk6NTU6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5oOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5oOgoJKiBleHQveGluZS9nc3R4aW5lLmg6CgkqIGV4dC94aW5lL3hpbmVjYXBzLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS5oOgoJKiBnc3QvYXBldGFnL2FwZWRlbXV4Lmg6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UveXV2MnJnYi5jOgoJKiBnc3QvY29sb3JzcGFjZS95dXYycmdiLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9nYW1lcy9nc3R2aWRlb2ltYWdlLmM6CgkqIGdzdC9nYW1lcy9nc3R2aWRlb2ltYWdlLmg6CgkqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9pdF9kZWZzLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbW9kcGx1Zy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zdGRhZnguaDoKCSogZ3N0L21wZWcxc3lzL2J1ZmZlci5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSogZ3N0L21wZWcxc3lzL21haW4uaDoKCSogZ3N0L21wZWcxc3lzL3N5c3RlbXMuYzoKCSogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmg6CgkqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkqIGdzdC9ydGpwZWcvUlRqcGVnLmM6CgkqIGdzdC9ydGpwZWcvUlRqcGVnLmg6CgkqIGdzdC90dGEvY3JjMzIuaDoKCSogZ3N0L3R0YS9maWx0ZXJzLmg6CgkqIGdzdC90dGEvdHRhZGVjLmg6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGwuYzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9ic2QuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX2lyaXguaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX3NvbGFyaXMuaDoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJKiBzeXMvcWNhbS9kYXJrLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBleHBhbmQgdGFicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZXhwYW5kIHRhYnMKCjIwMDUtMTItMDYgMTk6NDQ6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZXh0L2xhZHNwYS9zZWFyY2guYzoKCSogZXh0L2xhZHNwYS91dGlscy5oOgoJICBleHBhbmQgdGFicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZXhwYW5kIHRhYnMKCjIwMDUtMTItMDYgMTk6NDI6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvYnVmZmVyLmg6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2Z1bmN0YWJsZS5oOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgZXhwYW5kIHRhYnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGV4cGFuZCB0YWJzCgoyMDA1LTEyLTA1IDE4OjExOjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuMTAuMCA9PT0KCjIwMDUtMTItMDUgMTg6MDE6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICByZWxlYXNpbmcgMC4xMC4wCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC4xMC4wCgoyMDA1LTEyLTA1IDEzOjA0OjIyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBVcGRhdGUgZm9yIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KSwgKGdzdF9mYWFjX2NoYWluKToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFpbik6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6IChnc3RfaGVybWVzX2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGV4dC94aW5lL3hpbmVpbnB1dC5jOiAoZ3N0X3hpbmVfaW5wdXRfZ2V0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jaGFpbik6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9jaGFpbik6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NoYWluKTogVXBkYXRlIGZvcgoJICBhbGxvY19idWZmZXIgY2hhbmdlcy4KCjIwMDUtMTItMDUgMTM6MDI6NTggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIFVwZGF0ZSBmb3IgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2NoYWluKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY193cml0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfd3JpdGVfY2FsbGJhY2spOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfY2hhaW4pOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6IChnc3RfcGl4YnVmc2NhbGVfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfY2hhaW4pOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9pbmZvX2NhbGxiYWNrKSwgKGdzdF9wbmdkZWNfdGFzayk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW4pOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2NoYWluKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVwYXJzZV9jaGFpbik6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2hhaW4pOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3ZvcmJpc19jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlcik6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbik6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFpbik6IFVwZGF0ZSBmb3IKCSAgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgoyMDA1LTEyLTA0IDIyOjQ2OjM0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNS0xMi0wMiAxMTozNDo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlLzogRml4IGF1ZGlvcmVzYW1wbGUsIHNlZWsgdG9ydHVyZSwgbmV3IHNlZ21lbnRzLCByZXZlcnNlIG5lZ290aWF0aW9uIGV0Yy4uIHdvcmsgZmluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvYnVmZmVyLmM6IChhdWRpb3Jlc2FtcGxlX2J1ZmZlcl9xdWV1ZV9mbHVzaCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvYnVmZmVyLmg6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOiAocmVzYW1wbGVfaW5wdXRfZmx1c2gpLAoJICAocmVzYW1wbGVfaW5wdXRfcHVzaHRocm91Z2gpLCAocmVzYW1wbGVfaW5wdXRfZW9zKSwKCSAgKHJlc2FtcGxlX2dldF9vdXRwdXRfc2l6ZV9mb3JfaW5wdXQpLAoJICAocmVzYW1wbGVfZ2V0X2lucHV0X3NpemVfZm9yX291dHB1dCksIChyZXNhbXBsZV9nZXRfb3V0cHV0X3NpemUpLAoJICAocmVzYW1wbGVfZ2V0X291dHB1dF9kYXRhKToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOiAocmVzYW1wbGVfc2NhbGVfcmVmKToKCSAgRml4IGF1ZGlvcmVzYW1wbGUsIHNlZWsgdG9ydHVyZSwgbmV3IHNlZ21lbnRzLCByZXZlcnNlIG5lZ290aWF0aW9uCgkgIGV0Yy4uIHdvcmsgZmluZS4KCjIwMDUtMTItMDIgMDk6MzI6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IEFkZCBtaXNzaW5nICQoV0FWUEFDS19ESVIpICgjMzIyOTYyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyAkKFdBVlBBQ0tfRElSKSAoIzMyMjk2MikuCgoyMDA1LTEyLTAxIDE5OjE3OjM0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS43ID09PQoKMjAwNS0xMi0wMSAxOToxMzoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIExJQ0VOU0U6CgkqIE5FV1M6CgkqIFBPUlRFRF8wOToKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcmFuZG9tL0xJQ0VOU0U6CgkqIGRvY3MvcmFuZG9tL1BPUlRFRF8wOToKCSAgcmVsZWFzaW5nIDAuOS43CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjcKCjIwMDUtMTEtMjkgMDI6NTU6MTggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBsaWJtbSBwb3J0ZWQgdG8gMC45LiBJdCB3b3JrcyBmaW5lLCBidXQgcHJpbnQgc29tZSBlcnJvciBtZXNzYWdlcy4gSSdsbCBmaXggdGhlbSBzb29uLiBUZXN0ZWQgd2l0aCAgbW1zc3JjIGxvY2F0aW9uPW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGxpYm1tIHBvcnRlZCB0byAwLjkuIEl0IHdvcmtzIGZpbmUsIGJ1dCBwcmludCBzb21lIGVycm9yIG1lc3NhZ2VzLiBJJ2xsIGZpeCB0aGVtIHNvb24uIFRlc3RlZCB3aXRoICBtbXNzcmMgbG9jYXRpb249bW1zOi8vICEgZmlsZXNpbmsuCgoyMDA1LTExLTI4IDIxOjIyOjM5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICBmaXggaGVhZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggaGVhZGVyCgoyMDA1LTExLTI4IDE3OjQ3OjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIGZpeCBpbmNsdWRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggaW5jbHVkZQoKMjAwNS0xMS0yOCAxNTo0MzoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogSGFuZGxlIGdyYWNlZnVsbHkgdGhlIGNvbnNlcXVlbmNlIG9mICJNYXhpbXVtIG51bWJlciBvZiBzY2FsZWZhY3RvciBiYW5kcyBleGNlZWRlZCIsIHdoaWNoIHJlc3VsdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zcmNnZXRjYXBzKToKCSAgSGFuZGxlIGdyYWNlZnVsbHkgdGhlIGNvbnNlcXVlbmNlIG9mICJNYXhpbXVtIG51bWJlciBvZiBzY2FsZWZhY3RvcgoJICBiYW5kcyBleGNlZWRlZCIsIHdoaWNoIHJlc3VsdHMgaW4gMCBjaGFubmVscyB3aXRoIHNhbXBsZXJhdGVzIG9mIDAuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgRG8gdXB3YXJkIHRyYW5zaXRpb25zLCB0aGVuIGNhbGwgcGFyZW50IHN0YXRlX2NoYW5nZSwgdGhlbiBkbwoJICBkb3dud2FyZCB0cmFuc2l0aW9ucy4KCjIwMDUtMTEtMjggMTU6MTk6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBmaXggbWFrZWZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBtYWtlZmlsZQoKMjAwNS0xMS0yOCAxNDo1MDo0NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvTWFrZWZpbGUuYW06IGFscGhhYmV0cywgc28gaGFyZCB0byBtYXN0ZXIuICBTaG91bGQgZml4IGRpc3RjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBhbHBoYWJldHMsIHNvIGhhcmQgdG8gbWFzdGVyLiAgU2hvdWxkIGZpeCBkaXN0Y2hlY2suCgoyMDA1LTExLTI3IDE0OjM1OjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgQUNMT0NBTF9BTUZMQUdTOyByZW1vdmUgb2xkIHN0dWZmIGZyb20gc3BlYyBjaGFuZ2Vsb2cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBBQ0xPQ0FMX0FNRkxBR1M7IHJlbW92ZSBvbGQgc3R1ZmYgZnJvbSBzcGVjIGNoYW5nZWxvZwoKMjAwNS0xMS0yNSAxOTo1ODoxOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgV2F2cGFjayBwb3J0ZWQgdG8gMC45LiBObyBzdXBwb3J0IGZvciBjb3JyZWN0aW9uIGZpbGUgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgV2F2cGFjayBwb3J0ZWQgdG8gMC45LiBObyBzdXBwb3J0IGZvciBjb3JyZWN0aW9uIGZpbGUgeWV0LgoKMjAwNS0xMS0yNSAxODoxNTo1MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvd2F2cGFjay86IHB1dCBiYWNrIHdhdnBhY2sgLSBzdGlsbCBuZWVkcyBwb3J0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayksCgkgIChnc3Rfd2F2cGFja19kZWNfd3ZjbGluayksIChnc3Rfd2F2cGFja19kZWNfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zZXR1cF9jb250ZXh0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksIChnc3Rfd2F2cGFja19kZWNfbG9vcCksCgkgIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19ldmVudCksIChmaW5kX2hlYWRlciksIChmaW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zZWVrKSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhbmdlX3N0YXRlKSwgKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgcHV0IGJhY2sgd2F2cGFjayAtIHN0aWxsIG5lZWRzIHBvcnRpbmcKCjIwMDUtMTEtMjMgMjE6Mjc6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkgIGFkZCBhIHRvcnR1cmUgdGFyZ2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgYSB0b3J0dXJlIHRhcmdldAoKMjAwNS0xMS0yMyAyMDowNjowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS42ID09PQoKMjAwNS0xMS0yMyAxOTo1Nzo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgIHJlbGVhc2luZyAwLjkuNgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS42CgoyMDA1LTExLTIzIDE4OjA1OjE2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFVzZSBmcmFjdGlvbiBmb3IgZnJhbWVyYXRlLCB2YXJpb3VzIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBleHQvZGlyZWN0ZmIvZGZiLWV4YW1wbGUuYzogKG1haW4pOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9kZXN0cm95KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSksIChnc3RfZGZidmlkZW9zaW5rX2dldF90aW1lcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcnBvb2xfY2xlYXIpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLCAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19maW5hbGl6ZSksIChnc3RfZGZidmlkZW9zaW5rX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6IFVzZSBmcmFjdGlvbiBmb3IgZnJhbWVyYXRlLAoJICB2YXJpb3VzCgkgIGZpeGVzLgoKMjAwNS0xMS0yMyAxNTozNjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay4qOiBVcGRhdGVzIGZvciBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMgYW5kIFhPdmVybGF5IGludGVyZmFjZSBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2dldF90aW1lcyksIChnc3Rfc2RsdmlkZW9zaW5rX2luaXQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19zZXRjYXBzKSwgKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBVcGRhdGVzIGZvciBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMgYW5kIFhPdmVybGF5IGludGVyZmFjZSBjaGFuZ2VzCgoyMDA1LTExLTIzIDExOjU3OjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ29udmVydCB0byBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcwoKMjAwNS0xMS0yMyAwMDoyODoxMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiBGaXggZm9yIGxhdGVzdCBBUEkgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19sb29wKToKCSAgRml4IGZvciBsYXRlc3QgQVBJIGNoYW5nZXMKCjIwMDUtMTEtMjIgMTU6MDk6MjggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmg6CgkgIE11c2VwYWNrZGVjIHBvcnRlZCB0byAwLjkuIFRoZXJlIGlzIHN0aWxsIGEgc21hbGwgcHJvYmxlbSB0byBiZSBzb2x2ZWQsIGFmdGVyIHRoZSBlbmQgb2YgZmlsZSwgdGhlIHBpcGVsaW5lIGRvZW5zJ3Qgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTXVzZXBhY2tkZWMgcG9ydGVkIHRvIDAuOS4gVGhlcmUgaXMgc3RpbGwgYSBzbWFsbCBwcm9ibGVtIHRvIGJlIHNvbHZlZCwgYWZ0ZXIgdGhlIGVuZCBvZiBmaWxlLCB0aGUgcGlwZWxpbmUgZG9lbnMndCBzdG9wLgoKMjAwNS0xMS0yMiAxMTo1Nzo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJICBleHQvZmFhZC9nc3RmYWFkLmMgKGdzdF9mYWFkX2V2ZW50KSBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmMgKGdzdF9pdm9yYmlzZmlsZV9sb29wKSBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9ldmVudCkKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmMgKGdzdF9pdm9yYmlzZmlsZV9sb29wKQoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpCgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmMgKHNwZWVkX3NpbmtfZXZlbnQpCgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jIChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCkKCSAgKGdzdF90dGFfcGFyc2VfcGFyc2VfaGVhZGVyKTogUnVuIHVwZGF0ZS1mdW5jbmFtZXMuCgoyMDA1LTExLTIxIDE4OjQ1OjU0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IERvbid0IHRha2UgU1RSRUFNX0xPQ0sgaW4gc2luayBldmVudCBoYW5kbGVycyBhbnkgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9ldmVudCk6CgkgIERvbid0IHRha2UgU1RSRUFNX0xPQ0sgaW4gc2luayBldmVudCBoYW5kbGVycyBhbnkgbW9yZS4KCjIwMDUtMTEtMjEgMTg6MDk6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVcGRhdGUgZm9yIHN0cmVhbSBsb2NrIEFQSSBjaGFuZ2VzOiBkb24ndCB0YWtlIHN0cmVhbSBsb2cgaW4gc2luayBldmVudCBoYW5kbGVycyBhbnkgbG9uZ2VyIGFuZCBjaGFuZ2UgR1NUX1NUUkVBTV9MT0MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY19sb29wKSwKCSAgKGdzdF9mbGFjZGVjX3NyY19ldmVudCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfc2lua19ldmVudCk6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2dldHJhbmdlKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYWluKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19zcmNfZXZlbnRfaGFuZGxlciksCgkgIChnc3RfZmx4ZGVjX3NpbmtfZXZlbnRfaGFuZGxlcik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKToKCSAgVXBkYXRlIGZvciBzdHJlYW0gbG9jayBBUEkgY2hhbmdlczogZG9uJ3QgdGFrZSBzdHJlYW0gbG9nCgkgIGluIHNpbmsgZXZlbnQgaGFuZGxlcnMgYW55IGxvbmdlciBhbmQgY2hhbmdlIEdTVF9TVFJFQU1fTE9DSwoJICB0byBHU1RfUEFEX1NUUkVBTV9MT0NLLiBEb24ndCBsZWFrIHJlZmVyZW5jZXMgaW4gZmx4ZGVjIGV2ZW50CgkgIGZ1bmN0aW9ucy4KCjIwMDUtMTEtMjEgMTc6Mzc6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBGaXggZm9yIHN0cmVhbSBsb2NrIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3NpbmtfZXZlbnQpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KToKCSAgRml4IGZvciBzdHJlYW0gbG9jayB1cGRhdGVzLgoKMjAwNS0xMS0yMSAxNzoxNDowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC86IFNlZ21lbnQgdXBkYXRlIGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYmFzZV9hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X2Jhc2VfYXVkaW9fc2lua19wcm92aWRlX2Nsb2NrKSwKCSAgKGdzdF9iYXNlX2F1ZGlvX3Npbmtfc2V0X2Nsb2NrKSwgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfcmVuZGVyKSwKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIFNlZ21lbnQgdXBkYXRlIGZpeC4KCjIwMDUtMTEtMjEgMTY6NDU6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IGpAYm9vdGxhYi5vcmcsICMzMjE5MDMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgRFg1MCwgRElWWCBhbmQgRElWMyBmb3VyY2NzIChwYXRjaCBieQoJICBqQGJvb3RsYWIub3JnLCAjMzIxOTAzKS4KCjIwMDUtMTEtMjEgMTY6Mzc6MTggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgICouKjogUmFuIHNjcmlwdHMvdXBkYXRlLW1hY3Jvcy4gT2ggeWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiAqLmg6CgkgICogKi5jOiBSYW4gc2NyaXB0cy91cGRhdGUtbWFjcm9zLiBPaCB5ZXMuCgoyMDA1LTExLTIxIDE0OjM5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXBkYXRlIGZvciBHU1RfRk9VUkNDX0ZPUk1BVCBBUEkgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9mb3JtYXRfZnJvbV9jYXBzKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19jcmVhdGUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF90eXBlX2dldCksIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwgKHF0ZGVtdXhfZHVtcF9zdHNkKSwKCSAgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX2NhcHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwgKGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyk6CgkgIFVwZGF0ZSBmb3IgR1NUX0ZPVVJDQ19GT1JNQVQgQVBJIGNoYW5nZS4KCjIwMDUtMTEtMjEgMTQ6MzM6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qICgjMzIyMDI3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19zaW5rX2ZpeGF0ZSk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfZml4YXRlKToKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19maXhhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2ZpeGF0ZSk6CgkgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKgoJICAoIzMyMjAyNykKCjIwMDUtMTEtMjEgMDM6MjE6MDQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICBOb3cgaXQgd29ya3MgaW4gcHVzaC1tb2RlLiBUZXN0ZWQgd2l0aCBnbm9tZXZmc3NyYyBsb2NhdGlvbj1odHRwOi8vLi4gICEgdHJlbW9yICEgYWxzYXNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgaXQgd29ya3MgaW4gcHVzaC1tb2RlLiBUZXN0ZWQgd2l0aCBnbm9tZXZmc3NyYyBsb2NhdGlvbj1odHRwOi8vLi4gICEgdHJlbW9yICEgYWxzYXNpbmsuCgkgIFNvbWUgaXNzdWVzIHRvIGJlIHNvbHZlZCB5ZXQ6CgkgIDEtIHNldCBjb3JyZWN0IHRpbWVzdGFtcHMKCSAgMi0gc2VlayBpcyBmb3JjZWQgdG8gZGlzYWJsZWQgaW4gcHVsbC1tb2RlCgoyMDA1LTExLTE2IDE3OjI2OjEwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBtYWtlIGl0IHdvcmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1ha2UgaXQgd29yawoKMjAwNS0xMS0xNSAxNjo1MDoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogU2V0IHByb3BlciBjYXBzIG9uIHNvdXJjZSBwYWQgKCMzMjA1MzIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpLCAoZ3N0X2ZhYWNfaW5pdCksCgkgIChnc3RfZmFhY19zaW5rX3NldGNhcHMpLCAoZ3N0X2ZhYWNfY29uZmlndXJlX3NvdXJjZV9wYWQpLAoJICAoZ3N0X2ZhYWNfY2hhaW4pOgoJICBTZXQgcHJvcGVyIGNhcHMgb24gc291cmNlIHBhZCAoIzMyMDUzMikuCgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBEb24ndCB1c2UgZ3RrLWRvYyBtYXJrZXJzIGZvciBjb21tZW50IGJsb2NrLgoKMjAwNS0xMS0xNSAwODozODoxNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L2l2b3JiaXMvdm9yYmlzLmM6CgkgIHNldCByYW5rIHRvIHNlY29uZGFyeSBhcyB5b3UgbmV2ZXIgd2FudCB0aGlzIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiBub3JtYWwgb2dnZGVtdXggZXRjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2V0IHJhbmsgdG8gc2Vjb25kYXJ5IGFzIHlvdSBuZXZlciB3YW50IHRoaXMgdG8gYmUgdXNlZCBpbnN0ZWFkIG9mIG5vcm1hbCBvZ2dkZW11eCBldGMuCgoyMDA1LTExLTE0IDE3OjExOjU1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBjb25maWd1cmUuYWMgKEdTVF9QTFVHSU5fTERGTEFHUyk6IC1uby11bmRlZmluZWQgZm9yIGJldHRlciBkZWJ1Z2dpbmcsIGFsbG93cyBkbGwgYnVpbGRzIG9uIHdpbmRvd3MuIEZpeGVzICMzMTYwNzYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTE0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYyAoR1NUX1BMVUdJTl9MREZMQUdTKTogLW5vLXVuZGVmaW5lZCBmb3IgYmV0dGVyCgkgIGRlYnVnZ2luZywgYWxsb3dzIGRsbCBidWlsZHMgb24gd2luZG93cy4gRml4ZXMgIzMxNjA3Ni4KCjIwMDUtMTEtMTQgMDI6MTM6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICByZXdvcmsgY29uZmlndXJlLmFjOyBtYWtlIGFzdGVyaXNrIHJ0cCBzdHVmZiBjb21waWxlIG9uIG1pbmd3CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgY29uZmlndXJlLmFjOyBtYWtlIGFzdGVyaXNrIHJ0cCBzdHVmZiBjb21waWxlIG9uIG1pbmd3CgoyMDA1LTExLTExIDE5OjM5OjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGhlYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gaGVhZAoKPT09IHJlbGVhc2UgMC45LjUgPT09CgoyMDA1LTExLTExIDE5OjM4OjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC45LjUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNQoKMjAwNS0xMS0xMSAxODo1NDoxNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIEZpeCBjb21waWxlIG9uIHN5c3RlbXMgd2l0aCBicm9rZW4gZmFhZCBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGNvbXBpbGUgb24gc3lzdGVtcyB3aXRoIGJyb2tlbiBmYWFkIGhlYWRlcnMuCgoyMDA1LTExLTExIDE4OjE3OjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IENhbGwgZnVuY3Rpb25zIHdpdGggdGhlIGNvcnJlY3QgQVBJLiBVbmZvcnR1bmF0ZWx5LCB1bmxlc3MgeW91ciBkaXN0cmlidXRpb24gcGF0Y2hlcyB1cHN0cmVhbSwgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9jaGFpbik6CgkgIENhbGwgZnVuY3Rpb25zIHdpdGggdGhlIGNvcnJlY3QgQVBJLiBVbmZvcnR1bmF0ZWx5LCB1bmxlc3MgeW91cgoJICBkaXN0cmlidXRpb24gcGF0Y2hlcyB1cHN0cmVhbSwgdGhlIHB1YmxpYyBoZWFkZXIgZmlsZSBmb3IgRkFBRAoJICBkb2Vzbid0IGFjdHVhbGx5IGRlY2xhcmUgdGhlIEFQSSBhY2N1cmF0ZWx5LiBTbywgc29tZSBuYXN0aW5lc3MKCSAgZW5zdWVzLi4uCgoyMDA1LTExLTEwIDEyOjM0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgY3VzdG9tIGdlbnJlIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEFkZCBzdXBwb3J0IGZvciBjdXN0b20gZ2VucmUgdGFncy4KCjIwMDUtMTEtMDkgMDE6MDQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBEb24ndCB1c2UgZ3RrLWRvYyBtYXJrZXJzIGZvciBub3JtYWwgY29tbWVudHMuIEZpeCBndGstZG9jIGZvcm1hdHRpbmcgd2hlcmUgcmVxdWlyZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YXJraW4vd2F2ZWxldC5jOgoJICAqIGV4dC90YXJraW4vd2F2ZWxldC5oOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC92YmlkZWMvdmJpZGF0YS5jOgoJICAqIGdzdC92YmlkZWMvdmJpc2NyZWVuLmg6CgkgICogc3lzL2R4cjMvYWMzX3BhZGRlci5jOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSAgKiBzeXMvcWNhbS9kYXJrLmM6CgkgIERvbid0IHVzZSBndGstZG9jIG1hcmtlcnMgZm9yIG5vcm1hbCBjb21tZW50cy4gRml4CgkgIGd0ay1kb2MgZm9ybWF0dGluZyB3aGVyZSByZXF1aXJlZC4KCjIwMDUtMTEtMDggMTQ6MjA6NTAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJICByZW1vdmUgd3JvbmcgbXBlZ3N0cmVhbSBhZGRpdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHdyb25nIG1wZWdzdHJlYW0gYWRkaXRpb24KCjIwMDUtMTEtMDggMTQ6MTc6MDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCB0cmVtb3IgcGx1Z2lucyB0byBuZWVkZWQgYnVpbGRzY3JpcHRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgdHJlbW9yIHBsdWdpbnMgdG8gbmVlZGVkIGJ1aWxkc2NyaXB0cwoKMjAwNS0xMS0wOCAxMzo1NToxMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvaXZvcmJpcy92b3JiaXMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICBQb3J0ZWQgdG8gMC45LiBTb21lIGlzc3VlcyB0byBiZSBzb2x2ZWQgeWV0OiAxLSBzZXQgY29ycmVjdCB0aW1lc3RhbXBzIDItIHNlZyBmYXVsdCB3aGVuIGVvcyAzLSBzZWVrIGlzIG5vdyBkaXNhYmxlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUG9ydGVkIHRvIDAuOS4gU29tZSBpc3N1ZXMgdG8gYmUgc29sdmVkIHlldDoKCSAgMS0gc2V0IGNvcnJlY3QgdGltZXN0YW1wcwoJICAyLSBzZWcgZmF1bHQgd2hlbiBlb3MKCSAgMy0gc2VlayBpcyBub3cgZGlzYWJsZWQKCjIwMDUtMTEtMDYgMjI6Mjg6MzMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXhhbXBsZXMvTWFrZWZpbGUuYW06IENsZWFudXAgbm9uIGV4aXN0aW5nIGV4YW1wbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBDbGVhbnVwIG5vbiBleGlzdGluZwoJICBleGFtcGxlcy4KCjIwMDUtMTEtMDYgMjI6MjM6MDcgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3Quc3RhbXA6IEFkZCBtaXNzaW5nIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LnN0YW1wOiBBZGQgbWlzc2luZyBmaWxlcy4KCjIwMDUtMTEtMDYgMjI6MTk6MDUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXhhbXBsZXMvTWFrZWZpbGUuYW06IE1ha2UgYnVpbGRib3QgaGFwcHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06IE1ha2UgYnVpbGRib3QgaGFwcHkuCgoyMDA1LTExLTA2IDIyOjE2OjI3ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBleGFtcGxlcyBpbiBkaXN0IHN1YmRpcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogTWFrZWZpbGUuYW06IGV4YW1wbGVzIGluIGRpc3Qgc3ViZGlycy4KCSAgKiBjb25maWd1cmUuYWM6IGVuYWJsZSBwYXJhbWV0ZXIgZm9yIGJ1aWxkaW5nCgkgIGV4YW1wbGVzLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBVcGRhdGVzLgoKMjAwNS0xMS0wNiAyMTo1NTowMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBFbmFibGUgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBhdXRvZ2VuLnNoOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnR5cGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvdmVyc2lvbi5lbnRpdGllcy5pbjogRW5hYmxlIGRvY3VtZW50YXRpb24uCgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvZGVja2VyLnR0ZjoKCSAgKiBleGFtcGxlcy9kaXJlY3RmYi9kZmJsb2dvLnBuZzoKCSAgKiBleGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzogKG15Y2xvY2spLCAoZHluYW1pY19saW5rKSwKCSAgKHNpemVfY2hhbmdlZCksIChzZXR1cF9keW5hbWljX2xpbmspLCAobWFpbik6IEFkZCBhbiBleGFtcGxlCgkgIGFwcGxpY2F0aW9uIGZvciBEaXJlY3RGQi4KCjIwMDUtMTEtMDUgMjM6MzY6MjAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOiBBZGQgdGhlIGV4YW1wbGUgYXBwbGljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOiBBZGQgdGhlIGV4YW1wbGUgYXBwbGljYXRpb24uCgkgICogZXh0L2RpcmVjdGZiL2RmYi1leGFtcGxlLmM6IChnZXRfbWVfb3V0KSwgKG1haW4pOgoJICBIZXJlIGlzIGFuIGV4YW1wbGUgYXBwbGljYXRpb24gdGhhdCBydW5zIHZpZGVvdGVzdHNyYyBmb3IgMjAKCSAgc2Vjb25kcy4gSXQncyBpbmNsdWRlZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2VudW1fbGF5ZXJzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpOgoJICBNb3JlIGZpeGVzLCBjYWxjdWxhdGUgbmV3IHNpemUgb2YgdGhlIGJ1ZmZlciB3aGVuIHJlbmVnb3RpYXRpbmcuCgkgIFRoaXMgY29tcGxldGVseSBicmVha3MgZmZtcGVnY29sb3JzcGFjZSBidXQgaSBuZWVkIHRvIGRpc2N1c3MKCSAgdGhhdCB3aXRoIFdpbSBvbiBtb25kYXkuIEFkZCBkb2N1bWVudGF0aW9uLgoKMjAwNS0xMS0wNSAxOTo1NToxMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IE1ha2UgYWNjZWxlcmF0aW9uIGRldGVjdGlvbiB3b3JrLCBiZXR0ZXIsIGFkZCBzYWZldHkgY2hlY2tzIGFuZCBBUkdCIHN1cHBvcnQgZm9yIGNhcmRzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2VudW1fbGF5ZXJzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpOiBNYWtlIGFjY2VsZXJhdGlvbiBkZXRlY3Rpb24gd29yaywKCSAgYmV0dGVyLCBhZGQgc2FmZXR5IGNoZWNrcyBhbmQgQVJHQiBzdXBwb3J0IGZvciBjYXJkcyB0aGF0CgkgIHN1cHBvcnQgaXQuCgoyMDA1LTExLTA0IDE4OjI4OjU2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuKjogTm93IGRvZXMgY2xpcHBpbmcgd2hlbiBzdXJmYWNlIGlzIHRvbyBzbWFsbCwgaGFuZGxlcyB1cHN0cmVhbSBlbGVtZW50cyB0aGF0IGFyZSBub3QgY2FsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9jcmVhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2Rlc3Ryb3kpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfYmVzdF92bW9kZSksIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jZW50ZXJfcmVjdCksIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDogTm93IGRvZXMgY2xpcHBpbmcgd2hlbiBzdXJmYWNlCgkgIGlzIHRvbyBzbWFsbCwgaGFuZGxlcyB1cHN0cmVhbSBlbGVtZW50cyB0aGF0IGFyZSBub3QgY2FsbGluZwoJICBnc3RfcGFkX2FsbG9jX2J1ZmZlciwgZml4ZXMgYSBsb3Qgb2YgYnVncy4KCjIwMDUtMTEtMDMgMjI6MzY6NDIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOiBQcmVwYXJlIGZvciBsaWJvaWwgdXNhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTAzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOiBQcmVwYXJlIGZvciBsaWJvaWwgdXNhZ2UuCgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKTogIFByZXBhcmUgZm9yIGxpYm9pbCwgaGFuZGxlCgkgIHJlbmRlcmluZyBpbiBleHRlcm5hbCBzdXJmYWNlIGNvcnJlY3RseS4gV2lsbCBjb21taXQgYSBuZWF0CgkgIGV4YW1wbGUgc29vbi4KCjIwMDUtMTEtMDMgMTY6NTk6MjAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgQWRkIHN1cHBvcnQgdG8gZXhpdCB3aGVuICdFc2MnIGtleSBpcyBwcmVzc2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIHN1cHBvcnQgdG8gZXhpdCB3aGVuICdFc2MnIGtleSBpcyBwcmVzc2VkLgoKMjAwNS0xMS0wMiAxNzoxMjozMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmVzIERpcmVjdEZCIDAuOS4yNAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzogUmVxdWlyZXMgRGlyZWN0RkIgMC45LjI0CgoyMDA1LTExLTAyIDEyOjUzOjAwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGFkZCBkaXJlY3RmYiB0byBkaXN0ZGlyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgZGlyZWN0ZmIgdG8gZGlzdGRpcgoKMjAwNS0xMS0wMiAxMjo0MzowMyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBDb21wbGV0ZSByZXdyaXRlL3BvcnQgb2YKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9mb3JtYXRfbmFtZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9kZXN0cm95KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9sYXllcnMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX3Ztb2RlcyksIChnc3RfZGZidmlkZW9zaW5rX2VudW1fZGV2aWNlcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2xlYW51cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9mb3JtYXRfZnJvbV9jYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2NhcHNfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9iZXN0X3Ztb2RlKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfdGltZXMpLCAoZ3N0X2RmYnZpZGVvc2lua19jZW50ZXJfcmVjdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJwb29sX2NsZWFyKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJzdXJmYWNlX2luaXQpLCAoZ3N0X2RmYnN1cmZhY2VfY2xhc3NfaW5pdCksCgkgIChnc3RfZGZic3VyZmFjZV9nZXRfdHlwZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25faW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2luaXQpLCAoZ3N0X2RmYnZpZGVvc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KSwgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3R5cGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuaDogQ29tcGxldGUgcmV3cml0ZS9wb3J0IG9mCgkgIERpcmVjdEZCIHZpZGVvIHNpbmsgdG8gMC45LiBIYW5kbGVzIHJldmVyc2UgbmVnb3RpYXRpb24sCgkgIGhhcmR3YXJlCgkgIHNjYWxpbmcsIG5hdmlnYXRpb24sIGJ1ZmZlciBhbGxvY2F0aW9uIGZyb20gdmlkZW8gbWVtb3J5IGV0Yy4uLgoKMjAwNS0xMC0zMSAyMDo1Nzo0MiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBDaGFuZ2VkIHByb3BlcnR5IGZ1bGwtc2NyZWVuIHRvIGZ1bGxzY3JlZW4sIHVzaW5nIFNETF9TV1NVUkZBQ0UgaW5zdGVhZCBvZiBTRExfSFdTVVJGQUNFIHdoZW4gaW4gZnVsbCBzY3JlZW4gbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWQgcHJvcGVydHkgZnVsbC1zY3JlZW4gdG8gZnVsbHNjcmVlbiwgdXNpbmcgU0RMX1NXU1VSRkFDRSBpbnN0ZWFkIG9mIFNETF9IV1NVUkZBQ0Ugd2hlbiBpbiBmdWxsIHNjcmVlbiBtb2RlLgoKMjAwNS0xMC0zMSAxODowNzozMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIEFkZGVkIGEgcHJvcGVydHkgdGhhdCBhbGxvd3MgZnVsbC1zY3JlZW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBhIHByb3BlcnR5IHRoYXQgYWxsb3dzIGZ1bGwtc2NyZWVuLgoKMjAwNS0xMC0yOCAxNToxMToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zZGwvc2RsdmlkZW9zaW5rLio6IEZpeCBJNDIwIG91dHB1dCBvbiBzb21lIG1hY2hpbmVzIChub3QgdmVyeSBuaWNlLCBidXQgc2hvdWxkIHdvcmspLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZ2V0X3NkbF9mcm9tX2ZvdXJjYyksIChnc3Rfc2RsdmlkZW9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19zaG93X2ZyYW1lKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBGaXggSTQyMCBvdXRwdXQgb24gc29tZSBtYWNoaW5lcyAobm90IHZlcnkgbmljZSwgYnV0IHNob3VsZCB3b3JrKS4KCSAgQWRkIGFuICdzZGx2aWRlb3NpbmsnIGRlYnVnIGNhdGVnb3J5LiBEaXNhYmxlIGZvcm1hdHMgdGhhdCBkbwoJICBub3Qgd29yay4gRml4IHNvbWUgdmFyYXJnIGZ1bmN0aW9uIGlzc3Vlcy4KCjIwMDUtMTAtMjcgMjA6MTY6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay5jOiBGaXggU0RMIHZpZGVvc2luayBhbmQgZGlkIHNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2ZpbmFsaXplKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZ2V0X3RpbWVzKSwgKGdzdF9zZGx2aWRlb3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2luaXQpLCAoZ3N0X3NkbHZpZGVvc2lua19sb2NrKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfaW5pdHNkbCksIChnc3Rfc2RsdmlkZW9zaW5rX2NyZWF0ZSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX3Nob3dfZnJhbWUpLCAoZ3N0X3NkbHZpZGVvc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICBGaXggU0RMIHZpZGVvc2luayBhbmQgZGlkIHNvbWUgY2xlYW51cHMuCgoyMDA1LTEwLTI3IDE5OjM2OjE4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIFRyeWluZyB0byBmaXggdmlkZW9zIG91dCBvZiBzeW5jIChub3QgZml4ZWQgeWV0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVHJ5aW5nIHRvIGZpeCB2aWRlb3Mgb3V0IG9mIHN5bmMgKG5vdCBmaXhlZCB5ZXQpCgoyMDA1LTEwLTI3IDE2OjE2OjAwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgcmVtb3ZlZCB1bnVzZWQgbGFuZ3VhZ2Ugc3R1ZmYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZWQgdW51c2VkIGxhbmd1YWdlIHN0dWZmCgoyMDA1LTEwLTI3IDEyOjQ5OjU0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkgIGRvbid0IGRvIHBvIHVudGlsIHNvbWV0aGluZyB3YW50cyB0byBiZSB0cmFuc2xhdGVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBkbyBwbyB1bnRpbCBzb21ldGhpbmcgd2FudHMgdG8gYmUgdHJhbnNsYXRlZAoKMjAwNS0xMC0yNyAxMToyNzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDogUmVtb3ZlIGdvdF9yZWRpcmVjdCBmcm9tIGNsYXNzIHN0cnVjdHVyZSBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFJlbW92ZSBnb3RfcmVkaXJlY3QgZnJvbSBjbGFzcyBzdHJ1Y3R1cmUgYXMgd2VsbC4KCjIwMDUtMTAtMjcgMTE6MjU6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSAnZ290LXJlZGlyZWN0JyBzaWduYWwgYW5kIHBvc3QgZWxlbWVudCBtZXNzYWdlIG9uIHRoZSBidXMgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2xhc3NfaW5pdCksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBSZW1vdmUgJ2dvdC1yZWRpcmVjdCcgc2lnbmFsIGFuZCBwb3N0IGVsZW1lbnQgbWVzc2FnZQoJICBvbiB0aGUgYnVzIGluc3RlYWQuCgoyMDA1LTEwLTI2IDE1OjQ1OjExICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgRml4aW5nIHN0dWZmIGFzIHdpbmdvIHBvaW50ZWQgb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4aW5nIHN0dWZmIGFzIHdpbmdvIHBvaW50ZWQgb3V0LgoKMjAwNS0xMC0yNiAxMzo0MDozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBmaXggZGlzdGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZGlzdGNoZWNrCgoyMDA1LTEwLTI2IDEzOjAxOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgZG9uJ3QgcHV0IGNyYXAgaW4gdXNlci12aXNpYmxlIHN0cmluZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IHB1dCBjcmFwIGluIHVzZXItdmlzaWJsZSBzdHJpbmdzCgoyMDA1LTEwLTI1IDE2OjEyOjAzICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgT3Zlci13cml0aW5nIFdpbSdzIGdzbSBwbHVnaW5zIChjdXJyZW50bHkgbm90IHdvcmtpbmcpIHdpdGggdGhhdCBmcm9tIHRoZSBmYXJzaWdodCByZXBvLiBBbHNvIG1hZGUgc3VyZSB0aGF0IHRoZXkgd29yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBPdmVyLXdyaXRpbmcgV2ltJ3MgZ3NtIHBsdWdpbnMgKGN1cnJlbnRseSBub3Qgd29ya2luZykgd2l0aCB0aGF0IGZyb20gdGhlIGZhcnNpZ2h0IHJlcG8uIEFsc28gbWFkZSBzdXJlIHRoYXQgdGhleSB3b3JrIHdpdGggdGhlIFJUUCAoZGUpcGF5bG9hZGVyLgoKMjAwNS0xMC0yNSAxMzozMTowOSArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgIEZpeGVkIGV2ZW50IGhhbmRsaW5nIGluIGdzbWVuYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGV2ZW50IGhhbmRsaW5nIGluIGdzbWVuYy4KCjIwMDUtMTAtMjQgMTM6MDI6MzIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBwb3J0IG92ZXIgcGx1Z2luIGxpc3RpbmcgZnJvbSBiYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwb3J0IG92ZXIgcGx1Z2luIGxpc3RpbmcgZnJvbSBiYXNlCgoyMDA1LTEwLTIzIDIzOjA3OjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjQgPT09CgoyMDA1LTEwLTIzIDIyOjQ2OjQwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHJlbGVhc2luZyAwLjkuNAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS40CgoyMDA1LTEwLTIzIDE0OjM4OjAwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogU1RPUFBFRC0+RkFJTEVELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfbG9vcCk6IFNUT1BQRUQtPkZBSUxFRC4KCjIwMDUtMTAtMjEgMTY6MTE6NTMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBsYXRlc3QgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbGF0ZXN0IHVwZGF0ZXMKCjIwMDUtMTAtMjAgMTU6MDg6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLio6IERvIHNvbWUgdGltZXN0YW1wIHNtb290aGluZyAobWF0cm9za2FkZW11eCBhcHBhcmVudGx5IHNlbmRzIG11bHRpcGxlIGJ1ZmZlcnMgaW4gYSByb3cgd2l0aCB0aGUgc2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfYmFzZV9pbml0KSwgKGdzdF9mYWFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ZhYWRfaW5pdCksIChnc3RfZmFhZF9zcmNnZXRjYXBzKSwgKGdzdF9mYWFkX2V2ZW50KSwKCSAgKGdzdF9mYWFkX2NoYWluKSwgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBEbyBzb21lIHRpbWVzdGFtcCBzbW9vdGhpbmcgKG1hdHJvc2thZGVtdXggYXBwYXJlbnRseSBzZW5kcwoJICBtdWx0aXBsZSBidWZmZXJzIGluIGEgcm93IHdpdGggdGhlIHNhbWUgdGltZXN0YW1wKTsgZml4CgkgIGR1cmF0aW9uIG9uIG91dGdvaW5nIGJ1ZmZlcnM7IGZpeCBjaGFuZ2Ugc3RhdGUgZnVuY3Rpb247IHVzZQoJICBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgcGFkIGZ1bmN0aW9ucy4KCjIwMDUtMTAtMTkgMTU6NTg6MDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvOiBBUEkgY2hhbmdlIGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX2dldF9xdWVyeV90eXBlcyksIChzcGVlZF9zcmNfcXVlcnkpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF90dGFfcGFyc2VfZ2V0X3F1ZXJ5X3R5cGVzKSwgKGdzdF90dGFfcGFyc2VfcXVlcnkpOgoJICBBUEkgY2hhbmdlIGZpeC4KCjIwMDUtMTAtMTkgMTI6NDE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFsbCB0aGUgY29vbCBraWRzIHVzZSBHU1RfRE9DQk9PS19DSEVDSyBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWxsIHRoZSBjb29sIGtpZHMgdXNlIEdTVF9ET0NCT09LX0NIRUNLIG5vdy4KCjIwMDUtMTAtMTggMDg6Mzk6NDEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3NwZWVkL01ha2VmaWxlLmFtOiBGaXggYnVpbGQgb2Ygc3BlZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE4ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOiBGaXggYnVpbGQgb2Ygc3BlZWQuCgoyMDA1LTEwLTE3IDIwOjQ4OjM1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgIEZpeGVkIFNwZWVkIC0gUmVjb3ZlcmVkIGZlYXR1cmVkIG1pc3NlZCBzaW5jZSB2ZXJzaW9uIDEuMzcsIGFuZCBjaGFuZ2VkIG90aGVyIG1pbm9yIHRoaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIFNwZWVkIC0gUmVjb3ZlcmVkIGZlYXR1cmVkIG1pc3NlZCBzaW5jZSB2ZXJzaW9uIDEuMzcsIGFuZCBjaGFuZ2VkIG90aGVyCgkgIG1pbm9yIHRoaW5ncy4KCjIwMDUtMTAtMTYgMTc6MDg6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCBnbGliIGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGdsaWIgY2hlY2sKCjIwMDUtMTAtMTYgMTM6NTQ6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIHJlc3RydWN0dXJlIGNvbmZpZ3VyZS5hYywgdXNlIGNvcnJlY3QgbGlidG9vbCBMREZMQUdTLCBmaXggdXAgZGVmaW5lcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVzdHJ1Y3R1cmUgY29uZmlndXJlLmFjLCB1c2UgY29ycmVjdCBsaWJ0b29sIExERkxBR1MsIGZpeCB1cCBkZWZpbmVzCgoyMDA1LTEwLTEzIDE1OjMxOjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleC86IGFuZCBtb3JlIHR5cG9zIGZpeGVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJICAqIGV4dC90YXJraW4vdGFya2luLmM6ICh0YXJraW5fYW5hbHlzaXNfZnJhbWVpbiksCgkgICh0YXJraW5fc3ludGhlc2lzX3BhY2tldGluKToKCSAgYW5kIG1vcmUgdHlwb3MgZml4ZWQKCjIwMDUtMTAtMTMgMTE6Mzc6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEdzdDA5LWl6ZSBjb2RlIGEgbGl0dGxlIGJpdCBtb3JlOiB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSwgbW92ZSBldmVudCBoYW5kbGluZyBmcm9tIGNoYWluIGZ1bmMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfY2xhc3NfaW5pdCksIChnc3RfZmFhY19pbml0KSwKCSAgKGdzdF9mYWFjX3Npbmtfc2V0Y2FwcyksIChnc3RfZmFhY19zcmNfc2V0Y2FwcyksCgkgIChnc3RfZmFhY19zaW5rX2V2ZW50KSwgKGdzdF9mYWFjX2NoYWluKSwgKGdzdF9mYWFjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZmFhY19nZXRfcHJvcGVydHkpLCAoZ3N0X2ZhYWNfY2hhbmdlX3N0YXRlKToKCSAgR3N0MDktaXplIGNvZGUgYSBsaXR0bGUgYml0IG1vcmU6IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpLAoJICBtb3ZlIGV2ZW50IGhhbmRsaW5nIGZyb20gY2hhaW4gZnVuY3Rpb24gaW50byBhbiBldmVudCBmdW5jdGlvbiwKCSAgYWRkIHNvbWUgbG9ja3MgaGVyZSBhbmQgdGhlcmUsIGRvIHNvbWUgY2xlYW51cHM7IGRpc2FibGUgMzItYml0CgkgIGludGVnZXIgYW5kIGZsb2F0IGlucHV0IGZvcm1hdHMgdW50aWwgd2UncmUgc3VyZSB0aGF0IHRob3NlCgkgIGFjdHVhbGx5IHdvcmsgKGNvdWxkbid0IHBsYXkgYmFjayB0aGUgcHJvZHVjZWQgZmlsZXMgd2l0aAoJICBhbnl0aGluZykuCgoyMDA1LTEwLTEyIDE0OjI5OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUyBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzogKG1haW4pOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfb3Blbl9hdWRpbyksCgkgIChnc3RfYXJ0c2RzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9hcnRzZHNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6IChnc3RfYWZwYXJzZV9vcGVuX2ZpbGUpLAoJICAoZ3N0X2FmcGFyc2VfY2xvc2VfZmlsZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnNpbmtfY2xvc2VfZmlsZSksIChnc3RfYWZzaW5rX2NoYWluKSwKCSAgKGdzdF9hZnNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19vcGVuX2ZpbGUpLAoJICAoZ3N0X2Fmc3JjX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kaXJlY3RmYnZpZGVvc2luay5jOiAoZ3N0X2RpcmVjdGZidmlkZW9zaW5rX2luaXQpOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5faW5pdCksCgkgIChnc3RfamFja19iaW5fY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19vcGVuX2F1ZGlvKSwKCSAgKGdzdF9uYXNzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9uYXNzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19pbml0KToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NmX2NoYW5nZV9zdGF0ZSksIChnc3Rfc2ZfcmVsZWFzZV9yZXF1ZXN0X3BhZCksCgkgIChnc3Rfc2Zfb3Blbl9maWxlKSwgKGdzdF9zZl9jbG9zZV9maWxlKSwgKGdzdF9zZl9sb29wKToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2luaXQpOgoJICAqIGdzdC9hcGV0YWcvYXBlZGVtdXguYzogKGdzdF9hcGVfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhcGFyc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2luaXQpOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzogKGdzdF9tdWx0aWZpbGVzaW5rX2luaXQpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfc2V0X2xvY2F0aW9uKSwgKGdzdF9tdWx0aWZpbGVzaW5rX29wZW5fZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc2lua19jbG9zZV9maWxlKSwgKGdzdF9tdWx0aWZpbGVzaW5rX25leHRfZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc2lua19wYWRfcXVlcnkpLCAoZ3N0X211bHRpZmlsZXNpbmtfaGFuZGxlX2V2ZW50KSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYWluKSwgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6IChnc3RfdmlkZW9kcm9wX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19pbml0KSwKCSAgKGR4cjNhdWRpb3Npbmtfb3BlbiksIChkeHIzYXVkaW9zaW5rX2Nsb3NlKSwKCSAgKGR4cjNhdWRpb3NpbmtfY2hhaW5fcGNtKSwgKGR4cjNhdWRpb3NpbmtfY2hhaW5fYWMzKSwKCSAgKGR4cjNhdWRpb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2luaXQpLCAoZHhyM3NwdXNpbmtfb3BlbiksCgkgIChkeHIzc3B1c2lua19jbG9zZSksIChkeHIzc3B1c2lua19jaGFpbiksCgkgIChkeHIzc3B1c2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19pbml0KSwKCSAgKGR4cjN2aWRlb3Npbmtfb3BlbiksIChkeHIzdmlkZW9zaW5rX2Nsb3NlKSwKCSAgKGR4cjN2aWRlb3Npbmtfd3JpdGVfZGF0YSksIChkeHIzdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3FjYW1zcmNfb3BlbiksIChnc3RfcWNhbXNyY19jbG9zZSk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2luaXQpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdmNkc3JjX2dldCksCgkgIChnc3RfdmNkc3JjX29wZW5fZmlsZSksIChnc3RfdmNkc3JjX2Nsb3NlX2ZpbGUpLAoJICAoZ3N0X3ZjZHNyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3ZjZHNyY19yZWNhbGN1bGF0ZSk6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MKCSAgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCjIwMDUtMTAtMTIgMTM6NTQ6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEZpeCBkZXB0aC93aWR0aCBoYW5kbGluZyBmb3IgZmxvYXQgYXVkaW8gKCMzMTg2NTkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX3NldGNhcHMpOgoJICBGaXggZGVwdGgvd2lkdGggaGFuZGxpbmcgZm9yIGZsb2F0IGF1ZGlvICgjMzE4NjU5KS4KCjIwMDUtMTAtMTIgMTI6NTM6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IFJlZmNvdW50IGZpeGVzICgjMzE4NjU5KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2ZhYWNfc3JjX3NldGNhcHMpLCAoZ3N0X2ZhYWNfY2hhaW4pOgoJICBSZWZjb3VudCBmaXhlcyAoIzMxODY1OSkKCjIwMDUtMTAtMTIgMDk6MTU6NDAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBsaWJ2aXN1YWwgYW5kIHNuYXBzaG90IGFyZSBub3QgaGVyZSBhbnltb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9NYWtlZmlsZS5hbTogbGlidmlzdWFsIGFuZCBzbmFwc2hvdCBhcmUgbm90IGhlcmUgYW55bW9yZS4KCSAgTWFrZXMKCSAgYXV0b21ha2UtMS43IGhhcHB5IGFnYWluLgoKMjAwNS0xMC0xMSAyMzowMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogbmV3c2VnbWVudCBBUEkgdXBkYXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2V2ZW50KToKCSAgbmV3c2VnbWVudCBBUEkgdXBkYXRlCgoyMDA1LTEwLTExIDE2OjM0OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LzogbmV3c2VnbWVudCBBUEkgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3R0YV9wYXJzZV9wYXJzZV9oZWFkZXIpOgoJICBuZXdzZWdtZW50IEFQSSB1cGRhdGUuCgoyMDA1LTEwLTA3IDE1OjI0OjI0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogTWFrZSBpbnRlcnJ1cHRpYmxlLCBzbyBpdCB3b24ndCBibG9jayBmb3JldmVyIGluIGEgcmVhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0wNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogTWFrZSBpbnRlcnJ1cHRpYmxlLCBzbyBpdCB3b24ndAoJICBibG9jayBmb3JldmVyIGluIGEgcmVhZCgpLgoKMjAwNS0xMC0wNCAxNTo0OTozNSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeCBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBzcGVjIGZpbGUKCjIwMDUtMTAtMDMgMTg6MDA6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gaGVhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBoZWFkCgo9PT0gcmVsZWFzZSAwLjkuMyA9PT0KCjIwMDUtMTAtMDMgMTc6NTA6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICByZWxlYXNlIHRpbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2UgdGltZQoKMjAwNS0wOS0yOCAxMzozODowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTm8gbmVlZCB0byB0YWtlIHN0cmVhbSBsb2NrIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKToKCSAgTm8gbmVlZCB0byB0YWtlIHN0cmVhbSBsb2NrIGhlcmUuCgoyMDA1LTA5LTI2IDE3OjU3OjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZml4IGJ1aWxkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQKCjIwMDUtMDktMjYgMTU6MTk6MzggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgIHNvbWUgZGlzdGluZyBhbmQgYnVpbGQgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNvbWUgZGlzdGluZyBhbmQgYnVpbGQgZml4ZXMKCjIwMDUtMDktMjMgMTc6MDU6MjkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICBHc21kZWMgcG9ydGVkIHRvIDAuOS4gVGVzdGVkIHdpdGggZmlsZXNyYyAhIGdzbWRlYyAhIGFsc2FzaW5rIGFuZCBvc3NzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgR3NtZGVjIHBvcnRlZCB0byAwLjkuIFRlc3RlZCB3aXRoIGZpbGVzcmMgISBnc21kZWMgISBhbHNhc2luayBhbmQgb3Nzc2luay4KCjIwMDUtMDktMjMgMTY6NDA6MjcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvOiBDb252ZXJ0IHRvIHVzaW5nIGdzdCBkZWJ1Z2dpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZGVidWcuaDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzogQ29udmVydCB0byB1c2luZyBnc3QgZGVidWdnaW5nCgoyMDA1LTA5LTIzIDA0OjIyOjU0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhbmQgdXNlIG9mIEdTVF9MSUJTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYW5kIHVzZSBvZiBHU1RfTElCUwoKMjAwNS0wOS0yMiAxMToxNzoyNiArMDAwMCAgQXJ3ZWQgdi4gTWVya2F0eiA8di5tZXJrYXR6QGdteC5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkgIHR0YSBwbHVnaW4gcG9ydGVkIHRvIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHRhIHBsdWdpbiBwb3J0ZWQgdG8gMC45CgoyMDA1LTA5LTIxIDIwOjMzOjQyICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgU2V0dGluZyBjYXBzIG9uIHRoZSBvdXRnb2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2V0dGluZyBjYXBzIG9uIHRoZSBvdXRnb2luZyBidWZmZXJzLgoKMjAwNS0wOS0yMCAxOToyNToxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICBmaXggTWFrZWZpbGUuYW0gIHVnaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IE1ha2VmaWxlLmFtICB1Z2gKCjIwMDUtMDktMjAgMTg6NDk6MDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgIEZpeGVkIGNvbmZpZ3VyZS5hYyBhbmQgZXh0L3NkbC9NYWtlZmlsZS5hbSBmb3Igc2RsIHBvcnQgdG8gMC45LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgY29uZmlndXJlLmFjIGFuZCBleHQvc2RsL01ha2VmaWxlLmFtIGZvciBzZGwgcG9ydCB0byAwLjkuCgoyMDA1LTA5LTE5IDIxOjUxOjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkgIHNkbHZpZGVvc2luayBwb3J0ZWQgdG8gMC45IGFuZCB0ZXN0ZWQgd2l0aCBmaWxlc3JjICEgbXBlZzJkZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNkbHZpZGVvc2luayBwb3J0ZWQgdG8gMC45IGFuZCB0ZXN0ZWQgd2l0aCBmaWxlc3JjICEgbXBlZzJkZWMKCjIwMDUtMDktMTkgMjE6NDc6NTQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIHNkbHZpZGVvc2luayBwb3J0ZWQgdG8gMC45IGFuZCB0ZXN0ZWQgd2l0aCBmaWxlc3JjICEgbXBlZzJkZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNkbHZpZGVvc2luayBwb3J0ZWQgdG8gMC45IGFuZCB0ZXN0ZWQgd2l0aCBmaWxlc3JjICEgbXBlZzJkZWMKCjIwMDUtMDktMTkgMTY6NDQ6MzcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSAgYWRkIGNoZWNrLXZhbGdyaW5kIHRhcmdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGNoZWNrLXZhbGdyaW5kIHRhcmdldAoKMjAwNS0wOS0wOSAxNzo1Mzo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjaGVjay86IEFkZCBleHRyYSB0ZXN0cyBmb3IgYmFzZXRyYW5zZm9ybSBiYXNlZCBjb21wb25lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9NYWtlZmlsZS5hbToKCSAgKiBjaGVjay9waXBlbGluZXMvc2ltcGxlX2xhdW5jaF9saW5lcy5jOiAoc2V0dXBfcGlwZWxpbmUpLAoJICAocnVuX3BpcGVsaW5lKSwgKEdTVF9TVEFSVF9URVNUKSwgKHNpbXBsZV9sYXVuY2hfbGluZXNfc3VpdGUpOgoJICBBZGQgZXh0cmEgdGVzdHMgZm9yIGJhc2V0cmFuc2Zvcm0gYmFzZWQgY29tcG9uZW50cy4KCSAgQ29tbWVudCBvdXQgdGhlIHRlc3RfZWxlbWVudF9uZWdvdGlhdGlvbiB0ZXN0IHVudGlsIHdlIGRlY2lkZQoJICBpZiBpdCdzIHRlc3RpbmcgY29ycmVjdCBiZWhhdmlvdXIuCgkgICogZXh0L2xpYnZpc3VhbC92aXN1YWwuYzogKGdzdF92aXN1YWxfaW5pdCksIChnZXRfYnVmZmVyKSwKCSAgKGdzdF92aXN1YWxfY2hhaW4pLCAoZ3N0X3Zpc3VhbF9jaGFuZ2Vfc3RhdGUpOgoJICBTbGlnaHRseSBtb3JlIGNvcnJlY3QgYnV0IHN0aWxsIGJvZ3VzIHRpbWVzdGFtcGluZy4KCSAgRml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbi4KCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAoZ3N0X2F1ZGlvX2NvbnZlcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2dzdGZmbXBlZ2NvbG9yc3BhY2UuYzoKCSAgKGdzdF9mZm1wZWdjc3BfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvc2NhbGVfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9zY2FsZV9wcmVwYXJlX3NpemUpLCAoZ3N0X3ZpZGVvc2NhbGVfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvc2NhbGVfcHJlcGFyZV9pbWFnZSk6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzogKGdzdF92b2x1bWVfY2xhc3NfaW5pdCksCgkgICh2b2x1bWVfdHJhbnNmb3JtX2lwKToKCSAgQmFzZXRyYW5zZm9ybSB1cGRhdGVzLiBFbmFibGUgcGFzc3Rocm91Z2ggbW9kZXMuCgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF94aW1hZ2VzaW5rX3JlbmVnb3RpYXRlX3NpemUpLCAoZ3N0X3hpbWFnZXNpbmtfeGNvbnRleHRfZ2V0KSwKCSAgKGdzdF94aW1hZ2VzaW5rX3NldGNhcHMpLCAoZ3N0X3hpbWFnZXNpbmtfYnVmZmVyX2FsbG9jKToKCSAgTmVnb3RpYXRpb24gZml4IHRoYXQgYWxsb3dzIHRoZSB3aW5kb3cgdG8gcmV0dXJuIHRvIHRoZSBvcmlnaW5hbAoJICBzaXplIGFuZCByZW5lZ290aWF0ZSBwYXNzdGhyb3VnaCB1cHN0cmVhbS4gRXh0cmEgZGVidWcgb3V0cHV0LgoKMjAwNS0wOS0wOCAxNTo1NjozOCArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBQb3J0ZWQgc3BlZWQgUGx1Z2luIHRvIEdTdHJlYW1lciAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBvcnRlZCBzcGVlZCBQbHVnaW4gdG8gR1N0cmVhbWVyIDAuOQoKMjAwNS0wOS0wNiAxNDowNjo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuMSA9PT0KCjIwMDUtMDktMDYgMTQ6MDU6NTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBNYWtlZmlsZS5hbToKCSogTkVXUzoKCSogUkVBRE1FOgoJKiBSRUxFQVNFOgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMuc3BlYy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICByZWxlYXNpbmcgMC45LjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuMQoKMjAwNS0wOS0wNSAxNzoyMDoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kaXJlY3RmYnZpZGVvc2luay5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvcG9seXAvcG9seXBzaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkqIGV4dC94aW5lL3hpbmUuYzoKCSogZXh0L3hpbmUveGluZWF1ZGlvZGVjLmM6CgkqIGV4dC94aW5lL3hpbmVhdWRpb3NpbmsuYzoKCSogZXh0L3hpbmUveGluZWlucHV0LmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoKMjAwNS0wOS0wNSAxNToxMDoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBjbGVhbmluZyB1cCBiYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNsZWFuaW5nIHVwIGJhZAoKMjAwNS0wOS0wNSAxMzo0OTo0MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZG9jcy9yYW5kb20vQ2hhbmdlTG9nLTAuODoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBjcmVhdGVkIGdzdC1wbHVnaW5zLWJhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY3JlYXRlZCBnc3QtcGx1Z2lucy1iYWQKCj09PSByZWxlYXNlIDAuOS4yID09PQoKMjAwNS0wOS0wNCAxMDozODo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBmaXggZGlzdGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbW1vbi9ndGstZG9jLXBsdWdpbnMubWFrOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZml4IGRpc3RjaGVjawoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6CgkgIGZpeCB3cm9uZyBkb2NzdHJpbmcKCjIwMDUtMDktMDIgMjA6MjE6MTcgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBQb3J0ZWQgR1NNIEVuY29kZXIgdG8gR1N0cmVhbWVyIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUG9ydGVkIEdTTSBFbmNvZGVyIHRvIEdTdHJlYW1lciAwLjkKCjIwMDUtMDktMDIgMTU6NDQ6NDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMDIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoKMjAwNS0wOS0wMiAxNTo0MzoxNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogY29tbW9uOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMDIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoKMjAwNS0wOS0wMSAxOTo1MzoxMiArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBQT1JURURfMDk6CgkgIHVwZGF0ZSBQT1JURURfMDkgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIFBPUlRFRF8wOSBmaWxlCgo=